一,概述:
1,OSPF的特性:
(1)典型的链路状态路由协议
(2)要求层次化的设计:通过划分区域实现
                       两层的结构:A, 传输区域,也被称为骨干 = area 0
                                   B,一般区域:要求物理上连接到area 0
(3)可靠传输协议:通过序列号,确认要求来实现;每隔30分钟同步链路状态数据库;
2,OSPF的分组:
(1)HELLO:发现和维护邻居
(2)DBD: 链路状态数据库的摘要信息
(3)LSR: 要求获得链路状态的细节
(4)LSU:链路状态的细节描述
(5)ACK:对DBD和LSU的确认
3,OSPF的数据结构:
(1)邻居表:所有的直连邻居
(2)拓扑表:即链路状态数据库,所有的链路状态信息
(3)路由表:所有的最好路径
4,OSPF支持的链路类型
(1)广播(BROADCAST)网络:接口类型为:以太网(Ethernet),
                                       令牌环(Token Ring),
                                       光线分布式数据接口(FDDI)
(2)点到点(P2P)网络:A,接口封装为PPP,HDLC
                       B,点到点子接口
(3)非广播多路访问(NBMA)网络: 接口封装为FRAME-RELAY, X.25, ATM
二,广播网络上的OSPF操作:
1,成为邻居:发送HELLO,224.0.0.5
               HELLO间隔:10秒, DEAD间隔:40秒
               要求其中的参数匹配:AREA ID, HELLO/DEAD间隔,末端区域标记,验证密码
2,构建邻接:邻居不等于邻接
               选择一个指派路由器:基于最高的优先级和路由器标识
               选择一个备份指派路由器
               非指派路由器邻接到指派路由器和备份指派路由器,
               指派路由器和备份指派路由器也互相邻接
3,交换链路状态信息在邻接路由器之间:
     非指派路由器发送链路状态声明到指派路由器:224.0.0.6
     指派路由器转发链路状态声明到非指派路由器:224.0.0.5
4,同步链路状态数据库: OSPF有下列状态描述以上的过程
     DOWN状态:还未开始运行OSPF
     INITIAL状态:开始发送HELLO
     TWO-WAY状态:互相看到对方的HELLO,邻居关系建立
     EX-START状态:确立主(MASTER)从(SLAVE)关系,有MASTER首先发送LSA
     EXCHANGE状态:发送DBD
     LOADING状态:发送LSR,接收LSU
     FULL状态:链路状态数据库同步了
5,运行最短路径优先算法:以自己为根来构建到整个网络的最短路径树
6,构建路由表进程项:插入最佳路径
7,维护路由:链路状态改变
             直连路由器发送新的链路状态声明到指派路由器
             指派路由器再转发到其他非指派路由器
             同步链路状态数据库
             再次运行最短路径优先算法
三,点到点网络上的OSPF操作:
1,自动通过HELLO发现邻居,邻居 = 邻接
2,不进行指派路由器的选择
3,其他与广播网络操作相似
四,非广播多路访问网络上的OSPF操作:
1,非广播(NON-BROADCAST)操作模式:这是缺省的操作模式
(1)假设非广播多路访问网路是一个全网状(FULL MESH)的电路拓扑结构
(2)进行指派路由器的选择
(3)邻居必须手工指定
(4)在星型(STAR)电路拓扑结构下操作会有问题:中心点如果没有成为指派路由器,
                                              会造成分支间的路由无法交换
(5)这是RFC定义的模式
2,点到多点(POINT-TO-MULTIPOINT)操作模式:
(1)通过识别电路信息,把非广播多路访问网路看成是一个点到点网络的集合
(2)不进行指派路由器的选择
(3)邻居可以通过HELLO自动发现
(4)建议在星型电路拓扑结构下使用这种模式操作
(5)这是RFC定义的模式
3,广播(BROADCAST)操作模式:
(1)进行指派路由器的选择
(2)邻居可以自动发现
(3)这是CISCO定义的模式
4,点到多点非广播(POINT-TO-MULTIPOINT NONBROADCAST)操作模式:
(1)不进行指派路由器的选择
(2)邻居必须手工指定
(3)这是CISCO定义的模式
5,点到点(POINT-TO-POINT)操作模式:
(1)不进行指派路由器的选择
(2)邻居可以自动发现
(3)这是CISCO定义的模式
五,多区域环境下的OSPF操作
1,路由器的类型:
(1)内部(INTERNAL)路由器:所有接口都在一个区域内
                            缺省情况下仅有本区域的链路状态数据库
