OSPF 协议总结(最终版)
OSPF总结

OSPF 总结1.OSPF 概述OSPF 作为一种内部网关协议(Interior Gateway Protocol,IGP) ,用于在同一个自治系统(AS)中的路由器之间交换路由信息。
OSPF 的特性如下: 1. 可适应大规模网络; 2. 收敛速度快; 3. 无路由环路; (OSPF 防环机制)4. 支持VLSM 和CIDR; 5. 支持等价路由; 6. 支持区域划分, 构成结构化的网络; 7. 提供路由分级管理; 8. 支持简单口令和 MD5认证; 9. 以组播方式传送协议报文; 10. OSPF 路由协议的管理距离是 110; 11. OSPF 路由协议采用 cost 作为度量标准; 12. OSPF 维护邻居表、拓扑表和路由表。
另外, OSPF将网络划分为四种类型: 广播多路访问型 (BMA) 、 非广播多路访问型 (NBMA) 、点到点型(Point-to-Point) 、点到多点型(Point-to-MultiPoint) 。
不同的二层链路的类型需要 OSPF不同的网络类型来适应。
下面的几个术语是学习 OSPF 要掌握的: 1. 链路:链路就是路由器用来连接网络的接口; 2. 链路状态:用来描述路由器接口及其与邻居路由器的关系。
所有链路状态信息构成链路状态数据库; 3. 区域:有相同的区域标志的一组路由器和网络的集合。
在同一个区域内的路由器有相同的链路状态数据库; 4. 自治系统: 采用同一种路由协议交换路由信息的路由器及其网络构成一个自治系统; 5. 链路状态通告(LSA) :LSA 用来描述路由器的本地状态,LSA包括的信息有关于路由 器接口的状态和所形成的邻接状态; 6. 最短路经优先 (SPF) 算法: 是 OSPF路由协议的基础。
SPF 算法有时也被称为 Dijkstra算法,这是因为最短路径优先算法(SPF)是 Dijkstra 发明的。
OSPF 路由器利用 SPF,独立地计算出到达任意目的地的最佳路由。
OSPF总结

目录一、OSPF协议特点: (3)二、与RIP比较: (3)三、OSPF的工作原理 (4)四、OSPF的报文 (5)五、OSPF的八个状态 (5)六、OSPF的接口类型 (6)七、OSPF中路由器角色 (6)八、OSPF的LSA (7)九、OSPF的区域 (7)十、路由汇总 (9)十一、路由引路 (9)十二、验证加密 (11)十三、静默端口 (11)十四、虚链路 (11)十五、实验 (11)一、 OSPF协议特点:1.距离矢量动态路由协议2.国际标准,协议号893.OSPF协议时专门为IP协议设计的路由选择协议4.IGP中运用最多的协议5.没有跳数的限制6.划分区域减少了路由震荡带来的影响减少了LSA报文LSA:链路状态通告,LSA通告信息:router-id、cost、优先级、接口类型、接口状态、IP、掩码等信息LSA默认30分钟发送一次,LSDB里的LSA都设定有老化时间,如果1个小时LSA没有被更新将会老化被移除限制了LSDB便于管理7.使用组播更新变化的和网络信息,减少了带宽消耗224.0.0.5:DR和BDR向DROother发送信息的组播地址224.0.0.6:DROther向DR和BDR发送信息的组播地址8.路由收敛速度快支持触发更新9.开销(cost)作为度量值10.采用SPF算法可以有效的避免环路11.支持验证12.应用广泛二、与RIP比较:1.RIP扩展性不好2.RIP每30S发送一次完整的路由表3.收敛速度慢4.选路不准以跳数计算5.仍然存在环路问题三、 OSPF的工作原理1.通过组播地址224.0.0.5相互发送hello报文建立邻居关系,每10S发送一次,4个周期没有接到邻居的hello消息,进入抑制状态2.建立起邻居关系进入2-way状态注意:两台直连路由器若router-id一样,将无法建立邻居关系一台路由器的两个邻居router-id一样,将会导致路由震荡(路由条目时有时无)3.DR选举DR在同网段内进行选举,只有广播和NBMA网络需要选举。
OSPF总结(第一部分)

