当前位置:文档之家› 烽火OSPF技术白皮书

烽火OSPF技术白皮书

烽火OSPF技术白皮书
烽火OSPF技术白皮书

烽火网络OSPF技术白皮书 

1.路由协议概述 (1)

2. OSPF协议介绍 (2)

2.1. OSPF基本概念 (2)

2.2. 路由信息扩散 (3)

3. OSPF协议的配置 (4)

3.1. 配置OSPF协议 (4)

3.2. 配置OSPF接口 (5)

3.3. 配置虚链路 (8)

3.4. 配置Stub区域 (9)

3.5. 配置路由器ID (10)

3.6. 配置地址聚合 (11)

3.7. 路由重分配 (12)

3.8. OSPF接口的认证 (13)

3.9. 接口其他参数的配置 (14)

3.10. OSPF调试信息 (15)

4.结论 (18)

 

1. 路由协议概述

IP网络中,路由器根据路由条目对数据包进行选路。在网络的边缘,通常可以设置静态的路由条目,而更高层次的网络则需要使用动态的路由协议来自动学习路由信息。由于IP 网络是一个全球性的网络,从网络的可扩展性,安全性,管理性等方面考虑,通常将网络划分为不同的自治系统(AS),从而形成了不同的路由层次。根据应用范围的不同,路由协议可以分为内部网关协议(IGP)和外部网关协议(EGP),前者的代表是路由信息协议(RIP)和开放式最短路径优先协议(OSPF),主要用于一个AS内部的路由通告;后者的代表是边界网关协议(BGP),用于不同AS之间的路由通告(BGP也可以用于同一个AS内)。 

OSPF协议是一种链路状态协议,通过协议消息的扩散,路由器能够获得网络的路由信息,并使用Diskjtra算法来计算到目的地的最短路径。OSPF协议体系庞大,可以适用于不同类型的网络和大型的拓扑,因此得到了广泛的应用。 

烽火网络的OSPF遵循以下标准: 

※ RFC1850 -OSPF Version 2 Management Information Base。

※RFC2328 -OSPF Version 2。

※RFC1587 -The OSPF NSSA Option。

※RFC1745 ―BGP4/IDRP for IP---OSPF Interaction。 

2. OSPF协议介绍

2.1.OSPF基本概念

OSPF协议在一个自治系统内部运行。为了减小路由信息的数量,在OSPF中,将一个AS划分为不同的区域(Area),每一个区域由一个区域ID(Area-ID)进行标识。图1给出了一个区域划分的例子。

图1 OSPF区域划分

在图1中,一个AS被划分为4个区域,R1,R2和R3的部分接口属于区域0,R2,R4,R5,R6的部分接口属于区域1,R6和R7部分接口属于区域2,而R3,R8和R9则组成了区域3。

在OSPF中,区域0(即区域ID为0的区域,以下同)是一个很特殊的区域,被称为骨干区域(Backbone Area)。为了OSPF协议正常工作,骨干区域必须是连续的,一旦骨干区域被隔离(如骨干区域中的某些链路故障导致不连续),则路由计算不能正常进行。其他的区域必须和骨干区域相连。如图1中的区域1和区域3,分别通过R2和R3与骨干区域连接。这样,我们看到,R2和R3都分别连接了两个区域,在OSPF中,连接两个或者更多区域的路由器被称为区域边界路由器(ABR)。图1中我们还可以看到,路由器R6连接了区域1和区域2,因此它也是一个区域边界路由器,但是此时区域2并没有和骨干区域连接,这样会造成路由的丢失。为解决这个问题,OSPF提出了虚链路的概念(virtual link),虚链路在两个路由器之间指定,它属于骨干区域。图1中,可以看到,在R2和R6之间建立了一条虚链路,这样,R6实际上连接了三个区域,即区域1,区域2,骨干区域,这样,区域2和骨干区域就建立了连接。因为这一条虚链路是通过区域1建立的,此时将区域1称为虚链路的透传区域(transit area)。

图1中我们还可以看到,区域3与骨干区域的连接只有一条链路,而区域1则有两条。在OSPF中,与骨干区域只有一条连接的区域可以被配置为残桩区域(stub area),配置残桩区域的目的是减少路由信息的数量。但是还需要注意的是,即使区域1与骨干区域只有一条链路连接,它也不能被配置为残桩区域,因为此时区域1已经作为一条虚链路的透传区域,而残桩区域是不能够作为透传区域的。

由于OSPF运行在一个自治系统内部,因此涉及到与其他AS的路由交换。图1中,R5与其他AS的路由器有连接,此时,R5被称为自治系统边界路由器(ASBR)。与其他自治系统的路由交互大部分情况是通过BGP进行的,不过烽火网络的OSPF实现中,如果路由器使能了重分配功能,则它也被作为ASBR。

OSPF中的每一个路由器都具有一个路由器ID(Router ID),在烽火网络的实现中,默认情况下的路由器ID是路由器接口IP地址中的最高值,也可以通过特定的命令来改变路由器ID。

在OSPF中,存在邻居(Neighbor)和邻接(Adjency)的概念。邻居是指路由器通过某一个接口可以直接到达的路由器,而邻接则是OSPF协议中能够交换协议消息的逻辑实体。对于点到点链路(包括虚链路)而言,链路的另一端只有一个邻居,因此也只有一个邻接。但是对于以太网这样的广播链路而言,情况不是这样,一条链路上可能连接多个路由器,为了减少路由信息,OSPF定义了指定路由器(DR)和备份指定路由器(BDR),所有路由器只能够与DR 和BDR建立邻接关系,而网络的路由信息则由DR负责通告,BDR用于DR失效的情况下取代原有的DR。图2给出了一个例子,图中,4个路由器在以太网链路上形成邻居,其中R1为DR,R2为BDR,图中的虚线表示实际形成的邻接关系,可以看到,R3和R4之间并没有形成邻接关系。OSPF中的DR和BDR由协议过程自动选择,作为操作者,如果希望某一个接口成为DR,则可以人为规定此接口的DR优先级。

图2:以太网链路上的邻接关系

2.2.路由信息扩散

OSPF的工作基本上划分为邻接建立过程和随后的触发更新过程。OSPF使用5种类型的协议消息来完成协议功能。这些消息是:Hello消息,DDP消息,LSR消息,LACK消息和LSU消息。Hello消息的作用是检测邻居的状态,以及协商邻接建立参数,以及DR和BDR的选择。DDP消息用于OSPF邻接建立过程中,路由器将自己维护的路由信息的摘要信息置于DDP消息中发送给邻居,邻居比较DDP消息中的路由信息和自己维护的路由信息,

以决定需要向邻居请求哪些路由信息。一旦邻居做了这样的决定,邻居就可以发送LSR消息来请求相应的路由信息,收到这样的请求,路由器将发送LSU消息通告详细的路由信息。LACK消息则用于LSU消息的确认,因为路由协议基于IP这个不保证到达的协议,因此确认是必要的。LSU消息和LACK消息还出现在邻接建立之后的路由变化通告当中。图3显示了以上所述过程。

R1R2

图3 OSPF协议工作过程

除了Hello消息之外,其余的OSPF消息都和路由信息有关,在OSPF中,承载路由信息的信息单元称为链路状态通告(LSA)。基本的LSA有5类,即路由器LSA,网络LSA,1类概要LSA,2类概要LSA以及外部LSA。这些LSA具有不同的涵义,从而可以灵活地进行路由计算。这些LSA中,外部LSA是针对整个自治系统而言的,它不属于任何区域,而其他的LSA则都属于特定的区域。一旦LSA的扩散过程完成,则路由器可以进行路由计算,从而最终形成路由转发表中的条目。

3. OSPF协议的配置

本节介绍常用的OSPF配置命令和调试命令。

3.1.配置OSPF协议

命令:router ospf

no router ospf

这两个命令是OSPF协议的基本命令。如果要在路由器上使用OSPF协议,则应该使用router ospf命令,本命令在Config节点下执行,执行成功之后则进入OSPF的配置节点。如果路由器上已经使用了OSPF协议,则也可以使用此命令进入OSPF配置节点并进行其他的配置。执行实例如下:

