Protocol_OSPF

作者:Danbo 2015-7-4

从一个非常概括的角度来看OSPF协议的操作是比较容易理解的

1.宣告OSPF的路由器从所有启动OSPF协议的接口上发出Hello数据包。如果两台路由器共享一条公共数据链路,并且能够相互成功协商它们各自Hello数据包中所有指定的某些参数,那么它们就成为了邻居(Neighbor)。2.邻接关系(Adjacency),可以想象成一条点到点的虚链路,它是在一些邻居路由器之间构成的。OSPF定义了一些网络类型和路由器类型的邻接关系。邻居关系的建立是由交换Hello信息的路由器类型和交换Hello信息的网络类型决定的。
3.每台路由器都会在所有形成邻接关系的邻居之间发送链路状态通告(LSA)。LSA描述了路由器所有的链路、接口、路由器的邻居以及链路状态信息。
4.每一台收到从邻居路由器分发出的LSA的路由器都会把这些LSA记录在它的链路状态数据库中,并且发送一份LSA的拷贝给路由器的其他所有区域。
5.通过LSA泛洪扩散到整个区域,所有的路由器都会形成同样的链路状态数据库。
6.当这些路由器的数据库完全相同时,每一台路由器都将以其自身为根,使用SPF算法来计算一个无环路的拓扑图,以描述他所知道到达每一个目的地的最短路径。这个拓扑图就是SPF最短路径树
7.每一台路由器都将从SPF算法数中构建出自己的路由表。

Hello协议的作用

1.它是发现邻居路由器的方法;
2.在两台路由器成为邻居之前,需要通告这两台路由器必须相互认可的几个参数。
3.Hello数据包在邻居路由器之间担当keepalive的角色。
4.确保了邻居路由器之间的双向通信。
5.用在Broadcast与NBMA网络上选取DR与BDR。

HelloInterval:在广播型网络上使用缺省的10s,对于非广播来说使用的是30s。可以通过ip ospf hello-interval来更改。
RouterDeadInterval:默认为HelloInterval间隔的4倍。可以通过ip ospf dead-interval来更改。

OSPF路由器要想建立邻居必须满足Hello数据包携带的一下参数匹配

1.Area ID
2.认证信息
3.网络掩码
4.Hello间隔时间
5.路由器无效时间间隔
6.Options

OSPF支持的网络类型

1.P2P
2.Broadcast
3.NBMA
4.P2MP
5.Virtual Links

在广播网络中需要选举DR和BDR。Hello数据包像所有始发于DR和BDR的OSPF数据包一样,是以组播方式发送给你到ALLSPFRouters(目的地址224.0.0.5)的。携带这些数据包的数据帧的MAC地址为0100.5E00.0005。其他路由器将通过224.0.0.6的IP地址(AllDRouters)。携带这些数据包的数据帧的目的MAC地址是0100.5E00.0006

OSPF网络类型
1.传输网络(源IP于目的IP都不是本区域)
2.末梢网络锁(至少有一个源IP或目的IP属于这个末梢网络)

DR

DR背后的一种概念是广播链路本身被认为是一个“伪节点”,或者虚拟路由器。当SPF树进行计算的时候,把链路看作一个节点,与该链路相连的路由器也是连接到这个节点上的。从与伪界节点相连的路由器到这个伪节点的代价就是整台路由器与这个广播链路相连的接口代价,但是从伪节点到任何与之相连的路由器的代价都是0。通过这种方式,所有路径的代价都不会受到伪节点的影响。请记住:一台路由器可能是它所连接的其中一个多路访问网络的指定路由器,也可能不是它所连接的另一个多路访问网络的指定路由器。换句话数,指定路由器是路由器接口的特性,而不是整个路由器的特性。

DR/BDR的选举过程

