본문 바로가기

Network

3-way Handshaking

3-Way Handshake

3단계 TCP 연결 과정 ( SYN, SYN-ACK, ACK )울 통하여 신뢰성있는 연결을 확인하는 과정입니다.
Wireshark를 이용하여 각 Packet별 상태를 확인 해 보았습니다.



1) SYN ( A -> B) " 똑똑똑 내말들리니? "

 - Destination Port: 80 ( HTTP)
 - Sequence number : 0
 - Header Length : 32 byte ( 20 byte + option 12 byte)
 - SYN Flag : 1 ( Set )

클라이언트가 세션을 맺기위해 SYN 플래그를 활성화하고 서버포트 80으로 세션요청을 하고있습니다.



2) SYN-ACK ( B -> A ) "응! 너도 내말 들리니?"

 - Sequence number : 0
 - Header Length : 32 byte ( 20 byte + option 12 byte)
 - Acknowledgment Flag : 1 ( Set )
 - SYN Flag : 1 ( Set )

서버는 요청 수신 후 Acknowledgment number를 1 증가시키고, ACK플래그와 함께 Acknowledgment Flag도 활성시켜 응답합니다.
이와동시에 클라이언트로 세션을 요청하기 위해 SYN Flag 또한 활성시킵니다.


3) ACK ( A -> B ) "응!! 잘들려"

클라이언트는 서버로부터 ACK플래그와 Acknowledgment Flag 번호를 받은 후 세션이 연결된것을 확인하고,
그 요청에 대한 응답으로 서버로부터 받은 Sequence Number에 1을 증가시키고 Acknowledgment Flag를 활성하여 응답합니다.


이제는 통신이 가능하게 된 것 같습니다. 이 후 데이터 전송을 시작하게 됩니다! 




'Network' 카테고리의 다른 글

TELNET  (0) 2014.10.10
UDP  (0) 2014.10.08
well-known port  (0) 2014.10.08
ICMP  (0) 2014.10.07
NetBIOS, NetBEUI  (0) 2014.10.06