1、链路状态相比距离矢量路由协议的优点:无次优路由、网络的可容性高于距离矢量、丰富的高级选项等缺点:计算路由的过程中占用较多的内存以及处理器资源2、基本原理包含:确定链路类型邻居发现邻接关系的建立SPF算法计算路由最优路由安装进路由表3、OSPF是ip的一项子协议4、三种链路类型:点到点链路:两者连接,唯一接收广播型链路:用ARP广播寻址非广播多路访问链路:使用单播寻址down就是表示运行了OSPF的接口彼此都没有收到对方的HELLO包,也就是初始化状态initial状态的条件就是收到邻居的HELLO包,但是没有自己的router ID。
而且里面的各种字段都需要匹配,比如什么间隔时间,HELLO包的,dead的,还有认证,还有区域ID,还有末梢区域ID等。
作用就是表示自己的邻居表已经建立完成2way状态的条件是彼此都收到了HELLO包,并且里面有自己的router ID。
作用就是表示邻居的邻居表建立完成exstart状态的条件,发送没有LSA的DBD。
作用就是选出master和slave,master 控制数据库的同步过程,并且确定没次只有一个数据包没有处理,当slave收到master发的一个DBD时,会回复一个具有相同序列号的DBD来表示确认exchange状态的条件是选出master。
其作用是邻居之间交互DBDloading的条件是slave收到master发送的一个标志为1的标志,而且master也收到一个由slave发送的标识为0的标志,这表示他们彼此都没有可以发送的数据信息了,表示已发送完成,发送链路状态请求发送链路状态通告LSA。
作用就是同步链路数据库full状态的条件是双方的数据库都完全一致。
其作用是表示数据库同步完成,可以调用SPF算法计算。
OSPF协议详解总结

* Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定
的OSPF区域。
* Checksum-校验位,用于标记数据包在传递时有无误码。
* Authentication type-定义OSPF验证类型。
* Authentication-包含OSPF验证信息,长为8个字节。
相邻关系。见下图
DR的选举过程:这里可以以选举村长为例
选举的时候用Hello包中的DR字节来标识,开始的时候都是标识的自己,一旦选举出一个DR来那么即使后来再有优先级更高的进来也不重新选举(因为一旦重新选举那么所有的邻接关系都要重新建立)
OSPF启动的过程:
down
init
发送Hello(224.0.0.5)DR字段为全零(因为还没有选出DR),
FDDI或快速以太网的Cost为1,2M串行链路的Cost为48,10M以太网的Cost为10等。
所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。当路由器有了一个完整的链路状态数据库时,它就准备好要创建它的路由表以便能够转发数据流。CISCO路由器上缺省的开销度量是基于网络介质的带宽。要计算到达目的地的最低开销,链路状态型路由选择协议(比如OSPF)采用Dijkstra算法,OSPF路由表中最多保存6条等开销路由条目以进行负载均衡,可以通过"maximum-paths"进行配置。如果链路上出现fapping翻转,就会使路由器不停的计算一个新的路由表,就可能导致路由器不能收敛。路由器要重新计算客观存它的路由表之前先等一段落时间,缺省值为5秒。在CISCO配置命令中"timers spf spf-delay spy-holdtime"可以对两次连续SPF计算之间的最短时间(缺省值10秒)进配置。
OSPF_协议总结(最终版)

