华为路由ospfrip重分布

为了实现全网互通,我们需要路由器能在不同协议之间交换路由信息或者全网运行同一种路由协议,但实际网络中往往需要运行多种路由协议。这涉及到路由重分布即引入其它路由协议发现的路由。比如你可以将OSPF路由域中的路由重新分布后通告到RIP路由域中,也可以将RIP路由域的路由重新分布后通告到OSPF路由域中。路由的相互重分布可以在所有的IP路由协议之间进行。

案例

例如公司有两个部门,每个部门是一个独立的局域网,为了使这两个部门能够正常相互通讯,共享资源。每个部门出口利用一台路由器进行连接,两台路由器间部门通过一个ISP路由进行相连,现在R1R2间运行RIP路由协议,R2R3间运行OSPF路由协议。现在需要做适当配置,实现通信问题。

如下图所示:

拓扑图

114612119.png

实训步骤

(1)配置主机Ip地址、默认网关。

PC1192.168.1.2/24   192.168.1.1

PC2192.168.4.2/24   192.168.4.1

(2)登陆路由器R1R2R3上配置以太口的IP地址

R1

Router#configure terminal

Routerconfig#int f0/0

Router(config-if)#ip address 192.168.1.1 255.255.255.0

Routerconfig#int f 0/1

Router(config-if)#ip address 192.168.2.1 255.255.255.0

R2

Router#configure terminal

Routerconfig#int f0/1

Router(config-if)#ip address 192.168.3.2 255.255.255.0

Routerconfig#int f 0/0

Router(config-if)#ip address 192.168.3.1 255.255.255.0

R3

Router#configure terminal

Routerconfig#int f0/0

Router(config-if)#ip address 192.168.1.1 255.255.255.0

Routerconfig#int f 0/1

Router(config-if)#ip address 192.168.4.1 255.255.255.0



3)在路由器R1R3上分别配置RIPOSPF协议

R1

Router(config-router)#router rip

Router(config-router)#network 192.168.1.0

Router(config-router)#network 192.168.2.0

R3:

Router(config-router)#router ospf 1

Router(config-router)#network 192.168.3.0 .255 area 0

Router(config-router)#network 192.168.4.0 .255 area 0

R2:

Router(config)#router rip

Router(config-router)#network 192.168.2.0

Router(config-router)#exit

Router(config)#router ospf 1

Router(config-router)#network 192.168.3.0 .255 area 0

show ip route查看路由信息;不会得到全网路由信息。

Router(config)#router rip

Router(config-router)#redistribute ospf 1 10

Router(config-router)#exit

Router(config)#router ospf 1

Router(config-router)#redistribute rip subnets

Router(config-router)#end

3show ip route

    PC进行ping测试;

——————————————————————————————————————

华为配置:

端口IP地址配置省略。

在路由器R1R3上分别配置RIPOSPF协议

R1

[Router]rip

[Router-rip-1]network 192.168.1.0

[Router-rip-1]network 192.168.2.0

R3

[Router]ospf

[Router-ospf-1]area 0

[Router-ospf-1-area-.0]network192.168.3.0 0.0.0.255

[Router-ospf-1-area-.0]network 192.168.4.0 0.0.0.255

R2

[Router]rip

[Router-rip-1]network 192.168.2.0

[Router]ospf

[Router-ospf-1]area 0

[Router-ospf-1-area-.0]network192.168.3.0 0.0.0.255

dis ip routing查看路由信息;不会得到全网路由信息。

[Router]rip

[Router-rip-1] import ospf 1

[Router]ospf

[Router-ospf-1] import rip(rip注入到ospf)

3dis ip routing

    PC进行ping测试;

路由重分布的作用:可以使得多种路由协议之间,多重厂商环境中进行路由信息交换,路由重分布为在同一个互联网络中高效地支持多种路由协议提供了可能。执行路由重分布的路由器被称为边界路由器。因为他们位于两个或多个自治系统的边界上。

路由重分布时计量单位和管理距离是必须要考虑的。每一种路由协议都有自己度量标准,所以在进行重分布时必须转换度量标准,使得它们兼容。

种子度量值(seed metric)是定义在路由重分布里的,它是一条从外部重分布进来的路由的初始度量值。

例如:

router ospf 100 redistribute rip metric 10这是说将从rip学到的路由条目注入到OSPF中,让OSPF也学到这些路由。但是OSPFRIPmetric意义是不同的。OSPF是以COST--开销定义metric,而RIP是以跳数定义metric。所以为了让OSPF看得懂RIPmetric,将RIP发布过来的路由条目指定为开销10(这个10是人为定义的,真实开销不一定是10,仅仅是重发布的时候需要这个值,指明一下而已,有的时候为了做最优路径或负载均衡才会特别的考虑取值)router rip version 2 redistribute ospf 100 metric 1含义与上面的相似。为了让RIP看得懂OSPFmetric,人为定义从OSPF重发布过来的metric1,就是让RIP认为从OSPF学到的路由条目的跳数是1跳(真实是不是1跳,是不一定的,仅仅是让双方都看得懂对方的metric)别的路由协议发布到RIP的时候,要注意metric的取值,因为RIP大于15跳的路由条目是不会被放进路由表的,因此重发布的时候metric取值在1-14之间,一般如果不是为了特殊要求,都会习惯性的选择1.别的路由协议重发布的时候也一样。要在该协议的metric的取值范围内。

