姓名
xiaoyu888
OSPF基本概念单与区域配置
完成日期
08.2.21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
O
S
P
F的基本概念
1OSPFOpen Shortest Path First)开放式最短路优先协议,是基于开放标准的链路状态路由选择协议.具有更适用于规模较大的网络环境.
2:内部网关路由协议(IGP),用于在单一自治系统(Autonomous System-AS)内决 策路由[自治系统<AS>――执行统一路由策略的一组网络设备组合(运行相同路由协议的路由器相连组成的区域)];外部网关路由协议(EGP),用于多个自治系统之间的执行路由.
3OSPF的区域:本区域只维护本区域的完整链路状态协议,划区域的目的是:优化网络环境在一个自治系统的区ID绝对不一样
4OSPFOSPF是链路状态路由协议,链路状态路由协议中的路由器明白OSPF网络内的链路状态信息OSPF是链路状态路由协议,链路状态路由协议中的路由器了解OSPF网络内的链路状态信息。
5:链路状态路由协议中,直连的路由器之间建立邻接关系,互相“交流”链路信息,来“画”出完整的网络结构
6Router IDRouter ID:是在OSPF区域内唯一标识一台路由器的IP地址
Router ID选取规则:a:首先,路由器选取它所有loopback接口上数值最高的IP地址
b:如果没有loopback接口,就在所有物理端口中选取一个数值最高的IP地址
7链路状态路由协议中的数据库类型
邻居列表
列出每台路由器全部已经建立邻接关系的邻居路由器
链路状态数据库(LSDB
列出网络中其他路由器的信息,由此显示了全网的网络拓扑
路由表
列出通过SPF算法计算出的到达每个相连网络的最佳路径
8OSPF邻接关系的建立;邻居的三要素(acdb为可选的一条):
aArea-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区域,且属于同一个子网
b:验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居 (可选的部分
cHello IntervalDead Interval OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。
dstub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居。
9OSPF的网络类型:   
Hello时间是10s
网络类型
举例
广播
以太网
组播地址224.0.0.5
点到点
PPPHDLC
Hello时间是30s 30333303030s30s
点到多点
多个点到点链路的集合
非广播多路访问NBMA(非广播多址访问)
帧中继、X.25
 
  邻接关系的建立过程:
RA
RB
Down
Down
Init
2-way
2-way
Full
Hello(neighbor=“”)
Hello(neighbor=RA)
Hello(neighbor=RB)
Hello(neighbor=“”)
Init
DBDSeq
DBDSeq
ExStart
ExStart
DBD
DBD
ExChange
ExChange
LSR
Loading
LSU
LSR
LSU
Loading
Full
    1):RA发送一Hello报文,在开始,RA没有任何邻居,所以这个报文的邻居字段是空的。
    2):RB接受到RA的HELLO报文,RB会为A创建一个邻居数据结构,并将A的状态设为init状态(初始状态)。
    3):同理,RB也会进行同样的运动,发送HELLO报文,neighbor字段也是空的,A接受到这个HELLo报文,会进行同样的处理。
    4):这时,路由器会对对方的HELLO报文做出HELLO报文的响应,在这个报文的其中,会在邻居的字段中这置对方的路由器ID(我们以BA的响应为例)就会设置有A的路由器ID。进入2-way状态。在这时和会根据RouterID选举DRBDR
    5):当路由器A接收到含有自己的路由器IDHELLO报文,A就会将为B创建一个邻居数据库,并把B的状态设置为Exstart状态,路由器A会一个空的数据库描述报文(没有包含LSA的的摘要),在这个报文中,会将数据库描述报文的序列号设置为x ,同时设置初始位用于标示这个报文是路由器A进行本次Exchange的最初的DBD报文。
    6):路由器B收到ADBD报文,就会将A的状态转换位Exstart,同时RB响应RA,并设置这个DBD的序列号位y
    7):RA收到RBDBD报文,就会将RB的状态转换为Exchange,路由器A产生一个DBD报文,使用RB的序列号y,同时该报文将会传送RALSA头部。
    8):路由器B收到A的报文DBD,将A的状态转换为Exchange,它也会DBD报文(包含RB自己的LSA头部),并却使序列号变为y+1.
    9):RA收到RB的报文后,RA会发送一个相同序列号的确认报文。延续该过程,RB发送以一个单一的DBD报文,等待RA的确认(序列号相同)。然后RB再发送一个DBD报文,直到RB发出包含最后一个LSA摘要的DBD报文。
    10):RA收到上述报文后,并确认是最后的LSA,就会认为ExChange已经完成,RA的链路状态请求列表中还存在LSA条目,因此它会装换为loading状态。
    11):路由器RB收到最后以个DBD时,BA的状态转为FULL状态,因为它没有LSA条目了
  12RA发送链路状态请求报文,RB通过链路状态更新报文发送RA的LSA的通告,延续该过程,直到RA的请求列表为空,达到FULL状态,整个过程结束!
