构建网络拓扑
让主机A向主机C发送一个ICMP数据报
- 首先 A(192.168.16.1)通过子网掩码(255.255.255.128)计算出自己与 C(192.168.16.129)并不在同一个子网内,于是决定发送给默认网关(192.168.16.126)
- A 通过 ARP 找到 默认网关 192.168.16.126的 MAC 地址。
- A 将源 MAC 地址(0001.42A4.2888)与网关 MAC 地址(00E0.F92A.2401)封装在数据链路层头部,又将源 IP 地址(192.168.16.1)和目的 IP 地址(192.168.16.129)(注意这里千万不要以为填写的是默认网关的 IP 地址,从始至终这个数据包的两个 IP 地址都是不变的,只有 MAC 地址在不断变化)封装在网络层头部,然后发包
- 交换机 1 收到数据包后,发现目标 MAC 地址是 00E0.F92A.2401,此时会查看mac表 目标mac地址映射的端口
- 数据包来到了路由器 1,发现其目标 IP 地址是192.168.16.129,查看其路由表
匹配到目的网络192.168.16.128/26对应的端口,下一跳是接口
然后,查看arp表目的地址对应的mac地址,此时会发现查找不到,则丢弃该数据报,并为该IP地址发送一个ARP请求。
下一跳是接口。然后,查看arp表目的ip地址对应的mac地址,此时会发现查找不到,则丢弃该数据报,并为该IP地址发送一个ARP请求。图片描述错误
让主机A向主机F发送一个ICMP数据报
-
首先 A(192.168.16.1)通过子网掩码(255.255.255.128)计算出自己与 F(192.168.16.194)并不在同一个子网内,于是决定发送给默认网关(192.168.16.126)
-
A 通过 ARP 找到 默认网关 192.168.16.126的 MAC 地址。
-
A 将源 MAC 地址(0001.42A4.2888)与网关 MAC 地址(00E0.F92A.2401)封装在数据链路层头部,又将源 IP 地址(192.168.16.1)和目的 IP 地址(192.168.16.194)(注意这里千万不要以为填写的是默认网关的 IP 地址,从始至终这个数据包的两个 IP 地址都是不变的,只有 MAC 地址在不断变化)封装在网络层头部,然后发包
-
交换机 1 收到数据包后,发现目标 MAC 地址是 00E0.F92A.2401,此时会查看mac表 目标mac地址映射的端口,转发给路由器1
-
数据包来到了路由器 1,发现其目标 IP 地址是192.168.16.194,查看其路由表
匹配到目的网络192.168.16.192/29有下一跳,下一跳ip地址就是下一路由器接口的ip地址192.168.16.202
然后,查看arp表下一跳ip地址对应的mac地址,此时会发现查找不到,则丢弃该数据报,并为该下一跳IP地址发送一个ARP请求。