티스토리 뷰
3-way-handshake
3-Way-Handshake는 TCP 장치들 사이에 논리적인 접속을 정립하기 위해 사용한다.즉, TCP/IP 프로토콜을 이용하여 통신을 할 때, 정확한 전송을 보장하기 위해 대상이 되는 컴퓨터와 사전에 세션을 수립하는 과정을 말한다.
- SYN (Synchronize sequence number) : 연결을 요청하고 세션을 성립하는데 이용
- ACK(Acknowledgement) : 요청을 했다는 메세지로, 받은 시퀀스 번호에 TCP 계층의 길이 또는 양을 더한 값을 ACK 담에 전송
- 클라이언트는 서버에 접속을 요청하는 SYN(a) 패킷을 보낸다.
- 서버는 클라이언트 요청인 SYN(a) 패킷을 받고, 요청을 수락한다고 확인 메시지인 ACK(a+1)와 SYN(b) 패킷을 보낸다.
- 클라이언트는 서버의 응답인 ACK(a+1)와 SYN(b) 패킷을 받고, 확인 메시지인 ACK(b+1)를 보내면 연결이 성립(established)된다.
4-way-handshake
4-Way-Handshake는 통신의 종료를 위한 과정으로 TCP 간 세션을 종료하기 위한 방식이다.
- FIN : 세션의 종료를 알리며 더이상 데이터가 없다는 것을 말한다.
- 클라이언트가 서버에게 연결을 종료하겠다는 FIN 플래그를 보낸다.
- 서버는 클라이언트의 요청(FIN)을 받고, 확인 메시지인 ACK를 보낸다. 그 후 데이터를 전부 전송할 때까지 잠깐 TIME_OUT이 된다.
- 서버는 데이터를 전부 전송한 후, 클라이언트에게 연결이 종료되었다는 FIN 플래그를 보낸다.
- 클라이언트는 서버로부터 FIN을 받고, 확인 메시지인 ACK를 보낸다.
- 서버는 클라이언트로부터 ACK를 받은 후, 소켓을 종료(closed)한다.
- 클라이언트는 아직 서버로부터 못 받은 데이터가 있을 것을 대비하여 일정시간동안 세션을 남긴다(TIME_WAIT).
참조
'Network' 카테고리의 다른 글
[네트워크] GET 과 POST의 차이 (0) | 2020.09.08 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- java
- 네트워크
- SWExpert
- hashtable
- 백 트래킹
- MFQ
- 우선순위큐
- 프로그래머스
- N-Queen
- programmers
- MLQ
- Process Scheduling
- hash
- 자료구조
- 3-way-handshake
- algorithm
- SRTN
- 농협정보시스템IT
- 프로세스 스케줄링
- git
- Objective function
- loss function
- 사회망서비스
- Android
- 백트래킹
- 기능개발
- 4-way-handshake
- 알고리즘
- DFS
- binarySearch
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함