Fengine(config)#router ospf

%Enter OSPF config node.End with Ctrl+Z or command "exit" & "end"

Fengine(config-router-ospf)#

操作者可以使用show running命令来观察OSPF功能是否启动,如:

!ospf configuration

router ospf

router-id 10.18.9.224

network 10.2.0.0 255.255.0.0 area 2

network 10.5.0.0 255.255.0.0 area 3

area 2 virtual-link 10.7.7.1

!

可以看出OSPF任务已经启动

如果不再希望使用OSPF功能,则可以使用no router ospf命令,此命令仍然在Config 节点下执行,执行之后,路由器将恢复到配置OSPF功能之前的状态(但某些接口参数会被保留,如接口认证模式,认证密码)。

操作实例如下:

Fengine-5(config)#no router ospf

%Close ospf process successfully

Fengine-5(config)#

此时再用show running 命令观察,结果为:

no router ospf

!

可以看到OSPF节点下的配置已经被清除。

3.2.配置OSPF接口

命令:network /no network

启动OSPF功能之后,OSPF协议并不能真正运行,还需要配置OSPF的接口,配置的接口必须是与某一个区域相关联。

我们以图4的拓扑为例来进行说明:其中的IP地址掩码为16比特

图4 OSPF接口配置

在图4中,我们已经在R2上启用了OSPF功能,现在需要将两个接口配置为OSPF接口,例如,我们需要将10.5.5.5接口配置为区域0,而10.2.2.5接口配置为区域1。则可以在OSPF节点下使用如下命令:

Fengine(config-router-ospf)#network 10.2.0.0 255.255.0.0 area 1

Fengine(config-router-ospf)#network 10.5.0.0 255.255.0.0 area 0

执行这两个命令之后,可以用show running命令查看配置

!ospf configuration

router ospf

router-id 10.18.9.224

network 10.5.0.0 255.255.0.0 area 0

network 10.2.0.0 255.255.0.0 area 1

!

也可以使用OSPF的调试指令show ip ospf interface,

Fengine#show ip ospf interfaces

Interface e1 1/3 is Active,IP address 10.2.2.5

Area 1, Router ID 10.18.9.224,Network type PointToPoint,Cost : 1 Transit Delay is 1 sec,State PointToPoint,Priority 1

Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5

No designated router on this network

No backup designated router on this network

Interface has changed its state 1 times

AuthType is 0(None)

Multicasting forwarding: Not Support

Demand circuits :Not support

Interface ethernet 1/2 is Active,IP address 10.5.5.5

Area 0, Router ID 10.18.9.224,Network type BROADCAST,Cost : 1 Transit Delay is 1 sec,State DesignatedRouter,Priority 1

Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5

Designated Router (ID) 10.18.9.224 ,Interface address 10.5.5.5

No backup designated router on this network

Interface has changed its state 2 times

AuthType is 0(None)

Multicasting forwarding: Not Support

Demand circuits :Not support

在此例中,如果两个接口都配置为同一个区域,如区域0,则可以使用一个命令来完成:

Fengine(config-router-ospf)#network 10.0.0.0 255.0.0.0 area 0

Fengine(config-router-ospf)#

此时show ip ospf interface,结果为:

Fengine-5#show ip ospf interfaces

Interface e1 1/3 is Active,IP address 10.2.2.5

Area 0, Router ID 10.5.5.5,Network type PointToPoint,Cost : 1

Transit Delay is 1 sec,State PointToPoint,Priority 1

Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5

No designated router on this network

No backup designated router on this network

Interface has changed its state 1 times

AuthType is 0(None)

Multicasting forwarding: Not Support

Demand circuits :Not support

Interface ethernet 1/2 is Active,IP address 10.5.5.5

Area 0, Router ID 10.5.5.5,Network type BROADCAST,Cost : 1 Transit Delay is 1 sec,State DesignatedRouter,Priority 1

Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5

Designated Router (ID) 10.5.5.5 ,Interface address 10.5.5.5

No backup designated router on this network

Interface has changed its state 2 times

AuthType is 0(None)

Multicasting forwarding: Not Support

Demand circuits :Not support

注意:采用后一种方法时需要注意,如果还有其他接口属于10.0.0.0网段时,则那一个接口也将被配置到区域0,如果这是操作者不希望的,可以仅使用第一种方法。并且在此例中,如果希望OSPF能够正常运行,则R1和R3也要进行相应的配置,区域和Hello 的各项参数必须相同。

如果需要清除某一个OSPF接口,则可以使用no network 命令,例如,如果要清除10.2.2.5接口,则可以执行如下命令:

Fengine-5(config-router-ospf)#no network 10.2.0.0 255.255.0.0 area 1

注意:这个示范是针对第一种配置接口的方式来进行的,如果使用第二种方式,则取消接口的时候必须使用no network 10.0.0.0 255.0.0.0 area 0

3.3.配置虚链路

命令:area n virtual-link router-id

no area n virtual-link router-id

如前所述,虚链路的配置是为了保持骨干区域的连续性,虚链路涉及到3个区域,骨干区域,透传区域和需要连接的区域。虚链路在逻辑上相当于一条点到点的链路,需要在虚链路的两端路由器上同时配置才能起作用。我们以图5为例说明虚链路的配置情况:

图5 虚链路配置

图5中,R1连接骨干区域和区域1,R3连接区域1和区域2。R1的路由器ID为10.1.1.1, R3的路由器ID为10.2.1.1。按照虚链路的要求,需要在R1和R3之间建立虚链路。

R1上的配置为:

Fengine(config-router-ospf)#area 1 virtual-link 10.2.1.1

此时用show ip ospf virtual指令可以看到:

Fengine-5#show ip ospf virtual-links

Virtual Link to router 10.2.1.1 is Active

Transit area 1

Transmit Delay is 1 sec

Timer intervals configured, Hello 10, Dead 40, Retransmit 5

Virtual neighbor state DOWN

此时我们可以看到虚链路邻居的状态为Down,一旦建立成功,则状态应该为FULL。

R3上的配置:

Fengine(config-router-ospf)#area 1 virtual-link 10.1.1.1

此时用show ip ospf virtual指令可以看到:

Fengine-5#show ip ospf virtual-links

Virtual Link to router 10.1.1.1 is Active

Transit area 1

Transmit Delay is 1 sec

Timer intervals configured, Hello 10, Dead 40, Retransmit 5

Virtual neighbor state DOWN

此外,使用show running 也可以看到刚才的配置命令。

注:配置命令中的最后一个参数需要配置为对方的路由器ID,并且中间的透传区域不能够是Stub区域。另外,一般虚链路配置在两个区域边界路由器之间。

如果不再需要虚链路,则需要使用no 命令进行清除,需要注意的是,尽管只删除一边的配置就可以实际上取消虚链路,最好还是两边全部取消。

R1的命令:

Fengine(config-router-ospf)#no area 1 virtual-link 10.2.1.1

R2的命令:

Fengine(config-router-ospf)#no area 1 virtual-link 10.1.1.1

3.4.配置Stub区域

命令:area n stub

no area n stub

残桩区域的配置是为了进一步减少路由信息交互的数量,由于残桩区域仅有一条链路连接到其他区域,因此,进行这样的配置之后,ABR会生成一个默认的路由信息指向自己,而外部LSA则不能够进入区域。我们以图6为例介绍残桩区域的配置。

图6 残桩区域的配置

图中我们看到区域1只有一条链路连接到其他区域,因此,可以在区域1的ABR即R1上进行残桩区域的配置:

Fengine(config-router-ospf)#area 1 stub

此时可以用show running命令观察配置

!ospf configuration

router ospf

router-id 10.5.5.5

network 10.5.0.0 255.255.0.0 area 0

network 10.2.0.0 255.255.0.0 area 1

area 1 stub

如果不再需要残桩区域,则可以使用no 命令清除,如:

Fengine(config-router-ospf)#no area 1 stub

3.5.配置路由器ID

命令:router-id id

no router-id

