OSFP笔记
IP笔记
IGP
(内部
网关
协议
)是在一个自治
网络
内
网关
(
主机
和
路由器
)间交换
路由
信息的
协议
。
路由
信息能用于
网间协议
(
IP
)或者其它
网络协议
来说明路由传送是如何进行的。IGP
协议
包括RIP、OSPF、IS-IS、IGRP、EIGRP。
OSPF中环回接口默认是32位需要把类型设置成广播才可以传播
环回接口默认是P2P类型
OSPF协议,工作在网络层之上,而IP协议本身不负责数据传输的可靠性,所以针对OSPF协议来说,而需要单独设计报文传输的可靠性机制。
LSA存放在LSDB数据库中
hello报文 用于协商 维护建立OSPF邻居
DD报文 用于交互LSA的摘要信息
LSR报文 用于请求一条LSA
LSU报文 用于发送LSA的详情信息=信息内容
LSACK报文 用于对接受到LSA进行确认
Stubnet =1类的为节点的链路状态信息
Transit=二类广播学习到的链路状态信息
inter-area=区域间路由信息,是三类LSA学习来的
Type2=区域外部路由信息,是ASBR通告的五类LSA
OSPF的header头部信息内容 抓包查看
Version :用于描述当前OSPF的协议版本
Message Type:用于描述当前OSPF的报文类型
Source OSPF Router:用于描述发送该Hello报文的路由器的Router-ID
Area ID: 用于描述发送该OSPF报文的接口在那个区域
Checksum: 校验和,用于保证报文的完整性 (后期可以判断新旧LSA)
Auth Type :认证类型 Null为空
Auth date : 认证数据
Network Mase : 用于描述发送该Hello报文的路由器接口掩码长度
Hello Interval :用于描述自身发送该hello报文的时间间隔
Router Priority: 用于发送该OSPF的报文接口的DR优先级
Router Dead : 描述接口的失效时间
Designtted Router :指定路由器,用于描述该链路上的DR,和DR的接口IP地址
Backun DR : 备份指定 ,用于描述该链路上的BDR,和BDR的接口IP地址
Active neighbor : 代表谁发送hello包,谁就在列表里
OSPF邻居建立条件
- 版本一致
2,Router-ID不能冲突
3,区域ID一致
4,认证类型和认证密码一致
5,两端接口IP要求在相同段
6,两个接口掩码要求相同
7,Hello发送时间间隔一致
8,Dead时间一致
OSPF如何保证报文传输可靠性
邻居建立三次握手,重传机制,LSR,LSU,LSACK的显示确认机制,DD报文的隐式确认
为什么需要DD报文?
主要作用是为了实现按需同步。
DD报文传输的可靠性如何确保?
在Exstart互相发送空的DD报文,用于选举主从关系,从设备会跟随主设备DD序列号,当主设备收到从设备DD序列号之后,将会把SEQ+1发送自己的DD报文给从设备,从设备收到SEQ+1的DD报文判断,先前自身发送的DD报文到主设备已经收到。
主从选举之后,由从设备将邻居角色转为exchange状态,先发送带有LSA摘要信息的DD报文
DR主从选举方式
DR和BDR的选举 注DR选举时间一般为40s
注意:DR选举的话会从最开始配置的那个路由器开始选举DR,第二个则是BDR,DR选举出来后一般不会改变,会一直保持下去,除非DR路由器DOWN了则BDR会代替成为DR,
而BDR则变成rou-id大的来选举
注:重启设备情况下 每一个含有至少两个路由器的广播类型网络或NBMA类型网络都会选举一个DR和BDR,选举规则是首先比较DR优先级,优先级高者成为DR,次高的成为BDR。如果优先级相等,则Router-ID数值高的成为DR,次高的成为BDR 。如果一台路由器的DR优先级为0,则不参与选举。需要注意的是,DR是在某个广播或者NBMA网段内进行选举的,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。
若DR、BDR已经选举完毕,人为修改任何一台路由器的DR优先级值为最大,也不会抢占成为新的DR或BDR,即OSPF的DR/BDR选举是非抢占的
在NBMA=广播类型网络中,如果网络中有多台网络设备,任意两台都需要建立邻居关系,
要建立n+n的路由器关系会大大的降低路由器的速率,在传输中用DR作为媒介只需要从DR用组播的方式转发到需要的邻居上会节省很多。
OSPF建立状态
DOWN状态=代表OSPF没有发现任何邻居
Init 状态=代表发现了OSPF邻居。
2-WAY:=收到了OSPF邻居的Hello报文,并且发现了对方的邻居列表中有我自己的rou-id
Exstart:=用于发送空的DD报文,互相进行主从选举。
Exchange:=当主从=主=DR 从=BDR 关系确认后,进入到Exchange状态发送带有LSA摘要=数据 信息的DD报文
Loading:=当收到了对方的DD报文之后,同时发现了M=0,将会进入到loading状态请求自身没有的LSA。
Full:=当自身收到列表中,所有待接收的LSA,对方都发送过来之后,将会进入到确认状态。
OSPF LSDB交互原则
互相交互自身没有的LSA,以及使用新的LSA,替换旧的LSA。
每个启用OSFP的路由器,都会用一类LSA描述自身所有OSPF的接口 所有每个OSPF里面都必须会有一类LSA
OSPF类型分别
Router=1类LSA
Transnet类型=广播网络中产生的一个,邻居建立的接口状态,
P2P类型=点对点简单来说就是直连类型,不用广播和组播形成邻居关系
Stubnet类型
Virtual类型=虚链路类型,简单来说用一个不存在的逻辑接口来实现OSPF的邻居建立
network=2类LSA
Summary=3类LSA
asbr-summary=4类LSA
External=5类LSA
Nssa-external=7类LSA
1,LSA的类型 Type
2, LSA的链路状态ID Link State ID
3, LSA的通告者 Avd Router
判断一个唯一的LSA
LSA的三要素 :
1,LSA的类型 Type
2, LSA的链路状态ID Link State ID
3, LSA的通告者 Avd Router
OSPF四种接口处网络类型
注:死亡时间的意思是,在规定的时间没有重新发送hello报文,就认定该路由以及down状态 就取消掉这条路由,无法建立邻居
1. P2P=点对点
P2P指的是“点对点”网络,典型的P2P网络如PPP链路和HDLC等。在P2P网络只能是一根网线连接了双方,不存在第三方。P2P网络没有DR和BDR的选举过程,因此能够加快OSPF邻居关系建立。为了加快OSPF邻接关系的建立过程,有时也可以把网络对端只有一个
路由器
接口的情景配置为P2P。注 P2P不用进行主从选举、
在P2P网络中,以组播方式发送OSPF报文,所有报文目的IP地址(组播)224.0.0.5,缺省情况下,每隔10s钟发一次Hello报文 死亡时间40秒
- BMA=广播网络类型
BMA网络,即Broadcast Multi-Access,广播网络。典型的BMA网络如以太网。
在BMA网络中,Hello报文、LSU报文、LSA报文以组播方式发送,DD报文、LSR报文以单播方式发送。缺省情况下,BMA网络每隔10s钟发Hello报文。死亡时间是40秒
- NBMA=非广播-多路访问网络
NBMA(非广播多路访问网络)是
OSPF
(开放最短路径优先)通信协议中四种网络的一种。NBMA用于精确模型X.25和帧中继环境,这些模型不具备内部广播和多点传送能力。其他的OSPF网络类型有:广播、点对点和点对多点。在NBMA设置里,OSPF一次只发送一个呼叫包(在路由器间周期性发送的建立和确认临近关系的包)而不是多广播是的发送给他们。
Hello报文时间是30秒,死亡时间是120秒
- P2MP=点对多点网络类型
P2MP,即Point-to-Multipoint,点对多点网络。并没有什么典型的点对多点网络情景,P2MP有点类似于将多条P2P链路捆绑得到的网络。P2MP网络必须要在配置OSPF时手工配置。
P2MP网络不会选举DR和BDR,以组播的方式发送Hello报文,以单播的方式发送其他报文。缺省情况下,Hello报文的间隔时间为30s。死亡时间是120秒
、
缺省路由
缺省路由又称为默认路由,是一种特殊的静态路由,目的地址与掩码配置为全零(0.0.0.0 0.0.0.0)。当路由表中的所有路由都选择失败的时候,为使得报文有最终的一个发送地,将使用缺省路由。配置为ip route-static 0.0.0.0 0.0.0.0 x.x.x.x 作用就是所有路由都往这下一跳走
缺省路由通常用相同的处理方式把报文指向另一个路由器。如果有其他路由匹配,则按照该路由规则转发相应的报文,否则该报文将被转发到该路由器的缺省路由。这个过程不断重复,直到一个数据包被传递到目的地。设备的缺省路由通常被也称为默认网关,它经常提供如数据包过滤,防火墙或代理服务器等功能
如何LSA的新旧判断
首先就是比较LSA 的序列号,LSA初始的序列号为0×80000001,每次OSPF更新都会+1
2,当序列号相同时,将会比较检验和,越大越优
3,当校验和相同,将会比较LSA的 老化时间 age的时间。
①首选age等于3600s用于删除一条老化的LSA
②如果两条LSA的age时间相差900s,将会选择age数值小的LSA。就是新的
③如果两条LSA的age时间相差小于900s,将会认为相同,保持原有不限。
OSPF的更新机制
触发更新:当链路状态发生改变之后OSPF将会触发更新,比如开销变了,网段变了,掩码变了,取消宣告
周期更新:每个OSPF路由器自身产生的LSA.都会每隔30(1800s)分钟周期更新一次。
更新后将SEQ+1 校验和重新计算,age时间恢复初始值
OSPF的老化机制:
OSPF路由器每产生一条LSA,都会存在一个age时间为3600S,初始值1,当age时间递增到3600s之后,将会认为LSA老化,从自身LSDB中删除此LSA,然后在新增一条新的LSA
OSPF的删除机制
当OSPF需要删除一条LSA的时候,将会把LSA的age时间设置为3600s,当其他路由器接收到这条LSA后,将会把自身的LSDB里面的这条LSA删除掉。
FA转发地址
什么情况下会产生FA转发地址
- ASBR路由器去往外部路由的出接口被宣告进OSPF
- ASBR路由器去往外部路由的出接口没有配置为静默接口
- ASBR路由器去往外部路由的出接口不能是P2P
注:并不需要有邻居也可以生产FA只要和骨干区域相连
FA地址的作用:FA地址就是外部路由下一跳地址,用来对OSPF链路做优化。
- 当5类LSA中FA地址为0.0.0.0时,就代表没有FA地址,那么路由器在计算5类LSA时会去找通告者为下一跳
当5类LSA中FA地址为具体IP时,那么就代表有FA地址,那么路由器在计算5类LSA时不会再去找通告者,而是通过SPF树来计算FA地址得出最优路径。