目录
OSPF:开放最短路径优先,属于动态路由协议,IGP协议,链路状态路由协议
OSPF不同网络类型是否能够建立邻居关系?*(关键是hello报文)
OSPF:开放最短路径优先,属于动态路由协议,IGP协议,链路状态路由协议
路由协议:
按照工作范围:
IGP:内部网关协议,AS内部使用的协议
EGP:外部网关路由协议,AS和AS之间使用的协议
AS:自治系统,由统一机构管理,使用同一选路策略的域
OSPF的特点:
1.无环,域内使用SPF算法
2.收敛快,支持触发更新和周期性更新(1800s),先发送再更新
3.扩展性好,支持划分区域,区域0为骨干区域,其余为非骨干区域
4.支持认证,不认证,接口认证和区域认证(明文认证和MD5认证)
OSPF的工作原理:
1.建立OSPF邻居关系的路由器相互泛洪LSA(链路状态信息)
2.所有的LSA构建LSDB(链路状态信息库)
3.根据LSDB,通过SPF算法计算去往每个节点的最短路径
4.经过路由优选加入路由表
Router-ID:
在OSPF网络中唯一标识一台路由器,和IP地址一样的表示方式(点分十进制)
可以手工配置和自动选举
手工配置:
分为进程下配置和系统下配置,进程下配置只有这个进程使用这个RID,系统下配置所有进程都使用
自动选举:
如果没有手工配置则自动选举,先选环回口地址最大的,没有环回口地址则选物理接口地址最大的
RID一致产生的问题:
处于相同区域:
1.两个设备直连:邻居关系无法建立
2.两个设备非直连:可以建立邻居关系,但是会频繁发布和撤销路由
处于不同区域:
正常情况下没有问题,如果RID相同的路由器引入外部路由就会有问题
*OSPF封装在IP头部之后,使用协议号89,分为头部和数据部分
OSPF报文参数
version:版本,OSPFV2,OSPFV3
type:报文类型,(hello ,DD,LSR,LSU,LSACK)
packet length:报文长度,表示整个OSPF报文的大小
Router ID:产生该报文的ospf路由器ID
AREA ID:区域ID,表示报文传递的范围
checksum:校验,校验OSPF报文,包括头部
auth type :认证类型,0不认证,1明文认证,2MD5认证
auth data:根据认证方式不同携带的数据不同
OSPF的报文类型:
hello报文:用来发现,建立,维护邻居关系
DD报文:用来协商主从关系以及判断LSDB是否同步
I(起始位):如果置位1,表示第一个DD报文
M(后继位):如果置位1,表示后续还有DD报文
MS(主从位):如果置位1,表示自己为主设备
LSR报文:请求自身缺少是LSA
LSU报文:携带完整的LSA信息
LSACK报文:确认报文
OSPF的状态机:
DOWN:
开始发送hello报文
attempt:
NBMA网络独有,发送hello报文,但是没有收到回应120秒后回到down状态
INIT:
发送hello报文,也收到了邻居的hello报文,但是邻居hello报文的邻居列表没有自己的RID
2-way:
收到了hello报文,并且邻居携带了自己的RID,表示邻居关系建立完成(此状态选举DR,选举时间40s)
Exstart:
开始发送第一个DD报文,选举主从关系,协商MTU(华为默认不协商)
主MTU>从MTU,两者都处于EXstart状态
主MTU<从MTU,主设备处于Exstart状态,从设备处于Exchange状态
EXchange:
发送后续DD报文,携带LSDB摘要,用来判断LSDB是否同步
loading:
如果没有同步,进入此状态发送LSR,LSU,LSACK,同步LSDB
Full:
LSDB同步完成,建立邻接关系
DR
DR:指定路由器
BDR:备份指定路由器
DR和BDR指的是接口
选举规则:通过路由器优先级0-255,默认1,0不参与选举,越大越优,优先级相同比较RID,越大越优
作用:减少邻接关系,描述网络拓扑,简化网络结构
OSPF支持的网络类型:
broadcast:广播网络,当底层为以太网时,默认为广播类型,选举DR,hello时间10s,dead时间40s
组播发送hello,LSU,LSACK,单播发送DD,LSR
NBMA(需要手动指定邻居):非广播多路访问,当底层是FR,ATM时,默认是NBMA网络,选举DR,hello时间30s,dead时间120s.
单播发送所有报文(hello,DD,LSU,LSR,LSACK)
P2P:点到点,当底层为PPP,HDLC时,默认网络为P2P,不选举DR,hello 10s,dead 40s,
组播发送所有报文(hello,DD,LSU,LSR,LSACK)
P2MP,点到多点,没有任何一种底层协议认为是P2MP,只能手动修改,不选举DR,hello30s,dead120s.
组播发送hello,单播发送DD,LSU,LSR,LSAC
OSPF不同网络类型是否能够建立邻居关系?*(关键是hello报文)
NBMA--*:只能与相同网络类型正常建立,与其他网络类型无法建立(只有NBMA网络是单播发送hello)
P2P-P2MP:修改hello时间可以建立
MA-P2P:可以建立
MA-P2MP:修改hello时间可以建立
LSA头部参数:
LS age: LSA的老化时间,0s-3600s,3600s表示老化
options:可选项,用来表示OSPF特性
LS type:LSA的类型(1,2,3,4,5,7)
link State ID: 链路状态标识,根据LSA的类型不同表示的内容不同
ADV router:通告者路由器,表示这条LSA是由哪个 路由器产生的,用路由器的RID表示
LS Seq:链路状态信息序列号,初始为0x08000001->0x08FFFFFF->0X07000000->0X07FFFFFF,每 更新一次加1
LS checksum:链路状态信息校验
Length:长度大小
唯一标识一条LSA:
LS type +LS ID+LS ADV
比较LSA新旧:
LS Age+LS Seq+LS checksum
(先比较序列号,越大越优,序列号相同比较检验和,越大越优,前两者相同比较老化时间,,3600s为最优,其次比较两者之差,小于900s表示一样优,大于900s则越小越优)
Router LSA:一类LSA
运行OSPF的每台路由器都会产生
LS ID :产生者的RID
ADV:产生者的RID
一类LSA可以描述4种链路类型:
P2P:用来描述点到点网络的拓扑信息,(P2P,P2MP)
link ID:点到点邻居的RID
link data:产生该LSA接口的IP地址
TransNet:用来描述一个传输网络(MA/NBMA),描述连接到一个DR
link ID:DR接口的IP地址
link data:产生该LSA接口的IP地址
SutbNet:用来描述末节点网络以及P2P网络的路由信息(没有建立ospf关系的属于末节点网络,如连接终端,环回口)
link ID:网络IP
link data:掩码
Virtual Link:用来描述虚连接
link ID:虚连接邻居的RID
link Data:自己接口的IP地址(去往虚连接的邻居)
*在点到点环境下,一类LSA就可以完全描述拓扑及路由信息(P2P+StubNet),在MA网络环境下,一类LSA只描述了拓扑信息(TranNet),还需要二类共同描述
Network-LSA :二类LSA
由DR产生,可以描述MA网络环境下的路由及拓扑信息
LS ID :DR的接口IP地址
ADV:产生者的RID
一类及二类的相关参数:
Type : Router #LSA类型为一类
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 180
Len : 48
Options : E
seq# : 80000016
chksum : 0x95ad
Link count: 2 #链路数量
- Link ID: 1.1.1.1
Data : 192.168.1.2
Link Type: P-2-P #link类型为P2P
Metric : 1 #开销
- Link ID: 192.168.1.0
Data : 255.255.255.0
Link Type: StubNet #链路类型为stubnet
Metric : 1
Priority : Low
Type : Network#LSA类型为二类
Ls id : 10.1.134.1
Adv rtr : 1.1.1.1
Ls age : 1717
Len : 36
Options : E
seq# : 80000004
chksum : 0xc6d5
Net mask : 255.255.255.0 #网络掩码
Priority : Low
Attached Router 1.1.1.1 #连接的路由器由RID表示
Attached Router 3.3.3.3
Attached Router 4.4.4.4
IR:区域内部路由器,完全属于一个区域内部
ABR:连接了两个及两个以上的区域,并连接了骨干区域
ASBR:自治系统边界路由器,连接了不属于OSPF的网络
Network Summary-LSA:三类LSA
用来描述区域间的路由信息(描述路由)
LS ID :目的网络号
ADV router:产生该LSA的ABR的Router ID
*一条三类只能描述一条路由
区域间防环机制:
1.划分一个骨干区域,其余都为非骨干区域
2.非骨干区域必须连接到骨干区域
3.非骨干区域之间的访问必须经过骨干区域(三类LSA必须经过骨干区域)
4.从一个区域传递出来的三类LSA不能再传回去
虚连接:解决骨干区域不连续的问题(非骨干区域没有连接到骨干区域)
*虚连接只能跨越一个非骨干区域
AS External-LSA :五类LSA用来描述外部路由信息
LS ID:外部路由目的网络号
ADV router :ASBR的RID
*一条五类描述一条外部路由
*与ASBR处于同一区域的路由器可以通过区域内一类二类LSA找到ASBR的位置,所以直接通过五类LSA就可以访问外部路由,但其他区域的路由器没有ASBR的位置信息,只有五类LSA其他区域无法访问外部路由
ASBR Summary-LSA:四类LSA
用来描述ASBR的位置
LS ID:ASBR的RID
ADV router:产生该LSA的ABR的RID
外部路由类型:(缺省type-2)
type-1:一类外部,可信度高,计算AS外部开销加AS内部开销
type-2:二类外部,可信度低,只计算AS外部开销
*AS内部开销为内部设备到ASBR的开销,AS外部开销为ASBR到达外部路由开销(默认外部开销为1)
修改外部路由类型:
import-route static type 1
OSPF的路由优先级:
区域内路由>区域间路由>一类外部>二类外部
有四类LSA一定有五类LSA吗?
不一定,华为的OSPF路由器只要执行了引入动作,其一类LSA的ASBR比特位就会置位,但是没有明细的路由,也没有对应的五类LSA,对于ABR来说,通过本区域的一类LSA的ASBR比特位判断出现了ASBR,会向其他区域产生四类LSA描述ASBR
有五类LSA一定有四类LSA吗?
不一定,如果只有ASBR所在的单个区域,不需要四类描述ASBR(ASBR所在区域没有四类LSA)
OSPF区域分为两类:
传输区域:不仅承担源IP/目的IP为本区域的数据,还需要承担源目IP不为本区域的数据(骨干区域)
末端区域:只需要承担源ip/目的IP为本区域的数据(非骨干区域)
OSPF特殊区域:
Stub 区域:
不允许四类、五类LSA进入,传递一类、二类、三类明细以及一条三类缺省LSA(用来访问外部路由)
totally Stub 区域:
不允许三类明细、四类、五类LSA进入,传递一类、二类以及一条三类缺省LSA(用来访问区域间路由及外部路由)
NSSA区域:
不允许四类、五类LSA进入,传递一类、二类、三类、,七类以及一条缺省七类LSA(用来访问其他区域的外部路由)
totally NSSA区域:
不允许三类明细,四类,五类LSA进入,传递一类、二类、七类,一条三类缺省LSA和一条七类缺省LSA(缺省三类用来访问区域间路由,缺省七类用来访问其他区域外部路由)
*NSSA区域访问外部路由通过七类LSA(访问本区域引入的外部路由用七类明细,访问其他区域引入的外部路由使用七类缺省)
Stub 区域(包含stub和totally stub)和NSSA区域的差别:
stub区域不可以引入外部路由,NSSA区域可以,但是都不允许四类、五类LSA进入,所以NSSA区域产生了七类LSA,用来描述本区域引入的外部路由
NSSA LSA :七类LSA
用于描述NSSA区域的外部路由
LS ID :外部路由目的网络号
ADV router:NSSA区域ASBR的RID
七类LSA只允许在NSSA区域内传递,其他区域无法学习到NSSA区域的外部路由需要有NSSA区域的ABR将从NSSA区域学习到的七类LSA转换为对应的五类LSA传递到其他区域(七转五),对于其他区域来说,进行七转五动作的ABR就是ASBR,与该ABR不在同一区域的设备还需要对应的四类LSA
类型 | LS ID | 产生者 | 传递范围 | 作用 |
router-LSA | 产生者的RID | 每个运行了OSPF的路由器 | 区域内 | 描述P2P环境的路由及拓扑信息,描述MA网络的拓扑信息 |
Network-LSA | DR接口的IP地址 | DR所在的路由器 | 区域内 | 描述MA环境下的路由信息和拓扑信息 |
Network summary-LSA | 目的网络号 | ABR | 区域间/区域内 | 描述区域间路由信息 |
ASBR summary-LSA | ASBR的RID | ABR | 除了ASBR所在区域和特殊区域外的所有区域 | 描述ASBR所在位置 |
AS External-LSA | 目的网络 | ASBR | 除了特殊区域外的所有区域 | 描述外部路由信息 |
NSSA-LSA | 目的网络 | NSSA区域的ASBR | 只在NSSA区域传递 | 描述NSSA区域的外部路由信息 |
路由汇总:
区域间路由汇总:针对三类LSA,在ABR上面配置,减少三类LSA产生
外部路由汇总:针对五类LSA/七类LSA,在ASBR上面配置,减少五类LSA/七类LSA的产生
命令:
abr-summary汇总后网段(区域视图)
asbr-summary 汇总后网段(进程视图下)
静默接口:
silent-interface,当ospf的接口连接的是非路由器设备,不需要建立OSPF的邻居关系,发送OSPF报文会占用链路和设备资源,此时可将该接口设置为静默接口
特点:
不会接受/发送任何OSPF报文,但此接口的直连路由依旧可以发布给其他OSPF邻居
认证
接口认证:
对这个接口下连接的设备进行认证,认证通过才能正常建立邻居关系
区域认证:
对整个区域的路由器进行认证,其认证模式,认证密码等都需要相同(MD5的key id也需要相同)
配置命令:
区域认证方式:一个OSPF区域中所有的路由器在该区域下的认证模式和口令必须一致。
接口认证方式:相邻路由器直连接口下的认证模式和口令必须一致。
接口认证:
#接口认证 [R2]interfaceGigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher Huawei
#区域认证 [R2]ospf [R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]authentication-mode simplecipher Huawei