본문 바로가기
카테고리 없음

TCP UDP

by ernest45 2024. 1. 8.

IP 프로토콜의 문제점인 패킷소실, 패킷의 순서 보장 등을 TCP가 해준다.

 

TCP/IP 4계층

 

 

 

 

1. 채팅 프로그램으로 저 멀리 있는 친구에게 Hello, world라는 메세지를 보내고 싶다.

 

2. SOCKET 라이브러리를 보통 쓰는데, 이를 통해 OS 계층에다가 메세지를 넘김


3. OS 계층에서 TCP가 Hello,world 라는 메세지에다가 TCP정보를 감싸서 아래 계층으로 넘긴다.

 

4. IP 프로토콜에서 패킷을 생성하는데 위 계층의 TCP 데이터가 포함된다.

 

5. 이더넷프레임( 맥주소 등)을 담아서 보낸다. 

 

TCP/IP 정보



 

특징 !

 

1. 연결 지향 ( 3way handShake)

2. 데이터 전달을 보증해준다. ( 패킷 누락을 알 수 있다)

3. 순서를 보장한다.

 

 

1. 3Way handshake

client           server

syn      -> 

            <-  s  yn,ack

ack     ->

 

(최근에는 최적화가 잘 되어서 3번째 ACK를 보낼 때 데이터도 함께 전송이 가능

 

 

 

 

2. 데이터 전달 보증

 

 

3. 순서 보장

 

 

큰 틀은  패킷 1 다음 패킷 2번이 와야 하는데,

패킷 3번이 도착 했다면, 다시 2번부터 보내라고 요청을 함 (내부적으로 최적화에 따라 다르긴 하다)

 

 

 

 1,2,3이 가능한 이유가 TCP 세그먼트에 전송제어, 순서, 검증 정보가 있어서 가능

 

 

 UDP

 

거의 같지만 PORT와 체크섬 정도만 추가됨( 데이터 검증이 체크섬이다)

 

UDP의 장점은 빠르고 TCP는 이미 다 구축이 되어 있어 불가능이지만, 하얀 도화지라 더 추가 하려면 UDP에서 건들고 하면 됨

최근에는 TCP에서도 영상을 보내고 했지만,

더 최근엔 HTTP3.0 프로토콜엔 UDP를 좀 더 선호한다.