1.在具有资格的路由器的列表(路由其的优先级要大于0,并且它的邻居状态至少是2-way);所有的路由器将宣告自己是DR(Hello数据包的DR字段是他们自设接口的IP地址);所有路由器也将宣告自己为BDR。
2.从具有选举资格的路由器的里列表中,创建一个还没有宣告为DR路由器的所有路由器的子集(宣告自己为DR的路由器不能被宣告自己为BDR)
3.如果在这个子集中的一台或者多台邻居路由器,他们在Hello数据包的BDR字段包含了他们自己的接口地址,那么具有最高优先级的邻居路由器将宣告为BDR路由器。在优先级相同的条件下,具有最高RID的路由器将被选作BDR
4.如果在这个子集中没有路由器自己为BDR路由器,那么具有最高优先级的邻居路由器将被宣告为BDR路由器。在优先级相同的条件下。具有最高RID邻居路由器被选作BDR。
5.DR选举类似。
6.如果没有路由器宣城自己是DR,那么新选举的BDR将成为DR。
一旦DR和BDR选举成功,其他路由器将只和DR及BDR之间形成邻接关系。

路由器接口的数据信息

1.IP Address and Mask
2.Area ID
3.Proces ID
4.RID
5.Network Type
6.Cost
ospf的默认的参考带宽为10^8 ,我们可以通过ip ospf cost来改变cost值,而参考带宽:auto-cost reference-bandwidth

接口数据结构的参数信息

1.InfTransDelay:指的是LSA从路由器的接口发送后经历的时间,以s计算,当LSA从路由器接口发出后将会引起这个参数的不断增大。在Cisco路由器上缺省值为1s。InfTransDelay可以通过命令ip ospf transmit-delay来改变。
2.State
3.Router Priority:ip ospf priority来改变
4.DR
5.BDR
6.HelloInterval
7.RouterDeadInterval
8.Wait Timer:在开始选举DR和DBR之前,路由器等待邻居路由器Hello包通告DR和BDR的时长。
9.RxmInterval:是指在没有得到确认的情况下,路由器重传OSPF数据包将要等待确认的时间长度。
10.Hello Timer:这个计时器的初始值是由 HelloInterval来设置的。
11.Neighboring Router
12.AuType:我们可以通过show ip ospf interface来进行查看
13.Authentication Key:64bit的口令,是一个消息摘要密钥。

建立邻接关系通常经过四个阶段

1.邻居路由器发现阶段;
2.双向通信阶段(bidirectional communication)--当两台互为邻居路由器在它们的Hello数据包中都互相列出了他们对方的RID时,路由器就认为2-way了
3.数据库同步阶段(Database Synchronization)
4.完全邻接阶段(Full-Adjacency)

在NBMA网络中,路由器是每经过PollInterval的时间给它的邻居状态为down的邻居发送一次Hello数据包,但是在其他的各种网络类型中,路由器都是每经过HelloInterval的时间给它的邻居路由器发送一次Hello数据包,在Cisco路由器中,NBMA网络中PollInterval的缺省值为120s。

以下信息我们可以通过show ip ospf neighbor来显示

1.Master/Slave--在ExStart状态下,邻居之间协商的主从关系将用来控制数据库的同步问题。
2.DD Sequence Number--是指当前正在向邻居路由器发送的数据库描述序列号。
3.Last Received Database Description Packet(最后收到的数据库描述数据包)--这个数据包记录了初始化位(Initialize)、后继位(More)和主/从可选项,以及最后收到的数据库描述数据包的序列号等信息。这个信息可以用来确定下一个数据库描述数据包是否重复。、
4.Link State Retransmission List(链路状态重传列表)
5.Database Summary List(数据库摘要列表)--这一项指在数据库同步期间,数据库描述数据包中向邻居路由器发送的LSA列表。当路由器进入Exchange State时,这些LSA将会构成LSDB。
6.Link State Request List(链路状态请列表)--当路由器通过LSU收到请求的LSA时,请求列表就会减小,最终将变成空列表。

邻居状态机

1.失效状态(Down)
这个是邻居会话的初始状态,用来指明在最近的一个RouterDeadInterval的时间内还没有收到来自邻居路由器的Hello包。除非在NBMA网络中的那些邻居路由器,否则,Hello数据包是不会发送给那些失效的邻居路由器的。在NBMA网络环境中,Hello数据包是每隔PollInterval的时间发送一次的。如果一台邻居路由器从其他更高一些的邻居状态转换到了失效状态,那么路由器将会清空链路状态重传列表、数据库摘要列表和链路状态请求列表。