(2)区域边界路由器(ABR):有接口连接到多个区域
                           缺省情况下就维护了多个区域的链路状态数据库
                           在区域间交换链路状态信息
(3)骨干路由器(BACKBONE):有一个接口连接到了AREA 0
                            作为骨干传输通道
(4)自治系统边界路由器(ASBR):有接口连接到外部自治系统
                                再分发外部网络的路由信息进入OSPF进程
2,链路状态声明的类型:
(1)TYPE 1:ROUTER LSA
             所有类型的路由器都会发送这种LSA;
             包含了本地直连的链路状态信息;
             只能在本区域内泛洪。
(2)TYPE 2:NETWORK LSA
             指派路由器会发送这种LSA;
             包含了本网络内的链路状态信息的集合;
             只能在本区域内泛洪。
(3)TYPE 3:SUMMARY LSA
             ABR会发送这种LSA;
             包含了一个区域内的链路状态信息集合;
             可以穿过区域边界在整个自治系统内泛洪  。           
(4)TYPE 4: SUMMARY LSA
             与ASBR在同一个区域内的ABR会发送这种LSA;
             包含了ASBR的路由器标识(ROUTER-ID);
             可以穿过区域边界在整个自治系统内泛洪。
(5)TYPE 5:EXTERNAL LSA
             ASBR会发送这种LSA;
             包含了外部自治系统的路由信息的集合;
             可以穿过区域边界在整个自治系统内泛洪。
3,区域的类型:
(1)正常区域:缺省情况下所有的区域,不论是骨干还是非骨干区域,都是这种区域类型;
               可以接受所有类型的链路状态声明。
(2)末端区域(STUB AREA):TYPE 5 LSA不被发送到该区域;
                          需要使用缺省路由来到达外部自治系统。
(3)完全末端区域(TOTALLY STUBBY AREA):TYPE 3,4,5 LSA不被发送到该区域;
                                         需要使用缺省路由来到达其他区域以及外部自治系统。
(4)非极末端区域(NOT-SO-STUBBY AREA):打破了末端区域和完全末端区域的规则;
                                        ASBR出现在了该区域;
                                        使用特殊的TYPE 7 LSA转发外部自治系统路由进入该区域。
六,配置在CISCO路由器中:
1,启动OSPF:
(config)#router ospf <process-id>
2,添加接口进入OSPF进程:
(config-router)#network <address> <wildcard-mask> area <area-id>
3,配置路由器标识:
(1)缺省是自动选择的:最高的环回接口的地址和物理接口的地址
(2)可以手工定义:
(config-router)#router-id <address>
4,配置接口优先级:影响指派路由器的选择
(config-if)#ip ospf priority <number>
5,定义非广播多路访问网路的操作模式
(config-if)#ip ospf network [broadcast|non-broadcast|point-to-multipoint|
                              point-to-multipoint non-broadcast|point-to-point]
6,手工指定邻居:
(config-router)#neighbor <neighbor-ip>
7,改变OSPF的度量值
(1)定义开销(COST)值:
(config-if)#ip ospf cost <cost>
(2)定义参考的带宽值:
(config-router)#auto-cost reference-bandwidth <ref-bw>
8,配置OSPF路由归纳:
(1)区域间的路由归纳:由ABR配置
(config-router)#area <area-id> range <summary-address> <mask>
(2)外部自治系统路由的归纳:由ASBR配置
(config-router)#summary-address <summary-address> <mask>
9,配置末端区域:
(1)该区域的所有路由器:
(config-router)#area <area-id> stub
(2)ABR声明缺省路由到该区域的内部路由器:
(config-router)#area <area-id> default-cost <cost>
10,配置完全末端区域:
(1)内部路由器:
(config-router)#area <area-id> stub
(2)ABR:
(config-router)#area <area-id> stub no-summary
(3)ABR声明缺省路由到该区域的内部路由器:
(config-router)#area <area-id> default-cost <cost>
11,OSPF验证:
(1)简单密码验证:
(config-if)#ip ospf authentication
(config-if)#ip ospf authentication-key <password>
(2)MD5验证:
(config-if)#ip ospf authentication message-digest
(config-if)#ip ospf message-digest-key <key-id> md5 <key>
12, 配置虚拟链路(VIRTUAL-LINK): 逻辑连接不连续的区域到AREA 0
(config-router)#area <area-id> virtual-link <peer-router-id>