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

2023-05-02 来源:飞速影视
那数据包处理完之后是需要给主机A一个响应包,那问题又来了,响应包该封装成什么样子呢? 对主机B来说响应包也需要、、、
Copysrc ip = 192.168.1.3src mac = 主机B的mac地址dst ip = 192.168.1.2src mac = 主机A的mac地址 (之前通过arp记录在自己的arp高速缓存中了,所以,这次直接用)
同样的道理,响应包也会按照如下的逻辑被主机A接受,处理。
Copy// 主机Aif 收到的数据包.MAC地址 == 自己的MAC地址{ if dst ip == 本机ip{ // 本地处理数据包}else{ // 查询路由表,根据路由表的规则,将数据包转某个某卡、或者默认网关}}else{// 直接丢弃}
然后再补充一点,我们可以通过下面的命令查看路由转发是否开启:
Copy ~]# cat /proc/sys/net/ipv4/ip_forward1
嗯,同一个局域网中的不同主机的通信方式大概就是这样子。下面我们再来看一下跨网段的不同主机的互联原理。

三、跨网段不同主机的互联


通过上面的描述,如下这张图描述同一个局域网内的不同主机和互联的原理大家已经很清楚了。
那不同网段的主机之间是如何互联的呢?
或者说,当你访问: 时,都发生了什么?你的请求是如何打到百度的服务器机房里面去的?
那,我们先尝试ping一下百度,如下,可以看到百度服务对外暴露的ip地址是220.181.38.148
Copy~ % ping baidu.comPING baidu.com (220.181.38.148): 56 data bytes64 bytes from 220.181.38.148: icmp_seq=0 ttl=48 time=38.812 ms64 bytes from 220icmp_seq=1 ttl=48 time=38.944 ms64 bytes from 220icmp_seq=2 ttl=48 time=23.507 ms64 bytes from 220icmp_seq=3 ttl=48 time=33.429 ms^C--- baidu.com ping statistics ---4 packets transmitted, 4 packets received, 0.0% packet lossround-trip min/avg/max/stddev = 23.507/33.673/38.944/6.277 ms
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

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