본문 바로가기

ComputerScience/Network

(9)
[Network] 프로토콜 표준과는 다르게 실제로는 소켓(Socket)이 어떻게 식별되는가? 네트워크 프로그래밍에서 Socket의 의미와 TCP/IP Stack에 대하여 TCP/IP 스택은 프로토콜 스택으로, 컴퓨터 시스템의 관점에서 어플리케이션이 사용할 수 있는 네트워크 기능을 지원하는 역할을 한다. TCP/IP 스택은 전체를 4개의 레이어로 이루어진 시스템(Transport + Internet + Network Interface)에 제공되는 네트워크 기능의 구현과 Application 레벨에서 구현된 네트워크 기능으로 구분된다. 네트워크 통신을 위해서는 Application 레이어에서 통신이 가능하도록 System 레벨에서 지원되어야 한다는 것이 중요하다. Socket Programming 어플리케이션이 운영체제의 기능, 즉 커널 코드나 시스템 코드에 바로 접근하여 사용하는 것이 불가능하다..
[Network] 프로토콜 표준 스펙에서 정의한 Socket(소켓), Port(포트), TCP connection(연결) 개념 OSI 7 Layer, TCP/IP Stack네트워크 모델은 OSI 7 레이어와 TCP/IP 스택 두 가지로 구성되는데, TCP/IP 스택은 인터넷에서 실제 사용되는 프로토콜로 OSI 7 레이어는 네트워크 시스템의 개념적 모델이다.TCP/IP 스택은 IETF에서 관리하며, TCP, UDP, IP 프로토콜의 표준 스펙은 RFC문서에 정의되어 있다.TCP, UDP는 Transport 레이어에, IP 프로토콜은 Network 레이어에 속하는 프로토콜로 호환이 가능하다.Socket, Port, TCP 커넥션은 TCP/IP 스택이 발전하면서 나온 개념으로, 시스템 레벨에서 관리되는 네트워크 기능을 지원한다.TCP/IP 프로토콜 스택에서 Application layer와 Transport layer..
[Network] World Wide Web와 인터넷, HTTP의 역사 1989년 CERN 연구소에서 팀 버너스리가 발명한 인터넷상 정보시스템: WWW World Wide Web은 인터넷상에서 정보를 링크를 통해 효율적으로 접근할 수 있는 인터넷 상의 정보시스템이며, 팀 버너스리가 CERN 연구소에서 1989년 발명했고, WWW, W3라고 줄여 부른다. CERN은 유럽 입자물리 연구소로, 유럽을 기반으로 한 입자물리학 연구소이며, 가장 큰 실험 장치인 입자가속기 길이는 27km이다. 웹 발명자인 팀 버너스리는 1955년 6월 8일에 태어나 1976년에 옥스포드 학위를 받은 후, 2차례로 CERN에서 근무한 인물이다. 웹에 필요한 프로토콜중 하나인 HTTP와 웹 발명의 연결은 차후에 발명된 것이라 직접적인 관련은 없으나, 웹 발명과 함께 발전했다는 공통점이 있다. CERN에서..
[Network] 네트워크와 인터넷부터 ISP까지 IP, 공유기 IP주소는 인터넷에 연결되기 위해 인터넷 상의 주소. IP주소 할당이 필요하며, 모뎀과 홈 라우터로 이루어짐. 인터넷에 연결하기 위해서는 IP 주소 할당이 필요하다. 인터넷 케이블에 모뎀 연결 후, 공유기를 통해 여러 기기들이 인터넷에 연결된다. 공유기 (home router)는 다수의 기기들이 인터넷을 사용할 수 있도록 해주는 장치로, 한 IP주소에서 다수의 기기들이 인터넷을 사용이 가능해진다. 각 기기는 공유기를 통해서 서로 네트워크 통신이 가능해지며, 일부 기기는 유선망으로 연결, 일부 기기는 와이파이를 통해 무선 연결이 가능하다. 우리는 스마트 TV, 스마트폰, 프린터, 컴퓨터 등을 공유기를 통해 연결하여 '네트워크'를 형성함 네트워크 통신을 통해 스마트 TV로 저장된 영화를 불러올..
[Network] Network, Protocol, Protocol Stack, OSI 7 계층 Network 네트워크는 컴퓨터나 기타 기기들이 연결되어 데이터를 주고받기 위한 통신 체계이다. 네트워크의 기능 중 몇 가지는 통신 방법, 신뢰할 수 있는 데이터 전송, 최적의 통신 경로 결정 등이 있다. 또한, 네트워크는 목적지로 데이터를 전송할 때, 각 노드 사이의 데이터를 전송하는 역할도 수행한다. 이 때, 네트워크의 통신체계 중 'OSI 7 Layer' 는 컴퓨터 간 통신을 위한 표준 모델로써, 데이터를 전송하기 위한 7단계의 과정으로 이루어져있다. Protocol 네트워크 통신에서 제대로 동작하기 위해 통신참여자들이 따라야 하는 약속된 통신 방법(네트워크 프로토콜)이 필요하다. 프로토콜이란, 컴퓨터나 다른 네트워크 장치들이 서로 정보를 교환할 때 사용하는 규칙이나 절차 이러한 프로토콜은 데이터 ..
[Network] REST API vs GRAPHQL REST API vs GRAPHQL REST와 GraphQL은 둘 다 데이터를 노출하고 현대적인 응용 프로그램을 구동하는 데 사용되는 두 가지 API 접근 방식입니다. 그러나 각각은 특정 상황에서 더 적합한 선택일 수 있습니다. REST CRUD 작업에 대해 GET, POST, PUT, DELETE와 같은 표준 HTTP 메서드를 사용합니다. 별도의 서비스 또는 응용 프로그램 간에 간단하고 일관된 인터페이스가 필요한 경우에 잘 작동합니다. 캐싱 전략은 구현하기가 간단합니다. 하지만 관련된 데이터를 별도의 엔드포인트에서 가져오기 위해 여러 Round-Trip이 필요할 수 있습니다. GraphQL 클라이언트가 필요한 정확한 데이터를 쿼리하기 위한 단일 엔드포인트를 제공합니다. 클라이언트는 중첩된 쿼리에서 필요..
[Network] RESTful web API design REST REST 아키텍처 스타일은 웹이 1991년에 팀 버너스 리에 의해 탄생함으로써 시작되었습니다. 웹은 하이퍼텍스트를 활용하여 정보를 연결하는 방식으로, 인터넷에서 정보를 공유하는 방법을 제시했습니다. 웹의 기본 구성 요소는 다음과 같습니다. 표현 형식: HTML 식별자: URI 전송 방법: HTTP HTTP는 정보를 웹에서 전송하는 데 사용되는 프로토콜로, 1994년에 로이 필딩이 주도하여 개발되었습니다. 필딩은 HTTP 1.0의 명세 작업에 참여하면서, 기존의 웹과 호환성을 유지하면서 HTTP를 개선하고자 했습니다. 그는 HTTP Object Model 개념을 도입하여 HTTP를 객체 지향적으로 설계할 수 있는 방법을 제시했습니다. 이후, 2000년에 "Representational State ..
[GraphQL] GraphQL? A query language for your API GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. "CRUD API를 GraphQL로 새로 ..