Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 브루트포스
- 조합
- 플로이드 와샬
- 시뮬레이션
- 백트래킹
- Spring
- 투포인터
- 2019 KAKAO BLIND RECRUITMENT
- 2021 KAKAO BLIND RECRUITMENT
- SWEA
- 최소 신장 트리
- 2020 KAKAO BLIND RECRUITMENT
- 2018 KAKAO BLIND RECRUITMENT
- 2020 카카오 인턴십
- 우선순위큐
- 스택
- 다익스트라
- 로봇 청소기
- 플로이드와샬
- 비트마스킹
- BFS
- 투 포인터
- 파이썬
- 구현
- GIT
- 크루스칼
- 이분탐색
- 백준
- 트라이
- 프로그래머스
Archives
- Today
- Total
개발조아
3 way handshake, 4 way handshake 본문
728x90
- TCP 방식에서 두 시스템간의 정확한 데이터 송수신을 위해 연결을 설정, 해제하는 과정
- 3 way handshaking
- 연결을 설정하는 과정
- 과정
- 1. 클라이언트가 서버와 통신을 위해 SYN 패킷을 보냄
- 2. 서버가 SYN을 받고, 클라이언트부터 받았다는 신호인 ACK와 SYN를 클라이언트에 보냄
- 3. 클라이언트는 서버가 보낸 ACK와 SYN을 받고 다시 서버에 ACK를 보냄
- 3번의 과정을 통해 연결 성립
- 4 way handshaking
- 연결을 해제하는 과정
-
- 과정
- 1. 클라이언트는 서버에게 연결을 종료한다는 FIN 플래그를 보냄
- 2. 서버는 FIN을 받고, 확인했다는 ACK를 클라이언트에 보냄
- 이때 남은 데이터를 보내기 위해 CLOSE_WAIT 상태가 됨
- 3. 서버가 데이터를 모두 보냈다면, 연결이 종료됐다는 FIN 플래그를 클라이언트에 보냄
- 4. 클라이언트는 FIN을 받고, 확인했다는 ACK를 서버에게 보냄
- 이때 서버로 부터 받지 못한 데이터가 있을 수 있으므로 TIME_WAIT 시간만큼 기다림)
- 서버가 ACK를 받았다면 소켓을 닫음(CLOSE)
- 클라이언트가 TIME_WAIT 시간이 끝나면 클라이언트 소켓도 닫음(CLOSE)
- 4번의 과정을 통해 연결 해제
- 과정
'CS > 네트워크' 카테고리의 다른 글
HTTP와 HTTPS (0) | 2021.10.21 |
---|---|
대칭키 암호화, 공개키 암호화 (0) | 2021.10.21 |
TCP, UDP (0) | 2021.10.21 |
TCP/IP 4계층 (0) | 2021.10.21 |
OSI 7계층 (0) | 2021.10.21 |
Comments