在默认情况下,OSPF路由器的路由器ID是路由器接口的最大IP地址,通常这个取值不需要修改。但是出于某些特定的目的,可以指定路由器的其他IP地址为路由器ID,这个IP地址必须是路由器的有效IP地址。在重新配置路由器ID之后,OSPF协议将重启。

例如,一个路由器当前的路由器ID为10.5.5.5 ,需要将其改变为10.2.2.5,则命令如下:

Fengine-5(config-router-ospf)#router-id 10.2.2.5

WARNING:Ospf protocol will reset! Continue?[y/n]

Fengine-5(config-router-ospf)#

此时使用show ip ospf router-id命令,或者show running命令可以看到当前的路由器ID

Fengine-5#show ip ospf router-id

The ospf routerId of the router is 10.2.2.5

Show running:

!ospf configuration

router ospf

router-id 10.2.2.5

network 10.5.0.0 255.255.0.0 area 0

network 10.2.0.0 255.255.0.0 area 1

area 1 stub

area 1 virtual-link 10.2.1.1

!

如果需要还原路由器ID,则可以使用no 命令,如:

Fengine-5(config-router-ospf)#no router-id

此时show ip ospf router-id 和show running 分别提示为:

Fengine-5#show ip ospf router-id

The ospf routerId of the router is 10.5.5.5

!ospf configuration

router ospf

router-id 10.5.5.5

network 10.5.0.0 255.255.0.0 area 0

network 10.2.0.0 255.255.0.0 area 1

area 1 stub

area 1 virtual-link 10.2.1.1

!

3.6.配置地址聚合

命令:area n range

no area n range

地址聚合也是OSPF为减少路由信息数量而设置的功能,通过路由聚合,一些较长掩码的网段可以合并称为一个较短掩码的网段。命令的参数必须是一个有效的地址范围。我们以图7为例进行说明:

图7 地址聚合

图中,我们可以看到,区域1存在两个网络10.1.0.0 10.2.0.0,因此,R1可以将这两个网络聚合成为一个网络10.0.0.0进行通告。命令为:

Fengine(config-router-ospf)#area 1 range 10.0.0.0 255.0.0.0

可以用show running 和show ip ospf range观察配置,

show running 的结果为:

!ospf configuration

router ospf

router-id 10.5.5.5

network 10.2.0.0 255.255.0.0 area 1

area 1 range 10.0.0.0 255.0.0.0

show ip ospf range命令结果为:

Fengine-5#show ip ospf range

Area ID Range Address Range Mask

1 10.0.0.0 255.0.0.0

注:当然,如果骨干区域也有这样的网络,则不能用聚合。使用聚合后,对于骨干区域而言,它就不能判别10.1.0.0 10.2.0.0网络,而只能判别10.0.0.0网络。但是,如果区域1中的R2和R3,或者R1使用了重分配直连路由,则10.1.0.0 10.2.0.0网络将作为外部LSA 出现在骨干区域中。

如果不需要地址聚合,则可以使用no 命令清除配置,如:

Fengine(config-router-ospf)#no area 1 range 10.0.0.0 255.0.0.0

3.7.路由重分配

命令:redistribute (bgp | connect | rip | static )

路由重分配的意义是将其他路由协议获取的路由传递到OSPF的区域内。OSPF能够重分配BGP,RIP路由,也能够重分配直连路由和静态路由。需要重分配的路由在OSPF内作为AS外部路由信息存在,而配置了重分配的路由器则成为ASBR。

例如,如果在一个路由器上使用重分配直连路由,则使用以下命令:

Fengine(config-router-ospf)#redistribute connect

执行命令之后,使用show ip ospf database 可以观察到相应的AS外部LSA信息:

Fengine-5#show ip ospf database

Router Link States (Area 0)

Link ID ADV Router Age Seq# Checksum LinkCount

10.5.5.5 10.5.5.5 47 0x80000005 0x60a9 1

AS External Link States

Link ID ADV Router Age Seq# Checksum

10.2.0.0 10.5.5.5 47 0x80000001 0xc21

10.5.0.0 10.5.5.5 47 0x80000001 0xe742

注意:使用了重分配直连路由时,OSPF接口所在的路由也将被作为AS外部LSA。一个路由器上可以配置多个重分配功能。

如果不再需要重分配功能,则使用no 命令清除,如:

Fengine(config-router-ospf)#no redistribute connect

此时相关的AS外部LSA将被删除。

3.8.OSPF接口的认证

命令:ip ospf authentication

no ip ospf authentication

为了加强OSPF的安全性,OSPF允许为特定接口指定认证功能。OSPF的认证功能有3级,即不认证,简单密码认证,MD5认证。默认情况下不使用认证,如果使用认证,则链路两端的接口配置需要完全一致。我们以图8来说明认证的配置:

图8 OSPF接口认证

图8中,R1和R2通过链路相连,默认情况下,不需要配置认证,如果此时需要配置简单密码认证,则R1上的相应接口节点使用以下命令:

Fengine(config-ethernet*1/2)#ip ospf authentication 1 test-key

命令中的1代表简单密码认证,而test-key则代表认证密码,OSPF规定密码的长度最长为8,超过的部分无效。

执行命令之后,用show ip ospf interface命令查看,结果为:

Fengine#show ip ospf interfaces

Interface ethernet 1/2 is Active,IP address 10.5.5.5

Area 0, Router ID 10.5.5.5,Network type BROADCAST,Cost : 1

Transit Delay is 1 sec,State DesignatedRouter,Priority 1

Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5

Designated Router (ID) 10.5.5.5 ,Interface address 10.5.5.5

No backup designated router on this network

Interface has changed its state 8 times

AuthType is 1(Simple Password)

password is test-key

Multicasting forwarding: Not Support

Demand circuits :Not support

R2的配置要和R1完全一致。

现在假定R1和R2之间需要采用MD5认证方式,首先要清除现有的简单认证(如果当前无认证,则不用),然后配置MD5认证,对R1而言:

Fengine-5(config-ethernet*1/2)#no ip ospf authentication

Fengine-5(config-ethernet*1/2)#ip ospf authentication 2 123456789 20

在第二个命令当中,2代表MD5认证方式,123456789代表认证密码,20代表密码编号。设置密码编号的意义是因为理论上一个接口可以配置多个认证密码,每一个在不同的时间内有效,但是出于简单起见,我们限定一个接口只能够使用一个MD5认证密码。

此时show ip osspf interface 可以看到:

Fengine-5#show ip ospf interfaces

Interface ethernet 1/2 is Active,IP address 10.5.5.5

Area 1, Router ID 10.5.5.5,Network type BROADCAST,Cost : 1

Transit Delay is 1 sec,State Waiting,Priority 1

Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5

No designated router on this network

No backup designated router on this network

Interface has changed its state 1 times

AuthType is 2(MD5 Auth)

AuthKey is 123456789 ,key id is 20

Multicasting forwarding: Not Support

Demand circuits :Not support

MD5认证密码长度最长为16。

R2的配置需要和R1完全一致

上面我们可以看到使用了no ip ospf authentication命令,这个命令将恢复默认的接口认证模式,即不认证,在需要修改认证模式的情况下,也需要先使用这个命令。

注意:目前暂不支持虚链路接口上的认证。

3.9.接口其他参数的配置

命令:ip ospf cost

ip ospf dead-interval

ip ospf hello-interval

ip ospf retransmit-interval

ip ospf transmit-delay

这些命令包括接口的各种参数的配置,因为使用的频率不是很高,在此简单地介绍。

ip ospf cost 命令的参数为接口的费用值,取值从0到65535有效,默认为1。

ip ospf dead-interval参数为邻居的死亡时间,默认为40秒,取值范围1到65535,但是应当大于Hello消息的发送间隔时间。

ip ospf hello-interval配置发送Hello消息的间隔时间,默认为10秒,取值范围为1到65535,但是应当小于邻居的死亡时间。

ip ospf retransmit-interval配置重传间隔时间,默认为5秒,取值范围为1到65535

ip ospf transmit-delay配置在接口上发送消息的时间延时。默认为1秒。

