본문 바로가기
네트워크

3.2 Multiplexing and Demultiplexing -P.230~

by 정구지개발자 2023. 5. 25.
728x90

1. 목적 host에서 transport layer 는 바로 아래에 있는 network layer로부터 segments를 받는다.

2. transport layer 는 host에서 운영되고 있는 application process에 segments안에 있는 데이터들을 배달해줄 책임이있다.

 

1. 받는 host안에 있는 transport layer는 데이터들을 직접적으로 process에 전달하지 않는다. 대신 socket이 이일을 대신한다.

 

2. demultiplexing : transport layer segment 안에 있는 데이터를 올바른 socket에 전달하는 작업.

     ex) BILL이 집배원한테 편지를 받으면 이편지가 어느 address에서온 편지인지 확인하고 친구 B에 전달하는 작업을 demultiplxing이             라 한다.

 

3. multiplexing : source host에 있는 서로 다른 socket에서 data chunks를 수집하고, 각 data chunks를 헤더 정보로 캡슐화하여 segments를 생성하고, segments를 네트워크 계층으로 전달하는 작업.

     ex) ANN이 친구 A한테 편지를 받을때 받은 편지를 집배원한테 주는 작업을 multiplexing 이라 한다.

 

4. 한 계층의 단일 프로토콜이 다음 상위 계층의 여러 프로토콜에 의해 사용될 때마다 이러한 문제가 발생한다는 점을 인식하는 것이 중요합니다.

 

 

 

Connectionless Multiplexing and Demultiplexing

 

1.   transport layer 는 1024~65535 범위에서 현재 호스트내에서 UDP port로 사용되지 않는 포트넘버를 지정해준다. 

 

1. application의 client side에서는 transport layer 가 자동적으로 포트 넘버를 지정해 준다. 반면에 server side에서는  특정 포트번호를 지정할수 있다.

 

2. UDP 소켓은 대상 IP 주소와 대상 포트 번호로 구성된 two-tuple로 완전히 식별됩니다.

 

3. 두 개의 UDP segments가 서로 다른 소스 IP 주소 및/또는 소스 포트 번호를 가지지만 동일한 대상 IP 주소 및 대상 포트 번호를 가지면 두 segments는 동일한 socket을 통해 동일한 대상 process로 향하게 됩니다.

 

 

1. source port number 의 역할이 무엇이냐고 궁금증을 가지고 있다 이떄 위의 그림을 보면 된다.

 

2. source port number 은 "return address"  의 부분으로서 역할을 한다.

 

3. network->host 로 TCP segment 가 도착할떄 host는 4개의 values를 사용해서 segment를 적절한 socket에 보내준다.(demultiplexing) 

728x90

'네트워크' 카테고리의 다른 글

1.3.3 A Network of Networks (p.58~)  (0) 2023.06.11
Queuing Delays and Packet Loss p.51~  (0) 2023.06.07
Chapter 3 Transport Layer  (0) 2023.05.24
TCPClient.py -P.202~  (2) 2023.05.24
UDPserver.py -p.199~  (0) 2023.05.23

댓글