静态路由与默认路由
静态路由原理与配置
一、 路由
1.路由原理
路由器工作在OSI参考模型的网络层,它的重要作用是为数据包选择最佳路径,最终送达目的地。那么路由器是怎样选择路径的呢?
在只有一个网段的网络中,数据包可以很容易地从源主机到达目标主机。但如果一台计算机要和非本网段的计算机通信,数据包可能就要经过很多路由器。如下图所示,主机A和主机B所在的网段被许多路由器隔开,这时主机A与主机B的通信就要经过这些中间路由器,这就要面临一个很重要的问题——如何选择到达目的地的路径。数据包从主机A到达主机B有很多条路径可供选择,但是很显然,这些路径中在某一时刻总会有一条路径是最好(最快)的。因此,为了尽可能地提高网络访问速度,就需要有一种方法来判断从源主机到达目标主机所经过的最佳路径,从而进行数据转发,这就是路由技术。
2.路由器的工作原理
如上图:
(1)主机1.1要发送数据包给主机4.1,因为IP地址不在同一网段,所以主机会将数据包发送给本网段的网关路由器 A。
(2)路由器A接收到数据包,先查看数据包IP首部中的目标IP地址,再查找自已的路由表。数据包的目标IP地址是4.1,属于4.0网段,路由器A在路由表中查到4.0网段转发的接口是S0接口。于是,路由器A将数据包从S0接口转发出去。
(3)网络中的每个路由器都是按这样的步骤转发数据的,直到到达路由器B,再用同样的转发方法从 E0接口转发出去,最后主机4.1接收到这个数据包。
在转发数据包的过程中,如果在路由表中没有找到数据包的目的地址,则根据路由器的配置转发到默认接口或者给用户返回"目标地址不可达"的信息。上述只是对路由器工作过程的简单描述,却是路由器最基本的工作原理。
3.路由表的形成
路由表是在路由器中维护的路由条目的集合,路由器根据路由表做路径选择。路由表是怎么形成的呢?这需要让我们从直连网段和非直连网段两方面来理解。
1)直连网段∶当在路由器上配置了接口的IP地址,并且接口状态为"up"时,路由表中出现直连路由项。如下图所示,路由器A在接口f0/0和接口f0/1 上分别配置了IP地址,并且在接口已经是"up"状态时,在路由器A的路由表中就会出现192.168.1.0和10.0.0.0这两个网段。
2)非直连网段∶对于20.0.0.0这样不直接连在路由器A上的网段,路由器A应该怎么写进路由表呢?这就需要使用静态路由或动态路由来将这些网段以及如何转发写到路由表中。
二、静态路由和默认路由
1.静态路由
在路由器A 上添加静态路由必须指明下列内容∶
●要到达的目的网络是192.168.1.0/24。
●与路由器A直连的下一个路由器B的接口IP地址或者路由器A的本地接口。
●静态路由是管理员手动设置的,除非网络管理员干预,否则静态路由不会发生变化。由于静态路由需要管理员逐条写入,而且不能对网络的改变做出反应,所以一般来说,静态路由用于网络规模不大、拓扑结构相对固定的网络中。
静态路由的特点如下∶
1)允许对路由的行为进行精确的控制。由于静态路由是手动配置的,因此管理员可以通过静态路由来控制数据包在网络中的流动。
2)静态路由是单向的。也就是说如果希望实现双向的通信,必须在通信双方配置双向的静态路由。例如在上例中,在路由器A上配置了静态路由,只是告诉路由器A如何到达192.168.1.0网段。如果路由器B需要将数据包转发到连接在路由器A上的网络,就还要在路由器B上配置静态路由。
3)静态路由的不足之处是缺乏灵活性。静态路由虽然能够对包通过路由器的路径对数据包进行精确控制,但同时也限制了它的灵活性。由于它是静态配置的,不能够根据网络的变化灵活改变,因此当网络拓扑更新时(如链路故障),管理员就必须重新配置该静态路由。
2.默认路由
默认路由是一种特殊的静态路由,是当路由表中与数据包的目的地址之间没有匹配表项时路由器做出的选择。如果没有默认路由,那么目的地址在路由表中没有匹配表项的数据包将被丢弃。
默认路由在有些时候会非常有效,当存在末梢网络(Stub Network)时,默认路由会大大简化路由器的配置,减轻管理员的工作负担,提高网络性能。
那么,什么是末梢网络呢?末梢网络是这样一种网络∶只有一个唯一的路径能够到达其他网络。如下图所示的路由器B右侧的网络192.168.1.0就是一个末梢网络。这个网络中的主机要访问其他网络必须通过路由器B和路由器A,没有第二条路径,这样就可以在路由器B上配置一条默认路由。只要是网络192.168.1.0中的主机要访问其他网络,这样的数据包发送到路由器B后,路由器B就会按照默认路由来转发(转发到路由器A的S0接口),而不管该数据包的目的地址到底是哪个网络。
另外,适当地使用默认路由还可以减小路由表的大小。网络管理员有时会这样配置路由表,即在路由表中只添加少数的静态路由,同时添加一条默认路由。这样当收到的数据包的目的网络没有包含在路由表中时,就按照默认路由来转发(当然默认路由有可能不是最好的路由)。
3.路由转发数据包的原理
如上图所示,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的E0接口MAC地址00-11-12-21-22-22。在数据链路层Host A将IP数据包封装成以太网数据帧,在以太网帧首的源MAC地址为00-11-12-21-11-11,目的MAC地址为网关E0接口的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。封装完毕,将以太网帧从E0接口发往Host B。
4.交换与路由对比
1)路由工作在网络层
●根据"路由表"转发数据
●路由选择
●路由转发
2)交换工作在数据链路层
●根据"MAC地址表"转发数据
●硬件转发
三、静态路由和默认路由的配置
1.思科的静态路由和默认路由配置
2.华为的静态路由和默认路由的配置:
默认路由
[Huawei]ip route-static 0.0.0.0 0.0.0.0 192.168.12.1
静态路由
[Huawei]ip route-static 192.168.10.0 255.255.255.0192.168.12.1
其中192.168.10.0是目的网段,255.255.255.0是子网掩码,192.168.12.1是下一跳地址
查看路由表
[Huawei]display ip routing-table
[R1]ip route-static 192.168.10.0 24 11.0.0.2//<主>优先级默认值60(越小越优先)
[R1]ip route-static 192.168.10.0 24 12.0.0.2 preference 70//配置浮动路由用于备份
查看网口信息
配置IP地址与子网掩码