我在百度告诉你,当你请求百度时都发生了什么……(9)

2023-05-02 来源:飞速影视
看上图中绿色的部分,在地址转换表中记录,数据包的原地址从192.168.0.64:1234被转成了121.36.30.75:1234。(这种带端口号的地址转换其实叫NAPT)
那我们继续往下看,假如我们的路由器收到百度的响应包长下面这样:
Copysrc ip = 220.181.38.251 (百度公网网关路由器WAN口ip地址)src mac = 百度公网网关路由器的mac地址dst ip = 121.36.30.75:1234 (我们家里路由器的WAN口ip地址)dst mac = 我们家里路由器的mac地址
同样的道理,我们家里路由器会有下面伪代码的判断逻辑。
Copyif 响应包.mac == 自己的mac{// 说明这是发给自己包,所以不能丢弃 if 响应包.ip == 自己的ip{ // 哎?ip也是自己的ip! // 但是它只是一个路由器,只有OSI7层网络模型的前三层 // 所以路由器并不能真正的处理解析这个数据包,只能根据NAT表继续转发 if 地址转换表.Contains(响应包.dstIp){ // 通过查地址转换表发现: // dst ip = 121.36.30.75:1234 的流量,需要转给:192.168.0.64:1234 // 转发... } }else{ // 查自己的route表,找下一跳}}else{// 直接丢弃}
这样的话,我们的发送请求的机器就接收到百度的响应包了,响应数据再一路往OIS7层网络模型的上层传递,最后到应用层根据http协议解析出响应报文,经过浏览器渲染html报文,于是下面的网页就展现在了我们面前!

相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号