三次握手&四次挥手&七层网络协议&通信方式

2019-08-15  本文已影响0人  Code_人生

三次握手&四次挥手

三次握手

客户端 -> 服务器 SYN
客户端 <- 服务器 SYN/ACK
客户端 -> 服务器 ACK

客户端 -> 服务器 HTTP请求
客户端 <- 服务器 HTTP响应

四次挥手

客户端 <- 服务器 FIN
客户端 -> 服务器 ACK
客户端 -> 服务器 FIN
客户端 <- 服务器 ACK

本地回环演示三次握手&四次挥手

1、打开WireShark,选择Loopback: lo0
2、一种终端输入:nc -l 6060,6060是端口这个可以随便写
3、另一个终端输入:nc 127.0.0.1 6060,和上面的端口对应上
4、在WireShark中选中一条TCP记录、右键、Protocol Preferences、取消选中Relative sequence numbers,就会变成不是0了。选择不同的Protocol记录、右键、Protocol Preferences 显示的东西不一样

三次握手.png
1   0.000000    127.0.0.1   127.0.0.1   TCP 68  58377 → 6060 [SYN] Seq=0 Win=65535 Len=0 MSS=16344 WS=64 TSval=1182962562 TSecr=0 SACK_PERM=1
2   0.000057    127.0.0.1   127.0.0.1   TCP 68  6060 → 58377 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=16344 WS=64 TSval=1182962562 TSecr=1182962562 SACK_PERM=1
3   0.000065    127.0.0.1   127.0.0.1   TCP 56  58377 → 6060 [ACK] Seq=1 Ack=1 Win=408256 Len=0 TSval=1182962562 TSecr=1182962562
4   0.000072    127.0.0.1   127.0.0.1   TCP 56  [TCP Window Update] 6060 → 58377 [ACK] Seq=1 Ack=1 Win=408256 Len=0 TSval=1182962562 TSecr=1182962562
四次挥手.png
29  225.931908  127.0.0.1   127.0.0.1   TCP 56  6060 → 58377 [FIN, ACK] Seq=1 Ack=1 Win=408256 Len=0 TSval=1183188317 TSecr=1182962562
30  225.931936  127.0.0.1   127.0.0.1   TCP 56  58377 → 6060 [ACK] Seq=1 Ack=2 Win=408256 Len=0 TSval=1183188317 TSecr=1183188317
31  225.931968  127.0.0.1   127.0.0.1   TCP 56  58377 → 6060 [FIN, ACK] Seq=1 Ack=2 Win=408256 Len=0 TSval=1183188317 TSecr=1183188317
32  225.931998  127.0.0.1   127.0.0.1   TCP 56  6060 → 58377 [ACK] Seq=2 Ack=2 Win=408256 Len=0 TSval=1183188317 TSecr=1183188317

OSI七层网络协议

TCP:IP协议栈的封装过程.png

通信方式

上一篇下一篇

猜你喜欢

热点阅读