3.10.OSPF调试信息

命令:show ip ospf

show ip ospf areas

show ip ospf database

show ip ospf interfaces

show ip ospf l s a-all

show ip ospf neighbors

show ip ospf range

show ip ospf router-id

show ip ospf virtual-links

debug ospf

debug ospf packet

OSPF协议比较复杂,因此提供了相当多的调试命令,这些命令全部都在全部模式下面执行。以下将分别介绍这些命令。

※ show ip ospf

此命令显示OSPF任务的当前信息,执行结果为:

Fengine-5#show ip ospf

Routing Process "ospf" with ID 10.5.5.5 ;OSPF路由器ID

Supports only single TOS(TOS2) routes ;支持的TOS

Number of external LSA 0. Checksum Sum 0x0 ;外部LSA信息

External flood list length 0 ;外部扩散信息

Area BACKBONE 0.0.0.0 ;骨干区域ID

Number of interfaces in this area is 1 ;骨干区域接口数目

Area has no authentication ;区域认证配置

SPF algorithm executed 2 times ;路由计算次数

Number of LSA 2. Checksum Sum 0x13B0A;本区域内LSA信息

※ show ip ospf areas

此命令显示OSPF配置的所有的区域的信息

Fengine-5#show ip ospf areas

Area 0: ;区域ID

Area support import 1 type As external LSA;支持类型1的AS外部LSA

Intra-area route table been calculated using LSDB 2 times;区域内部计算路由次数

0 area border routers are reachable within this area;通过本区域可达的ABR

数目

0 AS border routers are reachable within this area;通过本区域可达的ASBR

数目

2 LSA in this area's LSDB.;本区域包含的LSA数目

LSA's LS checksums in this area's LSDB is 80650;本区域内的LSA校验和

Area import summary LSA into stub area : FALSE.;是否支持向Stub区域输入概要LSA。

.

※ show ip ospf database

本命令显示OSPF数据库中所有LSA的基本信息

Fengine-5#show ip ospf database

Router Link States (Area 1);

Link ID ADV Router Age Seq# Checksum LinkCount

10.5.5.5 10.5.5.5 5 0x80000004 0x62a8 1

Summary Net Link States (Area 1)

Link ID ADV Router Age Seq# Checksum

10.2.0.0 10.5.5.5 1683 0x80000001 0x1720

Router Link States (Area 0)

Link ID ADV Router Age Seq# Checksum LinkCount

10.5.5.5 10.5.5.5 5 0x80000003 0x4cc2 1

Summary Net Link States (Area 0)

Link ID ADV Router Age Seq# Checksum

10.5.0.0 10.5.5.5 1694 0x80000001 0xf241

AS External Link States

Link ID ADV Router Age Seq# Checksum

10.2.0.0 10.5.5.5 5 0x80000001 0xc21

10.5.0.0 10.5.5.5 5 0x80000001 0xe742

※ show ip ospf interfaces

显示OSPF接口的配置信息

Fengine-5#show ip ospf interfaces

Interface e1 1/3 is Active,IP address 10.2.2.5 ;接口名称,IP地址

Area 0, Router ID 10.5.5.5,Network type PointToPoint,Cost : 1;所属区域,

路由器ID,网络类型,接口费用

Transit Delay is 1 sec,State PointToPoint,Priority 1;传输延时,接口状态,

DR优先级

Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5;不同

定时器的参数配置

No designated router on this network ;接口上的DR

No backup designated router on this network;接口上的BDR

Interface has changed its state 1 times ;接口状态变化次数

AuthType is 0(None);接口认证方式

Multicasting forwarding: Not Support ;多播支持

Demand circuits :Not support

※ show ip ospf neighbor

本命令显示当前的邻居情况,如:

Fengine-5#show ip ospf neighbors

Neighbor ID Pri State Status ChangeTimes Address Dead Time

10.7.7.1 1 FULL Other 5 10.2.2.1 00:00:32

从左至右的信息依次是:邻居的ID,邻居DR优先级,邻居状态,邻居的DR状态,邻居状态变化次数,邻居接口地址,邻居的死亡时间。这里的邻居不包括虚链路上的邻居。

※ show ip ospf range

前面我们已经看到,这个命令用来显示当前配置的区域聚合地址信息。

※ show ip ospf router-id

此命令前面有实例,用于显示当前使用的路由器ID

※ show ip ospf virtual-links

这个命令用于显示当前的虚链路状态,前面有实例。

※ debug ospf

本命令用于显示收发包处理时候的信息,在某些系统上,需要先在Config节点下

执行logging on命令才能够正确打印信息。

打印信息的实例如下:

OSPF 01:17:24 :recv Hello on e1 1/3 from 10.2.2.1 dest 224.0.0.5

OSPF 01:17:25 :Send Hello to 224.0.0.5,on ethernet 1/2

其中第一个OSPF代表这是OSPF的打印信息,时间01:17:24代表系统启动之后

的相对时间,收包的时候将显示这个消息的类型,收接口,源地址和目的地址;

发包的时候将显示消息的类型,目的地址和出接口。一旦包发送或者接收出现问

题,打印信息将反映相应的问题。本命令是OSPF调试时最常用的调试命令※ debug ospf packet

本命令与前一个命令配合使用,可以更好的进行调试观察。本命令将收发包的具体信息打印出来,供调试使用。配合上一个命令的打印实例如下:

OSPF 01:22:09 :Send Hello to 224.0.0.5,on ethernet 1/2

-Ver:2 Pkt Len:44 Rt-Id:0xa050505 Area-Id:1 Auth-type:2 key-id:20 data-len:16 se q-num:0x23f

mask:0xffff0000 hello-interval:10 Options:E Rtr-Pri:1 Rtr-Deadtime:40 DR:0xa050 505 BDR:0

OSPF 01:22:11 :recv Hello on e1 1/3 from 10.2.2.1 dest 10.2.2.5

-Ver:2 Pkt Len:44 Rt-Id:0xa070701 Area-Id:0 Auth-type:0

mask:0xffff0000 hello-interval:10 Options:E Rtr-Pri:1 Rtr-Deadtime:40 DR:0 BDR: 0

可以看到,在对OSPF消息进行解析之后,可以很清楚地看到包的内容,可以更好的定位故障。

4. 结论

OSPF适用于不同类型的网络当中,比RIP有更好的扩展性。但是它广泛的适用性

也导致了协议配置的复杂性,对内存空间和CPU的占用也比较大。因此,对于较低端的路由器如3000系列,应该使用静态路由或者RIP等较为简单的路由方式;而对于边缘路由器4000系列,则可以使用OSPF协议并配合其他协议的重分配。

OSPF路由协议各种类型详解

OSPF各种类型详解 一、OSPF数据包类型 1.Hello包:用于建立和维护相邻的两个OSPF路由器的邻接关系,该数据包是周期性地发送的。 2.Database Description(数据库描述包DBD):用于描述整个数据库,该数据包仅在OSPF初始化时发送。 3.Link state request(链路状态请求包LSQ):用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。 4.Link state update(链路状态更新包LSU):这是对link state请求数据包的响应,即通常所说的LSA数据包。 5.Link state acknowledgment(链路状态确认包LSAck):是对LSA数据包的确认,以确保可靠地传输和信息交换。 二、OSPF网络类型 OSPF链路类型有3种:点到点,广播型,NBMA。在3种链路类型上扩展出5种网络类型:点到点,广播,NBMA,点到多点,虚链路。其中虚链路较为特殊,不针对具体链路,而NBMA链路对应NBMA和点到多点两种网络类型。 以上是RFC的定义,在Cisco路由器的实现上,我们应记为3种链路类型扩展出8种网络类型,其中NBMA链路就对应5种,即在RFC的定义基础上又增加了3种类型。首先分析一下3种链路类型的特点: 1. 点到点:一个网络里仅有2个接口,使用HDLC或PPP封装,不需寻址,地址字段固定为FF; 2. 广播型:广播型多路访问,目前而言指的就是以太网链路,涉及IP 和Mac,用ARP 实现二层和三层映射; 3. NBMA:网络中允许存在多台Router,物理上链路共享,通过二层虚链路(VC)建立逻辑上的连接。

