[네트워크] Transport Layer Multiplexing and Demultiplexing

HD.·2022년 7월 12일
0

CS

목록 보기
7/7

1. Multiplexing 이란?

Apllication layer에서 패킷(Message)들이 여러 socket을 통해 Transport layer로 전달 될 때 각 패킷(Message)에 헤더를 추가하고 세그먼트로 캡슐화하여 Network layer로 전달하는 과정을 Multiplexing이라고 한다.

2. Demultiplexing 이란?

Transport layer에 의해서 세그먼트가 Application layer의 올바른 소켓으로 전달되는 과정을 Demultiplexing이라고 한다.

2.1. Demultiplexing의 방식

세그먼트의 헤더에 있는 dest port정보를 가지고 demultiplexing을 한다.

  • source post: 자기자신 포트넘버
  • dest port: 목적지 포트넘버

2.2. UDP에서의 Demultiplexing


UDP에서의 Demultiplexing은 dest ip, dest port만을 가지고 이루어진다.
즉, source ip 또는 source port 가 달라도 dest ip, dest port만 같으면 같은 소켓으로 전달 된다.

2.3. TCP에서의 Demultiplexing

TCP에서 Demultiplexing은 4-tuple로 이뤄진다.

  • 소스 IP 주소
  • 소스 포트 번호
  • 대상 IP 주소
  • 대상 포트 번호

위 4개의 값을 모두 사용하여 적절한 소켓으로 패킷을 전달한다. 하나만 달라도 다른 소켓으로 전달된다.

Web server는 동시에 많은 TCP 소켓을 지원하고, 각 연결된 클라이언트마다 서로 다른 소켓을 갖는다. 즉, 소켓이 1:1로 대응된다.

profile
즐거워야코딩

0개의 댓글