Transport layer에서 UDP든 TCP든 상관없이 제공하는 기능 2가지가 있다. 바로 Mutilplexing / Demultiplexing과 error check이다.

 

1. Mutilplexing / Demultiplexing

Mutilplexing은 application단에서 여러개의 소켓을 통해 내려온 message들을 network단으로 내려주는 것을 말하며 Demultiplexing은 network단에서 올라온 packet을 적절한 socket으로 올려주는 것을 말한다.

UDP의 경우 dest ip/port # 만을 확인하여 올려보내고 TCP의 경우 dest ip/port #, src ip/port # 4개를 모두 확인한다. 이는 TCP가 connection-oriented 한 특성을 갖기때문이다. 반면 UDP는 연결의 개념이 아니기에 src를 확인하지 않는다.

 

2. error check

UDP/TCP Segment header의 checksum이라는 테크를 이용해서 데이터의 에러발생 유무를 확인한다. UDP의 경우에는 에러가 발생한 segment라면 버리게 되고 TCP의 경우에는 reliable한 통신을 제공하기 때문에 sender쪽의 재전송을 통해 다시금 데이터를 받게 된다.

 

+ Recent posts