TCP와 UDP

해연·2023년 8월 14일
0

네트워크

목록 보기
14/16

TCP와 UDP는 데이터를 보내기 위해 사용하는 프로토콜

TCP(Transmission Control Protocol)

인터넷 상에서 데이터를 메세지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜

특징

  • 연결 지향적 프로토콜
  • 인터넷을 거쳐 패킷을 보내고 네트워크를 통해 데이터와 메세지의 성공적인 전송을 보장하도록 고안되었다.
  • 대량의 데이터를 더 작은 패킷으로 분할하고 프로세스 전체에 걸쳐 데이터 무결성을 보장한다.
  • 연결형 서비스로 높은 신뢰성을 보장한다.
  • 흐름제어나 혼잡제어 기능을 하기 때문에 UDP보다 느리다.
  • 연속성보다 신뢰성있는 전송이 필요할 때 사용하는 프로토콜
  • 서버와 클라이언트는 1대1로 연결
  • 전이중(Full-Duplex), 점대점(Point to Point) 방식
    • 전이중 방식 : 전송이 양방향으로 동시에 일어날 수 있다.
    • 점대점 방식 : 각 연결이 정확히 2개의 종단점을 갖고 있다.

UDP(User Datagram Protocol)

비연결형 방식인 신뢰성 없는 전송 프로토콜

특징

  • TCP의 handshaking 같은 연결과정이 없다. => Connectionless
  • 혼잡제어를 하지 않기 때문에 TCP보다 간단하고 빠르다.
  • 내용이 전송 중에 손실될 수 있고, 전송되는 세그먼트 순서가 바뀔 수 있다.
  • 흐름제어, 오류제어 또는 손상된 세그먼트 수신에 대한 재전송을 하지 않는다. => TCP보다 빠르지만 신뢰성이 낮다.
  • 유튜브같은 스트리밍 애플리케이션에서 사용되는데 동영상 스트리밍 사이트는 신뢰성보다 전송속도가 중요하기 때문이다.
  • UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
  • 1:1 & 1:N & N:N 통신이 가능
  • 각 데이터 그램은 독립적으로 처리되기 때문에 하나의 데이터 그램이 손실 되더라도 다른 데이터 그램은 영향 받지 않음


참고
https://mangkyu.tistory.com/15
https://namu.wiki/w/TCP
https://www.spiceworks.com/tech/networking/articles/tcp-vs-udp/

profile
물음표를 느낌표로 바꾸며 성장하는 예비 백엔드 개발자입니다.

0개의 댓글