tcp三次握手   数据传输   四次挥手  实例查看

https://www.bilibili.com/video/BV1Af4y117ZK/?spm_id_from=333.788.videocard.1

牛皮了,头一次见有清华架构师把TCP,NIO,epoll一直到netty解释的这么明白

1.TCP通讯基础  40~70  分钟讲此事 

tcp三次握手 数据传输 四次挥手 实例查看

使用指令: curl    tcpdump

1.tcpdump -nn -i eth0 port 80    --- 监控网口80端口

2. curl www.baidu.com             ---访问百度网页

12:46:40.789386 IP 172.31.119.200.59626 > 180.101.49.12.80: Flags [S], seq 1904163676, win 29200, options [mss 1460,sackOK,TS val 2624962183 ecr 0,nop,wscale 7], length 0
12:46:40.804920 IP 180.101.49.12.80 > 172.31.119.200.59626: Flags [S.], seq 3070140974, ack 1904163677, win 8192, options [mss 1452,sackOK,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,wscale 5], length 0
12:46:40.804975 IP 172.31.119.200.59626 > 180.101.49.12.80: Flags [.], ack 1, win 229, length 0

------以上三次握手  1.  本地向百度发送 sync 请求

                               2.百度回复  sync ack

                               3. 本地回应ack 给百度      (注意以上三部length都是0,是TCP/IP 中传输控制层进行的通讯)


12:46:40.805242 IP 172.31.119.200.59626 > 180.101.49.12.80: Flags [P.], seq 1:78, ack 1, win 229, length 77: HTTP: GET / HTTP/1.1
12:46:40.821061 IP 180.101.49.12.80 > 172.31.119.200.59626: Flags [.], ack 78, win 908, length 0
12:46:40.822017 IP 180.101.49.12.80 > 172.31.119.200.59626: Flags [P.], seq 1:1441, ack 78, win 908, length 1440: HTTP: HTTP/1.1 200 OK
12:46:40.822053 IP 172.31.119.200.59626 > 180.101.49.12.80: Flags [.], ack 1441, win 251, length 0
12:46:40.822064 IP 180.101.49.12.80 > 172.31.119.200.59626: Flags [P.], seq 1441:2782, ack 78, win 908, length 1341: HTTP
12:46:40.822071 IP 172.31.119.200.59626 > 180.101.49.12.80: Flags [.], ack 2782, win 274, length 0

-----以上  1.  本地向百度发送  HTTP:GET 请求

                2.  百度回应 ack 好的      -----------------------请求后server回复ack 好的,后面数据成对返回 server -- client 

                3. 百度ack   1440个数据给本地

                4. 本地回应ack  给百度

                5. 百度ack 1341   个数据给本地

                6. 本地回应ack  给百度

 


12:46:40.831262 IP 172.31.119.200.59626 > 180.101.49.12.80: Flags [.], ack 2782, win 274, options [nop,nop,sack 1 {1441:2782}], length 0
12:46:40.838133 IP 180.101.49.12.80 > 172.31.119.200.59626: Flags [.], ack 79, win 908, length 0
12:46:40.838164 IP 180.101.49.12.80 > 172.31.119.200.59626: Flags [F.], seq 2782, ack 79, win 908, length 0
12:46:40.838184 IP 172.31.119.200.59626 > 180.101.49.12.80: Flags [.], ack 2783, win 274, length 0

---------以上四次挥手

     1. 本地 client --> 百度 server  fin 结束请求

     2. 百度 server--> 本地 clinet    fin_ack 

    3. 百度 server --> 本地 client    fin

     4.  本地 client --> 百度 server  ack

相关文章:

  • 2021-04-29
  • 2021-04-02
猜你喜欢
  • 2022-12-23
  • 2021-07-12
  • 2021-07-12
  • 2022-12-23
  • 2021-04-30
  • 2021-10-08
  • 2021-10-17
相关资源
相似解决方案