2.尝试状态(Attempt)
这种状态仅仅适用于NBMA网络上的邻居路由器是手工配置的。当NBMA网络上具有DR选取资格的路由器和其邻居路由器相连的接口开始变为有效(Active)时,或者当这台路由器成为DR或BDR时,这台具有DR选举资格的路由器将会把邻居路由器的状态转换到Attempt状态。在Attempt状态下,路由器将使用HelloInterval的时间代替PollInterval的时间来作为向邻居发送Hello数据包的时间间隔。

3.初始状态(Init)
这一状态表明在最近的RouterDeadInterval时间里路由器收到了来自邻居路由器的Hello数据包,但是双向通信仍然没有建立。路由器将会在Hello数据包的邻居字段中包含这种状态下或更高状态的所有邻居路由器的路由器ID。

4.双向通信状态(2-way)
这一状态表明本地路由器已经在来自邻居路由器的Hello包的邻居字段中看到了自己的RID。这也意味着,一个双向通信的会话已经成功建立了。在多址网络中,邻居路由器必须在这个状态或更高的状态才有资格被选座该网络上的DR或BDR。如果在Init状态下从邻居路由器那里收到一个数据库描述包,也可以引起邻居状态直接转换到2-way状态。

5.信息交换初始状态(ExStart)
本地路由器和它的邻居将建立起主/从关系,并确定数据库描述数据包的序列号,以便为数据库描述数据包的信息交换做准备。在这里,具有最高RID的邻居RID的邻居路由器将成为“主”路由器

6.信息交换状态(Exchange)
在这一状态下,本地路由器将向它的邻居路由器发送可以描述它整个链路状态数据库信息的数据库描述数据包。同时,在这个Exchange的状态下,本地路由器也会发送链路状态请求数据包给它的邻居路由器。用来请求最新的LSA。

7.信息加载状态(Loading)
在这一状态下,本地路由器将会向它的邻居路由器发送链路状态请求数据包,用来请求最新的LSA通告。虽然在Exchange状态下已经发现了这些最新的LSA通告,但是本地路由器还没有收到这些LSA通告。

8.完全邻接状态(Full)
邻居路由器之间将建立起完全邻接关系,这种邻接关系出现在了路由在路由器LSA和网络LSA中。

建立一个邻接关系

除非邻居路由器之间Hello数据包的参数不匹配,一般情况下,在点到点、点到多点和虚链路类型的网络上邻居路由器之间总是可以形成邻接关系的。而在广播和NBMA网络中,将需要选DR和BDR路由器,并且DR和BDR路由器将和所有的邻接路由器形成邻接关系,但是在DRothers路由器之前没有邻接关系存在。
在一个邻接关系的创建过程中。OSPF协议使用以下3中数据包类型
-DBD
-LSR
-LSU
在DBD包中有3个标记位用来管理邻接关系的简历过程:
-I位,或称为初始位(Initial bit),当需要指明所发送的是第一个数据库描述数据包时,改为设置为1;
-M位,或称为后继位(More bit),当需要指明所发送的不是第一个数据库描述数据包时,改为设置为1;
-MS位,或称为主从位(M/S bit),当数据库描述包始发于一个“主”路由器时,改位设置为1。

”主“路由器将控制数据库的同步过程,并确保每次只有一个DBD是未处理的。当”从“路由器收到”主“路由器发送过来DBD后,”从“将通过发送一个相同序列号的DBD来确认那个数据包。如果”主“路由器在RxmtInterval的时间内没有收到一个关于未处理DBD包的确认包,那么”主“将会发送该数据包的一份新拷贝。
”从“路由器发送DBD仅仅是用来相应”主“路由器那里收到的DBD。如果它所收到的DBD具有一个新的序列号,那么”从“将发送一个具有相同序列号的DBD。如果它收到的DBD序列号是在这之前已确认的DBD相同,那么这个确认DBD是重发的。
显式确认(Explicit Acknowledgment):确认收到包含这个LSA头部的链路状态确认数据包。
隐式确认(Implicit Acknowledgment):确认收到包含这个LSA的相同实例(没有其他更新的LSA)的更新数据包。

