下发默认路由:
1.重分发静态;
2.到拥有默认路由的设备上, router ospf 1
default-information originate 《always》
不加always时,下发默认路由的路由器本身必须要有默认路由;
加always,不管有没有,都可以作为默认路由下发者
路由器按照工作机制
1.距离适量:RIP eigrp
2.链路状态:OSPF ISIS
什么是ospf路由协议?
ospf全程 叫 open shortest path first 开放最短路径优先协议
OPSF的核心是迪杰斯特拉算法,迪杰斯特拉算法用来处理无向图的最短路径问题。
重置ospf进程:
Clear ip ospf process
#可用于修改DR/BGR 后使用
OSPF的基本组成
1、首先他有一个区域的概念,区域划分往往是出于行政管理和地域限制。
2、既然提到区域管理问题,就一定存在着等级划分。
OSPF主要分为骨干区和非骨干区域。
其中area0为唯一的骨干区域,剩余都是非骨干区。
3、☆骨干区和非骨干区之间必然存在着一个连接两者的路由器。那这台路由器就被 称为ABR【area border router】区域边界路由器。
4、非骨干区域禁止直接相连。
域内路由intra
域内:顾名思义,自己所属的区域内部
域间路由inter
域间:顾名思义,与自己同属一个OSPF域,但是不属于自己area的路由
域外路由external
域外:OSPF通过重分发进来的路由。重分发的来源可能是静态、RIP、EIGRP甚至是其他进程的OSPF
那如何来配置ospf
第一步: router ospf 《进程号》
在计算机系统中,系统对于每个运行的程序都会有个数字标识。
这个标识我们称为进程号 (pid)
OSPF既然可以使用进程号来标识,那么路由器本地可以同时运行
多个OSPF实例,不同进程号实例的OSPF之间在路由器本地
不会互相交互数据。
第二步:router-id 《x.x.x.x》
#配置路由器的router-id ,router-id在ospf域中用来标识
路由器,可以理解为路由器的名字。
路由器的router-id 可以用手动的方式进行配置。
例子router-id 1.1.1.1
也可以用自动的方式进行配置,自动配置router-id 是默认
生效的,除非管理员进行了手动配置。自动配置的原则
1.当路由器有环回口的时候,选择路由器中环回口地址最大
的一个作为router-id
2.当路由器没有环回口的时候,选择路由器中物理接口ip地址
最大的一个作为 router-id
第三步:ospf没有自动汇总原则
直接宣告路由
network 《网段》 《反掩码》 area 《区域号》
例子 network 12.12.12.0 0.0.0.255 area 0
ospf的宣告支持精确宣告。所以在宣告时候必须加上反掩码
OSPf的默认管理距离是110,所以当同时存在ospf路由和
RIP路由的时候,会优选ospf
OSPF衡量路径优劣使用的是cost值,也是度量值的一种。
OSPF如何计算cost
COST=100M/接口带宽
查看接口的带宽的命令:
特权模式下 show interface 《接口》
计算出ospf的cost,100M/接口带宽,当计算出值小于1的时候,
我们把它任然计算为1
这时候会存在一个问题 100M 1000M 10000M链路的cost值
计算结果是一样
所以说OSPF的这个计算公式100M这个基础带宽是可以进行修改的
有几种方法可以改变开销值
- int f0/0
ip ospf cost XXXX
这种方法只会对ospf产生影响- int f0/0
bandwidth 64
这是一个全局命令,所有用到带宽的计算都会受影响
另外说明下,cost=100 000 000/带宽
如果链路的实际带宽超过了100M时就需要小修改参考带宽的值:
router ospf 1
auto-cost reference-band 1000
即改为千兆带宽
- int f0/0
OSPF的几个重要数据包
1.hello 包 ,hello包在ospf中 1.建立邻居关系 2.维持邻居关系
(keep alive)
hello包每隔10s发送一个,OSPF的邻居死亡时间是40s,当40s
没有收到来自邻居的hello包,那么ospf路由器则认为邻居出现
故障,把它从自己的领居列表删除
RIP 的组播地址 224.0.0.9
OSPF 的组播地址 224.0.0.5 224.0.0.6
OSPF 的数据包很特殊,它不依靠TCP/UDP进行传输
他有自己的协议号 89
2.DD databse description 数据库 描述报文
在OSPF邻居初次建立关系的时候,会互相交互DD报文。因为ospf
是链路状态式的路由协议,所以说ospf在交换报文的时候交换的
数据内容会很多,有邻居的领接关系,还有领居的连接链路状态。
所以说可以通过DD报文来发送路由器的数据库描述信息,邻居路
路由器根据DD报文描述信息,来判断需要哪些消息
3.LSR 链路状态请求报文
4.LSU 链路状态更新报文
5.LSACK 确认报文
检查ospf关系
1.show ip ospf neighbor #检查ospf邻居关系
2.show ip route #查看路由 ,ospf的路由标识是o
3.show run | sec ospf
OSPF的三张表:
1.OSPF的邻居表
OSPF邻居表中存放着OSPF的所有邻居关系以及OSPF与邻居的状态
关系。
查看邻居表 show ip ospf neighbor
2.OSPF的链路状态表
存放着OSPF整个网络体系的数据
3.OSPF路由表
最后最优最路径会被存入路由表中
show ip route
OSPF的邻居的几个状态
1.INIT 当路由器收到来自邻居的hello消息后,会立刻进入init状态
2.TwoWay 当路由器在收到来自邻居的HELLO消息,且hello消息中
出现了自己的router-id后,路由器会进入TwoWay状态。
在TwoWay状态时。OSPF路由器之间会进行DR/BDR的选举。
TwoWay选举DR/BDR也会有超时时间,当某台路由器开启ospf之后,
若超时时间内还没有路由器与之进行DR/BDR的选举,那么这台路由器
会认为自己就是DR。WAIT时间是4倍的hello时间 40s
3.ex-start 在ex-start状态下,路由器会互相交互一个空的DBD报文。
比较对方的router-id。router-id较大会成为主路由器,较小的
成为从路由器,主路由器会主导设备之间OSPF数据交互的过程。
4.exchange 当选举完主从路由器,OSPF路由器之间就开始正式交互
DBD报文(交换链路状态数据库描述报文)
5.loading 当收到对方的描述报文后,路由器会发现自己缺失某些
邻居拥有的路由信息,