第六章 网络互连与互联网(七):网关协议

七、网关协议

Intenet 中的路由器叫 IP网关。网关执行复杂的路由算法,需要大量且及时的路由信息。网关协议就是用于网关之间交换路由信息的协议。

1. 自治系统

(1)自治系统是由同构型的网关连接的因特网,这样的系统往往是由一个网络管理中心控制的。

(2)自治系统内部的网关之间执行内部网关协议 (IGP ),互相交换路由信息。

​(3)一般来说,IGP是自治系统内部专用的,为特定的应用服务,在自治系统之外是无效的。

(4)在不同自治系统之间用外部网关协议(EGP),交换路由信息。

(5)​EGP 比 IGP 传送的信息要少一些,因为 EGP 只涉及自治系统之间的路由信息,而与系统内部路由无关。换而言之,EGP 以自治系统为节点,通告各个网关可到达哪些系统。

(6)内部网关协议和外部网关协议如下图所示:

在这里插入图片描述

2.外部网关协议

(1)早期有一个外部网关协议叫EGP,最新的外部网关协议叫作 BGP。

(2)BGP 4 已经广泛地应用于不同ISP的网络之间,成为事实上的Internet 外部路由协议标准。

(3)BGP 4 是一种动态路由发现协议,支持无类别域问路由 CIDR。

(4)BGP 的主要功能是控制路由策略,例如是否愿意转发过路的分组等。BGP的 4 种报文如下表所示,这些报文通过TCP(179端口)连接传送。

报 文 类 型 功 能 描 述
打开(Open) 建立邻居关系
更新(Update) 发送新的路由信息
保持活动状态(Keepalive) 对 Open 的应答/周期性地确认邻居关系
通告(Notification) 报告检测到的错误

(5)在 BGP 中用上述 4 种报文可实现以3个功能过程:

  • 建立邻居关系
  • 邻居可到达性。
  • 网络可到达性。

3.内部网关协议

(1)网关协议也叫作路由协议,是路由器之间实现路由信息共享的一种机制,它允许路由器之间通过交换路由信息维护各自的路由表。IP协议是根据路由表进行分组转发的协议,按照业内的说法,应该叫作被路由的协议

(2)常用内部路由协议包括路由信息协议(RIP)、开放最短路径优先协议(OSPF)、中间系统到中间系统的协议(IS-IS)、内部网关路由协议(IGRP)和增强的IGRP协议(EIGRP)等,最后两种是思科公司的专利协议。

路由信息协议

①RIP 作为内部网关协议运行在基于 TCP/IP 的网络中。RIP 适用于小型网络,因为它允许的跳步数不超过 15 步。

②RIP 分为两个版本:RIPv1、RIPv2。

③路由收敛和水平分割

  • 距离矢量法要求相邻的路由器之间周期性地交换路由表,并通过逐步交换把路由信息扩散到网络中所有的路由器。这种逐步交换过程如果不加以限制,将会形成路由环路,使得各个路由器无法就网络的可到达性取得一致。
  • 解决路由环路问题可以采用水平分割法。这种方法规定,路由器必须有选择地将路由表中的信息发送给邻居,而不是发送整个路由表。

④RIP 报文格式

RIPv2 报文封装在 UDP 数据报中发送,占用端口号 520,报文格式如下图所示。

在这里插入图片描述
报文包含 4 个字节的报头,然后是若干个路由记录。RIP 报文最多可携带 25 个路由记录,每个路由记录20个字节,其中各个字段的解释如下。

  • 命令:用于区分请求和响应报文 。
  • 版本:可以是 RIP 第一版或第二版,两种版本报文格式相同。
  • 地址族标识符:对于 IP 协议,该字段为 2 。
  • 路由标记:用于区别内部或外部路由,用16位的 AS 编号来区分从其他自治系统学习到的路由。
  • 网络地址:表示目标 IP 地址。
  • 子网掩码:对于 RIPv2,该字段是对应网络地址的子网掩码;对于RIPv1,该字段是0,因为 RIPv1 默认使用 A、B、C 类地址掩码。
  • 下一跳路由器地址:表示下一跳的地址。
  • 距离:表示到达目标的跳步数。
OSPF 协议

OSPF 是一种链路状态协议,用于在自治内部的路由器之间交换路由信息。OSPF 具有支持大型网络、占用网络资源少、路由收敛快等优点,在目前的网络配置中占有很重要的地位。

距离矢量协议发布自己的路由表,交换的路由信息量很大。链路状态协议与之不同,它是从各个路由器收集链路状态信息,构造网络拓扑结构图,使用 Dijkstra 的最短通路优先算决(SPF)计算到达各个目标的最佳路由。

距离矢量协议是周期性地发布路由信息,面链路状态协议是在网络拓扑发生变化时才发布路由信息,而且 OSPF 采用 TCP 连接发送报文,每个报文都要求应答,因而通信更加可靠。

OSPF 协议引入了“分层路由”的概念。如果网络规模很大,则路由器要学习的路由信息很多,对网络资源的消耗很大,所以典型的链路状态协议都把网络划分成较小的区域,从而限制了路由信息传播的范围。每个区域就如同一个独立的网络,区域内的路由器只保存该区域的链路状态信息,使得路由器的链路状态数据库可以保持合理的大小,路由计算的时间和报文数量都不会太大。OSPF 主干网负责在各个区域之间传播路由信息。

①OSPF区域

