路由器转发数据包的封装过程;此过程通过实例的方式,完成展示
建立拓扑,配置相应的IP地址和子网掩码
主机配置(PC1和2基本一致,除了配置的ip和网关不同)
PC1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
PC1(config)#int f0/0
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#no shutdown //开启接口
PC1(config-if)#exit
PC1(config)#no ip routing //路由器的ip routing是默认启用的,关闭ip routing是为了把路由器当做一台主机来用、所以此时要配上ip default-gateway ,就像在自己的pc上设置默认网关一样。
PC1(config)#ip default-gateway 192.168.10.254 //配置默认网关
PC1(config)#
路由配置(R1和R2配置基本一致,除了各个接口IP不同和静态路由不同)
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#int f1/0
R2(config-if)#ip address 192.168.50.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#ip route 192.168.10.0 255.255.255.0 f1/0 //在全局模式下配置静态路由,192.168.10.0是网段,不是IP地址, F1/0是转发接口,或者将f1/0换成下一个路由器的IP地址
使用show interface f0/0查接口f0/0的接口信息
以下为Wireshark三个抓包过程
PC1-—》R1
PC1发送访问PC2
第一个报文:源IP:10.1 目的IP:100.1;源MAC:pc1 目的MAC:R1 F0/0接口MAC。
R1->R2
当R1接收到数据报文后,会进行接封装,解封至网络层,查看目的IP所在网段是否在自己路由表内,如果在就可以到达,转发到对应接口,重新进行二层封装,源MAC变为:R1 F1/0接口的MAC 目的MAC变为R2的F1/0接口MAC
R2->PC2
当R2接收到数据报文后,会进行接封装,解封至网络层,查看目的IP所在网段是否在自己路由表内,此时PC2和R2直连属于,同网段,肯定可到,数据交给对应接口,重新进行二层封装。源MAC变为:R2的F0/0接口MAC 目的MAC变为PC2的f0/0接口MAC
总结:
路由器在转发数据包的封装过程中
源IP和目的IP是一直不变的
源MAC和目的MAC一直变化的
因为路由器会重新进行二层封装
同网段传输是二层转发,二层转发不需要进行重新封装
跨网段传输是三层转发,需要重新进行二层封装