ospf和isis

1. IGP协议规划 域内路由协议(IGP)在城域网中起着连通骨干、选径和自动迂回的作用。 IGP通过计算每条路径的权值来寻找最佳路径。 在目前,可以用于大规模的运营商网络同时又基于标准的IGP路由协议有OSPF和IS-IS。两种路由协议均是基于链路状态计算的最短路径路由协议,采用同一种最短路径算法(Dijkstra)。两种协议在实现方法、网络结构上均相似,在大型ISP网络中都有众多的成功案例。 1.1. IS-IS和OSPF协议对比分析 IS-IS和OSPF路由协议都属于链路状态路由协议。OSPF同IS-IS相比具有更广泛的支持性,几乎所有厂商的路由器都支持这种协议,而IS-IS作为在大多数骨干网络中运用得路由协议,在骨干网中应用的更为广泛。对IS-IS 和OSPF两种协议简单对比如下: ?ISIS协议可扩展性更强 基于TLV思想设计的IS-IS可以很方便的支持各种协议,如CLNS、 IPv4、IPv6,利于以后的扩容,IS-IS具有很好的分层分域能力,适 用于大型网络。而OSPF不是基于TLV设计的,目前广泛采用的 OSPFv2只能为IPv4路由,若将来需要在城域网支持IPv6,需要 OSPFv3和OSPFv2双协议栈运行 ?IS-IS协议本身更简单,占用网络设备系统资源小 链路状态协议对网络设备系统资源占用主要体现在2个方面:内存和 CPU。路由器内存的大小决定了协议数据库可以存储链路状态报文的 数目(OSPF里称为LSA,IS-IS里称为LSP),而在全网路由器链路状态 数据库同步后开始通过SPF算法计算路由时,则需要消耗路由器CPU 的计算能力。由于IS-IS本身协议报文更精简(IS-IS只有两种LSP, 而OSPF常用的LSA达到6种),且SPF的处理过程比OSPF更简单一 些。因此,ISIS对系统资源占用也较小,路由收敛和恢复时间快。而

ISIS工作原理

ISIS的工作原理 ISIS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法。ISIS可以在不同的子网上操作,包括广播型的LAN、W AN和点到点链路。ISIS是一个链接状态协议,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。ISIS消息使用序列号,但它只是一个简单的加法计数器。当计数器计到最大值时,一个ISIS路由器没有别的选择,只能伪造一个错误触发对所有旧信息的刷新。然而,因为序列号有3 2 比特长,使得到达最大值之前有很大的序列号空间,所以这不是什么问题。但是,至少存在两个技术问题:ISIS使用一个小的度量值(6 比特),严重限制了能与它进行转换的信息;而且链接状态也只有8 比特长,路由器能通告的记录只有256个。一个非技术问题是ISIS受OSI约束,使得与OSPF相比它的发展比较缓慢。这个限制的原因是由于SPF 的要求;但现在的Wide-metric使这个范围变成24位的扩展解决了这个问题。 一个非技术问题是ISIS受OSI约束,使得以前与OSPF相比它的发展比较缓慢。但现在的ISIS在非OSI即RFC方面(Integrated)ISIS有了很多的扩展使得他的发展比OSPF更容易实现对新的要求的支持如IPV6或者TE而且更简单易实现 一个路由器是intermediate system(IS),一个主机就是end system(ES),在一个主机和路由器之间运行的协议叫ES-IS,路由器与路由器之间运行的协议是IS-IS 一个subnetwork属下的接口叫:subnetwork point of attachment(SNPA),它只是一个概念上的东西,实际上它是一个subnetwork提供的服务点,由SPNA定义的,不是实际的物理界面,SNPA的概念特性对应于子网的概念特性。 PDU:就是一个OSI层上的一个节点到它的另一端(peer)的对应层上的节点,所以一个帧也叫做Date Link PDU(DLPDU),也因此一个网络层的packet也叫做network PDU(NPDU),这个date unit功能类拟于OSPF的LSA,我们称它为Link State PDU(LSP),与LSA不同的是它封装在OSPF报头之后,然后才到IP数据包。 an LSP is itself a packet. ===================== ISIS AREAS ===================== ISIS和OSPF一样建立一个双层分级结构拓扑,但和OSPF不同的是ISIS划分area是连接中,也就是说两台路由器中间来划分area L1_Router---------|----------L2_Router 以上的竖线就是ISIS划分的area的地方,而OSPF则不是,它是在一个路由器当中划分的,一个路由器中只要有两个接口接到不同的area,这个路由器就叫做ABR area0-------ABR_Router------area1

isis详解

Kennedy Clark, Jeff Doyle, Bassam Halabi, Andrew Bruce Caslow Valeriy Pavlichenko. Get ISIS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法。ISIS可以在不同的子网上操作,包括广播型的LAN、WAN和点到点链路。ISIS是一个链接状态协议,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。ISIS消息使用序列号,但它只是一个简单的加法计数器。当计数器计到最大值时,一个ISIS路由器没有别的选择,只能伪造一个错误触发对所有旧信息的刷新。然而,因为序列号有3 2 比特长,使得到达最大值之前有很大的序列号空间,所以这不是什么问题。但是,至少存在两个技术问题:ISIS 使用一个小的度量值(6 比特),严重限制了能与它进行转换的信息;而且链接状态也只有8 比特长,路由器能通告的记录只有256个。一个非技术问题是ISIS受OSI约束,使得与OSPF相比它的发展比较缓慢。这个限制的原因是由于SPF的要求;但现在的Wide-metric使这个范围变成24位的扩展解决了这个问题。 一个非技术问题是ISIS受OSI约束,使得以前与OSPF相比它的发展比较缓慢。但现在的ISIS在非OSI即RFC方面(Integrated)ISIS有了很多的扩展使得他的发展比OSPF更容易实现对新的要求的支持如IPV6或者TE而且更简单易实现 一个路由器是intermediate system(IS),一个主机就是end system(ES),在一个主机和路由器之间运行的协议叫ES-IS,路由器与路由器之间运行的协议是IS-IS 一个subnetwork属下的接口叫:subnetwork point of attachment(SNPA),它只是一个概念上的东西,实际上它是一个subnetwork提供的服务点,由SPNA定义的,不是实际的物理界面,SNPA的概念特性对应于子网的概念特性。 PDU:就是一个OSI层上的一个节点到它的另一端(peer)的对应层上的节点,所以一个帧也叫做Date Link PDU(DLPDU),也因此一个网络层的packet也叫做network PDU(NPDU),这个date unit功能类拟于OSPF的LSA,我们称它为Link State PDU(LSP),与LSA不同的是它封装在OSPF报头之后,然后才到IP数据包。 an LSP is itself a packet. ===================== ISIS AREAS ===================== ISIS和OSPF一样建立一个双层分级结构拓扑,但和OSPF不同的是ISIS划分area 是连接中,也就是说两台路由器中间来划分area L1_Router---------|----------L2_Router

OSPF 协议工作原理

