1.1.1

Ospf 开放式最短路径优先

 

Rip面临的威胁 网络规模变大 网络可靠性要求提高 网络异构化加剧:网络大,运行时间从,替换设备,导致设备型号的呢个不同

Rip 缺点:

1逐跳收敛,收敛慢,故障恢复时间长,n1的路由信息从a传到e之间每一个路由器都会经过路由计算-更新路由表-传给下一个路由器,这个过程时间太长

2 分布式的路由计算,缺少对全局网络拓扑的了解

当a-b之间断掉,而这时候b已经更新了路由表,那么它会向c通告到达n1网络的路由信息,

 

ospf中state显示full ospf处于init_链路

3 如图,只考虑跳数,不考虑带宽等因素,存在择优选择风险

ospf中state显示full ospf处于init_ospf中state显示full_02

ospf中state显示full ospf处于init_组播_03

1触发更新 ,a想把新增的路由信息传给e 改进 不再独立计算,所有路由器以接收到路由信息,就发给下一个路由器,都发完了,再一块计算

2 让所有的路由器都知道这个网络中的连接方式是怎么样的,就算收到错误的路由信息,也不会导致问题

3 不再把跳数当作选路标准,改为带宽

 

基于这些,我们产生了ospf

ospf中state显示full ospf处于init_网络类型_04

 

 

 

ospf中state显示full ospf处于init_网络类型_05

先进性数据库的更新呢,再一块进行路由计算

ospf中state显示full ospf处于init_ospf中state显示full_06

 

 

ospf中state显示full ospf处于init_链路_07

邻居建立过程:

 

       Router ID ip地址的格式,作为路由器的标识,

ospf中state显示full ospf处于init_链路_08

当一个接口开启OSPF后 这个接口就会发送hello报文,进行邻居发现,然后与邻居协商,建立邻居关系,建立之后,为了保持邻居关系,会定期发送hello报文,维持

ospf中state显示full ospf处于init_ospf中state显示full_09

Down: 此时A不知道自己的邻居是谁,还没有邻居的状态

Init: 在A接收到了B的hello报文的时候,状态就变成了 init

2-way 表示双向连接状态,a知道b是自己的邻居了,b也知道a是自己的邻居了

ospf中state显示full ospf处于init_链路_10

现在一般都不会手动建立 ,在之前的一些网络中 比如 ATM FR不支持组播和广播,那么路由器就不能自动发现邻居,不能组播或者广播hello报文,那么,管理员,会告诉路由器,你应该有一个叫2.2.2.2的邻居,你去发现它吧,这时候就会单播到2.2.2.2建立邻居关系,

配置命令就是 peer 2.2.2.2

1.1.2

 

ospf中state显示full ospf处于init_网络类型_11

ospf的网络类型:

链路状态类型:支不支持单播、组播、广播

p2p:点对点 broadcast:广播;NBMA:非广播多路访问;点到多点

接口ip和掩码;邻居路由器;链路带宽

 

ospf中state显示full ospf处于init_链路_12

ospf网络类型是根据下层的链路分的。

默认情况下,接口的网络类型是根据物理接口类型而定的: 以太网接口的网络类型:广播

串口和POS(封装PPP协议或DHLC协议时)接口的网络类型:P2P

ATM和Frame-relay(帧中继)接口的网络类型:NBMA

可根据实际情况设置接口的网络类型,但要考虑以下几个方面:

1、如果同一网段内只有两台设备运行ospf协议,可(建议)将接口的网络类型改为P2P 2、如果接口的类型是广播,但在网络上有不支持组播地址的设备(路由器),可将接口的类型改为NBMA。

3、如果接口的类型是NBMA,且网络是全连通的,即任意两台路由器都直接可达。此时可以将接口类型改为broadcast,且不必再配置邻居路由器。

4、如果接口的类型是NBMA,但网络不是全连通的,必须将接口类型改为P2MP。这样两台不能直接可达的路由器可以通过一台与两者都直接可达的路由器来交换路由信息。接口类型改为P2MP类型后,也不必再配置邻居路由器。

在设置网络类型,要注意以下几个方面:

1、P2MP类型必须是由其他的网络类型强制更改

2、一般情况下,链路两端ospf接口的网络类型必须一致,否则不可用建立邻居关系

3、当链路两端ospf接口一端是broadcast,另一端是P2P时,仍可以建立邻居关系,但互相学习不到路由信息。 4、当链路两端ospf接口一端是P2MP,另一端是P2P时,仍可建立邻居关系,但互相学习不到路由信息。为了相互学习到路由信息,可在两端ospf接口上设置相同的hello报文发送间隔和邻居失效时间。

 

支持不同网络类型:

ospf中state显示full ospf处于init_链路_13

   

ospf中state显示full ospf处于init_ospf中state显示full_14

   

ospf中state显示full ospf处于init_网络类型_15

 

ospf中state显示full ospf处于init_ospf中state显示full_16

Cost 值不配置,华为设备默认按照公式计算,华为设备计算带宽,按照路由器进入的接口算带宽c的loopback口到a 其带宽= G3的带宽+G1的带宽,默认loopback口带宽是0

某接口cost值=参考带宽/实际带宽(华为中参考带宽是100M,当cost<1的时候华为的设备按照1来计算)

ospf中state显示full ospf处于init_网络类型_17

从A到 192.68.3.3 中cost值的计算,不计算G2、G4的,修改配置的时候,只修改G1、G3的,

LSA的泛洪方向是从右向左,当lsa把通告路由信息到a,只算入口的开销值,也就是G3+G1

2.3 ospf有5种报文:

Hello、 Database Description 、Link State Request、 Link State Update 、Link State Ack

报文头头部

 

ospf中state显示full ospf处于init_链路_18

spf Packet data 是不一样的

Type 就是标识哪一种报文 后三个字段跟认证相关

我们主要关注 Router ID Area ID

 

先把路由信息传递到全网再进行路由计算

ospf中state显示full ospf处于init_网络类型_19

 

未完  待续。。。。。