Transport layer overview

임정환·2023년 5월 1일
0

Process와 Process 끼리의 논리적인 연결을 제공하는 Transport layer에 대해 알아보자

Transport layer(전송 계층)

4계층인 transport layer는 host간의 process간의 논리적인 연결을 제공한다.
아랫 계층인 network layer는 ip를 사용하여 host의 device끼리의 연결을 제공한다.
Device끼리의 연결을 제공하여도, 해당 Device의 어느 곳으로 data를 전송할 지를 결정해야 한다. 마치, 현실 세계에서 택배를 보낼 때에도 받을 주소(IP)와 받을 사람(수취인)을 같이 적듯이 말이다. 전송 계층은 port 번호를 통해 전송 받는 device내에 어떠한 process에게 data를 전송할 것인지 결정한다.
5계층인 app에서 전송하고자 하는 data를 전송 계층에 전달하면, 전송 계층은 해당 data를 segment(익숙한 packet으로 생각해도 무방하다)로 잘게 분해하여 3계층 network layer로 보낸다.

TCP 와 UDP

전송 계층에는 크게 2가지 protocol이 존재한다. UDP와 TCP이다.

  • TCP

    • data의 신뢰성을 보장하고 전달 순서를 보장한다.
    • congestion control (혼잡 제어)
    • flow control (흐름 제어)
    • connection setup (연결 설정)
  • UDP

    • data의 신뢰성과 전달 순서 보장불가
    • 목적 IP에 대한 '최선'을 다한 전달 보장
  • 두 protocol 모두 보장 불가능한 사항

    • delay 보장
    • bandwidth 보장

TCP의 경우 신뢰성과 순서가 보장되는 만큼 느리다는 단점이 존재한다.
UDP는 신뢰성과 순서를 포기한 대신에 빠르다는 장점이 존재한다.

Multiplexing 과 DeMultiplexing

TCP프로토콜은 연결 지향적이다, 이 말인 즉슨 , process와 process가 연결된다는 소리이다. 즉, receiver의 입장에서는 sender의 segment를 보낸 sender의 ip와 port번호가 필요하다는 것이다. 반면에 UDP는 그냥 받으면 땡이다. 연결을 굳이 설정하지 않기때문에 이 segment가 어디서 왔는가를 따지지 않는다.

Demultiplexing : 받은 data를 알맞은 port로 전달하는 것!

  • UDP
    • Destination port번호만을 이용하여 demultiplexing 진행
  • TCP
    • Source IP,Port와 Destination IP,Port를 통해 demultiplexing

Conclusion

4계층의 두 가지 protocol에 대해 대~충 알아보았다.
앞으로 두 편에 걸쳐서 tcp,udp에 대해 더욱 자세히 알아보겠다.
사실 배울때만해도 무지성으로 암기하고 넘어갔는데 다시 복습할 겸 천천히 복기하니
정말 공부에 큰 도움이 되는 것 같다.

profile
CS 박제

0개의 댓글

관련 채용 정보