OSPF 协议工作原理 OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 OSPF(Open Shortest Path First开放式最短路径优先 )是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。 OSPF路由协议是一种典型的链路状态(Lin OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。 OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个 AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。 一 OSPF的数据包 OSPF的包类型: 1 HELLO 1 2 Database Description 数据库的描述 DBD 可靠 3 Link-state Request 链路状态请求包 LSR 可靠 4 Link-state Update 链路状态更新包 LSU 可靠 5 Link-state Acknowledment 链路状态确认包 LSACK 1.Hello协议的目的: 1.用于发现邻居

OSPF路由协议

OSPF作为一种内部网关协议(Interior Gateway Protocol,IGP),用于在同一个自治域(AS)中的路由器之间发布路由信息。区别于距离矢量协议(RIP),OSPF具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位。 基本概念和术语 1. 链路状态 OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-State Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法(Shortest Path First, SPF)”,独立地计算出到达任意目的地的路由。 2. 区域 OSPF协议引入“分层路由”的概念,将网络分割成一个“主干”连接的一组相互独立的部分,这些相互独立的部分被称为“区域”(Area),“主干”的部分称为“主干区域”。每个区域就如同一个独立的网络,该区域的OSPF 路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。 3. OSPF网络类型 根据路由器所连接的物理网络不同,OSPF将网络划分为四种类型:广播多路访问型(Broadcast multiAccess)、非广播多路访问型(None Broadcast MultiAccess,NBMA)、点到点型(Point-to-Point)、点到多点型(Point-to-MultiPoint)。 广播多路访问型网络如:Ethernet、Token Ring、FDDI。NBMA型网络如:Frame Relay、X.25、SMDS。Point-to-Point型网络如:PPP、HDLC。 4. 指派路由器(DR)和备份指派路由器(BDR) 在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF 要求在区域中选举一个DR。每个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。选举DR的同时也选举出一个BDR,在DR失效的时候,BDR担负起DR的职责。 点对点型网络不需要DR,因为只存在两个节点,彼此间完全相邻。协议组成OSPF协议由Hello协议、交换协议、扩散协议组成。本文仅介绍Hello协议,其他两个协议可参考RFC2328中的具体描述。 当路由器开启一个端口的OSPF路由时,将会从这个端口发出一个Hello报文,以后它也将以一定的间隔周期性地发送Hello报文。OSPF路由器用Hello报文来初始化新的相邻关系以及确认相邻的路由器邻居之间的通信状态。 对广播型网络和非广播型多路访问网络,路由器使用Hello协议选举出一个DR。在广播型网络里,Hello 报文使用多播地址224.0.0.5周期性广播,并通过这个过程自动发现路由器邻居。在NBMA网络中,DR负

RIP、OSPF、BGP三种协议的区别

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议::AS内部路由(本质区别),采用链路状态路由选路技术 开放式最短路径优先协议是一种为IP网络开发的内部网关路由选择协议其由三个子协议组成hello协议,交换协议,扩散协议,其中hello协议负责检查链路是否可用并完成指定路由 器和备份路由器;交换协议完成“主”,“从”路由器的选择和交换各自的路由数据库信息,扩散协议负责完成各路由器中路由数据库的同步维护 不同厂商管理距离不同,思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10。 OSPF 采用链路状态路由选择技术,开放最短路径优先算法 路由器互相发送直接相连的链路信息和它拥有的到其它路由器的链路信息。每个 OSPF 路由器维护相同自治系统拓扑结构的数据库。从这个数据库里,构造出最短路径树来计算出 路由表。当拓扑结构发生变化时, OSPF 能迅速重新计算出路径,而只产生少量的路由协议流量。 此外,所有 OSPF 路由选择协议的交换都是经过身份验证的。 主要优点 收敛速度快;没有跳数限制; 支持服务类型选路 提供负载均衡和身份认证 适用环境 规模庞大、环境复杂的互联网 OSPF协议的优点: OSPF能够在自己的链路状态数据库内表示整个网络,这极大地减少了收敛时间,并且支持大型异构网络的互联,提供了一个异构网络间通过同一种协议交换网络信息的途径,并且不容易 出现错误的路由信息。 OSPF支持通往相同目的的多重路径。 OSPF使用路由标签区分不同的外部路由。 OSPF支持路由验证,只有互相通过路由验证的路由器之间才能交换路由信息;并且可以对不同的区域定义不同的验证方式,从而提高了网络的安全性。 OSPF支持费用相同的多条链路上的负载均衡。 OSPF是一个非族类路由协议,路由信息不受跳数的限制,减少了因分级路由带来的子网分离问题。 OSPF支持VLSM和非族类路由查表,有利于网络地址的有效管理 OSPF使用AREA对网络进行分层,减少了协议对CPU处理时间 BGP(边界网关协议):AS外部路由,采用距离向量路由选择 BGP是唯一一个用来处理像因特网大小的网络协议,也是唯一能够妥善处理好不相关路由域间的多路连接协议。BGPv4是一种外部的路由协议。可认为是一种高级的距离向量路由协议

H3C三层交换机OSPF路由协议(H3C网络设备)

OSPF路由协议 【需求】 两台PC所在网段,通过两台使用OSPF协议的路由器实现互连互通。 【组网图】 【配置脚本(一)】 RouterA配置脚本 # sysname RouterA # router id 1.1.1.1 /配置router id 和loopbackO 地址一致/ # radius scheme system # domain system # interface EthernetO/O ip address 10.1.1.1 255.255.255.0 # interface Serial0/0 link-protocol ppp ip address 20.1.1.1 255.255.255.252 # interface NULL0 # interface LoopBack0 ip address 1.1.1.1 255.255.255.255 # ospf 1 /启动ospf路由协议/ area 0.0.0.0 /创建区域0/ network 1.1.1.1 0.0.0.0 /接口loop 0 使能OSPF/ network 10.1.1.0 0.0.0.255 /接口e0/0 使能OSPF/ network 20.1.1.0 0.0.0.3 /接口s0/0 使能OSPF/ 631 OSPF的基本配置

# user-interface con 0 user-interface vty 0 4 # return RouterB配置脚本 # sysname RouterB # router id 1.1.1.2 /配置router id 和loopbackO 地址一致/ # radius scheme system # domain system # interface EthernetO/O ip address 30.1.1.1 255.255.255.0 # interface Serial0/0 link-protocol ppp ip address 20.1.1.2 255.255.255.252 # interface NULL0 # interface LoopBack0 ip address 1.1.1.2 255.255.255.255 # ospf 1 /启动ospf路由协议/ area 0.0.0.0 /创建区域0/ network 1.1.1.2 0.0.0.0 /接口loop 0 使能OSPF/ network 20.1.1.0 0.0.0.3 /接口s0/0 使能OSPF/ network 30.1.1.0 0.0.0.255 /接口e0/0 使能OSPF/ # user-interface con 0 user-interface vty 0 4 # return 【验证】 RouterA和RouterB可以通过OSPF学习到对方路由信息,并可以ping通对方网段。RouterA路由表: [RouterA]disp ip routi ng-table

ISIS和OSPF的比较

ISIS和OSPF的比较 1) IS-IS 只定义了两种网络拓扑类型:broadcast和general topology。在Cisco路由器中链路分为point-to-point 和broadcast。 OPSF定义了5种网络类型:point-to-point、point-to-multipoint、broadcast和NB MA,以及virtual links IS-IS与OSPF的比较 1) IS-IS 只定义了两种网络拓扑类型:broadcast和general topology。在Cisco路由器中链路分为point-to-point 和broadcast。 OPSF定义了5种网络类型:point-to-point、point-to-multipoint、broadcast和NB MA,以及virtual links 2) 两种协议都维护一个链路状态数据库(Link State Database) IS-IS使用LSP(Link State PDU),LSP自己就是一个数据报; OSPF使用LSA(Link State Advertisements),LSA必须被封装(encapsulate)在O SPF报头和IP报头内。 3) 两种协议都使用SPF算法来计算路由 IS-IS在域内(intra-area)运行Level 1 SPF计算路由,在域间(inter-area)运行Level 2 SPF计算路由; OSPF在域内(intra-area)运行SPF计算路由,在域间(inter-area)运行距离向量算法(distance vector algorithm)来计算路由。 4) 两种协议都使用域(area)来建立两层分级的网络拓扑结构 IS-IS的骨干不是特定的一个域,而是由连续的Level 2 路由器组成; OSPF的骨干必须有而且必须为area 0; IS-IS的域边界是在路由器之间的链路(link)上; OSPF的域边界是在路由器上; IS-IS的两层分级的网络拓扑结构不是必须的,网络可以完全由Level 1 路由器或完全由L evel 2 路由器构成。 OSPF的必须有area 0,可以只有一个area,但必须是area 0。 5) IS-IS的特性之一是:IS-IS路由器最多能有3个域地址(area addresses),这在域间传输中很有用。 6) 两种协议都是无类路由协议,都在area间汇总(summary) 7) 两种协议处理错误(corrupted)LSP/LSA的方法不同: IS-IS中任何一个路由器都能丢弃(purge)corrupted LSP; OSPF中只有corrupted LSA的发送者(originator)才能丢弃(purge)它。

