IGP内部网关协议(RIP,OSPF,ISIS)EGP 外部网关协议(BGP)
距离矢量路由协议(RIP),链路状态协议(OSPF,ISIS)
BGP使用一种基于距离矢量算法修改后的算法,该算法被称为路径矢量(Path Vector)算
法。因此在某些场合下,BGP也被称为路径矢量路由协议。
• IGP(内部网关协议)在同一个自治系统内交换路由信息,IGP的主要目的是发现和计算自
治域内的路由信息。
• EGP(外部网关协议)主要用于AS(自治系统)之间的互联。
距离矢量路由协议:路由器定期泛洪自己的路由表,通过路由交换,路由器学习到相邻路由器的路由信息,并加载在自己的路由表中,然后通告给其他相邻路由器。
(路由器并不清楚网络的拓扑,只知道去往某个目的网段在哪里,开销多大。
链路状态路由协议:通告的是链路状态而不是路由信息,首先建立邻居路由关系,然后彼此交互LSA(链路状态通告)描述链路状态信息。
链路状态通告,可以简单的理解为每台路由器都产生一个描述自己直连接口状态(包括接
口的开销、与邻居路由器之间的关系等)的通告。
LSDB:链路状态数据库:存放链路状态通告LSA
步骤:①:建立邻居关系②邻居之间交互链路状态信息和同步LSDB③SPF(最短路径优先算法)计算最优路径④根据最短路径生成路由表
IPV4:OSPF version2;IPV6:OSPF version 3
OSPF优点:基于SPF,以”累计链路开销“作为选路参考、采用组播收发部分报文、支持区域划分、支持等价路由进行负载分担、支持报文认证
• 接入层:接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户连
接,并进行业务和带宽的分配。接入层目的是允许终端用户连接到网络,因此接入层交换
机具有低成本和高端口密度特性。
• 汇聚层:汇聚层为接入层提供基于策略的连接,如地址合并,协议过滤,路由服务,认证管
理等。通过网段划分实现与网络隔离,可以防止网络故障蔓延和影响到核心层。汇聚层同
时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保证核心层
的安全和稳定。
• 核心层:核心层的功能主要是实现骨干网络之间的优化传输,核心层任务的重点通常是冗
余能力、可靠性和高速的传输。
Router-ID 唯一标识一台OSPF路由器
(①手动配置②无手动配置,lookback接口中最大的IP地址③无look back接口,使用物理接口最大的IP地址)
• Router ID一旦选定,之后如果要更改的话就需要重启OSPF进程。
• 在实际工程中,推荐手工指定OSPF路由设备的Router ID。首先规划出一个私有网段用于
OSPF的Router ID选择,例如:192.168.1.0/24。在启用OSPF进程前在每个OSPF路由器上
建立一个Loopback接口,使用一个32位掩码的私有地址作为其IP地址,这个32位的私有地
址即作为该路由设备的Router ID。如果没有特殊要求,这个Loopback接口地址可以不发布
在OSPF网络中。
OSPF Area用于标识一个OSPF区域
Area0.0.0.1等同于Area1,Area0.0.0.255等同于Area255,Area0.0.1.0等同于
Area256。
缺省条件下:接口COST=100Mbit/s/接口带宽,
在实际应用中,推荐根据接口带宽大小手动配置Cost值,而不是修改OSPF参考带宽
邻居表:邻居关系通过交互HELLO报文建立。查看命令:display ospf peer
LSDB表:保存自己产生的及从邻居收到的LSA信息、Type 标识LSA的类型,AdvRouter标识发送LSA的路由器,查看命令:display ospf lsdb
OSPF路由表 :OSPF路由表和路由器路由表是两张不同的表,包含Destination、Cost、和NextHop 等指导转发信息,查看命令:display ospf routing
路由器路由表通常称为全局路由表,并非所有OSPF路由都可以放到路由器路由表
OSP报文类型:hello:发现和维护邻居关系;database description:交互链路状态数据库摘要;link state request:请求特定的链路状态信息;link state update:发送详细的链路状态信息;link state ack :确认ack
OSPF 协议号89;
Auth Type:为0时表示不认证;为1时表示简单的明文密码认证;为2时表示加密
(MD5)认证。
OSPF工作过程:①通过hello 报文发现直连链路上的邻居(建立的是邻居关系)②协商主从③相互描述各自的LSDB(摘要信息)④更新LSA,同步双方LSDB(建立的是邻接关系)⑤计算路由
建立邻居关系:以太网链路,缺省时默认采用组播形式发送hello报文,目的地址是224.0.0.5,包含路由器的router Id 、邻居列表等信息
DOWN:邻居初始状态,表示没有从邻居收到任何信息;Init:路由器已经从邻居收到了hello 报文但是自己的router ID 不在hello报文的邻居列表里;2-way;路由器发现自己的routerID存在于收到的hello报文的邻居列表里面
R1和R2路由器相互发送Hello报文,第一个Hello报文包含的邻居列表为空。
• R2收到R1发送的Hello报文后,如果各项参数匹配,再次发送Hello报文时,将R1加入自己
的邻居列表。
• 在以太网链路上,通常以组播形式发送Hello报文:
▫ 224.0.0.5的组播地址为OSPF设备的预留IP组播地址。
▫ 224.0.0.6的组播地址为OSPF DR/BDR的预留IP组播地址。
• 对于不支持组播的链路,OSPF支持采用单播的方式发送Hello报文。
hello报文的作用:邻居发现(自动发现路由器)、邻居建立(完成hello报文的参数协商,建立邻居关系)、邻居保持(通告周期发送和接收,检测邻居运行状态)
邻接关系的建立:ExStart:邻居状态变成此状态以后,路由器开始向邻居发送DD报文,此时DD报文不包含链路状态描述;Exchange:在此状态下路由器和邻居之间相互发送包含链路状态信息摘要的DD报文,Loading:相互发送LSP报文、LSU报文、LSACK报文。Full:路由器完成了和邻居的LSDB同步
DD报文字段:I:连续发送多个报文时,置1表示这是第一个报文,否则置0;M:连续多个报文时,置0这是最后一个报文,否则置0;MS:置1,为主路由器
具体步骤:
R1和R2的Router ID分别为10.0.1.1和10.0.2.2并且二者已建立了邻居关系。当R1的邻居状态
变为ExStart后,R1会发送第一个DD报文。此报文中,M-bit设置为1,表示后续还有DD报
文要发送,MS-bit设置为1,表示R1宣告自己为Master。DD序列号被随机设置为X,I-bit
设置为1,表示这是第一个DD报文。
• 同样当R2的邻居状态变为ExStart后,R2也会发送第一个DD报文。此报文中,DD序列号被
随机设置为Y(
I-bit=1,M-bit=1,MS-bit=1,含义同上)。由于R2的Router ID较大,所
以R2将成为真正的Master。收到此报文后,R1会产生一个Negotiation-Done事件,并将邻
居状态从ExStart变为Exchange。
• 当R1的邻居状态变为Exchange后,R1会发送一个新的DD报文,此报文中包含了LSDB的摘
要信息,序列号设置为R2在步骤2中使用的序列号Y,I-bit=0,表示这不是第一个DD报文,
M-bit=0,表示这是最后一个包含LSDB摘要信息的DD报文,MS-bit=0,表示R1宣告自己为
Slave。收到此报文后,R2将邻居状态从ExStart变为Exchange。
• 当R2的邻居状态变为Exchange后,R2会发送一个新的DD报文,此报文包含了LSDB的摘要
信息。DD序列号设置为Y+1, MS-bit=1,表示R2宣告自己为Master。
• 虽然R1不需要发送新的包含LSDB摘要信息的DD报文,但是作为Slave,R1需要对Master发
送的每一个DD报文进行确认。所以,R1向R2发送一个新的DD报文,序列号为Y+1,该报
文内容为空。发送完此报文后,RTA产生一个Exchange-Done事件,将邻居状态变为
Loading。R2收到此报文后,会将邻居状态变为Full(假设R2的LSDB是最新最全的,不需
要向R1请求更新)
为什么要选举DR?MA网络n*(n-1)/2个邻接关系,管理复杂,重复的LSA泛洪,造成资源浪费。
DR的作用:负责建立和维护邻接关系和LSA的同步;DR和其他的路由器形成邻接关系并交换路由信息,其他路由器之间不直接交换链路状态信息
BDR的作用:避免单点故障,在DR失效时接替DR
• MA( Multiple Access,多路访问 )分为BMA( Broadcast Multi-Access,广播多路访问)
和NBMA(Non-Broadcast Multiple Access,非广播多路访问)。以太网链路组成的网络
是典型的BMA网络。帧中继链路通过逻辑上的划分组成典型的NBMA网络(注:帧中继相
关知识不再介绍)。
• DRother:既不是DR也不是BDR的路由器就是DRother路由器。
DR和BDR的选举规则:① 非抢占式的(新加入的设备不能直接称为DR或者BDR,只可以式DRouter)②基于接口的(接口优先级越大,越优先;接口优先级一样,Router ID越大越优先)
广播链路或者NBMA链路上DR和BDR的选举过程如下:
▫ 接口UP后,发送Hello报文,同时进入到Waiting状态。在Waiting状态下会有一个
WaitingTimer,该计时器的长度与DeadTimer是一样的。默认值为40秒,用户不可
自行调整。
▫ 在WaitingTimer触发前,发送的Hello报文是没有DR和BDR字段的。在Waiting阶段,
如果收到Hello报文中有DR和BDR,那么直接承认网络中的DR和BDR,而不会触发选
举。直接离开Waiting状态,开始邻居同步。
▫ 假设网络中已经存在一个DR和一个BDR,这时新加入网络中的路由器,不论它的
Router ID或者DR优先级有多大,都会承认现网中已有的DR和BDR。
▫ 当DR因为故障Down掉之后,BDR会继承DR的位置,剩下的优先级大于0的路由器会
竞争成为新的BDR。
▫ 只有当不同Router ID,或者配置不同DR优先级的路由器同时起来,在同一时刻进行
DR选举才会应用DR选举规则产生DR
• P2MP:point-to-multipoint,点到多点。
![]()
![]()
![]()
![]()
![]()
![]()
链路状态类型(LS TYpe),链路状态ID(Link State ID),通告路由器(Advertising Router,产生该LSA的路由器ID)三元组唯一标识了一个LSA
链路状态老化时间(LS Age)、链路状态序列号(LS Sequence Number)、校验和(LS checksum)用于判断LSA新旧
一类LSA(路由器LSA/router LSA):每个设备都会产生,描述了设备的链路状态和开销,描述了该路由器直连接口的信息,该LSA只能在接口所属的区域泛洪
二类LSA(网络LSA/NETworkLSA):DR(根路由器)产生,描述了DR所接入的MA网络中所有与之形成邻接关系的路由器,以及DR自己,该LSA只能在接口所属区域泛洪,同时携带该网段的网络掩码
Link ID:DR接口地址,Network MAsk:MA网络的子网掩码
三类LSA(网络汇总LSA/NETwork summary LSA):由ABR(区域边界路由器)产生,描述区域内某个网段的路由,该类LSA主要用于区域间路由的传递
ID:路由的目的网络地址(宣告出去的) MASk:路由的网络掩码
四类LSA(ASBR汇总LSA/ASBR summary LSA):由ABR产生,描述到ASBR(自治系统边界路由器)的路由,通告给除ASBR所在区域的其他相关区域
ID:ASBR的RouterID metric:到达目的地址的开销
五类LSA(AS外部LSA,AS External LSA):由ASBR(自治系统边界路由器)产生,用于描述到达OSPF域外路由
ID:外部路由的目的网络地址 MASK:网络掩码
七类LSA(非完全末梢区域LSA/NSSA LSA ):由ASBR产生,用于描述到达OSPF域外的路由,与五类LSA相比,泛洪范围不同,只能在自己始发的NSSA内泛洪,并且不能直接进入area0,NSSA的ABR会将七类LSA转换成五类LSA注入到area0
![]()
Router LSAs使用Link 来承载路由器直连接口信息,每条Link 均包含“链路类型”,“链路ID”以及:度量值“。路由器可能会采用一个或者多个Link来描述一个接口。
ospf的链路类型分类,ospf 链路的transnet和stub net有什么区别 - 网络工程师培训、思科认证、华为认证培训-onelab网络实验室 (xacisco.net)
点对点链路P2P:Link ID 是邻居路由器的routerID,LinkData是宣告该Router LSA 的路由器接口地址
TransNet(描述一个从本地路由器到一个Transit(传输链路)网段(例如MA(多路访问)或者NBMA(非广播型多路访问)网段)的连接属于拓扑信息:Link ID是DR接口IP地址,LinkData是宣告该ROuter LSA的路由器接口地址
StubNet(描述一个从本地路由器到一个stub网段的连接,属于网段信息):LinkID:宣告该RouterLSA的路由器接口的网络IP地址,LinkData该Stub网络的网络掩码
一类LSA
![]()
二类LSA:
![]()
SPF算法:1、构建SPF树:路由器把自己作为树根,根据Router-LSA和Network-LSA里面的拓扑信息,依次把Cost值最小的路由器加入到SPF树中,路由器以Router ID或者DR标识(注意广播链路中DR与其直连的路由器Cost=0,SPF只有单向的最短路径,保证了OSPF区域内路由计算不会出现环路),2、计算最短路由:将Router-LSA和Network-LSA 中的路由信息以叶子节点的形式附加在对应的OSPF路由器上,计算最短路由(注意已经出现的路由信息不会再添加到OSPF树干上)
OSPF区域间路由信息的传递时通过ABR产生的3类LSA(network summary LSA)实现的
三类LSA:Link ID就是通告的那个网段
![]()
防环机制:所有非骨干区域必须和Area 0直接相连,区域间路由需经由Area 0中转
非骨干路由之间不能传递路由
ABR不会将描述到达某个区域内网段路由的3类LSA再注入该区域
ABR从非骨干区域收到的3类LSA不能用于区域间路由的计算
OSPF要求骨干区域必须时连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域在逻辑上连续
虚连接可以任意两个ABR上建立,但是要求这两个ABR都有端口连接到一个相同的非骨干区域
虚连接的创建使OSPF协议可以通过非骨干区域通信,违背了OSPF区域间的防环规则,在某些场景下会导致路由环路的产生,因此不建议部署OSPF虚连接
![]()
![]()
![]()
![]()
![]()
![]()
![]()
4类LSA![]()
![]()
![]()
![]()
Stub区域的ABR不向Stub区域内传播它接收到的AS外部路由,为保证Stub区域能够到达AS外部,Stub区域的ABR将生成一条缺省路由(使用3类LSA描述),可以通告默认路由到达AS外部
注意:骨干区域不能配置为Stub区域、Stub区域中的所有路由器都必须将该区域配置为Stub、Stub区域内不能引入也不能接收AS外部路由、虚连接不能穿越Stub区域
Totally Stub区域既不允许AS外部路由在本区域内传播,也不允许区域间路由在本区域内传播。Totally Stub区域内的路由器通过本区域ABR下发的缺省路由(3类)到达其他区域,以及AS外部(注意配置时要在ABR上追加no-summary关键字)
NSSA区域能够引入外部路由,同时又不会学习来自OSPF网络其他区域引入的外部路由
Totally NSSA 比NSSA在ABR上追加了 no-summary关键字
![]()
![]()
![]()
![]()
特殊区域的使用减少了设备LSDB规模,从而减少设备性能浪费,且一定程度上也缩小了网络故障的影响范围
![]()
![]()
![]()
![]()
![]()
silent-interface特性:不会接收和发送ospf报文,但是它的直连路由仍然可以发布出去
![]()
![]()
![]()
stub区域和Totally stub区域的主要差别:stub区域不允许4类5类LSA进入,但是允许3类LSA进入,Totally stub区域不允许3,4,5类LSA进入,只允许表示缺省路由的3类LSA进入
区域间路由汇总功能在ABR上配置
![]()
链路状态路由协议必经的几个过程:邻居关系的建立,链路状态数据库的同步,SPF算法计算最短路径。
骨干区域必须连续,或者只可以有一个骨干区域。
![]()
![]()
![]()
OSPF每30分钟更新一次,
![]()
![]()
点到点的链路+1,以太接口+1,虚链接+1,stubnet+1
![]()
例子:
![]()
点对点:ID:邻居路由IP data:宣告接口的IP
stubnet:ID :宣告接口的网络IP即该地址段的网络号,data:网络段的子网掩码
![]()
ID:DR接口的IP,data:宣告接口的IP
![]()
ID:邻居路由IP data:宣告接口IP
![]()
由DR产生,描述当前网络直连的路由器。
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ABCD 错,不一定还要看优先级
![]()
![]()
3类LSA在区域边界将区域的路由信息转换成3类LSA通告给其他区域
![]()
![]()
![]()
![]()
![]()
![]()
![]()
非骨干区域必须直接和骨干区域相连接,非骨干区域之间的路由要经骨干区域中转(骨干区域只有一个/骨干区域必须是连续的)
![]()
![]()
骨干区域通告到非骨干区域的3类LSA不能再通告回骨干区域
非骨干区域通告到骨干区域的3类LSA只能通告到其他的非骨干区域
![]()
一条3类LSA只能描述一条路由信息
非骨干区域必须直接和骨干区域相连接,非骨干区域之间的路由要经骨干区域中转(骨干区域只有一个/骨干区域必须是连续的)
骨干区域通告到非骨干区域的3类LSA不能再通告回骨干区域
非骨干区域通告到骨干区域的3类LSA只能通告到其他的非骨干区域
![]()
![]()
![]()
ABR:区域边界路由器
![]()
5类LSA一般情况下转发地址Forwarding address全0意味着前往自治系统外部直接找ASBR就可以了。
![]()
![]()
![]()
![]()
区域0R1有了一类LSA,不需要四类LSA
![]()
![]()
类型一的路由可信度更高,类型二的可信度低
![]()
![]()
1.A CD 2 A
区域内的路由优于区域间优于第一类外部路由优于第二类外部路由
![]()
1类2类LSA计算区域内的路由,3类LSA计算区域间的路由,4类计算ASBR,5类自治系统外部的路由
七种 OSPF-LSA简介(学习笔记) (huawei.com)
OSPF的LSA类型 - Peakzl - 博客园 (cnblogs.com)
![]()
![]()
传输区域:骨干区域;
末端区域:非骨干区域
![]()
骨干区域不能被设置为Stub区域
区域内所有区域都要配置为Stub
stub区域不接收外部路由
虚连接不可以穿越Stub区域
![]()
有特殊的三类LSA
![]()
完全末节区域
![]()
![]()
NSSA区域,末节区域引入7类LSA,还是没有5类LSA,过不来
![]()
重点
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ABCD;在ABR,上增加了一个nosummary 关键字,完全末节区域阻止了 3类LSA,只允许一个特殊的全0的默认路由的3类LSA进入完全末节区域;在ABR上配置区域间的路由汇总,在ASBR上配合外部路由的路由汇总