什么是静态路由、默认路由与浮动路由
静态路由是有管理员在路由器中手动配置的固定路由,如果路由器A需要将数据转发发哦非直连网段,192.168.1.0,就需要在路由器A上添加静态路由。
静态路由
- 01
要达到的目的网络是192.168.1.0/24
- 02
与路由器A直连的下一个路由器B的接口IP地址或者是路由器A的本地接口,
- 03
静态路由器的特点: 允许对路由的行为进行精确的控制,由于静态路由是手动配置的,管理员就可以通过静态路由来控制包在网络中的流动
- 04
静态路由是单向,也就是说如果希望事项双方的通信,必须在通信双防配置双向的静态路由。例如上例中:在路由器A上配置了静态路由,只是告诉路由器A如何到达192.168.1.0网段。如果路由器B需要将数据包转到连接在路由器A上的网络,就必须还要在路由器B上配置路由才可以
- 05
静态路由的不足之外是缺乏灵活性,。静态路由虽然能够对包通过路由器的路径进行精确控制,但同时也限制了它的灵活性。由于它是静态配置的,不能够根据网络的变化灵活改变,因此当网络发生更新时,管理员就必须重新配置该静态路由。
默认路由
- 01
默认 路由是一种特殊的静态路由,指的是当路由表中与包的目的地之间没有匹配的表项时路由器能够做出的选择,如果没有默认路由,那么目的地地址在路由表中没有匹配表项的包将被丢弃。
- 02
如下面图所示的路由器B右侧的网络192.168.1.0就是一个网络,这个网络中的主机要访问其他网络必须要通过路由器B和路由器A,没有第二条路可走,这样就可以在路由器B上配置一条默认路由。只要是网络192.168.1.0中的主机要访问其他网络,这样的发送到路由器B后,路由器B就会按照默认路由来转发。
- 03
另外,适当地使用默认路由还可以减小路由表的大小。在路由表中只填加少数的静态路由,同时添加一条默认路由。这样当收到的包的目的网络没有包含在路由表中,就按照默认路由表转发。(当然默认路由有可能不是最好的路由)
浮动静态路由
- 01
浮动静态路由是静态路由的一种,浮动静态路由主要是考虑到链路沉余,如下面图所示。
- 02
路由器A与B之间有两条链路,一条为带宽大的住链路,一条为带宽小的备份链路,
- 03
可以在备份链路上配置浮动静态路由,这条备份链路在住链路状态正常的情况下是不会转发数据的。只有当住链路发生故障的时候才会开始转发数据,起到了备份路由的作用。
路由器转发数据包的封装过程
- 01
如下面图所示,主机Host A向主机Hoset B发送数据,路由器对数据包的封装过程如下。
- 02
Host A在网络层将来自上层的报文封装成IP数据包,其首部包含了源地址和目的地址。源地址即本机地址192.168.1.2,目的地址为Host B的地址192.168.2.2.Host A会用本机配置的24为掩码与目的地址进行“与”运算,得出的目的地址与本机地址不在同意网段,因此发生Host B的数据包需要经过网关路由器A转发。
- 03
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。
- 04
路由器A从EO口接收到数据帧,把数据链路层的封装去掉,路由器A认为这个IP数据包是通过自己进行路由转发,路由器A会查找自己的路由表,寻找与目标IP地址192.168.2.2相匹配的路由表项,根据路由表的吓一跳地址将数据包转发到E1接口。
- 05
在E1接口路由器A重新封装以太网,此时源MAC地址为路由器A的E1口,MAC地址00-11-12-21-33-33,目地MAC地址为与之相连的路由器B的E1口MAC地址00-11-12-21-44-44.
- 06
路由器B从E1口接收到数据帧,同样会把数据链路层的封装去掉。并对目地IP地址进行检查,并与路由表进行匹配。然后根据路由表的下一条信息将数据包转发到E0接口,
- 07
路由器B发现目的网段与自己的E0接口直接相连,通过ARP广播,路由器B获得Host B以太口的MAC地址00-11-12-66-66.路由器B再将IP数据包封装成以太网,源MAC地址为路由器B的E0口的MAC地址00-11-12-21-55-55,目的MAC地址为Host B的MAC地址00-11-12-21-66-66.封装完毕后,将以太网从E0接口发往Host B.
- 08
交换发生在OSI参考模型的第2层数据链路层,通常交换的动作由交换机来完成,而路由发生在OSI参考模型的第3层,即网络层,通常路由的动作由路由器来完成。路由和交换在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。