OSPF路由协议概念及工作原理

OSPF路由协议概念及工作原理 1.概述 OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。 2.数据包格式 在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段: * Version number-定义所采用的OSPF路由协议的版本。 * Type-定义OSPF数据包类型。OSPF数据包共有五种: * Hello-用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。* Database Description-用于描述整个数据库,该数据包仅在OSPF初始化时发送。 * Link state request-用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。 * Link state update-这是对link state请求数据包的响应,即通常所说的LSA数据包。* Link state acknowledgment-是对LSA数据包的响应。 * Packet length-定义整个数据包的长度。 * Router ID-用于描述数据包的源地址,以IP地址来表示。 * Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。 * Checksum-校验位,用于标记数据包在传递时有无误码。

烽火通信笔试

技术开发部与业务与应用产品部 SDH,C/C++,三对连接的特点 设计模块 MAC地址 指针的重点 Const的区别 define的作用 Endif strcpy编写字符串复制函数 Include “filename.h”与Include 的区别 #include系统检索头文件时会先从系统文件里开始找,再找其他地方。用于系统文件较快。 #include"filename.h"系统检索头文件时先从程序所处目录开始查找。用于自定义文件较快 读程序: 1用位运算计算二进制的位数 2链表删除节点和插入节点操作 写程序:关于链表和指针的 1单链表逆序 int NIXU(LNode *head) { LNode *rear = head->next->next->next; /*指向第三个节点*/ LNode *pre = head->next; /*指向头节点*/ LNode *cur = head ->next->next; /*指向第二个节点*/ /*原来的头节点变成尾节点*/ pre->next = NULL; cur->next = pre; /*移动三个指针*/ pre = cur; cur = rear; rear = rear->next; while(rear) /*反序,需要三个节点支持*/ { cur->next = pre; /*移动三个指针*/ pre = cur; cur = rear;

rear = rear->next; } cur->next = pre; /*尾节点处理*/ head->next = cur; /*更新头节点*/ } 2 两个带头结点的单链表合并合成的链接排序 英译汉: WDM的翻译Wavelength Division Multiplexing 字符型指针和常量指针的区别 单片机处理中断的机制 面向对象的特点 1.信息隐藏和封装特性: 2.继承: 3.组合特性 4.动态特性 (1)抽象: (2)多态性: OSI七层模型 TCP/UDP的区别 是否连接面向连接面向非连接 传输可靠性可靠不可靠 应用场合传输大量数据少量数据 速度慢快 程序改错题 51与X86寻址的区别 单片机计数的功能 单片机中断 宽带产品部填空和简单 1二进制/16进制 2 组播地址范围 3 点对点通信方式哪三种 4 Hub在哪一层交换机在哪一层 5 Linux挂取指令光驱弹出指令 6 PON中文网络拓扑结构 7 VOIP编码方式 ITU-T的各种建议的分类由一个首字母来代表,每个系列的建议除了分类字母以外还有一个编号,比如说"V.90"。

ospf和rip 优缺点

ospf和rip 优缺点 ospf和rip比较: rip协议是距离矢量路由选择协议,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。 ospf协议是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。 RIP的局限性在大型网络中使用所产生的问题: RIP的15跳限制,超过15跳的路由被认为不可达 RIP不能支持可变长子网掩码(VLSM),导致IP地址分配的低效率 周期性广播整个路由表,在低速链路及广域网云中应用将产生很大问题 收敛速度慢于OSPF,在大型网络中收敛时间需要几分钟 RIP没有网络延迟和链路开销的概念,路由选路基于跳数。拥有较少跳数的路由总是被选为最佳路由即使较长的路径有低的延迟和开销 RIP没有区域的概念,不能在任意比特位进行路由汇总一些增强的功能被引入RIP的新版本RIPv2中,RIPv2支持VLSM,认证以及组播更新。但RIPv2的跳数限制以及慢收敛使它仍然不适用于大型网络 相比RIP而言,OSPF更适合用于大型网络: 没有跳数的限制 支持可变长子网掩码(VLSM) 使用组播发送链路状态更新,在链路状态变化时使用触发更新,提高了带宽的利用率收敛速度快 具有认证功能

OSPF协议主要优点: 1、OSPF是真正的LOOP- FREE(无路由自环)路由协议。源自其算法本身的优点。(链路状态及最短路径树算法) 2、OSPF收敛速度快:能够在最短的时间内将路由变化传递到整个自治系统。 3、提出区域(area)划分的概念,将自治系统划分为不同区域后,通过区域之间的对路由信息的摘要,大大减少了需传递的路由信息数量。也使得路由信息不会随网络规模的扩大而急剧膨胀。 4、将协议自身的开销控制到最小。见下: 1)用于发现和维护邻居关系的是定期发送的是不含路由信息的hello报文,非常短小。包含路由信息的报文时是触发更新的机制。(有路由变化时才会发送)。但为了增强协议的健壮性,每1800秒全部重发一次。 2)在广播网络中,使用组播地址(而非广播)发送报文,减少对其它不运行ospf 的网络设备的干扰。 3)在各类可以多址访问的网络中(广播,NBMA),通过选举DR,使同网段的路由器之间的路由交换(同步)次数由 O(N*N)次减少为 O (N)次。 4)提出STUB区域的概念,使得STUB区域内不再传播引入的ASE路由。 5)在ABR(区域边界路由器)上支持路由聚合,进一步减少区域间的路由信息传递。 6)在点到点接口类型中,通过配置按需播号属性(OSPF over On Demand Circuits),使得ospf不再定时发送hello报文及定期更新路由信息。只在网络拓扑真正变化时才发送更新信息。 5、通过严格划分路由的级别(共分四极),提供更可信的路由选择。 6、良好的安全性,ospf支持基于接口的明文及md5 验证。

OSPF路由协议原理

OSPF路由协议原理
?2009,蓝狐网络版权所有,未经授权不得使用与传播.

本节大纲
https://www.doczj.com/doc/d39524972.html,
? ? ? ? ?
路由基础回顾 OSPF协议基础 链路状态信息描述 链路状态信息传递 SPF路由计算
V1.1
?2010,蓝狐网络版权所有,未经授权不得使用与传播.
2

路由基础回顾
https://www.doczj.com/doc/d39524972.html,
? 交换机转发原理? ? 路由器转发原理? ? 路由表的形成? 根据来源的不同,路由表中的路由通常分为以下三类: - 直连路由; - 由管理员手工配置的静态路由; - 通过动态路由协议所学习的路由;
静态路由 路由协议 动态路由 链路状态路由协议(OSPF、ISIS)
V1.1
距离矢量路由协议(RIP、BGP)
?2010,蓝狐网络版权所有,未经授权不得使用与传播.
3

距离矢量路由协议
https://www.doczj.com/doc/d39524972.html,
? 距离矢量协议也称为Bellman-Ford B ll F d协议,网络中路由器向相邻的路由器 发送它们的整个的路由表。路由器在从相邻路由器接受到的信息的基础 上进行矢量叠加,建立自己的路由表。然后,将信息传递到它的下一跳 路由器。这样一级级传递下去以达到全网同步
上图以RIP为例
V1.1
?2010,蓝狐网络版权所有,未经授权不得使用与传播.
4

距离矢量路由协议
https://www.doczj.com/doc/d39524972.html,
? 距离矢量路由表中的某些路由可能是建立第2手信息的基础之上 的,每个路由器都不了解整个网络拓扑,他们只知道与自己直接 相连的网络情况,并根据从邻居得到的路由信息更新自己的路由 表,进行叠加后转发给其它的邻居 ? 距离矢量路由协议的缺点: - 容易产生路由环路; - 收敛速度慢; - 报文量大,容易占用较多的网络带宽;
V1.1
?2010,蓝狐网络版权所有,未经授权不得使用与传播.
5

OSPF协议工作原理

OSPF协议工作原理

