참고사항

TCP, UDP

응디 2023. 1. 4. 17:33

IP 패킷 : 출발지 IP, 목적지 IP 등의 정보

TCP 세그먼트 : 출발지 port, 목적지 port, 전송 제어, 순서, 검증 정보

 

TCP 특징

전송 제어 프로토콜(Transmission Control Protocol)

  • 연결지향 - TCP 3 way handshake (가상 연결)
  • 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜
  • 현재는 대부분 TCP 사용

 

1. TCP 3 way handshake

SYN : 접속 요청

ACK : 요청 수락

참고 → 3. ACK 와 함께 데이터 전송도 가능하다.

 

저런 방식으로 데이터를 전송하면 1. SYN ( 접속 요청 ) 시 ACK 가 돌아오지 않는다면 전송을 중지 할 수 있다.

→ IP 프로토콜의 한계 중 비연결성 을 해결

 

2. 순서 보장

→ 위와같은 일은 전송제어, 순서와같은 데이터가 있기 때문에 가능한 일이다.


UDP의 특징

사용자 데이터그램 프로토콜(User Datagram Protocol)

  • 하얀 도화지에 비유( 기능이 거의 없음 )
  • 연결지향 - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만 , 단순하고 빠름

 

정리

  • IP 와 거의 같다. port, 체크섬 정도만 추가되어있음: 체크섬은 메세지를 검증해 주는 데이터
  • port는 현재 내가 여러 애플리케이션을 사용하고 있다면 나에게 온 패킷이 어느 애플리케이션으로 온건지 구분하기 위해 사용
  • 애플리케이션의 추가 작업 필요

 

TCP 는 너무 많은 부분이 구축이 되어있기 때문에 사실상 수정이 불가 하고,  3way handshake 를 사용하려면 시간도 오래걸리고 전송 속도도 빠르지 않다.

따라서 TCP 를 사용하면서 속도와 성능을 최적화 시키고 싶다면 UDP를 수정해야한다.

'참고사항' 카테고리의 다른 글

DNS  (0) 2023.01.09
PORT  (0) 2023.01.04
IP  (0) 2023.01.04
crontab 관련 자주 쓰는 명령어  (0) 2022.12.07
StringBuilder의 reverse() 메소드  (0) 2022.07.07