互联网应用技术 第二节 互联网技术 第十三章 寻径协议
description
Transcript of 互联网应用技术 第二节 互联网技术 第十三章 寻径协议
路径的刷新 I n t e r n e t 是以一组自治系统 (A S , A
utonomous System) 的方式组织的,每个自治系统通常由单个实体管理。常常将一个公司或大学校园定义为一个自治系统。 N S F N E T 的 I n t e r n e t 骨干网形成一个自治系统,这是因为骨干网中的所有路由器都在单个的管理控制之下。
路径的刷新 自治系统间通过核心网关或非核心网关相连,他们包含着 Internet 的路径信息。 路径信息的刷新是自动的。 由一组协议来实现。主要描述网关之间的路径信息交换及网关获取路径信息后如何据此进行路径刷新的机制。 包括自治系统内的内部网关协议( IGP ) 自治系统间的外部网关协议( EGP )
路径的刷新 每个自治系统可以选择该自治系统中各个路由器之间的选路协议。这种协议称为内部网关协议
I G P ( Interior Gateway Protocol )或域内选路协议( intradomain routing protocol )。 最常用的 I G P 是选路信息协议 R I P 。 一种新的 I G P 是开放最短路径优先 O S P F( Open Shortest Path First )协议。它意在取代 R I P 。 另一种 1 9 8 6 年在原来 N S F N E T 骨干网上使用的较早的 I G P 协议— H E L L O ,现在已经不用了。
路径的刷新 外部网关协议 E G P ( Exterier Gateway
Protocol )或域内选路协议的分隔选路协议用于不同自治系统之间的路由器。 新 E G P 是当前在 N S F N E T 骨干网和一些连接到骨干网的区域性网络上使用的是边界网关协议 B G P ( Border Gatewa
y Protocol )。 B G P 意在取代 E G P 。
向量-距离算法( V-D ) 思想: 网关周期性向外广播路径刷新报文,内容为由若干( V , D )序偶组成的序偶表。
V 代表向量( Vector ),标识该网关可以到达的信宿; D 代表距离( Distance ),指出该网关去信宿 V 的距离, D 按照路径上的网关个数计。其他网关收到某网关的( V , D )报文后,据此按照最短路径原则对各自的寻径表进行刷新。
向量-距离算法( V-D ) 算法描述: 首先:网关启动时,对其 V-D 寻径表 进行初始化,包含所有去往与本网关直接相连的网络的路径。
G110.0.0.0 20.0.0.0
信宿网 距离 路径10.0.0.0 0 直接20.0.0.0 0 直接
向量-距离算法( V-D ) 然后:各网关周期性向外广播其 V-D 寻径表内容。 与某网关直接相连的网关收到该寻径表报文后,进行本地寻径表刷新。刷新时,网关对以下情况,须修改本地寻径表。 假设网关 Gi 收到 Gj 的 V-D 报文 ( 1 ) Gj 列出的某表目 Gi 寻径表没有。则 Gi寻径表中须增加相应表目,其信宿为 Gj 表目中的信宿,其距离为 Gj 表目中的距离加 1 ,其路径为 Gj 。
向量-距离算法( V-D ) ( 3 ) Gi 去往某信宿的路径经过 Gj ,而
Gj 去往该信宿的路径发生变化。 分两种情况: A 、 Gj 的 V-D 表不再包含往某信宿的路径,则 Gi 中相应路径须删除; B 、 Gj 的 V-D 表往某信宿的路径距离发生变化,则 Gi 中相应表目的距离须修改为 Gj 中的距离加 1 。
向量-距离算法( V-D )信宿 距离 路径10.0.0.0 0 直接30.0.0.0 7 Gn
180.0.0.0 5 Gj
199.0.0.0 6 Gj
信宿 距离10.0.0.0 4
30.0.0.0 4
41.0.0.0 3
180.0.0.0 5
信宿 距离 路径10.0.0.0 0 直接30.0.0.0 5 Gj41.0.0.0 4 Gj180.0.0.0 6 Gj网关 Gi 原寻径表
网关 Gj 广播的 V-D 报文
网关 Gi 刷新后的寻径表
链接-状态算法( L-S ) 算法描述: 1 、各网关主动测试所有与相邻网关之间的状态。网关周期性向相邻网关发出查询报文,收到响应,说明链接为开或关。 2 、各网关周期性地向所有参加 SPF 算法的网关广播其 L-S 信息。
Dijkstra 算法 每个结点用从源结点沿已知最佳路径到本结点的距离来标注,标注分为临时性标注和永久性标注 初始时,所有结点都为临时性标注,标注为无穷大 将源结点标注为 0 ,且为永久性标注,并令其为工作结点
Dijkstra 算法检查与工作结点相邻的临时性结点,若该结点到工作结点的距离与工作结点的标注之和小于该结点的标注,则用新计算得到的和重新标注该结点 在整个图中查找具有最小值的临时性标注结点,将其变为永久性结点,并成为下一轮检查的工作结点重复第四、五步,直到目的结点成为工作结点
网关-网关协议( GGP ) GGP ( Gateway - Gateway Protoco
l )基于 V-D 算法,用于最初的 Internet的核心网关间的路径信息交换。 主要利用 GGP 可以实现自动增加新核心网关。当增加新核心网关时,向相邻核心网关广播 V-D 报文,各相邻网关刷新本地寻径表。 当前 Internet 核心采用基于 SPF 算法的协议,如 SPREAD 和 OSPF 协议。
外部网关协议( EGP ) 用于两个自治系统间的寻径信息交换,自治系统采用 EGP 向核心系统报告其内部路径。 实际上, EGP 时用于外部邻机间交换路径信息的协议。 外部邻机为属于不同自治系统的相邻网关。 EGP 基于 V-D 算法,采用 IP 数据报传输
外部网关协议( EGP )EGP消息类型 描述邻居获取请求 请求让本网关成为一个邻居邻居获取确认 对获取请求的确认邻居获取拒绝 拒绝接受获取请求停止请求 请求终止邻居关系停止确认 对停止请求的确认HELLO 请求邻居响应I-H-U 对 HELLO 的响应询问请求 请求网络路由信息更新路由更新 网络可达性信息出错 对出错信息的响应
外部网关协议( EGP )邻居获取 是一个两次握手过程。网关给它的邻居发送邻居获取消息,其邻居如果愿意建立邻居关系,则发送邻居获取确认消息,否则发送邻居获取拒绝消息。 若要中断邻居关系,可发送邻居停止请求,对方用停止确认消息响应。
外部网关协议( EGP ) 邻居测试 测试邻居是否可达。 网关发送 hello消息给邻居,邻居发回一个 I-H-U消息响应。 由于 hello 和 I-H-U消息可能丢失, EGP采取 n中取 k 的策略来判断邻居的状态。 一个邻居本来可达,如果发送 n 个 hello消息这段时间内,收到小于 k 个 I-H-U消息,则可认为邻居不可达。 一个本来是不可达的,如果发送m 个 hello消息时间内收到多余 j 个 I-H-U消息,则邻居是可达的。
外部网关协议( EGP ) 寻径信息交换 寻径信息包括 EGP 网关所在的自治系统中可达到的网络的信息,和网关学习到的、不属于本自治系统的信息。 由于不同自治系统采用的距离度量标准不同,因此对自治系统内部和外部网关的寻径信息分开广播。
外部网关协议( EGP ) EGP规定:只交换完全可从本自治系统内部到达的各网络的路径信息,称为第三方限制,即两自治系统不交换经过第三方自治系统的路径信息。根本原因在于各个自治系统的距离度量标准不同,无法进行路径比较,所以 EGP采取对某一内部网络,只通告一条路径。
外部网关协议( EGP )第三方限制的结果: 1 、使得从核心系统到任何网络只有唯一的一条路径,即树形寻径结构。 2 、使得自治系统于核心系统的多重连接失去意义。 3 、路径切换存在困难。
核心系统 Gi 自治系统Gj
边界网关协议: BGP
边界网关协议 BGP ( Border Gateway Protocol ) 通过 TCP 连接传送路由信息;采用距离向量算法,路由信息中记录路径的轨迹; 对于互连的网络的拓扑结构没有任何限制,所传递的路由信息包括数据到达这些网络所必须经过的自治系统 AS 中的所有路径。这些信息足以构造一幅自治系统连接图。然后,可以根据连接图删除回路,制订选路策略。 Fig. 5-55
边界网关协议: BGP
可以将自治系统分为以下几种类型: 1) 残桩自治系统 (stub AS) ,它与其他自治系统只有单个连接。 stub AS只有本地流量。 2) 多接口自治系统 (multihomed AS) ,它与其他自治系统有多个连接,但拒绝传送通过流量。 3) 转送自治系统 (transit AS) ,它与其他自治系统有多个连接,在一些策略准则之下,它可以传送本地流量和通过流量。 这样,可以将 I n t e r n e t 的总拓扑结构看成是由一些残桩自治系统、多接口自治系统以及转送自治系统的任意互连。残桩自治系统和多接口自治系统不需要使用 B G P—
— 它们通过运行 E G P 在自治系统之间交换可到达信息。
边界网关协议: BGP
B G P允许使用基于策略的选路。 由自治系统管理员制订策略,并通过配置文件将策略指定给 B G P 。 制订策略并不是协议的一部分,但指定策略允许 B G P 实现在存在多个可选路径时选择路径,并控制信息的重发送。 选路策略与政治、安全或经济因素有关。
边界网关协议: BGP
消息 定义Open 建立和另一个网关的邻居关系Update 传输一个单一路径的消息和列出取消的多条路径Keepalive 确认 Open消息,定期维持邻居关系Notification 检测到错误时发送
边界网关协议: BGP
BGP功能: 1 、邻居获取 BGP 网关和邻居网关建立一条 TCP 连接,接着发送 Open消息,若邻居网关接受,返回 Keepalive消息响应。 Open消息中标识了源网关的 IP 地址和自治系统标识, Hold Time字段用于检测 K
eepalive 或 Update消息是否超时。
边界网关协议: BGP
2 、邻居检测建立 BGP 连接的两个网关定期发送 Keep
alive消息,保证 Hold 计时器不超时。 3 、寻径信息交换 网关维护一个能到达的网络的数据库(寻径表)及到达该网络的最佳路径。 当路径发生变化,网关发送 Update消息,广播给所有 BGP 网关。
边界网关协议: BGP
Update消息包含了某路径所经的网络标识,及路径的属性,可根据这些属性进行路径优化和制定选路策略 如使用 As_path属性可以允许数据只经过特定的自治系统。 Notfication消息用来报告在协议操作过程中检测到的错误,若发生错误,则释放 B
GP 连接,终止邻居关系。
寻径信息协议( RIP ) 用于自治系统内部 基于向量-距离( V-D )算法。 可在主机和网关实现,分为两种工作方式 主机的 RIP工作在被动状态,只是接受 R
IP 网关广播的寻径信息,更新本地寻径表。 网关的 RIP工作在主动状态,发送和接受
RIP消息。 RIP消息以 UDP 报文发送。
寻径信息协议( RIP ) 网关每 30秒向外广播一个 V-D 报文,报文信息来自本地寻径表。 报文中的距离以网关数计算,与信宿网络直接相连的网关距离为 1 ,相隔一个网关为 2…. ,一条路径不得超过 15 , 16 表示路径无限长。 这规定限制了 RIP 的使用范围,使 RIP局限于小型局域网。
寻径信息协议( RIP ) 对 V-D 算法的改进: 1 、对相同开销路径的处理 对于到某网络相同距离的多条路径,采取以下方法:采用最先收到的路径广播报文作为到某网络的路径 以后收到比当前路径更短的报文,则更新本地路径表 若收到相同距离的路径报文,则不理会。
寻径信息协议( RIP ) 2 、对过时路径的处理 对寻径表每条表目设置一个时钟, 若收到的路径刷新报文中有该表目,则时钟清零,重新计时。 若在规定时间内,一直没收到该表目的刷新报文,则删除该表目 RIP规定路径超时为 180秒。
寻径信息协议( RIP ) 当网关 G1 到网络 1 的路径故障后,会出现两种情况: ( 1 ) G1 及时将修改后的路径信息广播,
G2 修改寻径表。 ( 2 ) G2 在未修改前,发送了报文给 G1 ,
G1 则会根据 G2 的 V-D 报文更新本地寻径表,从而产生 G1 到 G2 的寻径循环。 该循环会直到路径长度为 16 时终止,但速度缓慢,称为慢收敛问题。
寻径信息协议( RIP ) 对策有三种: ( 1 )分割范围法 原理:当网关从某个网络接口发送 RIP 路径刷新报文时,其中不能包含从该接口获取的路径信息。 如 G2 向 G1 发送 V-D 报文,不包含到 ne
t1 的表目 而 G1 发现 NET1 不可达后,将停止 RIP广播报文,在时钟机制下,到 NET1 的所有路径将很快删除。
寻径信息协议( RIP ) ( 3 )带触发机制的毒性逆转( poison r
everse )法 原理:当某路径崩溃后,最早广播此路径的网关将原路径继续保留在若干刷新报文中,但指明该路径为无限长(毒性逆转) 为加强效果,同时使用触发刷新。
HELLO 协议 基于 V-D 算法,采用网络延迟作为距离度量。 用于 NSFNET第一代主干。功能: 1 、使用机器间时钟同步。 每个机器维持一个时钟表,记录到相邻机器的传输延迟。 2 、允许机器计算新的路径
开放最短路径优先协议: OSPF 区域 自治系统内部的某些网络和主机的集合。 主要用于降低路径信息传播的范围。 每个 AS 有一个主干( backbone )区域,称为区域 0 ,所有区域与主干区域相连;