OSPF 协议工作原理 OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般 用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF 路由器正是通过这个数据库计算出其OSPF路由表的。 OSPF(Open Shortest Path First开放式 最短路径优先 )是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自 治系统(autonomous system,AS)内决策路由。链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。 OSPF路由协议是一种典 型的链路状态(Lin OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP), 用于在单一自治系统(autonomous system,AS)内决策路由。 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数

据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。 OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个 AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。 一 OSPF的数据包 OSPF的包类型: 1 HELLO 1 2 Database Description 数据库的描述 DBD 可靠

ISIS是一个分级的链接状态路由协议

ISIS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法。ISIS可以在不同的子网上操作,包括广播型的LAN、WAN和点到点链路。ISIS是一个链接状态协议,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。ISIS消息使用序列号,但它只是一个简单的加法计数器。当计数器计到最大值时,一个ISIS路由器没有别的选择,只能伪造一个错误触发对所有旧信息的刷新。然而,因为序列号有3 2 比特长,使得到达最大值之前有很大的序列号空间,所以这不是什么问题。但是,至少存在两个技术问题:ISIS使用一个小的度量值(6 比特),严重限制了能与它进行转换的信息;而且链接状态也只有8 比特长,路由器能通告的记录只有256个。一个非技术问题是ISIS受OSI 约束,使得与OSPF相比它的发展比较缓慢。这个限制的原因是由于SPF的要求;但现在的Wide-metric 使这个范围变成24位的扩展解决了这个问题。 一个非技术问题是ISIS受OSI约束,使得以前与OSPF相比它的发展比较缓慢。但现在的ISIS在非OSI即RFC方面(Integrated)ISIS有了很多的扩展使得他的发展比OSPF更容易实现对新的要求的支持如IPV6或者TE而且更简单易实现 一个路由器是intermediate system(IS),一个主机就是end system(ES),在一个主机和路由器之间运行的协议叫ES-IS,路由器与路由器之间运行的协议是IS-IS 一个subnetwork属下的接口叫:subnetwork point of attachment(SNPA),它只是一个概念上的东西,实际上它是一个subnetwork提供的服务点,由SPNA定义的,不是实际的物理界面,SNPA的概念特性对应于子网的概念特性。 PDU:就是一个OSI层上的一个节点到它的另一端(peer)的对应层上的节点,所以一个帧也叫做Date Link PDU(DLPDU),也因此一个网络层的packet也叫做network PDU(NPDU),这个date unit功能类拟于OSPF的LSA,我们称它为Link State PDU(LSP),与LSA不同的是它封装在OSPF报头之后,然后才到IP 数据包。 an LSP is itself a packet. ===================== ISIS AREAS ===================== ISIS和OSPF一样建立一个双层分级结构拓扑,但和OSPF不同的是ISIS划分area是连接中,也就是说两台路由器中间来划分area L1_Router---------|----------L2_Router 以上的竖线就是ISIS划分的area的地方,而OSPF则不是,它是在一个路由器当中划分的,一个路由器中只要有两个接口接到不同的area,这个路由器就叫做ABR area0-------ABR_Router------area1 ISIS中对路由器的称呼又和OSPF又所不同,它只有三类,一个是完全在一个area内的,OSPF叫内部路由器,ISIS叫L1,而OSPF的ABR在ISIS中叫做L1/L2,还有一类是backbone里的路由器,全都叫做L2,这样,L1/L2路由器就会维护两个line state datebase,而与ABR不同的是,L1/L2路由器不通告L2的路由给L1,因此所有的L1路由器永远不会知道area外的路由,这种情况和OSPF的tutally stubby area

ISIS和OSPF比较

IS-IS 和OSPF 比较 IS-IS 和OSPF 比较 相同点: IS-IS和OSPF是链路状态路由协议的两个最典型的代表,都采用SPF算法来计算路由; 由于具有快速收敛、无环路等特点,IS-IS和OSPF都能很好地支持大型网络,但从全球的部 署来看,采用OSPF的还是占了多数,而IS-IS在近几年开始得到比较多的应用; IS-IS和OSPF一样采用Hello协议来维护邻居关系,但IS-IS的Hello协议与OSPF比起来,相对 简单的多;

IS-IS和OSPF都采用分层路由的概念,都有骨干区域,为网络规划提供了比较灵活而且实际 的设计方案; 为了控制链路状态数据库的规模和复杂度,IS-IS和OSPF在广播网络上都选举DR来担任数据 库同步的主要角色,但在细节处理上还是有较大的差别的; 对协议报文的验证能力是所有高级路由协议所必须具备的功能,IS-IS对于协议报文的验证 处理是有些特别的,它按照Level和PDU类型来处理; IS-IS和OSPF对路由开销的度量(metric)都采用了接口可配置的cost,能够比较正确地反映 网络的实际情况; 在支持大型网络的时候,触发更新的Update方式比周期性广播方式要节约大量的协议报文所

产生带宽消耗; 对于每个LSP(LSA)都有一个记时器相关联,正常情况下在一定时间内(较长时间)会更新重新 计时,如果在规定时间内没有收到新的更新,将从数据库中清除该LSP(LSA),不再用做路由 计算用; 对于边缘区域中的路由器,一是通过区域划分,二是通过设置区域类型来减少对路由器资源 的需求。IS-IS可以将区域中的路由器设置为level-1 only类型,OSPF可以将整个区域设置 为stub、total-stub或NSSA来减少数据库的大小,同时保证正确路由。 不同点: IS-IS最初是为ISO的标准协议,为CLNS设计的,后来增加了对IP的支持;

OSPF路由协议简介

OSPF路由协议简介 据北岸了解,CCNA课程中主要介绍的只有RIP、OSPF和EIGRP三种路由协议,对于这三种协议,目前市场上还常用的一般是OSPF协议。RIP协议由于其本身具有跳数(16跳)和更新周期等因素,限制了网络的规模,使得以跳数为计的路由并非最优路由;同时频繁更新整张周期表,浪费网络带宽,逐跳的更新网络收敛速度慢。因此,渐渐的已被淘汰出局,不再使用了。上期北岸简单介绍了RIP路由协议,今天我们来看看OSPF路由协议的内容。 1.OSPF概述:开放式最短路径优先,一种链路状态路由协议,使用的是触发式更新(当新增链路或链路故障)和更新给网络中权威路由器,直接基于IP协议,协议号为89 (不可靠),管理距离110。 2.特点有:度量值与带宽有直接关系;组播更新(224.0.0.5&224.0.0.6);支持等价路由(负载均衡);支持明文和密文两种方式验证;支持携带掩码,支持VLSM,支持CIDR;采用SPF 算法,保证域内百分百无环;支持区域划分(分级组网),可适应大规模网络;支持多种链路层网络类型。 3.OSPF中涉及到的英文缩写含义: LSA:链路状态通告,该信息表示了路由器周边链路接口等信息;用于路由器之间传递路由信息; LSDB:链路状态数据库,网络中会选举出一台路由器去收集网络中的所有LSA,形成一个数据库;分发给所有路由器; 区域:具有相同区域标识的路由器处于一个区域; OSPF报文 Hello:用于建立、维持邻居关系 DD:用于描述本地的链路数据库 LSR:链路请求信息,用于向对方请求路由 LSU:链路更新信息,用于回复LSR LSack:对报文进行确认 OSPF状态机 DOWN:未启用OSPF时 INIT:初始化状态,当路由器发送了一个hello包后 2-W AY:邻居回复hello给我后置为 FULL:邻居之间链路状态交互完毕,达到每台路由都包括了该网络所有拓扑情况后OSPF 处于该状态;收敛状态; 4.(1)OSPF配置命令 (config)#router ospf *,其中*:代表进程ID,(OSPF在本地可启用多个进程),本地有效;(config-router)#network x.x.x.x y.y.y.y area *,其中x.x.x.x:需要通告到OSPF网络中的网段;y.y.y.y:反掩码,反掩码中为0的对应网络地址,为1的对应主机地址;其中01必须连续,不能间隔;*表示区域标识。

相关主题
文本预览
相关文档 最新文档