프로그래밍/네트워크 9

캡슐화

캡슐화 택배를 보낼 때 완충재를 넣거나 주소를 적듯이, 데이터를 주고받기 위해서도 여러 가지 필요한 것이 있다. 때문에 데이터에 수신처, 송신처의 주소, 그리고 데이터 통신을 제어하기 위한 데이터나 각 프로토콜에서 필요한 정보를 덧붙인다. 이렇게 데이터와 데이터를 보내기 위해 필요한 것들이 통합된 상태를 프로토콜 데이터 유닛(Protocol Data Unit:PDU)이라고 한다. 각 계층을 지날 때마다 데이터에 통신에 필요한 정보(제어 데이터)를 덧붙인다고 했는데, 이 제어 데이터가 데이터의 앞에 붙으면 헤더(Header), 뒤에 붙으면 꼬리부(Tailer)라고 한다. 각 계층에서 PDU의 호칭 계층 호칭 내용 사용자 데이터(Data) 송수신하고 싶은 데이터 7계층 PDU 6계층 PDU 5계층 PDU 메..

TCP/IP

프로토콜군 보통 데이터 통신에 필요한 프로토콜은 한 개가 아니라 여러 개이며, 각각이 독립적이다. 하지만 각 프로토콜이 완전히 독립적이면 상하 계층의 연결이 되지 않기 때문에 곤란하다. 때문에 상위 계층 프로토콜이 하위 계층 프로토콜을 이용할 수 있는 구조를 가지고, 하위 계층 프로토콜이 상위 계층 프로토콜에 데이터를 전송할 수 있는 구조를 가질 필요가 존재한다. 이러한 구조, 또는 프로토콜과 프로토콜의 중개역을 인터페이스라고 부른다. 상하 프로토콜의 인터페이스를 결정해두면 프로토콜 그룹이 되는데, 이것을 프로토콜군(Protocol Sutie)라고 부른다. TCP/IP 프로토콜군 TCP 및 IP라고 불리우는 프로토콜을 중심으로 구성되는 일련의 프로토콜들을 총칭하는 말이다. 일반적으로 TCP/IP라고 하면..

OSI 참조 모델

OSI 참조 모델 데이터를 주고받을 때(통신할 때) 사용하는 규칙을 프로토콜(Protocol)이라고 하고, 통신하는 상호 간에 같은 프로토콜을 사용해야만 의도한 내용을 주고받을 수 있다고 한다. 1960년대 ~ 1970년대에는 각 업체가 자신들의 컴퓨터끼리 네트워크를 사용해서 데이터 통신을 할 수 있도록 컴퓨터와 통신에서 사용하는 기기, 프로토콜 규격을 독자적으로 만들었고, 이로 인해 다른 회사와는 규격이 달라 호환되지 않는 문제가 발생했다. 이를 해결하고자 데이터 통신의 규격과 프로토콜을 통일하려고 했던 ISO(International Organization for Standardization, 국제표준화기구)라는 단체가 있었다. ISO의 표준화 단계에서 선언한 것이 바로 OSI 참조 모델(Open S..

네트워크 구분

멀티액세스 네트워크와 포인트 투 포인트 네트워크 멀티액세스 네트워크(multi-access network)는 특정 네트워크에 속해 있는 어느 컴퓨터가 세그먼트 내의 어떤 컴퓨터에도 자유롭게 데이터를 송신할 수 있는 네트워크 구조를 의미한다. 세그먼트를 설명하기 위해서는 다음과 같은 가정이 필요하다. 우리가 다룰 네트워크가 컴퓨터와 라우터, 라우터와 라우터, 라우터와 컴퓨터로 연결되어 있다고 가정해보자. 그렇다면 컴퓨터가 세 대 존재할 때, 라우터가 세 대가 필요하다. 물론 실제로는 이렇게 사용하지 않는다. 특정 범위 내에 있는 컴퓨터는 라우터에 의한 패킷 교환이 아니라 회선을 나누어서(파이프를 T자로 나눈다고 한다.) 연결한다. 이때 패킷 교환 없이 케이블 분배기로 연결되는 범위(케이블을 T자로 나누어서..

통신에 필요한 기기

네트워크 인터페이스 카드(NIC): 네트워크에 있는 각 장치는 네트워크에 연결하기 위해 NIC가 필요합니다. NIC는 장치가 네트워크를 통해 데이터를 송수신할 수 있도록 하는 하드웨어 컴포넌트입니다. 일반적으로 장치에 설치된 서킷 보드로 구성되며, 네트워크 케이블을 연결할 수 있는 커넥터가 있습니다. NIC는 제조업체에 의해 카드에 할당된 고유의 Media Access Control(MAC) 주소를 가지고 있습니다. MAC 주소는 네트워크상에서 장치를 식별하고, 장치 간에 전송되는 데이터의 경로를 결정하는 데 사용됩니다. 장치가 네트워크를 통해 데이터를 전송하고자 할 때, 장치는 데이터를 NIC로 전송합니다. NIC은 데이터를 여러 프레임으로 패키징하고, 수신 장치의 MAC 주소가 포함된 헤더를 추가합니..

회선교환과 패킷교환

회선 교환은 두 개의 커뮤니케이션 장치가 통신하기 전에 전송을 위해 전용의 물리 연결인 회선을 설정하는 데이터 전송 방법입니다. call setup을 위해 별도의 전용 회선을 사용할 수 있습니다. 이 방법은 전통적인 전화 시스템에서 사용되었고, 지금도 일부 유형의 네트워크 통신에서 사용됩니다. 회선 교환에서는 회선이 전송이 시작되기 전에 설정되고, 전송이 완료될 때까지 유지됩니다. 이는 데이터가 장애나 중단 없이 전송됨을 보장하지만, 같은 시간에 다른 장치가 사용할 수 없게 된다는 것을 의미합니다. 패킷 교환은 데이터를 작은 단위인 패킷으로 나누어 네트워크를 통해 전송하는 데이터 전송 방법입니다. 인터넷과 같은 많은 현대 통신 네트워크에서 패킷 교환이 사용됩니다. 이는 데이터를 작은 단위로 나누어 전송하..

Difference Between API Gateway and Load Balancer

System Design Interview Basics: Difference Between API Gateway and Load Balancer Often, we come across software architectural components that are part of every system design and feel as though we don’t have much… levelup.gitconnected.com 종종 우리는 시스템 디자인의 부분을 이루는 소프트웨어 아키텍처 구성요소를 접하게 되고, 우리는 그때마다 접하는 것들에 대해 잘 알지 못하는 것 같다는, 애매한 느낌을 받는다. API 게이트웨이와 로드 밸런서도 그러한 예시 중 하나이다. 대부분의 사람들은 로드 밸런서와 API 게이트웨이를..