TCP 세 방향 핸드 셰이크 네 관련 흔들며

원본 링크 : http://www.cnblogs.com/camouflage/p/11098861.html

B 클라이언트 서버
SYN 상기 ACK (비트 식별자 (1)이 확정 양해) SEQ (랜덤 코드 시퀀스) ACK (1 비트 식별자는 접속을 확립하는 접속 확립) (확인 번호를 일반적 서열 + 1)

핸드 셰이크 세 가지 방향 :
1.A 연결을 설정하는 요청을 시작합니다. SYN = 1, 및 SEQ = 123,456 패킷들을 포함하는 전송 된 데이터는 연결이 요구되는 SYN = 1 A로, B를 B로. 증례 ## SYN_SEND 상태로 들어간다.
2.B는 요청을받은 후, 필요성이 확인을 찾을 수 있습니다. 그것은 SYN = 1을 송신하고, ACK = 1이면, ACK = 123456 + 1, SEQ = 234,567 A. 상기 데이터 패킷 이때, B는 ## SYN_RECV 상태로된다.
3.A 요청을 수신 한 후, 수표 (2.ack == 1.seq + 1) && (2.ACK == 1)) , 올바른 경우, 송신 포함 ACK = 2.seq + 1 = ACK 다음 연결이 설정 올바른 경우 패킷. B 1, 및 상기 ACK를 확인 B는 다시 ACK를 수신한다. 확립 된 상태로 ## A 및 B

 

네 흔들며 이유 :
1.A가 연결을 종료하고 싶습니다 FIN 패킷을 보낼 수 있습니다.
FIN을 ACK를받은 후 2.B 다시 종료하는 요청의 A-인정 영수증에 전송됩니다,하지만 데이터가 발송되지 않는 것을 확인할 수 없습니다, 그래서 당신은 기다려야합니다.
데이터가 전송 된 3.B 있지 않은지 확인 후, A.에 FIN을 보낸다
4.A는 B에 ACK를 전송하고, B는 분리된다. 자동으로 연결이 해제됩니다 일정 시간 대기 후를했다.


# 그리고 손에게 차이가 즉시 종료 요청 후 종료 할 연결을 설정할 수만큼 연결되어 있지 세 번 흔들어, 나는 데이터가 여기에 보낸 후 확인을 위해 기다릴 필요가 종료 시작합니다.

HTTPS : //www.cnblogs.com/camouflage/p/11098861.html 재현

추천

출처blog.csdn.net/weixin_30193897/article/details/95257684