OSPF – 链路状态协议
 
1.链路状态协议用LSAlink state)传递  也称为链路状态协议数据单元(PDU)link描述接口 state描述邻居关系 保存在 link-state database (LSDB)全网中链路状态数据库应该是相同的,链路状态协议知道全网拓扑,距离矢量协议只知道自己邻居的路由信息。 针对链路状态数据库利用SPF算法得到路由表。
n       邻接表 adjacency database  adjacent关系要求数据库同步,状态是full状态 neighbor关系不要求同步。
n       Topology table               LSA构建lsdb (所有路径都存储在LSDB)
n       路由表
 
2.分层结构: 区域边界限制lsa洪泛的范围
       Transit area (backbone or area 0)
       Regular areasnonbackbone areas 放置普通用户 该区域间的数据流必须经过主干区域,互相不能直接相连。
 
3.Area border router边界路由器
       可以一个网段内是DR,在连接的其他网段上是DROTHER
       分隔LSA扩散区
       执行区域地址汇总的主要地方
       常常是默认路由源
       维护其连接的每个区域的LSDB
不建议连接3个以上的area
 
4.LSA有序列号和aging timer确保每台路由器有最新的LSA版本
5.OSPF分组
 
Ipv4ospf版本号是2
 
6.OSPF hello包内容
 
打星号内容两端必须一致,否则无法同步。
每隔10s发送hello包组播地址224.0.0.5,死亡间隔4
224.0.0.5是所有的ospf路由器地址,DR通过该地址向所有的路由器发送LSU。
224.0.0.6是DR、BDR的地址,ospf路由器通过这个地址把路由更新消息发送给DR和BDR。
 
 
 
7.DBD
第一次发送DBD包是决定主仆关系
选举DRBDR后,新加入到网络中的路由器只与DRBDR建立邻接关系。
DBD包检查路由器的数据库之间是否同步,DBD包可以发送和对端序列号相同的包隐性表示对对端DBD包的确认,DBD包含有关LSDBLSA条目的摘要信息。LSA条目是关于链路和网络的。摘要信息包括链路状态类型、通告LSA的路由器的地址、链路的成本和序列号。路由器根据序列号来判断收到的链路状态信息的新旧程度。
 
OSPF直接封装在IP包中传输(协议标示符89)OSPF使用自己的分组实现确认机制,需要ack包(显示确认)
 
n         使用LSAck分组确认已收到该DBD
n         将收到的信息同LSDB中的信息进行比较。如果DBD有更新的链路状态条目,则像对方发送一个LSR,称为加载状态。
n         对方用LSU分组进行响应,包含有关被请求的条目的完整信息。同样,收到LSU后将发送LSAck
路由器要转发数据流,必须处于完全邻接状态,区域内所有路由器LSDB相同。
 
触发更新路由,每隔30分钟洪泛LSA,序列号加1,链路状态条目最长寿命60分钟。
 
8.
n         配置ospf必须有一个非管理down的接口
n         network 通告 网络号和接口地址 接口地址更精确 (反码)
n         router id 区别不同路由器 (两个直连的路由器 router id 相同,无法建立邻居关系,若不直连,id相同,则无法同步数据库) 路由器id不能重复
1)        活跃物理口 最高地址
2)        环回口 最高地址
3)        手动修改router id
优先级:3>2>1
 
修改router-id时:
1)  物理口->物理口  禁用ospf再重启或路由器重启
2)  物理口->环回口  禁用ospf再重启或路由器重启
3)  物理口->指定id  重启ospf进程
4)  环回口->环回口  禁用ospf再重启或路由器重启
5)  环回口->指定id  重启ospf进程
 
重启ospf进程: clear ip ospf process
 
9.
broadcast network不论是DR,BDR,DRother,大家发送hello packet的时候目标地址都是AllSPFRouter(224.0.0.5);
DRother
DR,BDR发送DD,LSA request或者LSA UPdate时目标地址是AllDRouter(224.0.0.6);
DR,BDR
DRother发送DD,LSA Request或者LSA Update时目标地址是AllSPFRouter(224.0.0.5);
 
10.Ospf 网络类型
1.       point-to-point serial interface running either PPP or HDLC, subinterface running Frame Relay or ATM, no DR or BDR required, multicast 224.0.0.5
2.       Multiaccess 类型
a)         Broadcast类型:ethernet and token ring
DRBDR选举,初始都宣称自己是DR,在2way状态选举,等待计时器(wait 40),先检查优先级,优先级相同比Router id,优先级相同步参与选举,首先选举出BDR,再选举DR,非抢占。
接口级修改优先级命令:ip ospf priority [number]number=0立即生效。
 
b)        NBMA 帧中继,ATMX.25OSPF可以有下列两种运行模式:
                         i.              NBMA,模仿广播网络运行方式,必须手工配置邻居,选举DRBDR,常用于全互联网络中。(优点:开销数据流较少)
                       ii.              点到多点,将非广播网络视为一系列点到点链路。路由器自动识别邻接路由器,但不选举DRBDR。这种配置通常用于部分互联网络中。(优点:需要手工配置少
 
MA的解释: a single interface interconnects multiple sites.
MA意味着需要选举DR\BDRNB意味着需要手动选邻居
HelloTTL=1,不能跨路由。
 
             
选项
选举DRBDR
发现邻居
Broadcast
需要
自动
Non-broadcast
需要
手工
Point-to-multipoint
不需要
自动
Point2multipoint nonbroadcast
不需要
手工
Point2point
不需要
自动
 
10.1 配置非广播模式
n         (中心路由器(DR))静态定义邻接关系:R1(config-router)#neighbor 192.168.1.1,不用在其他路由器上使用该命令
n         其他路由器上使用接口级命令 ip ospf priority 0
n         Ospf类型:接口级命令 ip ospf network nonbroadcast
n         Ospf通告
 
10.2 point2multipoint
       不用配置neighbor,自动发现
 
10.3 point2multipoint nonbroadcast
手动配置邻居
 
10.4 broadcast
用于全互联网段
 
10.5 point 2 point
     
 
MTU表示二层最大数据包容量,ip MTU表示的是三层的数据包容量,修改ip MTU可以改变大于1500MTU的分片位置,如 ip MTU=1200ip包在1200的位置上分片。
 
 
查看ospf运行情况的命令
sh ip protocols
sh ip route ospf
sh ip ospf interface [brief]
sh ip ospf
sh ip ospf neighbor detail
sh ip ospf neighbor database
debug ip ospf adj
 
ospf中配置环回口,加语句 ip ospf network point-to-point,默认认为是末节的主机,不加该语句学到的环回口地址掩码始终是32位的
 
帧中继如果是全互联的情况,可以不加
R1(config-if)#no frame-relay inverse-arp
R1(config-if)#no arp frame-relay
这两句,非全互联情况下手动添加路径,不让路由器自动学习。
 
OSPF使用的表:邻居表(邻接关系数据库)、拓扑表(LSDB)和路由表(转发数据库)
 
默认OSPF模式:
点到点帧中继主接口:非广播
点到点帧中继子接口:点到点
       点到点:Frame-relay interface-dlci [number]
       Multipointframe-relay map ip
点到多点帧中继子接口:非广播