TCP는 장치들 사이에 논리적인 접속을 성공시키기 위해 3 Way HandShake를 사용합니다.
TCP 3 Way Handshake는 TCP/IP 프로토콜을 이용해서 통신을 하는 응용 프로그램이
데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미합니다.
TCP 3 way HandShaking의 과정은 다음과 같습니다.
1. 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보냅니다. ex) Seq = 10, SYN
2. 서버는 SYN요청을 받고 클라이언트에 요청을 수락한다는 ACK 과 Syn flag가 설정된 패킷을 발송합니다.
ex) Seq= 50, Ack= 11(Seq(10)에서 1을 더함), SYN,ACK
3. 클라이언트는 서버에게 ACK를 보내고 이후부터 연결이 성공되며 데이터를 주고받을 수 있게 됩니다.
ex) Seq = 11, Ack= 51, ACK
다음으로 TCP 4 Way Handshaking에 대해서 설명드리자면,
TCP연결을 정립하기 위해 사용되는 3 Way HandShake와 달리 4 Way Handshake는 세션을 종료하기 위해 수행되는 절차입니다.
1. 클라이언트가 연결을 종료하겠다는 FIN플래그를 전송합니다.
2. 서버는 ACK를 보내고 통신이 끝날때까지 기다립니다.
3. 서버가 통신이 끝났으면 연결이 종료됨을 알려주기 위해 FIN을 전송합니다.
4. 서버로부터 FIN을 받은 클라이언트는 ACK를 보냅니다.
그 외 참고하면 좋은 글 )
https://gmlwjd9405.github.io/2018/09/19/tcp-connection.html
'CS > Computer Network' 카테고리의 다른 글
HTTP 메서드와 그 역할 (2) | 2021.07.04 |
---|---|
HTTP와 HTTPS 그리고 SSL HandShake (0) | 2021.06.28 |
OSI 7계층과 TCP/IP 4계층 (0) | 2021.06.22 |
브라우저에 www.naver.com을 입력하면 일어나는 일 - 2 (0) | 2021.05.01 |
www.naver.com이라고 입력하면 일어나는 일-1 (0) | 2021.04.17 |