整个OSPF的拓扑图可以描述成一组互连的路由器或一组互连的节点,这里所说的互连不是物理的链路而是指逻辑的邻接关系。为了使这些节点能够在这个逻辑拓扑上完全地进行路由选择,每一个节点都必须拥有一个关于该拓扑结构的相同拓扑图。这个拓扑图就是拓扑数据库。

可靠的泛洪扩散:确认

邻居路由器的显式确认是指通过发送一个链路状态确认数据包来确认收到LSA的方式。而且。可以使用单个链路状态确认来确认多个LSA通告。这个链路状态确认数据包不需要携带完整的LSA信息,而只是需要携带LSA的头部就足以完全识别这些LSA了。
当一台路由器开始发送一个LSA时,会把这个LSA的一份拷贝放进它所发送的每个邻居的链路状态重传列表中。这个LSA通告每隔RxmtInterval的时间重传一次,一直到这个邻接关系中断。不论是哪一网络类型,包含重传的链路状态更新数据包总是以单播发送。

路由器的类型

内部路由器(Internal Router)
区域边界路由器(Area Border Router,ABR)
骨干了路由器(Backbone Router)
自主系统边界路由器(Autonomous System Boundary Router,ASBR)

分段区域

是指由于链路失效而使已给区域的一个部分和其他部分隔离开来的情形。如果骨干区域被分段,那么骨干区域仅仅把这个分段区域看成两个单独的区域。但是,从这个分段区域的任何一段区域到另一段区域的域内通信量将变成域间通信量,分段区域与孤立区域(isolated area)是不同的,孤立区域没有链路路径和网络相连。

虚链路

虚链路(Virtual Link)是指一条通过一个非骨干区域连接到骨干区域的链路。
1.通过一个非骨干区域连接一个区域到骨干区域。
2.通过一个非骨干区域连接一个分段的骨干区域两边的部分区域。
配置虚链路的规则:
-虚链路必须配置在两台ABR路由器之间;
-配置了虚链路区域必须是传输区域,不能为末梢区域。

链路状态数据库

当LSA通告驻留在路由器的链路状态数据库中的时候,它们的老化时间是增大的。如果这些LSA通告达到最大生存时间(1h),那么它们将从OSPF域中清除掉。这意味着,在这里必须有一种机制来防止正常的LSA通告达到最大生存时间而被清除掉。这种机制就是链路状态冲刷新(link state refresh)。每隔30min(LSRefreshTime)始发这条LSA通告的路由器就将泛洪扩散这条LSA的一个新拷贝,并将他的序列号增加1,老化时间设置为0。
由于每一条LSA通告都与一个独自的涮洗计时器相关联,这意味着每30min,LSA通告的LSRefreshTime将不会一下子都超时,从而重新泛洪所有的LSA通告。没隔30min,网络上就会出现一个区域通信量和CPU利用率的高峰。
因此一种称为LSA足步调(group pacing)的机制,作为LSA独自使用重刷新计时器和单个同一计时器之间的一种这种的办法:每一个LSA通告都有属于自己的重刷新计时器,但是当它们独自使用的重刷新计时器超时的时候,会引入一个时延来延迟这些LSA通告的泛洪扩散。通过延迟重刷新时间,可以在泛洪扩散之前将更多的LSA通告共同编成一组从而可以让更新数据包携带更大数量的LSA通告。缺省条件下,一个组步调的间隔时间是240s(4min)。可以通过timers lsa-group-pacing或者timers pacing lsa-group来更改。

LSA的类型

1.路由器LSA(Router LSA)
2.网络LSA(Network LSA)
3.网络汇总LSA(Network Summary LSA)
4.ASBR汇总LSA(ASBR Summary LSA)
5.自主系统外部LSA(Autonomous System External LSA)
6.组成员LSA(Group Membership LSA)
7.NSSA外部LSA(NSSA External LSA)
8.外部属性LSA(External Attributes LSA)
9.10.11.Opaque LSA

