目录
路由概述
能够将数据包转发到正确的目的地,并在转发过程中选择最佳路径的设备,用于不同网络之间的通讯。从源主机到目标主机的转发过程。
路由器的工作原理:
根据路由表转发数据
接受数据包➡查看目的地址➡与路由表进行匹配找到转发端口➡转发到该端口
(1)主机1.1要发送数据包给主机4.1,因为IP地址不在同一网段,所以主机会将数据包发送给本网段的网关路由器A。
(2)路由器A接收到数据包,先查看数据包IP首部中的目标P地址,再查找自己的路由表。数据包的目标IP地址是4.1,属于4.0网段,路由器A在路由表中查到4.0网段转发的接口是S0接口。于是,路由器A将数据包从S0接口转发出去。
(3)网络中的每个路由器都是按这样的步骤转发数据的,直到到达路由器B,再用同样的转发方法从E0接口转发出去,最后主机4.1接收到这个数据包。
在转发数据包的过程中,如果在路由表中没有找到数据包的目的地址,则根据路由器的配置转发到默认接口或者给用户返回“目标地址不可达”的信息。
上述只是对路由器工作过程的简单描述,却是路由器最基本的工作原理。
静态路由
静态路由:由管理员手工配置的,是单向的;缺乏灵活性。
默认路由:当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发转发到默认路由接口。默认路由是特殊的静态路由。
交换工作在数据链路层,根据“MAC地址表”转发数据硬件转发
路由器转发数据包的封装过程:
如图所示,Host A向 Host B发送数据,路由器对数据包的封装过程如下。
(1) Host A在网络层将来自上层的报文封装成IP数据包,其首部包含了源地址和目的地址。源地址即本机IP地址192.168.1.2,目的地址为Host B的IP地址192.168.2.2。Host A会用本机配置的24位掩码与目的地址进行“与”运算,得出目的地址与本机地址不在同一网段,因此发往Host B的数据包需要经过网关路由器A转发。
(2)Host A通过 ARP请求获得默认网关路由器A的EO接口MAC地址00-11-12-21-22-22。在数据链路层Host A将IP数据包封装成以太网数据帧,在以太网帧首部的源MAC地址为 00-11-12-21-11-11,目的MAC地址为网关EO接口的MAC地址00-11-12-21-22-22。
(3)路由器A从E0接口接收到数据帧,把数据链路层的封装去掉。路由器A认为这个IP数据包是要通过自己进行路由转发,所以路由器A会查找自己的路由表,寻找与目标IP地址192.168.2.2相匹配的路由表项,然后根据路由表的下一跳地址将数据包转发到E1接口。
(4)在E1接口路由器A重新封装以太网帧,此时源MAC地址为路由器A的E1接口MAC地址00-11-12-21-33-33,目的MAC地址为与之相连的路由器B的E1接口MAC地址00-11-12-21-44-44。
(5)路由器B从E1接口接收到数据帧,同样会把数据链路层的封装去掉,对目的IP地址进行检查,并与路由表进行匹配,然后根据路由表的下一跳信息将数据包转发到E0接口。路由器B发现目的网段与自己的E0接口直接相连,通过ARP广播,路由器B获得Host B以太口的MAC地址00-11-12-21-66-66。路由器B再将IP数据包封装成以太网帧,源MAC地址为路由器B的E0接口的MAC地址00-11-12-21-55-55,目的 MAC地址为Host B的MAC 地址00-11-12-21-66-66。封装完毕,将以太网帧从EO接口发往Host B。
本章总结
数据包经过路由器,MAC地址要重新封装。
路由器通过路由表转发数据包,交换机通过MAC地址表转发数据帧。
静态路由需要双向逐跳配置。
默认路由可简化末端路由器路由表配置,简洁高效