10:指定路由器(DR):
一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系
备份指定路由器(Backup Designated RouterBDR
通过Hello报文选择DRBDR来代表OSPF网段
其他的路由器(DRothers)只和DRBDR路由器之间形成邻接关系
DRBDR的选择:通过组播发送Hello报文(DRothers地址是224.0.0.5DRBDR的组播地址是224.0.0.6
具有最高OSPF优先级的路由器会被选为DR
如果OSPF优先级相同,则具有最高Router ID的路由器会被选为DR
只有接口类型为广播接口和NBMA口类型选择DRBDR
DRBDR
 
建立开始
 
信息交流
11OSPF包的类型:
包类型
描述
Hello(三种情况有包)
用于邻居路由器之间建立和维护邻接关系
数据库描述包DBD
描述每台OSPF路由器的链路状态数据库
的内容
链路状态请求包LSR
请求链路状态数据库的部分内容
链路状态更新包LSU
传送链路状态数据通告LSA给邻居路由器
链路状态确认包LSAck
确认邻居发过来的LSA已经收到
 OSPFHello协议:
          当路由器上启动OSPF进程时,每台路由器都会间隔一定的时间发送Hello
Hello包通过组播地址224.0.0.5发送
OSPF路由器使用Hello包发起建立邻接关系并监视这种关系的存在和消失
C
在广播网或者点对点网上,Hello的发送间隔是10秒;在NBMA网络上,Hello的发送间隔是30
它用来在一个广播网络或非广播多址的网络上选取指定路由器和备份指定路由器
OSPF的实验
 
 
 
 
 
实验拓扑图
S1/1
Loopback 03.3.3.3
192.168.20.2/24
Loopback 01.1.1.1
S1/1
192.168.10.2/24
S1/0
A
Loopback 02.2.2.2
192.168.10.1/24
192.168.20.1/24
C
B
S1/0
 
 
实验原理
链路状态数据库
最短路径树
Djkstra算法
建立邻接关系
学习链路状态信息
路由表
    首选路由器会保存3张表:邻居列表、LSDB(链路状态数据库)、路由表。在开始,要建立邻接关系(过程如上面的蓝色字体),建立邻接关系后,就会学习链路状态信息,建立链路状态数据库,在这时还没有完,会通过Djkstra算法(最短路径算法SPF算法)算出最短路径树,这时根据最短路径树得出路由表。这时就根据路由表来转发信息。
实验步骤
路由器A 的配置:
RouterA>enable                                      进入特权模式
RouterA#interface loopback 0                               进入还回口
RouterA(config-if)#ip  address 1.1.1.1 255.255.255.0            设置IP地址
RouterA(config-if)#no shutdown               开启
RouterA(config-if)#exit                  退出
RouterA(config)#interface serial 1/0             进入串口1/0
RouterA(config-if)#ip address 192.168.10.1 255.255.255.0    设置IP地址
RouterA(config-if)#no shutdown               开启
RouterA(config-if)#exit                  退出
RouterA(config)#router ospf 1               启动OSPF路由进程
RouterA(config-router)#network 192.168.10.0 0.0.0.255 area 1    指定OSPF协议运行的接口所在区域
RouterA(config-router)#exit                                退出
RouterA(config)#^Z                                      Ctrl+Z退出
RouterA#ping 192.168.20.2                                检测网络连通性
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.20.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 200/250/360 ms
RouterA#show ip protocols                                 查看路由器运行的协议
Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set
  Incoming update filter list for all interfaces is not set
  Router ID 1.1.1.1
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    192.168.10.0 0.0.0.255 area 1
    192.168.20.0 0.0.0.255 area 1
  Routing Information Sources:
    Gateway         Distance      Last Update
    2.2.2.2              110      00:00:17
  Distance: (default is 110)
 
 
RouterB(config)#interface loopback 0                   进入还回口
RouterB(config-if)#ip address 2.2.2.2 255.255.255.0           配置IP
RouterB(config-if)#no shutdown                           开启
RouterB(config-if)#exit                                  退出
RouterB(config)#interface serial 1/1                        进入S1/1接口
RouterB(config-if)#ip address 192.168.10.2 255.255.255.0      配置IP
RouterB(config-if)#no shutdown              开启
RouterB(config-if)#exit                 退出
RouterB(config)#interface serial 1/0            进入S1/0接口
RouterB(config-if)#ip address 192.168.20.1 255.255.255.0      配置IP
RouterB(config-if)#no shutdown                          开启
RouterB(config-if)#exit                                  退出
RouterB(config)#router ospf 1                             启用OSPF进程
RouterB(config-router)#network 192.168.10.0 0.0.0.255 area 1   指定OSPF协议运行的接口所在区域
RouterB(config-router)#network 192.168.20.0 0.0.0.255 area 1    指定OSPF协议运行的接口所在区域
RouterB(config-router)#exit                                退出
RouterB(config)#exit                                     退出
RouterB#show ip ospf neighbor                            查看邻居列表
Neighbor ID     Pri   State           Dead Time   Address         Interface
3.3.3.3           0   FULL/  -        00:00:29    192.168.20.2    Serial1/0
1.1.1.1           0   FULL/  -        00:00:38    192.168.10.1    Serial1/1
RouterB#show ip ospf interface serial 1/1                    查看运行OSPF的状态
Serial1/1 is up, line protocol is up
  Internet Address 192.168.10.2/24, Area 1
  Process ID 1, Router ID 2.2.2.2, Network Type POINT_TO_POINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_POINT,
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:00
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 1.1.1.1
  Suppress hello for 0 neighbor(s)
 
 
 
RouterC(config)#interface loopback 0                   进入还回口
RouterC(config-if)#ip address 3.3.3.3 255.255.255.0           配置IP
RouterC(config-if)#no shutdown                           开启
RouterC(config)#interface serial 1/1                        进入S1/1接口
RouterC(config-if)#ip address 192.168.20.2 255.255.255.0      配置IP
RouterC(config-if)#no shutdown                           开启
RouterC(config-if)#exit                                  退出
RouterC(config)#router ospf 1                             启用OSPF进程
RouterC(config-router)#network 192.168.20.0 0.0.0.255 area 1   指定OSPF协议运行的接口所在区域
RouterC(config-router)#end                               退出
RouterC#ping 192.168.10.1                               检测网络的连通几性
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 140/241/416 ms
实验注意
1:启用OSPF时需在配置进程号,标示运行的进程。进程号的范围是165535之间。
2:指定OSPF协议运行的接口所在区域时要使用网络号,反向掩码,区域号。(使用
正向掩码也可以)。
3:骨干网络的区域ID0
 
 
 
特殊的命令
1show ip protocols                       查看运行OSPF的路由协议
2ospf auto-cost reference-bandwidth  X      更改路由器接口的参考带宽
3ip ospf cost  Y                         修改路由器接口的成本
4ip ospf priority Z                        修改多点访问的接口优先级
5debug ip ospf adj                        查看LSA泛洪过程
6show ip ospf database                    查看链路状态数据库
7show ip route                           查看路由表
8show ip ospf                            查看OSPF的配置
9show ip ospf interface 接口               查看OSPF接口数据结构
10network 0.0.0.0 255.255.255.255 area 1     通告所有接口
11shwo ip ospf process-id                  显示指定进程的信息
 
实验结论
RouterCping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 140/241/416 ms
实验完成