六、计算机网络-网络层-路由器的工作原理
一、路由的定义
跨越从源主机到目标主机的一个互联网络来转发数据包的过程
二、路由器的工作原理
1、路由器的工作原理
主机1.1要发送数据到主机4.1,数据封装好了以后送到路由器A,路由器A收到数据包,查看数据包中的目的地址为4.1,然后就会查找路由表,找到以后就会从对应接口S0将数据包送到路由器B,路由器B接收到数据包就会查看数据包的目标地址,并查找路由表,找到对应网段和接口后就会从E0口出去送给主机4.1
2、路由表的形成
路由表:
路由器中维护的路由条目的集合
路由器根据路由表做路径选择
对于非直连的网段,需要静态路由或动态路由,将网段添加到路由表中
3、静态路由
添加静态路由:
ip route add 192.168.99.0/24 via 192.168.0.2 dev ens33
下一跳:192.168.0.2 --》对方路由器ip地址
192.168.99.0/24 目的网段 --》目的地
dev ens33 : 从ens33这个接口出去
下一跳可以是自己的接口名字也可以是对方路由器ip地址
4、默认路由
5、路由器转发数据包的封装过程
从网络层来讲,当数据刚刚封装好的时候,它的源ip地址是自己的,目的ip地址是对方的,从帧的层面来讲,它的源mac地址是自己的,因为是跨网段通信,目的mac地址是默认网关的mac地址,数据到了路由器A以后会查询路由表,发现要去往目的ip地址要从E1口送出来,于是数据从路由器A的E1口出来
这个时候源mac地址变成了E1口的mac地址,因为路由器A里面有一条静态路由,指定了下一跳的地址是路由器B的E1口,所以目的mac地址变成了路由器B的E1口的mac地址,数据从路由器A送到路由器B。(ip地址依旧没有变化)
到了路由器B以后,路由器把包拆开发现目的地址是192.168.2.2/24,查询路由表发现应该从E0口送出去,于是源ip和目的ip依旧没有改变,但是源mac地址变成了E0口的mac地址,目的mac地址变成了目的ip的mac地址,数据送到HostB
在这个过程中,IP地址始终没有改变,但是mac地址一直在变化.
三、路由器和交换机的对比
路由工作在网络层
根据“路由表”转发数据
路由选择
路由转发
交换工作在数据链路层
根据“MAC地址表”转发数据
硬件转发