LSA类型详解:
Type-1:Router LSA:每一台路由器都会产生路由器LSA,包含路由器的所有链路和接口,并且指明它们的状态和沿每条链路方向出站的代价,仅在本区域内泛洪。
Type-2:Network LSA:有本区域内的DR产生,包含DR路由器的信息,通告DR的可达性,包括DR的RID,DR的接口IP,以及MA网络中路由器以及本网的掩码信息。仅在本区域内泛洪。
Type-3:Network Summary LSA:有ABR产生,通知本区域内的路由器通往外部路由信息,用于通告ABR的可达性。
Type-4:ASBR Summary LSA:由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由。泛洪到整个AS中,(把ASBR的RID传播到其他区域,让其他区域的路由器得知ASBR的位置)。注意其实:Type-4类的LSA是由ASBR路由器产生Type-1的LSA然后传播到DR路由器,再由ABR产生Type-4类的LSA在整个OSPF区域内泛洪。
Type-5:Autonomous System External LSA:由ASBR路由器产生,告诉相同自制区的路由器通往自制区域外部的路径。自制系统外部LSA是唯一不和具体区域相关联的LSA通告,将在整个自制系统中进行泛洪。
Type-6:Group Membership LSA:用在组播OSPF中,MOSPF协议将数据包从单一的源地址转发到多个目的地,或者是一组共享D类组播地址的成员。
Type-7:NSSA External LSA:由ASBR路由器产生,几乎和Type-5通告是相同的,但是仅在ASBR所在的NSSA区域内泛洪,NSSA外部LSA在它的头部有一个称为P-bit的标志。NSSA ASBR可以设置这个标志位或清除这个标志位。如果NSSA ABR路由器收到一条P-bit设置为1的Type-7的LSA数据包,那么它将其转换为Type-5的LSA,然后将其扩散到其他区域。如果P位置0表示这条Type-7的LSA仅能在NSSA区域内传播,因为NSSA ABR不会将其转为Type-5的LSA传播到其他区域。
Type-8:External Attributes LSA:是被提议作为运行iBGP的另一种选择,以便用来传送BGP协议的信息穿过一个OSPF域。
Type-9-10-11:Opaque LSA:有标准的LSA头部后面跟随专用信息组成的一类LSA。Opaque LSA类型现在用于对OSPF增加可变的扩展特性,例如在MPLS网络中应用的流量工程参数。

末梢区域

1.Stub

Stub区域中的4个吸纳之条件:
-和所有的区域一样,一个stub区域内部的所有路由器也必须有用相同的链路状态数据库。为了确保满足这个条件,所有区域内的路由器都会在它们的Hello数据包中设置一个标志-就是E-bit位,并将它设置为0,这样,这些末梢区域路由器将不接受其他路由器的任何E-bit置1的Hello数据包。没有配置成一个末梢区域路由器的任何路由器之间将无法成功建立邻接关系。
-虚链路不能再一个Stub区域内设置
-Stub区域内不能够有ASBR路由器
-Stub区域可以拥有多台ABR路由器,但是因为缺省路由的原因,区域内部路由器将不能确定那一台路由器才是到达ASBR路由器的最优网关。

2.NSSA

NSSA允许外部路由通告到OSPF自制系统内部,而同时保留自制系统其余部分的末梢特征。在NSSA区域内ASBR将始发Type-7的LSA用来通告那些外部的目的网络。这些NSSA外部LSA将在整个NSS区域中进行扩散,但是会在ABR路由器的地方被阻塞。注意ASBR可以通过设置P-bit或者清除P-bit来控制是否能够传输到别的区域。

3.Totally Stub

如果通过阻塞Type-5和Type-4的LSA传播到一个区域的方法来节省内存的话,那么要是能够把Type-3的LSA也阻塞掉不是更可以节省更多的内存吗?这个可以借助Totally Stub。完全末梢区域不

仅使用缺省路由到达OSPF自制系统外部的目的地址,而且使用缺省路由到达这个区域外的所有目的地。一个Totally Stub的ABR将不仅阻塞AS外部LSA,而且阻塞所有的汇总LSA--除了通告缺省路由的那一条Type-3的LSA。
4.Totally NSSA

这思科私有

路径类型

