TCP와 UDP

citron03·2021년 11월 9일
0

네트워크

목록 보기
6/9

인터넷의 transport protocols 서비스에는 TCP와 UDP가 존재한다.
이 둘의 가장 큰 차이점은 reliable 이다.
TCP는 error와 loss가 없고 패킷을 순서대로 보낸다.
반면에, UDP는 받는 그대로 바로 보낸다. 따라서 error가 있을 수도 있고, 패킷의 loss가 발생할 수도 있으며, 패킷을 순서대로 보내지도 않는다.

TCP의 특징

  • 패킷을 보낸 process와 받는 process간의 신뢰할 수 있는 전송을 제공한다.
    * 데이터를 보내기 전에 미리 연결한다. (set-up, connection-oriented)

  • 만약 네트워크가 과부화 되면, 보내는 패킷의 양을 조절한다.
    (congestion control)

  • 받는 process가 받을 수 있는 양 만큼만 전송한다.
    만약 error가 발생할 시, 보내는 양이 재조정된다.
    (flow control)

  • TCP는 security기능을 제공하지 않는다.
    따라서 securing TCP, 즉 보안을 제공하는 암호화를 원한다면 SSL(Secure Sockets Layer)을 사용한다.

  • 서버와 클라이언트는 1대1로 연결된다.

  • 연결될 때에는 3 Way Hand Shake, 연결을 해제할 때는 4 Way HandShak가 사용된다.

🍗 HTTP는 TCP를 사용한다.
HTTP에는 non-persistent HTTP와 persistent HTTP가 있는데, 전자는 TCP 연결이 지속적이지 않고, 후자는 지속적이다.
지금의 웹사이트가 주로 사용하는 방식은 persistent HTTP이다.

UDP의 특징

  • 데이터를 보내는 process와 받는 process간에 통신에 신뢰성이 없어 데이터 손실이 일어날 수 있으나, 빠른 통신이 가능하다.

🧇 하지만 , 만약 실시간 스트리밍을 하거나 인터넷에서 동영상을 본다고 하면, 영상의 픽셀 하나의 loss나 error보다는 끊기지 않고 재생되는 것이 더 중요할 수 있다.

  • UDP는 header의 CheckSum 필드를 통해서 최소한의 오류만을 검출한다.

  • TCP가 제공했던 congestion control, connection-oriented, flow control 기능은 제공되지 않는다.

  • 즉, 추가적인 기능을 제공하지 않으며 connectionless하다. 따라서, UDP는 연결을 하는 과정이나 연결을 해제하는 과정이 없다.

profile
🙌🙌🙌🙌

0개의 댓글