OSPF协议总结---By Joe&东东&校长1、邻居是否自动发现:要有广播的特点2、DR BDR 选举:要有多点接入3、否则就要静态指定O 区域内LSA1. LSA2O IA 区域间LSA3.LSA4OE1 都是外部LSA5. LSA 7OE2ON1ON2外部路由不优先OSPF O>OIA>OE1>OE2DR 通告ABR通告,整个网络泛红LSA 1 和LSA2 只在本区域泛红,其他整个OSPF网泛红。
OSPF的五个包:1.Hello:9项内容,4个必要2.DBD:数据库描述数据包(主要描述始发路由器数据库中的一些或者全部LSA信息),主要包括接口的MTU,主从位MS,数据库描述序列号等);3.LSR:链路状态请求数据包(查看收到的LSA是否在自己的数据库,或是更新的LSA,如果是将向邻居发送请求);4.LSU:链路状态更新数据包(用于LSA的泛洪扩散和发送LSA去响应链路状态请求数据包);5.LSACK:链路状态确认数据包(用来进行LSA可靠的泛洪扩散,即对可靠包的确认)。
Hello包作用:1.发现邻居;2.建立邻居关系;3.维持邻居关系;4.选举DR,BDR5.确保双向通信。
Hello包所包含的内容:路由器idHello&Dead间隔*区域id *邻居DRBDR优先级验证*末节区域*注:1.“*”部分全部匹配才能建立邻居关系。
2.邻居关系为FULL状态;而邻接关系是处于TWO-WAY状态。
Hello时间间隔:在点对点网络与广播网络中为10秒;在NBMA网络与点对多点网络中为30秒。
注:保持时间为hello时间4倍虚电路传送的LSA为DNA,时间抑制,永不老化.OSPF的组播地址:DR将使用组播地址224.0.0.5泛洪扩散更新的数据包到DRothersDRothers使用组播地址224.0.0.6发送更新数据包组播的MAC地址分别为:0100.5E00.0005,0100.5E00.0006OSPF的包头格式:| 版本| 类型| 长度| 路由器ID | 区域ID | 验证和| 验证类型|验证| 数据| | 1 byte | 1 | 2 | 4 | 4 | 2 | 2 | 8 | variance |OSPF支持的验证类型:OSPF支持明文和md5认证,用Sniffer抓包看到明文验证的代码是“1”,md5验证的代码是“2”。
ospf协议

OSPF协议1. 简介OSPF(Open Shortest Path First)是一种开放的链路状态路由协议,常被用于局域网(LAN)和广域网(WAN)中的内部网关协议(IGP)。
OSPF是基于Dijkstra算法的路由选择协议,它使用链路状态数据库(LSDB)来维护网络拓扑,并通过该拓扑信息计算最短路径。
OSPF具有以下特点:•支持VLSM(可变长子网掩码):不同子网可以使用不同的子网掩码,提高了IP地址的使用效率。
•支持分级路由:将网络划分为多个区域,降低了路由计算的复杂性。
•支持多路径:可以选择多条等价的路径作为备用路由,提高了网络的可靠性和容错性。
•支持无环路:OSPF使用了反向路径进行回路检测,确保路由没有环路。
2. OSPF网络拓扑OSPF网络拓扑由多个路由器组成,每个路由器都是一个LSDB的边界路由器(ABR)或区域边界路由器(ASBR)。
路由器之间通过链路互连,并通过Hello报文建立邻居关系。
OSPF将网络拓扑划分为多个区域(Area),每个区域由一个区域内部路由器(IR)负责管理。
OSPF区域间通过边界路由器(BR)进行转发,BR将区域内的路由信息汇总为一个摘要路由,然后广播到其他区域。
BR还负责处理区域之间的路由策略。
3. OSPF报文OSPF使用不同类型的报文来实现邻居发现、路由更新和链路状态同步等功能。
常用的报文类型包括:•Hello报文:用于建立邻居关系,确定相邻路由器的状态。
•DBD报文:用于数据库描述,包含路由器的数据库摘要。
•LSR报文:链路状态请求,用于请求邻居路由器的链路状态信息。
•LSU报文:链路状态更新,用于向邻居路由器发送自己的链路状态信息。
•LSAck报文:链路状态确认,用于确认邻居路由器发送的链路状态信息。
4. OSPF路由计算OSPF使用Dijkstra算法计算最短路径,每个路由器通过分析链路状态数据库(LSDB)来计算最短路径树(SPF树)。
OSPF_协议总结

OSPF_协议总结OSPF(Open Shortest Path First)是一种用于路由选择的链路状态路由协议,被广泛应用于自治系统(Autonomous System,AS)内部的大型企业网络、互联网服务提供商(ISP)的骨干网络以及互联网主干路由器之间的路由交换。
下面将对OSPF协议进行详细总结。
1.OSPF的基本原理OSPF使用链路状态数据库(Link State Database)来存储网络中的全部链路状态信息。
每个OSPF路由器都维护一份链路状态数据库,并通过发送链路状态信息(Link State Advertisement,LSA)来交换信息。
通过这种方式,每个OSPF路由器都能了解到整个拓扑结构,并计算出到达目的网络的最短路径。
2.OSPF的优势(1)快速收敛:OSPF具有快速的收敛性能,当网络拓扑发生变化时,它能够迅速更新链路状态信息和计算最短路径,从而在较短的时间内恢复网络通信。
(2) 多路径支持:OSPF支持等价路由(Equal Cost Multipath,ECMP),即在多条路径中选择具有相同权重的路径进行负载均衡,提高网络的利用率和可靠性。
(3) 分层结构:OSPF将网络划分为多个区域(Area),每个区域内部可以运行自己的OSPF协议,仅与其他区域的边界路由器进行交换。
这种分层结构减少了链路状态交换的范围,提高了网络的可扩展性和性能。
3.OSPF的工作原理(1) 状态机:OSPF路由器包括多个状态,如Down、Attempt、Init、2-Way、Exstart、Exchange和Full等。
通过LSA的交换,路由器之间逐渐建立邻居关系,并最终进入Full状态,完成链路状态数据库的同步。
(2) 邻居关系:OSPF路由器通过Hello报文来发现和维护邻居关系,通过Exchange报文交换链路状态信息。
邻居关系的建立和维护是通过交换报文的时间间隔和可靠性校验来实现的。
OSPF文档总结

