执行 ping 命令时,网络到底发生了什么?
ping example.com 这条命令几乎人人敲过。
回车,几行 time=12.3 ms 滚出来,网络通了。
可中间这十几毫秒里,数据包到底走了哪些路、握了哪些手?
很多教程一句话带过:ping 用 ICMP 发个包,对面回个包,完事。
ping example.com 这条命令几乎人人敲过。
回车,几行 time=12.3 ms 滚出来,网络通了。
可中间这十几毫秒里,数据包到底走了哪些路、握了哪些手?
很多教程一句话带过:ping 用 ICMP 发个包,对面回个包,完事。
两台电脑在同一个局域网里聊天,光知道对方的 IP 还不够。
数据真正发出去的时候,网卡认的是 MAC 地址,不是 IP。
那从 IP 怎么找到 MAC?这就是 ARP 干的活。
我第一次抓包看到一堆 who has 192.168.1.1? tell 192.168.1.66 的广播包时,还纳闷这是啥。
教资报名、社保认证、公务员报名、学校入学登记、各类考试报名照,卡在最后一步的人很多。
上传照片,系统写着不超过 200KB。
手机随手一拍那张,五六兆很正常。
传上去,红字弹出来,说超限。
先说结论:TCP 并不能保证物理上"一个包都不丢"。
网络层(IP)本来就是尽力而为的,路由器队列满了照样丢包。
TCP 真正做到的是——只要连接还在,丢了的数据它能发现并补回来,最终交给应用层的字节流完整、有序、不重复。
很多人第一次接触微服务会卡在一个问题上:HTTP 都能传数据了,为什么团队里还要再上一套 gRPC?
我自己一开始也觉得这是重复造轮子,后来真正去抠两者的底层才发现,它们解决的根本不是同一层的事。