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 |