-区域内路径(Intra-area path)
-区域间路径(Inter-area path)
-类型1的外部路径(Type-1 External Path):到达OSPF自制系统外的目的路由在计算cost的时候要加上到达ASBR路由器的cost值。
-类型2的外部路径(Type-2 External Path):到达OSPF自制系统外的目的路由在计算cost的时候要不再计入到达ASBR路由器的cost值。(默认为E2,在充分发的时候我们可以通过关键字metric-type 1,改为E1类型)

按需电路

我们知道OSPF每隔10s发送一次Hello数据包30min重新刷新一次他的LSA。然而,这些通信量,不希望在按需电路上存在,比如拨号电路、ISDN等即用即连(usage-sensitive connection)的电路。这些链路可能根据连接次数或者通信量或者两者皆有来循环计费,因此必须减少它们的上线时间。
在按需链路上,OSPF具有抑制Hello数据包和LSA重刷新的能力,以便链路不需要永久的有效。
其中LSA发生了以下变化:
-LSA的可选字段发生了变化;
-在老化时间达到MaxAge时受到了一个已经存在的LSA通告的新实例(instance);
-LSA头部的长度字段发生了变化;
-LSA的内容发生了变化,但不包含20个八位组字节的头部、校验和、序列号。
在接口上使用ip ospf flood-reduction,DoNotAge位就可以设置在这个接口通告出去的LSA中。

可选项字段

O--设置用来表民施法路由器支持Opaque LSA。
DC--当始发路由器具有支持按需电路上的OSPF的能力时,改位将被设置。
N--N=1表明它支持NSSA。
P--在NSSA ABR上能够将Type-7 LSA转化为Type-5 LSA
E--Stub区域的标识位,表明能够接受OSPF区域外部LSA

OSPF配置

1.我们要注意在配置loopback地址时,其使用的掩码都配置成一个主机地址。这一步其实并不是必要的,因为OSPF会把一个loopback接口作为一条主机路由来通告。我们之所以配置为32为的掩码,仅仅用来保持一种整齐的格式,并且用来反映所通告的地址的一种方式。

2.为了将RID进一步简化,可以把RID记录到一个域名服务器(DNS)数据库中。在路由器上可以配置域名服务,是路由器向一台域名服务器请求相关“地址到名称”的映射,或者为反向DNS查找,从而可以通过系那是路由器的名称来代替路由器的ID。
ip name-server 172.19.35.2
ip ospf name-lookup

3.OSPF辅助地址
OSPF的环境中,辅助地址的用法有以下另个相关的规则:
-只有在主网络或子网也运行OSPF协议的时候,OSPF才会通告一个辅助的网络或子网
-OSPF将把辅助地址看作是末梢网络(这些网络上没有OSPF邻居),从而不会再这些网络上发送Hello数据包,因此,在辅助地址上也就无法建立邻接关系。

4.当我们配置一个区域为Stub区域时,此时Stub区域的ABR经通告代价为1的缺省路由。路由器的缺省代价我们可以通过命令:area default-cost 来改变。其他协议的路由条目重发布进ospf其默认的cost值都是20。

5.对于ABR路由器来说有一下几个可用的配置选项:第一个是no-summary选项,可以和命令area nssa一起使用来组织类型3和类型4的LSA泛洪扩散到NSSA中。这个配置可以是区域变成所谓的:完全非纯末梢区域“Totally Stubby Not-So-Stubby-Area”此时我们可以看出所有的区域间路由也被消除了,而另外增加了一条路由器通告的缺省路由。

6.我们再介绍几个命令:
router ospf 10
redistribute rip metric 10 metric-type 1 subnets
area 20 nssa no-redistribution no-summary
area nssa命令阻塞了Type-5的LSA,no-redistribution阻塞Type-7的LSA,命令no-summary阻塞了Type-3 LSA但是会生成一条Type-3的默认路由(是NSSA区域配置成Totally NSSA)。对于单纯的NSSA区域,ABR路由器将不再始发一条Type-3的缺省路由,外网网路也就无法从NSSA区域内部到达。我们需要在area 20 nssa后面增加一个default-informatio-originate参数,这就可以使用ABR路由器来通告一条缺省路由到这个NSSA区域。注意:它是使用Type-7的LSA来通告这条缺省路由的。

