协议简介
1.网络的规模:十台以上或大中型规模的网络
2.网络的拓扑结构:网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求
3.其他特殊的需求:要求路由能快速收敛,路由协议本身网络开销尽量降低。
4.路由器自身要求:运行ospf协议时对路由器cpu的处理能力及内存的大小都有一定的要求,性能低的路由器不推荐使用ospf协议。
Ospf的特点
可适应性大规模网络
路由变化收敛速度快
无路由环
支持可变长子网掩码vlsm
支持区域划分
支持以组播地址发送协议报文
ospf是内部网关路由协议开放式最短路径优先协议openshortest path first在共同管理与下的一组运行相同路由选择协议的路由器的合集为一个自治系统(autonomous system as )
IGP 内部网关路由协议,用于在单一自治系统内决策路由。(autonomous system as)
EGP 与内部网关路由协议相对应的叫做外部网关路由协议,外部网关路由协议用于在多个自治系统之间执行路由。
Spf(shortest path tree)最短路径优先算法
ospf是链路状态路由协议
链路状态路由协议通过与邻居路由器建立邻接关系,相互传递链路信息,来了解整个网络的拓扑结构,在链路状态信息中包含有哪些链路,这些链路与哪个路由器相连,连接的路径成本是多少等信息,因此,在链路状态路由协议收敛后,一台路由器可以了解区域完整的链路信息。
ospf工作过程
邻居列表链路状态数据库列表路由表每一台路由都将从最短路径中构建出自己的路由表。
Ospf区域
Ospf 是一种链路状态型的路由协议,不会产生环路问题,因此不需要使用最大跳数等限制来防止环路产生。
Ospf 将自制区系统分割成多个小的区域,ospf的路由器只能在区域内部学习完整的链路状态。不必了解整个系统的链路
区域是通过一个32位的区域id来标识的。
区域0(0.0.0.0)是为骨干区域保留的区域id号,ospf的骨干区域backbone area 是一个特殊的ospf区域,它负担区域间路由信息传播的重任。
Router id
路由器选取它所有loopback接口上数值最高的ip地址。
路由器没有配置loopback接口的ip地址,那么路由器就在所有活动物理端口中选取一个数值较高的ip地址作为路由器的router id ,用作router id的路由器接口不一定要运行ospf协议。
使用loopback接口作为router id的主要好处是loopback接口比任何其他的物理端口更稳定。
自动选举Dr和bdr
网段router id最大路由器将被选举为dr designated router ,第二大的被选举为bdr。
手工选举dr和bdr
需要设置路由的优先级,每台路由器的接口都有一个路由器优先级,用一个八位的无符号整数来表示,大小范围是0-255,数值越大,优先级越高,cisco路由器上默认的优先级是1.接口优先级可以通过ip ospf priortiy 来更改,如果路由器优先级被设置为0 ,那么它将不参与选举。
Ospf的度量值
用来度量路径优劣的度量值称为cost开销。范围1-65535
用命令更改开销 ip ospf cost 值
Auto-cost reference-bandwidth --更改默认开销值
ospf邻接关系的建立
hello包用于发现和维护邻居关系,选举dr和bdr
数据库描述包(dbd) 用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(lsr) 在路由器收到包含新信息dbd后发送,用于请求更详细的信息
链路状态更新(list) 收到lsr后发送链路状态通告(lsa),一个lsu数据包可能包含几个lsa
链路状态确认包(lsack) 确认已经收到lsu,每个lsa 需要被分别确认。
7种状态:
1)失效(down)状态
这是ospf建立交互关系的初始化状态,路由器没有于任何邻居交换信息。
2)初始(init)状态
路由器的各个接口通过224.0.0.5,发送(hello)报文。这里以r1发送hello报文为例,当邻居r2收到第一个hello就会进入init状态,在该状态时,路由器r2已经接收到hello报文,但自身的id并没有出现在该hello报文内。
3)双向(2-way)状态
Hello回应完之后,1发送含自身id,这时就进入2-way状态,双向通信已经建立,dr和bdr选举正是在这个状态完成的。
4)准启动(exstart)状态
在选举出dr和bdr之后,路由器就被认为是出于exstart状态。
5)交换exchange状态
6)加载(loading)状态
7)完全邻接(full)状态
Ospf 组播地址
组播地址224.0.0.5 代表所有参与ospf的路由器,而组播地址224.0.0.6地址有dr和bdr路由器侦听这个地址,但bdr指侦听不响应。在广播多路访问网络上,链路更新信息先发送到224.0.0.6,再由dr路由器使用组播地址224.0.0.5泛洪更新报文到其他所有路由器。
链路状态数据库组成,每台路由器中都创建了每个接口,对应的相邻节点和接口速率组成的数据库,链路状态数据库中的每个条目都称为lsa(链路状态通告),常见的lsa有六种类型。 Lsa 1 路由器通告所有连接的路由接口
Lsa 2 网络通告列出所有与之相连的路由器
Lsa 3 网络汇总通告该区域外部目的地址,发送汇总,lsa到一个区域
Lsa 4 汇总 ABR始发但通告的目的地是一个ASBR路由,其他的与网络汇总lsa都一样
Lsa 5 自治系统外部通告到1.目的地 2.自治系统外部默认的lsa
Lsa 7 NSSA外部指在非纯末梢区域nnsa 始发于ASBR路由器的lsa通告
Ospf网络类型
1、点到点网络(point-point)连接单独的一对路由器,在点到点网络上有效邻居总是可以形成邻接关系。
2、广播多路访问网络(bma)像以太网和光纤分布式数字网络(fddi)等。它们可以连接多余两台的设备、
3、非广播多路访问网络(nbma)想x.25和帧中继,可以连接两台以上的路由,但是他们没有广播数据包的能力。
4、点到点网络(poing-to-multipoint)点到多点网络是nbma网络的一个特殊配置,可以被看做是一群点到点链路的集合.
末梢区域
对区域外的路由仅需要一条默认路由,为了减少区域内路由的路由条目,可以把此区域配置为末梢区域。
router(config-router)#area id stub
完全末梢区域
不仅使用默认路由到达ospf自治系统外部的目的地址,而且使用默认路由到达这个域外部所有目的地址,一个完全末梢区域的ABR不仅阻塞AS外部的lsa,而且阻塞所有汇总lsa,除了通告默认路由的那一条类型3的lsa。
router(config-router)#area id stub no-summary
非纯末梢区域(NSSA)
(2.1)
如2.1图所示,连接在末梢网络的b路由器必须通过area2连接到其他网络,但是该路由器仅支持rip协议。因此,a台路由器将同时运行rip协议和ospf协议,并利用重分发把该路由器学到的rip路由信息注入到ospf区域,不幸的是,这个a路由器正好是area2的ASBR路由器,因此,区域2不再是末梢区域了,而成为一个非纯末梢区域(not-so-stubby area ,NSSA)
B不需要学习ospf域的路由,只要有一条默认路由指向a就足够了,但ospf域内路由为了能正确转发数据包到达rip路由器的哪些目的地址,他们必须要学习到这些rip路由器相连的目的网络路由。
非纯末梢区域nssa允许外部路由通告到ospf自治系统内部,而同时保留自治系统其余部分末梢区域特征,为了做到这一点,在nssa区域内的ADBR将始发类型7的lsa来通告哪些外部的目的网络。这些NSSA区域外部的lsa将在整个Nssa区域中进行泛红,但是会在ABr路由器的地方被阻塞
路由重分发
路由重分发通常在那些负责从一个自治系统学习路由,然后向另一个自治系统广播的路由器上进行配置。例如一台路由器既运行ospf 又运行rip,如果配置ospf学到rip学得的路由,这种做法叫做重分发。
Ospf 重分发路由的路径类型
类型1的外部路径(type1external path,E1):这个代价值时这条路由的外部代价加上到达ASBR路由的路径代价之和。
类型2的外部路径(type 2external path,E2):也是指目的地在ospf自治系统外部的路径,但是在计算外部路由的度量值时不再计入到达ASBR路由器的路径代价。
A到d路由有两条路下面进行比较测试:
E1类型
ABD=250
ACD=400
路由器路径则会选择ABD
E2类型
ABD=50
ACD=300
路由器路径则会选择ACD
重分发需要注意的几个方面:
2决定在哪儿添加新的协议
2确定自治系统边界路由器(ASBR)
2决定哪个协议在核心,哪个在边界
2决定路由重分发的方向
配置命令实例
Routerrip
Redistribute ospf 1 metric 10
Router ospf 1
Redistribute rip metric 200 subnets
Rip协议中充分发ospf协议需要制定metric的值,否则在rip中无法学到充分发的路由条目
重分发静态路由时只需要在ospf协议中发布即可,配置如下
Router ospf 10
Redistribute static metric 100 subnets metric-type 2 --如果缺省路由则使用default-information original命令
1.区域间路由汇总命令
router(config-router)#area id range ip地址 子网掩码
2.外部路由汇总
router(config-router)#summary-address ip地址 子网掩码
三种路由协议类型和功能对比
距离矢量协议:典型代表就是rip,其特点就是周期性广播或多播,将自己的路由表通告给其他路由器。
链路状态协议:典型代表就是ospf,其特点就是周期性使用hello包维护邻居信息,触发式更新链路状态,使用链路状态数据库计算路由表。
混合型协议:典型代表就是eigrp,为什么说它是混合的:因为使用hello包维护邻居列表信息,触发式更新,这些特性像链路状态的分布特性,但是它又直接通告路由表到其他路由器,此特性是距离矢量的特性,因此称eigrp是为混合型。
特性 | Rip v1 | Rip v2 | Eigrp | Ospf |
协议类型 | 距离矢量 | 距离矢量 | 混合 | 链路状态 |
无类支持 | 否 | 是 | 是 | 是 |
Vlsm支持 | 否 | 是 | 是 | 是 |
自动汇总 | 是 | 是 | 是 | 否 |
手动汇总 | 否 | 否 | 是 | 是 |
不连续子网支持 | 否 | 是 | 是 | 是 |
路由传播 | 周期性广播 | 周期性组播 | 触发式 | 触发式更新 |
度量值 | 跳数 | 跳数 | 带宽和延迟 | 带宽 |
跳数限制 | 15 | 15 | 最大255 | 无 |
汇聚 | 慢 | 慢 | 最快 | 快 |
分层网络 | 否 | 否 | 自制系统 | 分区域 |
更新 | 直接更新路由表 | 直接更新路由表 | 触发式更新 | 事件触发 |
路由计算 | Bellman-ford | Bellman-ford | Dual | Dijkstra |
管理距离表
路由器默认ad
连接接口 0
静态路由 1
eigrp 90
ospf 110
rip 120
未知 255
转载于:https://blog.51cto.com/longqi/1390234