[network] UDP와 TCP

개발하는 곰댕이·2021년 4월 10일
0

Netwhat

목록 보기
4/6

이번 포스팅은 전송계층에서 사용되는 UDP와 TCP에 대해서 정리해 보도록 합시다!
네트워크의 통신 과정에 대해서 아직 이해가 잘 안 됐다면 이전 포스팅을 보고오면 도움이 많이 될 것 같습니다.
OSI 7계층에 대해 알아보자

1. TCP(Transmission Control Protocol)

  • TCP는 연결지향 프로토콜로써 통신하는 상대방과 데이터가 정상적으로 전송이 될 때까지 정보들을 주고받는 프로토콜을 의미합니다.
    이제부터 연결지향 프로토콜이 어떤 식으로 동작이 되는지, 데이터의 전송은 어떤 방식으로 이루어 지는지 한번 알아봅시다!

1.1 TCP의 특징

  • 연결지향 프로토콜입니다.
    • 연결지향이라고 말을 하니 뭔가 이해가 잘 가지 않는데 이전 글에서 OSI 7계층 중 네트워크 계층에서 가장 최적의 길을 찾아준다고 했었습니다. 연결지향 프로토콜은 이렇게 찾아낸 최적의 길을 고정적으로 사용하며 통신하는걸 말합니다.
  • 데이터 패킷의 순서를 지정해주기 때문에 데이터의 순서를 보장해 줍니다.
  • 흐름제어 및 혼잡제어를 통해 신뢰성있는 데이터를 주고 받습니다.
  • 여러 정보들을 주고받기 때문에 속도가 느리다는 단점이 있습니다.
  • 1:1로 연결되어서 주고받기 때문에 브로드캐스팅을 할 수 없습니다.

이러한 특징들을 갖고 있기 때문에 TCP는 신뢰성있는 전송이 필요할 때 사용되는 방식입니다.

2. UDP(User Datagram Protocol)

  • UDP는 비연결 프로토콜로써 TCP와는 달리 송, 수신측에서 서로 정보가 잘 전달 됐는지 확인하지 않고 데이터 패킷들이 독립적으로 전송되는 데이터그램 방식을 사용합니다.
    TCP처럼 하나의 길로 모든 패킷이 전송되는게 아니라 각 패킷이 라우터에 도착하면 최적의 경로로 보내는 방식이죠.

2.1 UDP의 특징

  • UDP는 비연결 프로토콜로써 송, 수신측이 서로 신호를 주고받지 않기 때문에 연결지향 프로토콜에 비해서 데이터를 전송속도가 빠릅니다.
  • 최소한의 오류만 검출하기 때문에 신뢰성이 낮습니다.
  • 비연결 프로토콜로써 데이터 패킷의 경로가 일정하지 않고 각 패킷마다 다른 경로로 갈 수 있습니다. 그렇기 때문에 데이터의 순서를 보장하지 않습니다.
  • 1대1, 1대다, 다대다 통신이 가능합니다.

이러한 특징을 갖고 있는 UDP는 신뢰성보다는 속도가 중요한 실시간 서비스같은 곳에 이용됩니다.

참고링크

0개의 댓글