每个 OSPF 区域被指定了一个 32 位的区域标识符,可以用点分十进制表示,OSPF 的区域分为以下 5 种,不同类型的区域对由自治系统外部传入的路由信息的处理方式不同。

  • 标准区域:标准区域可以接收任何链路更新信息和路由汇总信息。
  • 主干区域:主干区域是连接各个区域的传输网络,其他区域都通过主干区域交换路由信息。主干区域拥有标准区域的所有性质。
  • 存根区域:不接收本地自治系统以外的路由信息,对自治系统以外的目标采用默认路由 0.0.0.0。
  • 完全存根区域:不接收自治系统以外的路由信息,也不接收自治系统内其他区域的路由汇总信息,发送到本地区域外的报文使用默认路由0.0.0.0。完全存根区域是Cisco 定义的,是非标准的。
  • 不完全存根区域(NSAA):类似于存根区域,但是允许接收以类型7的链路状态公告发送的外部路由信息。

②OSPF网络类型

网络的物理连接和拓扑结构不同,交换路由信息的方式就不同。OSPF 将路由器连接的物理网络划分为 4 种类型。

  • 点对点网络:在这种网络中,两个路由器可以直接交换路由信息。
  • 广播多址网络:以太网或者其他具有共享介质的局域网都属于这种网络。在这种网络中,一条路由信息可以广播给所有的路由器。
  • 非广播多址网络(NBMA):例如 X.25 分组交换网就属于这种网络,在这种网络中可以通过组播方式发布路由信息。
  • 点到多点网络:可以把非广播网络当作多条点对点网络来使用,从而把一条路由信息发送到不同的目标。

如果两个路由器都通过各自的接口连接到一个共同的网络上,则它们是邻居关系。路由器通过 OSPF 的 Hello 协议来发现邻居。

③OSPF 路由器

在多区域网络中,OSPF路由器可以按不同的功能划分为以下4种。

  • 内部路由器:所有接口在同一区域内的路由器,只维护一个链路状态数据库
  • 主干路由器:具有连接主干区域接口的路由器。
  • 区域边界路由器ABR:连接多个区域的路由器,一般作为一个区域的出口。ABR 为每一个连接的区域建立一个链路状态数据库,负责将所连接区域的路由摘要信息发到主干区域,而主干区域上的 ABR 则负责将这些信息发送给各个区域。
  • 自治系统边界路由器(ASBR):至少拥有一个连接外部自治系统接口的路由器,负责将外部非 OSPF 网络的路由信息传入 OSPF 网络。

④链路状态公告

OSPF 路由器之间通过链路状态公告(LSA)交换网络拓扑信息。LSA 中包含连接的接口、链路的度量值等信息。LSA 有几种不同类型的报文,具体如下图:

类型名称发送者传播范围描述
1路由器 LSA任意 OSPF 路由器区域内路由器在区域内连接的链路状态
2网络 LSADR区域内指定路由器 DR 在区域内连接的各个路由器
3网络汇总 LSAABR主干区域ABR 连接的本地区域中的链路状态
4ASBR 汇总 LSAABR主干区域自治系统边界路由器 ASBR 的可到达性
5外部 LSAASBR除存根区之外的其他区自治系统之外的的路由信息
6组播 LSA用于建立组播分发树
7NSSA LSA连接到 NSSA 的 ASBR不完全存根区 Not-So-Stub-Area到达自治系统之外的目标的路由可以由 ABR 转换为类型 5 的LSA

⑤OSPF 报文

下表为 OSPF 的5种报文,这些报文通过 TCP 连接传送。OSPF 路由器启动后以固定的时间间隔泛洪传播 Hello 报文,采用目标地址 224.0.0.5 代表所有的 OSPF 路由器。在点对点网络上每 10 秒发送一次,在 NBMA 网络中每 30 秒发送一次。管理 Hello 报文交换的规则称为 Hello 协议。Hello 协议用于发现邻居,建立毗邻关系,还用于选出区域内的指定路由器 DR 和备份指定路由器 BDR。

类型报文类型功能描述
1Hello用于发现相邻的路由器
2数据库描述 DBD表示发送者的链路状态数据库内容
3链路状态请求 LSR向对方请求链路状态信息
4链路状态更新 LSU向邻居路由器发送链路状态通告
5链路状态应答 LSAck对链路状态更新报文的应答

OSPF 报文格式如下图所示,对报文头的各个字段解释如下。

在这里插入图片描述

  • 版本:OSPF 版本1已废弃,现在使用的是版本2。
  • 类型:如④当中表中所示。
  • 分组长度:整个 OSPF 报文的长度。
  • 路由器ID:利用路由器环路接口的 IP 地址作为路由器的标识,如果没有环路接口 IP 地址,则选择最大的接口 IP 地址作为路由器标识。
  • 区域ID:在多区域网络中,每一个区域指定一个区域 ID。
  • 认证类型:OSPF 支持不同的认证方法,对组播地址 224.0.0.5 发送的 Hello 分组要经过认证才能被接收。

⑥OSPF 的优缺点

  • 链路状态协议使用了分层的网络结构,减小了 LSA 的传播范围,同时也减小了网络拓扑变化时影响所有路由器的可能性。
  • 链路状态协议使用组播来共享路由信息,并且发布的是增量式的更新消息。
  • 链路状态协议支持无类别的路由和路由汇总功能,可以使用 VLSM 和CIDR技术。
  • 使用 SPF 算法不会在路由表中出现环路,而这是距离矢量路由协议难以处理的问题。

4.核心网关协议

主干网中的网关叫核心网关。核心网关之间交换路由信息时使用核心网关协议(GGP)。

GGP协议的报文格式与EGP类似。报文分为以下4类。

  • 路由更新报文:发送路由信息。
  • 应答报文:对路由更新报文的应答,分肯定、否定两种。
  • 测试报文:测试相邻网关是否存在。
  • 网络接口状态报文:测试本地网络连接的状态。
  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码园与文学坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值