不同局域网主机之间数据包的第一次传输过程
主机1、主机2和交换机1在同一网段内,路由器1的接口0连接交换机1;
主机3和交换机2在同一网段,路由器1的接口1连接交换机2;
主机4和交换机3在同一网段,交换机3连接路由器2的接口1;
路由器1的接口3和路由器2的接口1连接。
由于主机1不知道主机4的MAC地址,第一次就会发送ARP包进行广播寻找网关,通过网关寻找主机4。
主机2和路由器1收到ARP包都会进行拆解,由于目标MAC是广播MAC,因此需要对比IP,主机2发现IP和自身不符,丢掉ARP包,路由器1发现和自身对应接口0的IP相符,就会返回应答,告诉主机1自己对应的接口0的MAC地址。
ARP包的封装和拆解过程:
主机1获取到路由器1的接口0的MAC地址后,就将发送给主机4的ICMP包发送给路由器1;此时ICMP包封装的MAC地址是路由器1的接口0的MAC地址,IP是主机4的IP地址。
路由器1接收到ICMP包进行拆解,拆到网络层,获取到主机4的IP地址,转而在自己的路由表中进行寻找,找对应网段的下一跳路由(路由器2)的对应接口的IP地址。
路由器1第一次也不知道路由器2的接口0的MAC地址,就会进行ARP广播。
路由器2接收到ARP包,验明后,给路由器1返回自身的接口0的MAC地址。路由器1将主机1的ICMP包发送给路由器2;此时ICMP包封装的MAC地址是路由器2的接口0的MAC地址,IP地址是主机4的IP地址。
路由器2接收到ICMP包,进行拆解得到主机4的IP地址,路由器2在局域网内进行ARP广播,寻找主机4的MAC地址。主机4收到ARP包验证,返回自身MAC地址。路由器2收到主机4的MAC地址,将ICMP包中的MAC地址换成主机4的MAC地址,将ICMP包发送给主机4。
主机4收到ICMP包后,对请求做出回应。