OSPF路由协议一:OSPF的hello协议1.1 Hello协议的目的:用于发现邻居在成为邻居之前,必须对Hello包里的一些参数协商成功Hello包在邻居之间扮演着keepalive的角色允许邻居之间的双向通信它在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR详细说明:Cisco路由器上Hello包默认的发送间隔(HelloInterval)是10秒;NBMA网络是30秒, 通过ip ospf hello-interval <seconds>来修改;如果在4倍于这个时间间隔里(40秒和120秒)内仍然没有收到来自邻居的新的Hello包,这个邻居将被宣告为无效(dead)通过命令ips ospf dead-interval <seconds>来修改1.2 Hello Packet包含以下信息:1.源路由器的RID2.源路由器的Area ID3.源路由器接口的掩码4.源路由器接口的认证类型和认证信息5.源路由器接口的Hello包发送的时间间隔6.源路由器接口的无效时间间隔7.优先级8.DR/BDR9.五个标记位(flag bit)10.源路由器的所有邻居的RID二OSPF的网络类型OSPF定义的5种网络类型:1.点到点网络2.广播型网络3.NBMA网络4.点到多点网络5.虚链接(virtual link)注: 所有的网络也可以归纳成2种网络类型:1.传输网络(Transit Network)2.末梢网络(Stub Network )三:OSPF的DR及BDR3.1 DR BDR选取实在接口状态机的方式触发的。
路由器的每个多路访问(multi-access)接口都有个路由器优先级(Router Priority),8 位长的一个整数,范围是0 到255,Cisco 路由器默认的优先级是 1 优先级为0 的话将不能选举为DR/BDR.优先级可以通过命令ip ospf priority 进行修改选举规则主与次序:✓ROUTER ID IP✓环回接口(IP最大的)✓最大的活动物理接口IP地址(ip最大的)3.2DR BDR 选取过程:1. 在和邻居建立双向(2-Way)通信之后,检查邻居的Hello包中Priority,DR和BDR字段,列出所有可以参与DR/BDR选举的邻居.所有的路由器声明它们自己就是DR/BDR(Hello包中DR字段的值就是它们自己的接口地址;BDR字段的值就是它们自己的接口地址)2. 从这个有参与选举DR/BDR权的列表中,创建一组没有声明自己就是DR的路由器的子集(声明自己是DR的路由器将不会被选举为BDR)3. 如果在这个子集里,不管有没有宣称自己就是BDR,只要在Hello包中BDR字段就等于自己接口的地址,优先级最高的就被选举为BDR;如果优先级都一样,RID最高的选举为BDR4. 如果在Hello包中DR字段就等于自己接口的地址,优先级最高的就被选举为DR;如果优先级都一样,RID最高的选举为DR;如果没有路由器宣称自己就是DR,那么新选举的BDR就成为DR5. 要注意的是,当网络中已经选举了DR/BDR后,又出现了1台新的优先级更高的路由器,DR/BDR是不会重新选举的6. DR/BDR选举完成后,DRother只和DR/BDR形成邻接关系.所有的路由器将组播Hello包到AllSPFRouters地址224.0.0.5以便它们能跟踪其他邻居的信息,即DR将洪泛update packet到224.0.0.5;DRother只组播update packet到AllDRouter地址224.0.0.6,只有DR/BDR监听这详细说明如下:OSPF 路由器在完全邻接之前,所经过的几个状态:1.Down:初始化状态2.Attempt:只适于NBMA 网络,在NBMA 网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval 来发送Hello包3.Init:表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来4.two-way:双向会话建立(标准在对方发来的包中见到了自己的ID)5.ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DDSequence Number,接口等级高的的成为Master6.Exchange: 信息交换状态,本地路由器向邻居发送数据库描述包,并且会发送LSR用于请求新的LSA7.Loading:信息加载状态,本地路由器向邻居发送LSR用于请求新的LSA8.Full:完全邻接状态,这种邻接出现在Router LSA 和Network LSA中详细过程如下:Router#debug ip ospf adjOSPF adjacency events debugging is onRouter#*Mar 1 00:03:09.155: OSPF: end of Wait on interface FastEthernet1/0*Mar 1 00:03:09.155: OSPF: DR/BDR election on FastEthernet1/0*Mar 1 00:03:09.155: OSPF: Elect BDR 1.1.1.1*Mar 1 00:03:09.155: OSPF: Elect DR 1.1.1.1*Mar 1 00:03:09.155: OSPF: Elect BDR 0.0.0.0*Mar 1 00:03:09.159: OSPF: Elect DR 1.1.1.1*Mar 1 00:03:09.159: DR: 1.1.1.1 (Id) BDR: none*Mar 1 00:03:09.659: OSPF: No full nbrs to build Net Lsa for interface FastEthernet1/0*Mar 1 00:04:09.539: OSPF: 2 Way Communication to 192.168.7.1 on FastEthernet0/0, state 2WAY*Mar 1 00:04:09.543: OSPF: Neighbor change Event on interface FastEthernet0/0 *Mar 1 00:04:09.543: OSPF: DR/BDR election on FastEthernet0/0*Mar 1 00:04:09.543: OSPF: Elect BDR 192.168.7.1*Mar 1 00:04:09.543: OSPF: Elect DR 1.1.1.1*Mar 1 00:04:09.543: DR: 1.1.1.1 (Id) BDR: 192.168.7.1 (Id)*Mar 1 00:04:09.547: OSPF: Send DBD to 192.168.7.1 on FastEthernet0/0 seq 0x23B2 opt 0x52 flag 0x7 len 32*Mar 1 00:04:09.547: OSPF: Neighbor change Event on interface FastEthernet0/0 *Mar 1 00:04:09.551: OSPF: DR/BDR election on FastEthernet0/0*Mar 1 00:04:09.551: OSPF: Elect BDR 192.168.7.1*Mar 1 00:04:09.551: OSPF: Elect DR 1.1.1.1*Mar 1 00:04:09.551: DR: 1.1.1.1 (Id) BDR: 192.168.7.1 (Id)*Mar 1 00:04:09.551: OSPF: Neighbor change Event on interface FastEthernet0/0 *Mar 1 00:04:09.555: OSPF: DR/BDR election on FastEthernet0/0*Mar 1 00:04:09.555: OSPF: Elect BDR 192.168.7.1*Mar 1 00:04:09.555: OSPF: Elect DR 1.1.1.1*Mar 1 00:04:09.555: DR: 1.1.1.1 (Id) BDR: 192.168.7.1 (Id)*Mar 1 00:04:09.559: OSPF: Rcv DBD from 192.168.7.1 on FastEthernet0/0 seq 0x1E22 opt 0x52 flag 0x7 len 32 mtu 1500 state EXSTART*Mar 1 00:04:09.559: OSPF: NBR Negotiation Done. We are the SLA VE*Mar 1 00:04:09.559: OSPF: Send DBD to 192.168.7.1 on FastEthernet0/0 seq 0x1E22 opt 0x52 flag 0x2 len 52*Mar 1 00:04:09.639: OSPF: Rcv DBD from 192.168.7.1 on FastEthernet0/0 seq0x1E23 opt 0x52 flag 0x3 len 52 mtu 1500 state EXCHANGE*Mar 1 00:04:09.639: OSPF: Send DBD to 192.168.7.1 on FastEthernet0/0 seq 0x1E23 opt 0x52 flag 0x0 len 32*Mar 1 00:04:09.807: OSPF: Rcv DBD from 192.168.7.1 on FastEthernet0/0 seq 0x1E24 opt 0x52 flag 0x1 len 32 mtu 1500 state EXCHANGE*Mar 1 00:04:09.807: OSPF: Exchange Done with 192.168.7.1 on FastEthernet0/0 *Mar 1 00:04:09.807: OSPF: Send LS REQ to 192.168.7.1 length 12 LSA count 1 *Mar 1 00:04:09.807: OSPF: Send DBD to 192.168.7.1 on FastEthernet0/0 seq 0x1E24 opt 0x52 flag 0x0 len 32*Mar 1 00:04:09.811: OSPF: Rcv LS REQ from 192.168.7.1 on FastEthernet0/0 length 36 LSA count 1*Mar 1 00:04:09.815: OSPF: Send UPD to 192.168.1.2 on FastEthernet0/0 length 64LSA count 1*Mar 1 00:04:09.815: OSPF: Rcv LS UPD from 192.168.7.1 on FastEthernet0/0 length 64 LSA count 1*Mar 1 00:04:09.815: OSPF: Synchronized with 192.168.7.1 on FastEthernet0/0, st ate FULL*Mar 1 00:04:09.819: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.7.1 on FastEthernet0/0 from LOADING to FULL, Loading Done*Mar 1 00:04:09.931: OSPF: Rcv LS UPD from 192.168.7.1 on FastEthernet0/0 length 64 LSA count 1\*Mar 1 00:04:10.047: OSPF: Build router LSA for area 0, router ID 1.1.1.1, seq0x80000004*Mar 1 00:04:10.319: OSPF: Build network LSA for FastEthernet0/0, router ID 1.1 .1.1*Mar 1 00:04:10.319: OSPF: Build network LSA for FastEthernet0/0, router ID 1.1 .1.*Mar 1 00:04:15.347: OSPF: Rcv LS UPD from 192.168.7.1 on FastEthernet0/0 length 76 LSA count 1四: OSPF区域4.1 路由器类型1. Internal Router:内部路由器2. ABR(Area Border Router):区域边界路由器3. Backbone Router(BR):骨干路由器4. ASBR(Autonomous System Boundary Router):自治系统边界路由器4.2 Stub 区域限制a) 所有位于stub area的路由器必须保持LSDB信息同步, 并且它们会在它的Hello包中设置一个值为0的E位(E-bit),因此这些路由器是不会接收E位为1的Hello包,也就是说在stub area 里没有配置成stub router的路由器将不能和其他配置成stub router 的路由器建立邻接关系b) 不能在stub area中配置虚链接(virtual link),并且虚链接不能穿越stub areac) stub area里的路由器不可以是ASBRd) stub area 可以有多个ABR,但是由于默认路由的缘故,内部路由器无法判定哪个ABR才是到达ASBR的最佳选择4.3 虚链接是一个逻辑的隧道(Tunnel),配置虚链接的一些规则:1.虚链接必须配置在2 个ABR 之间2. 虚链接所经过的区域叫Transit Area,它必须拥有完整的路由信息3. Transit Area不能是Stub Area4. 尽口的避免使用虚链接,它增加了网络的复杂程度和加大了排错的难度详细说明:Stub过滤Type5LSA 并自动产生默认路由O*IA 但不过滤掉域间路由Stub-No Summary只放入Type 2&6类的路由,即域间路由被过滤掉,同时产生O *IA的默认路由NSSAASBR使用Type 7LSA 通告外部路由,路由条目由O E2改为O N2,NSSA 不会自动产生默认路由,除非加入area 2 nssa default-information-originate.且默认路由仅用在ASBR,ABR 上,产生一条O *N2的路由。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OSPF协议总结---By Joe&东东&校长OSPF的五个包:1.Hello:9项内容,4个必要2.DBD:数据库描述数据包(主要描述始发路由器数据库中的一些或者全部LSA信息),主要包括接口的MTU,主从位MS,数据库描述序列号等);3.LSR:链路状态请求数据包(查看收到的LSA是否在自己的数据库,或是更新的LSA,如果是将向邻居发送请求);4.LSU:链路状态更新数据包(用于LSA的泛洪扩散和发送LSA去响应链路状态请求数据包);5.LSACK:链路状态确认数据包(用来进行LSA可靠的泛洪扩散,即对可靠包的确认)。
Hello包作用:1.发现邻居;2.建立邻居关系;3.维持邻居关系;4.选举DR,BDR5.确保双向通信。
2.邻居关系为FULL状态;而邻接关系是处于TWO-WAY状态。
Hello时间间隔:在点对点网络与广播网络中为10秒;在NBMA网络与点对多点网络中为30秒。
注:保持时间为hello时间4倍虚电路传送的LSA为DNA,时间抑制,永不老化.OSPF的组播地址:DR将使用组播地址224.0.0.5泛洪扩散更新的数据包到DRothersDRothers使用组播地址224.0.0.6发送更新数据包组播的MAC地址分别为:0100.5E00.0005,0100.5E00.0006OSPF的包头格式:| 版本| 类型| 长度| 路由器ID | 区域ID | 验证和| 验证类型|验证| 数据| | 1 byte | 1 | 2 | 4 | 4 | 2 | 2 | 8 | variance |OSPF支持的验证类型:OSPF支持明文和md5认证,用Sniffer抓包看到明文验证的代码是“1”,md5验证的代码是“2”。
OSPF支持的网络类型:1.广播2.非广播3.点对点(若MTU不匹配将停留在EX-START状态)4.点对多点5.虚电路(虚电路的网络类型是点对点)虚链路必须配置在ABR上,虚链路的配置使用的命令是area transit-area-id virtual-link router-id虚链路的Metric等同于所经过的全部链路开销之和DR /BDR选举:1.优先级(0~255; 0代表不参加选举;默认为1);2.比较Router-id。
次者为BDR。
在Point-to-Point, Point-to-Multipoint(广播与非广播)这三种网络类型不选取DR与BDR; Broadcast, NBMA选取DR与BDR。
先启动OSPF进程的路由器会等待一段时间,这个时间内你没有启动其它路由的OSPF进程的话,第一台路由就认为自己是DR,之后再加进来的也不能在选举了,这个等待时间叫做Wait Timer计时器,CISCO规定的Wait Timer是40秒。
这个时间内你启动的路由是参与选举的,所以真实工作环境中,40秒你大概只启动了两台,DR会再前两台启动的路由中产生,工作一段时间以后,活的最久的路由最有可能成为DROSPF over FRAME-RELAY 的配置:(1) NBMA : 在HUB上指定邻居;SPOKE上设置优先级为0。
(2) P-TO-P: 接口下配置命令ip ospf network point-to-point。
(3) P-TO-MULT P:接口下配置命令ip ospf network point-to-multipoint。
按需电路配置:接口下配置命令ip ospf demand-cricuit。
孤立区域问题解决:1.虚电路(虚电路穿过的区域一定是标准区域,标准区域一定是全路由的)2.隧道3.多进程重分发注:如果中间间隔区域为stub区域,则只能用隧道解决.OSPF分区域的原因:1.LSA数据过大,造成带宽负载过大。
2.计算全网拓扑,对cup要求过高。
3.数据库过大,对内存要求过高。
OSPF的区域类型:骨干: LSA:1 2 3 4 5标准: LSA:1 2 3 4 5stub: LSA1 2 3nssa: LSA1 2 3 7 7(default)AREA 1 NSSA DEFAULT INFORMATION-ORIGINATE(ABR上产生默认路由LSA 7)total-stub: 1 2一条默认3total-nssa: 1 2 7一条默认3LSA的类型:类型1: 路由器链路信息内容包括:路由器链路Router-id; 接口地址; 接口网络; 接口花费可使用show ospf database router命令查看。
类型2: 网络链路信息由DR通告,如果是点对点的网络类型,没有LSA2类型3、4:汇总链路(都是ABR通告)3号通告ospf区域间信息4号通告asbr的router-id信息(通告nssa区域的abr)类型5:通告外部路由类型7:nssa区域外部路由OSPF邻居建立过程:A-------------------------Bdowninit B收到A 发来hello进入init状态two way hello 4个“*”匹配,选举DR BDR ;A在hello中发现自己的Router-id;exstart 交换DBD;确立主从关系(多路访问Router-id高为主,低为从; 串行接口下接口地址大的为主)exchange 交换数据DBD(主的先发)loading 交换完整数据包LSR LSUfull注:每个LSA由序列号确认为最新的更新。
当路由器收到LSA之后的处理过程:(1)如果数据库有这样的,再查看序列号,如果序列号相同,忽略这条LSA;如果序列号偏大,将其转到数据库,并进行SPF,更新路由表;如果序列号偏小,将一个包含自己的LSA新信息发送给发送方。
(2)如果数据可没有这样的,将其加到数据库表,并发一个ACK返回,并运行SPF,更新路由表。
‘OSPF的Metric值:Cost=10的8次方/带宽,简便记做100Mb/带宽值。
Metric值是由cost值逐跳累加的。
环回口的路由,掩码为/32,既我们所说的“主机路由”。
在实际应用中,环回口以32位的居多,用作ospf的管理接口。
但是如果你想让环回口模拟一个网段,我们可以通过以下配置来消除。
R1(config)#int loopback 0R1(config-if)#ip ospf network point-to-point环回口只能配置成point-to-point这种类型,不可以配置成其它的类型。
其他:1.当一个路由器既是ABR又是ASBR时为了不让巨量外部路由分发进nssa区域使用命令:area 1 nssa no-redistribution default-information originate2.配置命令show ip ospf database router用来查询拓扑3.一个路由器在理论上支持65535个OSPF进程,在实际环境中一个路由器可支持的OSPF进程数量与其可用物理接口数量相等。
(这个我对老师说的有疑问,如果我启用了很多环回口,每个环回口一个区域不可以吗?)OSPF汇总在OSPF骨干区域当中,一个区域的所有地址都会被通告进来。
但是如果某个子网忽好忽坏不稳定,那么在它每次改变状态的时候,都会引起LSA在整个网络中泛洪。
为了解决这个问题,我们可以对网络地址进行汇总。
Cisco路由器的汇总有两种类型:区域汇总和外部路由汇总。
区域汇总就是区域之间的地址汇总,一般配置在ABR上;外部路由汇总就是一组外部路由通过重发布进入OSPF中,将这些外部路由进行汇总。
一般配置在ASBR上。
区域汇总:area area-id range ip-address mask外部路由汇总:summary-address ip-address mask我设计的两个试验,把几个知识点串起来试验一用一个试验总结一下ospf over 桢中继的时候,OSPF几种网络类型的差别。
封装好FR,DEBUG看到的几种情况情况一:两边只起了OSPF进程,其它全部默认这种情况下邻居需要手动配置!R2(config)#router ospf 10R2(config-router)#neighbor 12.1.1.3选举了DR,BDRhello的间隔是30sOSPF的数据包是单播传送的。
情况二:两边的网络类型改为Broadcast(命令接口下ip ospf network broadcast)这种网络类型下是不需要手动配置邻居关系有DR与BDR的选举。
Hello时间间隔为10s。
使用224.0.0.5这个组播地址传送数据包。
情况三:网络类型改为Point-to-Point(命令接口下ip ospf net point-to-point)不需要手动指定邻居没有DR/BDR的选举Hello时间间隔为10s使用224.0.0.5这个组播地址传送数据。
情况四:Point-to-Multipoint(命令接口下ip ospf network point-to-multipoint)不需要手动指定邻居没有DR和BDR的选举Hello时间间隔为30s以224.0.0.5这个组播地址发送数据情况五:非广播的Point-to-Multipoint(命令接口下ip ospf network point-to-multipoint non-broadcast)邻居需要手动指定,但是邻居只要在一边指定即可。
没有DR和BDR的选取Hello时间间隔为30s使用单播传送OSPF数据列出一张表,方便看网络类型邻居自动发现有无DR选举Hello间隔传输方式默认否有30s 单播Broadcast 是有10s 组播Point-to-Point 是无10s 组播Point-to-Multipoint 是无30s 组播Point-to-Multipoint(非广播) 否,单边指即可无30s 单播试验二OSPF的认证总结:OSPF的认证有2种类型(不验证也算的话是3种),使用DEBUG可以看到type0表示无认证,type1表示明文认证,type2表示MD5认证。
明文认证发送密码进行认证,而MD5认证发送的是报文摘要。
OSPF的认证可以在链路上进行,也可以在整个区域内进行认证。
另外虚链路同样也可以进行认证。
同样也是分情况来讨论。
情况一:R1和R2明文验证R1(config)#int s1/0R1(config-if)#ip ospf authentication(启用认证)R1(config-if)#ip ospf authentication-key cisco(配置密码)不配置R2的话通过debug工具我们可以看到如下信息:*Aug 15 22:51:54.275: OSPF: Rcv pkt from 10.1.1.2, Serial1/0 : MismatchAuthentication type. Input packet specified type 0, we use type 1这里的type0是指对方没有启用认证,type1是明文认证。