tcp三次握手 数据传输 四次挥手 实例查看
https://www.bilibili.com/video/BV1Af4y117ZK/?spm_id_from=333.788.videocard.1
牛皮了,头一次见有清华架构师把TCP,NIO,epoll一直到netty解释的这么明白
1.TCP通讯基础 40~70 分钟讲此事
使用指令: 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