我们所讲的路由重分布主要发生在RIP /OSPF /EIGRP /IS IS中。

在动态路由协议中可以引入其它动态路由或静态路由、缺省路由。这里讲一下关于动态缺省路由的内容。

静态默认路由与动态默认路由的区别:

     静态默认路由,就是在一个路由器上指定一个路径,当此路由器没有到远程网络的路有时候,走这条路径,格式ip route 0.0.0.0 0.0.0.0 XXX.XXX.XXX.XXX(或者接口)

     而什么是动态默认路由呢,跟静态的默认路由又有什么区别呢?比如有一个星形拓扑,R1为核心路由器,而剩下的R2,R3。。。。。为分支,想要用核心路由器告诉分支路由器,当找不到路径到达一个远程网络时候,(只要是分支路由器不知道的远程网络,不管是什么远程网络),全部通过核心路由器来到远程网络,而且当有新的路由器加入到这个拓扑时候,这个路由器也能出现那个这条默认路由,这时候应该怎么做?(注意,只要是能够动态得到核心路由器的网络的所有的路由器都能有这么一条默认路由,如EIGRP D*来表示)

     解决方法就是在核心路由器上面重发布默认路由(注意,不是在分支路由器上面做,跟静态默认路由不一样),各种动态路由协议有各种不同的做法:

1、在RIP中,默认路由采用default-information originate方式向其他路由器注入。

2、在OSPF中,分几种情况:

1)向常规区域中注入默认路由,采用default-information originate方法,如果已经存在一条默认路由此时语句后面不必跟always参数,否则需要带有always参数。同时一旦执行该命令后,该路由器将成为ASBR。该默认路由在所有路由器中将以5LSA存在(路由表表现为O*E2)

2)末节区域或者绝对末节区域,因为末节、绝对末节区域的ABR已经自动产生了全0的路由汇总条目(路由表里表现为O*IA,所以不必额外考虑。

3NSSA区域,与之相连的ABR默认情况下不会自动产生默认路由,如果需要则需要使用area X nssa default-informatin-originate来强制产生,将产生一个7LSA(路由表现为O*N2

3、在IGRP中,不能通过default-information originate 来注入默认路由到其他路由器,IGRP不认识80的默认路由,它需要使用ip default-network *.*.*.*将网络标记为默认路由,然后路由器通过IGRP自动分发默认路由给其他路由器。这里注意一个区别:

ip default-networkip route 0.0.0.0 0.0.0.0
两者都用于ip routing有效的路由器上,区别主要在于路由协议是否传播这条路由信息。比如:IGRP无法识别0.0.0.0,因此传播默认路由时必须用ip default-network

当用ip default-network指令设定多条默认路由时,administrative distance最短的成为最终的默认路由;如果有复数条路由distance值相等,那么在路由表(show ip route)中靠上的成为默认路由。
同时使用ip default-networkip route 0.0.0.0 0.0.0.0双方设定默认路由时,如果ip default-network设定的网络是直连(静态、且已知)的,那么它就成为默认路由;如果ip default-network指定的网络是由交换路由信息得来的,则ip route 0.0.0.0 0.0.0.0指定的表项成为默认路由。
最后,如果使用多条ip route 0.0.0.0 0.0.0.0指令,则流量会自动在多条链路上负载均衡。

4。在EIGRP中,对于80的默认路由处理方式有2种:

1 ip route 0.0.0.0 0.0.0.0 下一跳IP地址,这种方式的默认路由即使使用network 0.0.0.0来宣告,也不会向其他路由器注入默认路由

2 ip route 0.0.0.0 0.0.0.0 直连接口,对这种方式的默认路由使用network 0.0.0.0来宣告,会向其他路由通告默认路由。  

3 使用redistribute static重分发默认路由进去。

      但是需要注意network 0.0.0.0会导致将路由器上所有的网络都宣告进EIGRP进程,所以不建议使用2的方法来发布默认路由。

      用ip    default-network 0.0.0.0 并不能将80的默认路由注入到其他路由器。相反,可以用ip default-network来将非80路由注入到其他路由器中.

归纳:
ip default-network用在rip ,igrp ,eigrp

default-information originate用在rip,ospf,isis,bgp

redistr static配合用在rip    eigrp    bgp