TCP UDP

uni.gy·2023년 5월 11일
0

CS

목록 보기
8/18

전송계층에서 데이터를 보내기 위해 사용하는 프로토콜

TCP(Transmission Control Protocol)

TCP는 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜이다. 일반적으로 TCP IP가 함께 사용된다. IP가 데이터의 전송을 처리하고, TCP는 패킷 추적 및 관리를 하게 된다. 3-way handshake 방식으로 연결 4-way handshake로 연결 종료. 흐름 제어와 혼잡 제어를 지원하며 데이터의 순서를 보장한다.

  • 흐름 제어 : 보내는 측과 받는 측의 데이터 처리속도 차이를 조절

  • 혼잡 제어 : 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지

  • 3-way handshake

  • 4-way handshake

    이미지 출처 : https://bangu4.tistory.com/74

TCP 특징

  • 데이터의 전송 순서 보장
  • 신뢰성 있는 데이터 전송
  • 흐름제어 및 혼잡 제어
  • 전이중, 점대점 방식
  • 연결 지향 방식
  • 데이터 경계를 구분하지 않는다. (송신 함수 호출 횟수 != 수신 함수 호출 횟수)

단점

  • 데이터 전송을 위해 연결이 반드시 형성되어야 한다.
  • 1:1 통신만 가능하다.
  • UDP보다 전송 속도가 느리가

UDP(User Datagram Protocol)

UDP는 비연결 지향적 프로토콜이다. 데이터를 주고 받을 때 연결 절차를 거치지 않고 발신자가 일방적으로 데이터를 발신하는 방식이다. 연결 과정이 없기 때문에 속도가 빠르지만 신뢰성이 떨어진다. 먼저 보낸 패킷이 느린 선로를 통해 전송될 경우 나중에 보낸 패킷보다 늦게 도착할 수 있다. 중간에 패킷이 유실이나 변조가 되어도 재전송 하지 않는다.

  • 데이터그램 : 독립적인 관계를 지니는 패킷

UDP 특징

  • 비연결형 서비스로 데이터그램 방식을 제공
  • TCP보다 전송 속도가 빠르다.
  • 데이터 경계를 구분한다. (송신 함수 호출 횟수 = 수신 함수 호출 횟수)
  • 패킷 오버헤드가 적어 네트워크 부하가 적다.
  • 신뢰성이 낮다.
  • 수신 여부 확인 X

단점

  • 패킷 관리가 필요하다.
  • 전송 순서에 따른 패킷 도착 순서 보장 X
  • 패킷 유실, 변조 재전송 X
profile
한결같이

0개의 댓글