从Debian3 能ping通192.168.18.12时数据包来去整个过程

简介:openwrt是一个关闭NAT功能的路由器

在Debian3 ping 192.168.18.12 时,在ICMP请求包发送之前,会先根据ip去查路由表,路由表中配置了一条静态路由记录,指明desIp网段与192.168.18.0/24网段相同的包发送到10.0.5.1这个网关上做进一步处理,根据路由表中的记录,去查arp表中10.0.5.1该ip的mac地址,如果表中无记录首先会发送arp包获取10.0.5.1的mac地址,拿到地址以后对数据包进行封装,再从Debian3的ens6网卡输出,

数据包内的mac和ip如下:srcIp:10.0.5.2

                                           srcMac:13:3e:44

                                           desIp:192.168.18.12

                                           desMac:13:3e:60

Q1:如果Debian3的本机路由表上并没有这样一条记录也没有默认路由会发生什么?

       当路由表上没有该记录时,Debian3的ip协议栈无法判断该ICMP请求包下一跳的地址,Debian3会生成一个ICMP 目标不可达消息告知本机,也就是说ICMP请求包并不会从ens6的网卡上输出。

openwrt3的br-lan网卡输入数据包内容同上,这时br-lan网卡收到ICMP请求包时会先比对mac地址看包是不是发送给自己的,比对成功后网卡会将帧中的数据取出,并根据mac头部指定的携带包的类型,将其传递给ip协议栈进行处理,openwrt3的ip协议栈会先根据desIp判断该包是不是发送给自己的,当包不是发送给自己的时候,会进入转发,openwrt3会根据包中的desIp去路由表中查询,openwrt3的路由表中配置了一条记录指明desIp网段与192.168.18.0/24网段相同的包要发送到172.16.0.1这个网关上做进一步处理,根据该记录通过arp拿到172.16.0.1的mac地址,再从openwrt3的eth1网卡输出,

数据包内的mac和ip如下: srcIp:10.0.5.2

                                         srcMac:11:3e:60

                                         desIp:192.168.18.12

                                         desMac:11:3e:49

openwrt1的br-lan网卡输入数据包内容同上,openwrt1通过desIp判断该包是发送给自己的,在收到ICMP请求包以后要发送ICMP响应包,openwrt1先根据ICMP请求包中的srcIp:10.0.5.2去路由表中进行查询,openwrt3的路由表中配置了一条记录指明desIp网段与10.0.5.0/24网段相同的包发送到172.16.0.5这个网关上做进一步处理,根据该记录通过arp拿到172.16.0.5的mac地址,再从openwrt1的br-lan网卡输出,

数据包内的mac和ip如下: srcIp:192.168.18.12

                                         srcMac:11:3e:49

                                         desIp:10.0.5.2

                                         desMac:11:3e:60

Q2:如果openwrt1路由表上并没有这样一条记录也没有默认路由会发生什么?

       由于openwrt3关闭了NAT功能,所以openwrt1收到ICMP请求包的srcIp还是Debian3的ip:10.0.5.2,并没有被替换成172.16.0.5,openwrt1需要根据ICMP请求包的srcIp发送响应包,由于路由表中并没有记录指明10.0.5.2的下一跳的地址,因此响应包无法发送,进行抓包会发现,只有请求包送达到openwrt1的br-lan网卡,没有响应包从该网卡发出。

openwrt3的eth1网卡输入数据包内容同上,查询路由表和arp并从openwrt3的br-lan网卡输出,

数据包内的mac和ip如下: srcIp:192.168.18.12

                                         srcMac:13:3e:60

                                         desIp:10.0.5.2

                                         desMac:13:3e:44

Debian3的ens6网卡输入数据包内容同上。

以上就是能ping通192.168.18.12时数据包来去的整个过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值