CS (Computer Science)/네트워크

[네트워크] 3-way-handShake와 TCP 와 UDP

Juun 2022. 6. 22. 18:42
반응형

3 - way - handShake란???

TCP UDP의 차이를 알려면 먼저 3 - Way - Handshake를 먼저 알아야 한다!!

 

3 - Way-Handshake란, 전송제어 프로토콜(TCP)에서 통신을 하는 장치간 서로 연결이 잘 되어있는지 확인하는 과정/방식이다.

더 쉽게 말해서 송수신자 (데이터를 주고 받는 2사람이라고 생각하면 쉬울 것 같다)사이에 연결을 확인하는 과정이다.

아래는 참고 그림이다

* TCP의 3-way Handshaking 과정

[STEP 1]

클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보낸다.

이때 클라이언트는 SYN 을 보내고 SYN/ACK 응답을 기다리는SYN_SENT 상태가 된다.

 

[STEP 2] 

서버는 SYN요청을 받고 클라이언트에게 요청을 수락한다는 ACK 와 SYN flag 가 설정된 패킷을 발송하고

클라이언가 다시 ACK으로 응답하기를 기다린다. 이때 B서버는 SYN_RECEIVED 상태가 된다.

 

[STEP 3]

클라이언트는 서버에게 ACK을 보내고 이후로부터는 연결이 이루어지고 데이터가 오가게 되는것이다.

이때의 서버 상태가 ESTABLISHED 이다.

위와 같은 방식으로 통신하는것이 신뢰성 있는 연결을 맺어 준다는 TCP의 3 Way handshake 방식이다.

 

위 방식을 좀 더 쉽게 표현한 비유가 있다

 

[1] 클라이언트 : 야 잘들려?

[2] 서버 : ㅇㅇ 잘들려, 너도 잘들려??

[3] 클라이언트 : ㅇㅇ 나도 잘들려

 

 

TCP와 UDP의 비교

TCP(Transfer Control Protocol)는 연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정한다.

그렇기 때문에 높은 신뢰성을 보장하지만 속도가 비교적 느리다는 단점이 있음.

 

UDP(User Datagram Protocol) 는 비연결성 서비스로 3-way handshaking을 사용하지 않기 때문이 빠르지만 신뢰성이 떨어지는 단점이 있다.

TCP와 UDP의 차이는 3-way handshake을 쓰냐 안쓰냐, 속도의 차이, 신뢰성의 차이!!

 

참고 : webstylez.egloos.com, blazebyte.blogspot.kr

반응형