TCP(Transmission Control Protocol)

TCP의 특징

  • 가상회선 패킷 교환방식 --> 순서보장
  • 연결지향 ( 3-way handshake)
  • 신뢰성
  • 흐름제어
  • 혼잡제어

하지만 단점으로는 최소처리량을 보장하지 않고, 속도가 UDP에 비해 느리다.

 

흐름제어란?

데이터를 송신하는 곳과 수신하는 곳의 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 것입니다

 

혼잡제어란?

네트워크 내의 패킷수가 넘치지 않도록 방지.

 

TCP 연결 성립 및 해제 과정

 

TCP Connection

1. SYN 단계 (클라이언트 -> 서버)

 서버에 접속을 요청하는 SYN 패킷 전송 후 SYN_SENT 상태가 된다.

 

2.  SYN+ACK 단계 (서버-> 클라이언트)

  ACK : 요청을 수락했다는 메시지

  SYN : 접속 요청 프로세스인 클라이언트도 포트를 열어달라는 메시지

 

3. ACK 단계(클라이언트-> 서버)

  클라이언트는 서버의 응답을 받았다는 의미로 , 서버의 ISN+1 하여 다시 서버로 ACK를 보낸다.                                   

  ACK를 보내고 클라이언트는 ESTABLISHED 상태로 변경, 서버도 ACK 받고 ESTABLISHED로 상태 변경

 

TCP Disconnection

 

 

 

 

상태  
CLOSED 닫힌상태
LISTEN 포트가 열린 상태로 연결 요청 대기중
SYN_SENT SYN 요청을 한 상채
SYN_RECEIVED SYN 요청을 받고 상대방의 응답 기다리는중
ESTABLISHED 연결이 확인된 상태

 

UDP(User Datagram Protocol)

데이터그램 패킷 교환방식 사용.---> 순서 보장X

신뢰성 없다.

 

UDP는 비연결형 프로토콜로서, 에러검사 등 신뢰성과 관련된 기능들을 제공하지 않아 Best Effort service 라고 불린다. 

(최선을 다할게 하지만 결과는 보장못해 같 느낌이라고 한다..ㅋㅋ)

 

장점: 오버헤드가 작고 지연시간이 짧다.(전송속도 빠름)

 

온라인게임, 스트리밍서비스 등 신뢰성보다는 성능이 중요시되는 경우에 사용.

 

  TCP UDP
연결방식 연결형 서비스 비연결형 서비스
패킷 교환 방식 가상 회선 방식 데이터그램 방식
순서보장 전송 순서 보장 순서보장X
신뢰성 신뢰성 높음 신뢰성 낮음
속도 느림 빠름
     
     

 

 

출처: https://velog.io/@hidaehyunlee/TCP-%EC%99%80-UDP-%EC%9D%98-%EC%B0%A8%EC%9D%B4

'CS > 네트워크' 카테고리의 다른 글

URL  (0) 2023.06.25
HTTP  (0) 2023.06.14
DNS  (0) 2023.06.14
로드밸런싱  (0) 2023.06.14
TCP/IP 4계층 모델  (0) 2023.06.09

+ Recent posts