一、路由概述
路由:从源主机到目标主机的转发过程
路由器:能够将数据包转发到正确的目的地,并在转发的过程中选择最佳路径的设备
二、路由器的工作原理
根据路由表转发数据
三、路由表的工作原理
1. 路由器中维护的路由条目的集合
路由器根据路由表做路路径选择
2.路由表的形成
直连网段:配置IP地址,端口UP状态,形成直连路由
非直连网段:没有跟路由器直接连接的网段
(路由器的每一个端口,都代表一个网段;有多少个端口,就有多少个不同网段,即多少个直连网段)
可以这么理解:对每一个路由器而言,长在路由器自己身上的,就是直连网段,没有长在自己身上,就是非直连网段
3.对于非直连的网段,就需要静态路由或者动态路由,将网段添加到路由表中
手动配上去的就是静态路由
4.静态路由
由管理员手工配置的,是单向的
缺乏灵活性
5.默认路由
当有且只有一条通往其他路由的路径,就是默认路由
6.路由的优先级
当路由表中同时存在静态路由和默认路由的时候,静态路由优先级最高,匹配上了就立刻进行转发;
如果没有匹配上静态路由,则按照默认路由进行转发
四、路由器转发数据包的封装过程
1.主机A不知道路由器A的E0端口网卡号,数据无法封装,所以此时主机A发送ARP广播帧给路由A的E0接口(广播帧的源IP和源MAC都是主机A,目标IP是路由A的E0端口的IP,目标MAC是FF-FF-FF-FF-FF-FF);
2.路由A通过E0端口接收到广播帧,发现目标MAC是FF-FF-FF–FF-FF-FF,便会拆开MAC头部,发现目标IP是自己,便会对这个广播帧进行反馈,即以单播的形式发单播帧(源IP地址是192.168.1.1,源MAC地址:00-11-12-21-22-22(以下简称22)目标IP地址192.168.1.2,目标MAC是11)给主机A,并且把主机A的MAC地址记录在自己的MAC表中,主机A接受到了MAC地址,便满足四要素,把路由A的E0MAC地址记录在自己的MAC表中,可以开始进行数据帧的传输。主机A把目标MAC地址补上,发送给路由A;
3.路由A从E0端口接收到这个数据帧,查看目标MAC发现是自己,便会拆开MAC头部,露出IP地址,查看目标IP所在网段,与自己的路由表对比,找到对应的接口E1,开始进行MAC封转发,源IP地址主机A,源MAC地址是路由A的E1端口的MAC地址00-11-12-21-33-33(以下简称33),目标IP是主机B,目标MAC是路由B的E1端口的MAC地址;但是因为第一次连接,路由A的mac地址表并没有路由B的E1端口的MAC地址,也就没有相应的目标地址,所以会丢弃这次的数据;
4.路由A此时察觉到自己没有路由B的E1接口的MAC地址,便会主动对其发送ARP广播,广播帧中源IP和源MAC地址是自己,目标IP是路由B的E1接口的IP地址,目标MAC是FF-FF-FF-FF-FF-FF。路由B收到这个广播帧,发现目标MAC是FF-FF-FF-FF-FF-FF,便会对MAC头部进行拆开,并学习记录源MAC地址(即路由A的E1端口的MAC地址),发现里面的目标IP地址是自己,便会对这个广播帧进行反馈,即以单播的形式发单播帧(源IP地址是10.1.1.2,源MAC地址:00-11-12-21-33-33(以下简称33)目标IP地址10.1.1.1,目标MAC是00-11-12-21-33-33)发给路由A的E1端口;
5.路由A此时查看广播帧,得到了路由B的E1接口的MAC地址,便会记录在自己的MAC表中。这时主机A发送的第二个PING包又发了过来,因为此时路由A知道了路由B的E1接口的MAC地址,满足四要素,会很顺畅的发送到路由B的E1端口。路由B的E1接口查看目标MAC是自己,便会拆开,露出目标IP地址。路由B将IP地址192.168.2.2对照自己的路由表得出对应得网段接口为E0,变会对数据进行封装处理;因为是第一次连接,所以路由B并不知道主机B的MAC地址,所以操作无法执行,第二个PING包便会在这里被丢弃;
6.路由B为了以后可以正常通信便会发送广播帧(源IP地址是192.168.2.1,源MAC地址:00-11-12-21-55-55,目标IP地址192.168.2.2,目标MAC地址FF-FF-FF-FF-FF-FF)给主机B,主机B接收到这个广播帧,记录源MAC地址,还会把MAC头部拆掉,发现目标IP地址是自己,便会单播发出一个单薄帧(源IP地址是192.168.2.2,源MAC地址:00-11-12-21-66-66目标IP地址192.168.2.1,目标MAC是00-11-12-21-55-55)回应。
7.路由B此时接收到单播帧,便会记录源MAC地址,即主机B的MAC地址,此时第三个PING也到了,路由B此时满足四要素,便可以把PING包转发给主机B,主机B接收到在发回去,便互联互通了。