7.地址汇总
目的:1.减小泛洪扩散的LSA数量来达到节约资源的目的;2.通过屏蔽网络不稳定的细节来节约资源并增强网络的稳定性。
-区域间汇总(Inter-area summarization)
-外部路由汇总(External route summarization)
域间汇总:area range 命令指定了汇总地址所述的区域、汇总地址和地址掩码。我们知道当我们为EIGRP协议配置一条汇总路由时,会有一条指向空接口(null interface)的路由被自动地加入路由表中,以便用来避免路哟黑洞和路由环路。OSPF不会加入自动地加入这条路由。可以通过手工加入这条通向null0的默认路由。
area range命令的缺省行为是通告指定的范围。它也可以用来抑制一个地址范围的通告,带有关键字no-advertise的命令area range将使指定的范围被抑制。他们将不会再LSA中通告。
域外汇总:summary-addresss这条命令(通常在ASBR上重分布时使用)

8.域间进行路由过滤
router os 1
area pid filter-list prefix xx out/in指定了应用于入站或出站LSA的过滤列表的名称;这里使用filter-list调用prefix-list列表
ip prefix-list xx seq 10 deny 192.168.1.0/24
ip prefix-list xx seq 20 permit 0.0.0.0/0注意隐含着deny all

9.认证
在接口下配置明文:ip ospf authentication-key uestc,并且在进程下使用在area xx authentication使明文验证生效
在接口下配置MD5:ip ospf message-digest-key md5 key-id uestc注意再一对邻居路由器将key-id和key必须相等。并且在进程下使用area xx authentication message-digest使md5验证生效
不过我们必须使用service password-encryption这条命令使密码在show显示中加密。否则可以通过show命令看到配置的密钥。

10.虚链路
area xx virtual-link rid
show ip ospf virtual-link查看虚链路状态。
虚链路总是建立在ABR路由器之间的,并且他们之中至少有一台ABR路由器是必须合区域0相连。

Protocol_OSPF的更多相关文章

随机推荐

  1. AC日记——Milking Grid poj 2185

    Milking Grid Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 8314   Accepted: 3586 Desc ...

  2. Android之观察者/被观察者模式Observer/Observable

    Android 本身也是有观察者模式的.虽然项目中很多需要通知数据改变的地方,用了EventBus,但是不得不说这个观察者模式还是很好用的.最近在开发新版本的时候引用了腾讯的IM,之前写直播的时候就用 ...

  3. Codeforces Gym 100431B Binary Search 搜索+组合数学+高精度

    原题链接:http://codeforces.com/gym/100431/attachments/download/2421/20092010-winter-petrozavodsk-camp-an ...

  4. javaScript 时间转换,将后台返回的时间为一串数字转成正常格式

    js完整代码: function transferTime(cTime){ var jsonDate = new Date(parseInt(cTime)); Date.prototype.forma ...

  5. BZOJ 3065 带插入区间第K小值

    题目描述 Description 从前有n只跳蚤排成一行做早操,每只跳蚤都有自己的一个弹跳力a[i].跳蚤国王看着这些跳蚤国欣欣向荣的情景,感到非常高兴.这时跳蚤国王决定理性愉悦一下,查询区间k小值. ...

  6. python为不同的对象如何分配内存的小知识

    id方法的返回值就是对象的内存地址. python中会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同).如执行a=2.0,b=2.0这两个语句时会先后为2.0这个Float类型对象 ...

  7. python中a=a+2与a+=2的区别

    1.a=a+2,表示一个新的对象,新的对象名字还是a,但是指向的内存地址已经变了 >>> a=2 >>> id(a) 140406287260016 >> ...

  8. Python学习笔记8:标准库之正則表達式

    Python拥有强大的标准库.从如今起,開始学习标准库中提供的一些经常使用功能. 首先看正則表達式(regular expression),它的主要功能是从字符串(string)中通过特定的模式(pa ...

  9. Oracle-31-对视图DML操作

    一.对视图进行DML操作 1.创建一个视图v_person create or replace noforceview v_person as select *from person where id ...

  10. 使用Android注解来改善代码

    昨晚看到一篇好文章.然后是英文的.所以决定翻译分享给大家.这是原文链接:http://www.michaelevans.org/blog/2015/07/14/improving-your-code- ...