컴퓨터 네트워크 - 3

표준성·2023년 10월 29일
1

컴퓨터네트워크

목록 보기
3/4

Multiplexing & Demultiplexing

패킷을 전송하는 send side는 message를 segment로 나누어 네트워크 계층으로 보내며 패킷을 받는 rcv side는 segment를 message로 조립하여 응용계층으로 보낸다.

다중화란 여러 곳에서 전송되는 데이터를 하나로 모으는 것이다. 전송(transport) 계층에서 어플리케이션 계층에 있는 소켓에서 전송되는 데이터를 모은 다중화 데이터를 세그먼트(segment)라고 한다. 세그먼트는 헤더와 데이터로 나누어진다.

역다중화

호스트가 ip 데이터그램(IP계층의 가변길이 패킷)을 받는다. 호스트는 ip 주소와 포트 넘버를 사용해 세그먼트를 적절한 소켓에 전달한다. TCP와 UDP는 역다중화하는 방법이 다르다.

Connectionless demux(demultiplexing)

들어온 패킷이 UDP 프로토콜인 경우이다. UDP는 신뢰성 낮은 프로토콜인만큼 TCP에 비해 단순하다. 서버는 하나의 소켓만으로 통신한다.

헤더에 있는 dst IP, dst port로 데이터를 전송할 소켓을 구분한다. 즉, 어떤 source IP주소, source port를 갖고 있던 간에 목적지 IP와 포트만 같다면 같은 소켓으로 보낸다.

Connection-oriented demux

TCP 프로토콜인 경우이다. 신뢰성이 필요한 프로토콜이기에, 다음 4-tuple 데이터가 필요하다.

  • source IP address
  • source port number
  • dest IP address
  • dest port number
    하나의 클라이언트 소켓에 하나의 서버 소켓이 매핑된다. 즉, 클라이언트 수만큼 소켓이 필요하다.
profile
HYU_INFOSYS 23

0개의 댓글