240223_계층 구조, 포트, 소켓

추성결·2024년 2월 23일
0

출처: https://www.youtube.com/watch?v=X73Jl2nsqiE

OSI 7Layer & TCP/IP stack

  • OSI 7 Layer

네트워크 시스템 구성을 위한 범용적이고 개념적인 모델
ISO/IEC에서 OSI 모델 관리

  • TCP/IP stack

인터넷이 발명되면서 함께 개발된 프로토콜 스택
IETF에서 인터넷 표준을 관리(RFC)
TCP, UDP, IP 스펙은 RFC에서 정의

Port

process와 연결된 data path 혹은 data channel
port name을 통해 식별

프로세스 간의 통신과 인터넷 프로토콜

  • system layer
    1. TCP/IP stack에서 transport layer, internet layer, link layer를 합친 것이다.
    2. 두 호스트 사이에서 데이터를 주고 받는 역할을 한다.

=> 이 기능을 수행하는 것은 IP(internet protocol)이 이 기능을 수행한다.

  • IP
    1. 네트워크를 연결하는 프로토콜
    1. Unreliable하다. 즉 데이터가 유실될 수도 있고, 데이터를 받지 못할 수도 있다.

프로세스 간의 통신에서는 데이터를 안정적(reliable)으로 주고 받을 수 있는 프로토콜이 필요성이 발생

TCP(Transmission Control Protocol)
: 프로세스 간의 통신에서는 데이터를 안정적으로 주고 받을 수 있다.

TCP

  • Connection
    : 프로세스 간의 안정적이고 논리적인( <-> 물리적인) 통신 통로
    통신 방법: 3-way handshake과정을 통해 connection을 열고, 데이터를 주고 받고, 4-way handshake과정을 통해 connection을 닫는다.(connection-oriented)
    3-way handshake & 4-way handshake의 자세한 설명은 여기.

인터넷 상에서 port를 유니크하게 식별하는 방법

  • port(number) 정의: 16bits로 이루어진 숫자(0 ~ 65535)
  • internet address(ip address)로 각 host를 유니크하게 식별할 수 있다.
    => 이 두개를 합친 개념이 Sockect이다.

Socket

  • 각 connection을 유니크하게 식별할 수 있어야한다.
  • 한 쌍의 Socket은 connection을 유니크하게 식별한다.
    (src internet addr, src port, dest internet addr, dest port)

UDP

  • connectionless
    : 연결을 맺지 않고 바로 데이터를 주고 받는다.
  • unreliable
    : internet protocol을 거의 그대로 사용

TCP와 UDP의 차이점은 나중에 포스팅하겠다.

0개의 댓글