动态路由-OSPF
1. OSPF概述
1.1 OSPF动态路由协议
- OSPF采用SPF算法计算达到目的地的最短路径:
- 链路(Link)= 路由器接口
- 状态(State)= 描述接口以及基于邻居路由器之间的关系
- 动态学习收敛路由
- 距离矢量路由协议:
- RIP
- EIGRP
- BGP
- 链路状态路由协议:
- OSPF
- 现网使用最多的:RFC2328文档
- 公有协议,任何厂家都能使用
1.2 管理距离(AD值)
思科:
- STATIC:1
- OSPF:110
- 静态优于OSPF
华为:
- OSPF:10
- STATIC:60
- OSPF优于静态
管理距离不会传递
1.3 度量值(Metric)
OSPF的COST值的计算:100/带宽(m)
- S=1.544m:cost=64
- E=10m:cost=10
- F=100m:cost=1
- G=1000m:cost=1
- TEN G=10000m:cost=1
修改参考带宽
- 就是修改上面COST值计算中的那个100,把它改成更大的值,因为100太小,很不合理
- bandwidth-reference 10000
- 10000/带宽(m)
2. OSPF报文类型&三张表&配置
2.1 五种OSPF报文类型
1)Hello
- 建立邻居
- 同网段
- 同区域
- 维护邻居
- 周期性的发送
- 10秒钟发送一次,40秒超时
2)DBD
- 链路状态数据库描述信息(描述LSDB中LSA头部信息)
3)LSR
- 链路状态请求包(向OSPF邻居请求链路状态信息)
- DBD中对应的路由信息
4)LSU
- 链路状态更新包
- 发送路由信息(包含一条或多条LSA),LSA->LSDB->SPF->路由表
5)LSAck
- 链路状态确认包
- 确认对方发送的LUS信息(对LSU中的LSA进行确认)
2.2 OSPF的三张表
- 邻居表:建立的邻居关系如何
- 查看:show ip ospf neighbor
- 链路状态数据库:所有有关OSPF传递过来的信息
- 查看:show ip ospf database
- OSPF路由表:使能(最优的条目)的路由加入表项
- 查看:show ip route ospf
2.3 OSPF的配置
1)配置:
- router ospf 1
- 最后数字表示进程号,不同的进程号相对独立
- network 172.16.12.0 0.0.0.255 area 1
- 网段:需要宣告接口的网段
- 反掩码:需要宣告接口的掩码置反
- 区域:此接口对应的区域
2)验证:
- show ip ospf neighbor
- ping
3)思考:
- 为什么能通:有路由
- 为什么有路由:
- 建立邻居关系
- 邻居表是正常的,宣告配置没有问题
- 怎么计算出来路由:
- LSU-LSA-LSDB-SPF-ROUTE
- 链路状态数据库:show ip ospf database
4)重置ospf进程:
- clear ip ospf process
3. OSPF的七种状态
- CCNA阶段只需了解前三种即可
3.1 down
空就是down
- 没有宣告
- 接口down
3.2 init
互发hello
- router-id:标识设备在ospf中的名称
- 选举:
- 手动指定:
- router ospf 1
- router -id 2.2.2.2
- 然后重置ospf进程:clear ip ospf process
- 逻辑接口IP地址最大的
- 物理接口IP地址最大的
- 手动指定:
- 跳转条件(跳转到下一个状态的条件):设备之间了解到对方的router-id
3.3 two-way
选举DR
3.3.1 DR的作用
- DR:指定路由器
- 作用:搜集同一广播域其他DRother路由信息,进行打包发送
3.3.2 DR的选举条件
- DR优先级:
- 越大越优先
- 范围0-255
- 默认为1
- 为0的时候不参与选举
- int f0/0
- ip ospf priority 0
- router-id:
- 越大越优先
- DR选举很慢:
- 10-40s
- 解决方法:配置成点对点模式,不选举DR了(一台设备只连一台设备的情况下)
- int f0/0
- ip ospf network point-to-point
- 说明:
- DR是主的,BDR是备用的
- DR不会进行抢占
3.3.3 DR、BDR、DROTHER
使用的组播地址:
- 224.0.0.5
- 224.0.0.6
- DR、BDR、DROTHER
说明:
- DR接收:
- 224.0.0.6的包,由DROTHER发送
- 224.0.0.5的包,由BDR、DROTHER发送
- DROTHER接收:
- 224.0.0.5的包,由DR发送
- DR真正要打包的只是LSU的包
- LSU:
- 路由信息
- LSA链路状态通告
- 224.0.0.6,LSU
- LSU:
3.3.4 two-way和FULL
1)2way
- 邻居关系,不传递路由信息
- DROTHER跟DROTHER之间是2-way(非DR设备和非DR设备之间的关系是2-way)
2)FULL
- 邻接,传递"所有信息"
- DROTHER跟DR与BDR之间是FULL
- DR和BDR之间是FULL
- display ospf peer brief
3.4 exstart
3.5 exchange
3.6 loading
3.7 full
4. 抓包查看OSPF的信息
4.1 稳态
- FULL
- 只能看到HELLO包
- 周期:
- 1800s,半个小时重新泛洪一遍,邻居会重新建立
- 3600s,重新泛洪超时,路由丢失
4.2 要看到其他的包
- 重新建立邻居
- 接口变更、配置变更
5. OSPF实验
5.1 实验环境
实验目的及要求:
- 配置OSPF使得R1能和各个路由器之间能够通信
- 在R3和R4之间配置点对点链路以消除无用的DR选举过程
5.2 配置IP地址
R1: configure terminal interface fastEthernet 0/0 ip address 192.168.12.1 255.255.255.0 no shutdown R2: configure terminal interface fastEthernet 0/0 ip address 192.168.12.2 255.255.255.0 no shutdown interface fastEthernet 0/1 ip address 192.168.23.2 255.255.255.0 no shutdown R3: configure terminal interface fastEthernet 0/1 ip address 192.168.23.3 255.255.255.0 no shutdown interface fastEthernet 0/0 ip address 192.168.34.3 255.255.255.0 no shutdown R4: configure terminal interface fastEthernet 0/0 ip address 192.168.34.4 255.255.255.0 no shutdown
5.3 配置OSPF
R1: router ospf 1 network 192.168.12.0 0.0.0.255 area 1 R2: router ospf 1 network 192.168.12.0 0.0.0.255 area 1 network 192.168.23.0 0.0.0.255 area 0 R3: router ospf 1 network 192.168.23.0 0.0.0.255 area 0 network 192.168.34.0 0.0.0.255 area 2 R4: router ospf 1 network 192.168.34.0 0.0.0.255 area 2
5.4 配置点对点链路
R3: interface fastEthernet 0/0 ip ospf network point-to-point R4: interface fastEthernet 0/0 ip ospf network point-to-point