L4 - TCP의 Connect 과정시 3Way-Hand Shake
전송 프로토콜로 TCP 방식을 사용하려한다면,
본격적인 데이터통신에 임하기전에 Connect(연결) 과정을 거쳐야한다.
HandShake라는 이름에서도 의미를 알수 있듯이, 이것은 일종의 양측 상호확인 절차이다.
(합시다. Okay 저도 수락 합니다. 아 그럼 괜찮은걸로 알겠습니다?) 같은...
클라이언트 측은 통신을 원한다는 의사를 밝힌다. 이것이 곧 서버의 특정 Port에 SYN을 보내는 행동이다.
물론 보이듯이 서버는 해당 Port를 LISTEN 상태로 두어야한다. (LISTEN 상태를 곧 열린 상태라고 보아도 된다.)
서버는 열린 Port로 들어온 Client로부터의 SYN을 받고, Okay. 통신하자 하고 SYN+ACK를 보낸다.
Client는
서버에서 Okay가 왔으니 이제부터 통신할수 있겠구나. 해서,
상호 연결이 성립한 것으로 간주한다 또한,
서버로 '너의 Okay 의사를 잘 받았다'라는 의미로 Ack를 다시 보낸다.
Server는
Ack를 받고,
'내가 보낸 Okay의사가 Client에도 잘 도착 되었네.'라고 인지하고,
상호 연결이 성립한 것으로 간주한다.
TCP에서 의 SYN과 ACK는 본래 다음과 같은 의미를 가진다.
SYN 은 Synchronize 의 약자로, '우리가 처음에 주고 받을 데이터의 일련번호(Seq) 를 이걸로 맞추자'를 나타낸다.
ACK는 Acknowledgment의 약자로, '내가 데이터의 순서 ~번까지는 잘 받았다'라는 의미를 나타낸다.
이는 다른 포스팅에서 상세히 설명한다.
TCP 의 Seq에 대해 모른다면,
연결 성립 얘기하는데 무슨 데이터 순서 얘기가 나오니 혼란스러울 수 있다.
연결성립 에서는 우선 SYN과 ACK를 '연결 하자.' '잘 받았다'의 의미로만 이해해도 무방하다고 본다.
Seq 에대해 알고나면 이게 왜 필요한지 알게 될것이다.
'네트워크 및 데이터통신 이론' 카테고리의 다른 글
L3 - ARP(Address Resolution Protocol) (0) | 2021.12.30 |
---|---|
L4 - TCP Sliding Window (0) | 2021.12.29 |
L4 - TCP Header 구조 (0) | 2021.12.27 |
네트워크/데이터 통신 기본 이론 - Socket (0) | 2021.12.22 |
네트워크/데이터 통신 기본 이론 - OSI 7 계층 , TCP/IP 4 계층 (0) | 2021.12.22 |
댓글
이 글 공유하기
다른 글
-
L4 - TCP Sliding Window
L4 - TCP Sliding Window
2021.12.29 -
L4 - TCP Header 구조
L4 - TCP Header 구조
2021.12.27 -
네트워크/데이터 통신 기본 이론 - Socket
네트워크/데이터 통신 기본 이론 - Socket
2021.12.22 -
네트워크/데이터 통신 기본 이론 - OSI 7 계층 , TCP/IP 4 계층
네트워크/데이터 통신 기본 이론 - OSI 7 계층 , TCP/IP 4 계층
2021.12.22