OSPF:它是四层协议,协议字段值89
邻接关系为7级,才能彼此传递LSA
LSA分为多种类型,OSPF度量值就是COST
区域内的每台路由器都有相同的拓扑结构
层次结构设计的要素:
多区域的时候必须有区域0,而且其他非0区域必须与区域0相连
层次化的有点:
1、减少路由的条目
区域内不能自动汇总,但可以手动汇总或聚合,但不能在区域内汇总或聚合
域间LSA不是拓扑信息,而是路由信息,域间和域×××总
只能对路由信息进行汇总
2、将拓扑变化的影响局限在一个区域内
3、特定的LSA只能在特定区域内泛洪
LSA基于泛洪机制来传播
不同的LSA在不同的范围内的传输
4、划分区域,实现优化LS协议
骨干路由器:BACKBONE ROUTER
边界路由器:ABR(area border router)
非骨干区域必须连入骨干区域
在MA网络中,为什么需要选举DR和BDR呢?
因为如果在MA网络中有多个路由器的话,就有N多个邻接关系
为了减少负载,就让DR和BDR与非DR形成链接关系,而非DR之间是不能形成邻接关系
SPF特点:
1、完全一致的LSDB
2、以自己为根来计算路径,开销基于带宽(使用分段带宽)
10^8/带宽(bps) 然后将开销值相加
OSPF的五种报文:
1、Hello报文,时间间隔为10秒或30秒,dead时间是hello时间的4倍
2、LSU,该更新报文包含若干个LSA完整报文
3、LSR,是更新查询报文
4、LSAck,确认报文
5、DBD(database description)
OSPF周期发送更新间隔是30分钟一次,当然也支持触发更新
LSDB的老化时间,缺省为60分钟
序列号是用来唯一标识一个LSA,越大越新
范围是:0x8000 0001(min)--0x7fff ffff(max)
DBD:包含LSA的报头,也就是LSA摘要。然后基于需求发送所需的LSA
LSR:就是知道了DBD了后,需要哪个LSA,就发送此报文,来告诉你需要哪个LSA
LSU:包含多个完整的LSA信息
LSAck:用来进行确认。
Hello报文不需要确认,DBD需要确认,但不是LSAck来确认。而是基于序列号确认,就是你收到哪个序
列号报文,然后再回复相同的序列号报文回复,这就是确认。
LSU需要确认,用LSAck来确认。有多少条LSA,就回复多少条LSAck。
OSPF报文格式:
1、version :版本2用来支持IPV4,版本3用于IPV6
2、type:就是指出OSPF报文的类型
3、报文长度:连同报头整个报文的长度
4、RID:OSPF域内唯一的路由器ID,点分十进制表示,仅作为标识
第一步是手工配置,在所有up,up的环回口选举最大的IP地址,其次就是物理接口up up最大的IP地
址。可以用于LSA的标识,EIGRP中不行。还可做DR和BDR选举的参数
5、区域ID:也是32位
6、校验和:
7、认证类型:0不认证,1明文认证,2密文认证
HELLO报文里的字段:带*为创建邻居的必备关系
1、RID
2、hello时间间隔和dead时间间隔,OSPF的hello发送间隔的时间取决于网络类型(六种)*
3、neighbor RID
4、area ID*
5、路由器优先级
6、DR的IP地址
7、BDR的IP地址
8、认证密钥*
9、末节区域标记*
邻接关系建立的过程:down--init--two-way--exstart--exchange--loading--full
发送第一个hello后,就进入init
接收方再发送一个hello回复,就进入two-way状态,这个two-way状态是第一个发送方,因为它接受到
hello报文看到了自己的RID,所以就是two-way状态
MA网络类型进入two-way,开始要选举DR和BDR
exstart状态发送第一份DBD firstDBD,和常规的DBD有点不同,相互交换2-3个DBD,为了选举主/从关
系,因为主路由器是用来发送DBD,所以需要选举,谁的RID高,谁就是master
DBD中flag格式:i+m+m/s i 是否第一个DBD m more master/slaver
如果网段的MTU的字段值不同的话,将会一直停在exstart状态
可以开启高级特性,让彼此忽略mtu,接口模式命令如下:ip ospf mtu-ignore
exchange 主路由带头发送正常的DBD,彼此协商完后,当DBD不一致的时候,发送LSAck进行确认。
loading就是交换LSA,LSA同步后,进入full状态
debug ip ospf packet
debug ip ospf adjacency
clear ip ospf press 清除ospf进程数据
ospf修改hello时间后,dead和wait时间都会自动修改为hello时间的4倍
但修改dead或wait时间后,hello时间不会自动改变
环回接口IP地址宣告进OSPF进程,自动将环回口处理为一个末节主机来处理,防止路由黑洞
你想得到正常的IP网络的掩码,可以使用这个命令:ip ospf network point-to-point
DR、BDR的选举原则:
1、比较MA网络的OSPF优先级,越高越好(0-255),缺省为1
2、MA网段的RID,越高越好
这段时间就是wait时间
接口模式下的输入如下命令:ip ospf prority 10 修改优先级,但是如果DR和BDR已经选举了
那么它们就是不可抢占,即使优先级高也没用。除非清除ospf进程
如果优先级为0的话,就不可能成为DR或BDR
DR和BDR是基于一个MA网段进行选举的
在帧中继中,HUB节点就是DR,不能有BDR
总结:
一台运行OSPF的路由器,只要在一个接口开启了OSPF进程,则该接口会立即监听发往224.0.0.5的
组播流量,而仅当一个节点成为DR或BDR时,该接口才会同时监听发往224.0.0.5和224.0.0.6的
组播流量
在一个MA网段内,所有路由器发送给DR和BDR的报文的目的地址都是224.0.0.6
而DR将LSA整合之后,以224.0.0.5的地址发送给网段内的其他路由器