일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- c++
- 리버싱
- 코딩테스트 연습
- Old-17
- c언어 게임
- 자바스크립트
- old-1
- 계단함수
- JS
- boj
- 딥러닝
- 게임 프로그래밍
- 자바
- 웹케이알
- 10809
- 크레인 인형뽑기
- C언어
- Old-14
- tcp
- 소프트맥스 함수
- openCV
- 신규 아이디 추천
- 퍼셉트론
- 네트워크
- 웹해킹
- 백준
- 프로그래머스
- 코드엔진
- 5585
- webhacking.kr
- Today
- Total
목록네트워크 (2)
SteffenLee
오늘은 어제에 이어서 3 Way-Handshake의 예제를 보도록 하겠습니다. 그전에 오늘은 nc의 통신을 캡쳐해서 예제를 볼 거기에 TCP의 연결 종료 방식인 4 Way-Handshake에 대해 알아보겠습니다. 4 Way-Handshake 4 Way-Handshake 방식 설명 1. 클라이언트가 서버에게 FIN 신호의 패킷을 보내고 자기 자신은 FIN_WAIT_1 상태가 됩니다. 2. 서버는 FIN 패킷을 받고, ACK 패킷을 해당 클라이언트에게 보냅니다. 서버는 CLOSE_WAIT상태가 됩니다. 3. ACK 패킷을 받은 클라이언트는 서버가 FIN을 잘 받았다고 판단, 자신의 소캣상태를 FIN_WAIT_2로 변경합니다. 그리고 서버의 FIN 패킷을 기다립니다. 4. 서버는 FIN 패킷을 보내고 소캣의 ..
3 Way-Handshake에 대해 알아보겠습니다. 3 Way-Handshake는 TCP/IP 프로토콜에서 정보 전송을 하기전에 먼저 세션을 수립하는 과정이다. 간단하게 표현하면 밑의 그림과 같다. TCP 패킷에는 Sequence Number(시퀀스 넘버)를 가지고 있습니다. 위에 예제로 설명하자면클라이언트의 시퀀스 넘버는 1000이고, 서버의 시퀀스 넘버는 2001이라고 가정하면 서버는 클라이언트에게 SYN 패킷을 받으면, 서버는 수락의 의미로 SYN/ACK 패킷을 보낸다. 이때 SYN/ACK 패킷에는 서버 자신의 시퀀스 넘버와 ACK 넘버를 포함하여 전송한다ACK 넘버는 통신을 수락하는 상대 즉 클라이언트의 시퀀스 넘버에 +1을 하여 전송한다.그리고 클라이언트가 SYN/ACK패킷을 받으면 서버에게 A..