590 likes | 721 Views
互联网应用技术 第二节 互联网技术 第十三章 寻径协议. 冯健文 Fengjw@hstc.edu.cn. 内容安排. 两种基本的路径刷新算法 路径刷新协议 IGP : RIP 、 HELLO 、 OSPF EGP. 路径的刷新. I n t e r n e t 是以一组自治系统 (A S , Autonomous System) 的方式组织的,每个自治系统通常由单个实体管理。常常将一个公司或大学校园定义为一个自治系统。 N S F N E T 的 I n t e r n e t 骨干网形成一个自治系统,这是因为骨干网中的所有路由器都在单个的管理控制之下。.
E N D
互联网应用技术第二节 互联网技术第十三章 寻径协议 冯健文 Fengjw@hstc.edu.cn
内容安排 • 两种基本的路径刷新算法 • 路径刷新协议 • IGP:RIP、HELLO、OSPF • EGP
路径的刷新 • I n t e r n e t是以一组自治系统(A S,Autonomous System)的方式组织的,每个自治系统通常由单个实体管理。常常将一个公司或大学校园定义为一个自治系统。 • N S F N E T的I n t e r n e t骨干网形成一个自治系统,这是因为骨干网中的所有路由器都在单个的管理控制之下。
路径的刷新 • 自治系统间通过核心网关或非核心网关相连,他们包含着Internet的路径信息。 • 路径信息的刷新是自动的。 • 由一组协议来实现。主要描述网关之间的路径信息交换及网关获取路径信息后如何据此进行路径刷新的机制。 • 包括自治系统内的内部网关协议(IGP) • 自治系统间的外部网关协议(EGP)
路径的刷新 AS1 AS2 外部网关协议 内部网关协议
路径的刷新 • 每个自治系统可以选择该自治系统中各个路由器之间的选路协议。这种协议称为内部网关协议 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 Gateway Protocol)。B G P意在取代E G P。
向量-距离算法(V-D) • 思想: • 网关周期性向外广播路径刷新报文,内容为由若干(V,D)序偶组成的序偶表。V代表向量(Vector),标识该网关可以到达的信宿;D代表距离(Distance),指出该网关去信宿V的距离,D按照路径上的网关个数计。其他网关收到某网关的(V,D)报文后,据此按照最短路径原则对各自的寻径表进行刷新。
向量-距离算法(V-D) • 算法描述: • 首先:网关启动时,对其V-D寻径表 进行初始化,包含所有去往与本网关直接相连的网络的路径。 20.0.0.0 10.0.0.0 G1
向量-距离算法(V-D) • 然后:各网关周期性向外广播其V-D寻径表内容。 • 与某网关直接相连的网关收到该寻径表报文后,进行本地寻径表刷新。刷新时,网关对以下情况,须修改本地寻径表。 • 假设网关Gi收到Gj的V-D报文 • (1)Gj列出的某表目Gi寻径表没有。则Gi寻径表中须增加相应表目,其信宿为Gj表目中的信宿,其距离为Gj表目中的距离加1,其路径为Gj。
向量-距离算法(V-D) • (2)Gj去往某信宿的距离值比Gi去往该信宿的距离减1还小。则Gi修改本表目,其信宿不变,距离为Gj表目距离加1,路径为Gj。
向量-距离算法(V-D) • (3)Gi去往某信宿的路径经过Gj,而Gj去往该信宿的路径发生变化。 • 分两种情况: • A、Gj的V-D表不再包含往某信宿的路径,则Gi中相应路径须删除; • B、Gj的V-D表往某信宿的路径距离发生变化,则Gi中相应表目的距离须修改为Gj中的距离加1。
向量-距离算法(V-D) 网关Gi原寻径表 网关Gi刷新后的寻径表 网关Gj广播的V-D报文
向量-距离算法(V-D) • 优点:易于实现 • 缺点:1、路径刷新缓慢,不适应路径剧烈变化或大型互联网; • 2、交换信息庞大;
链接-状态算法(L-S) • 即最短路径优先或SPF算法 • 思想: • 网关寻径表依赖于一张表示整个互联网中网关与网络拓扑结构的无向图(L-S图)图中,节点表示网关,边表示连接网关的网络。
链接-状态算法(L-S) • 算法描述: • 1、各网关主动测试所有与相邻网关之间的状态。网关周期性向相邻网关发出查询报文,收到响应,说明链接为开或关。 • 2、各网关周期性地向所有参加SPF算法的网关广播其L-S信息。
链接-状态算法(L-S) • 3、网关收到L-S报文后,刷新网络拓扑结构图。如L-S发生变化,网关利用Dijkstra最短路径算法,根据L-S图重新计算本地路径。
Dijkstra算法 • 每个结点用从源结点沿已知最佳路径到本结点的距离来标注,标注分为临时性标注和永久性标注 • 初始时,所有结点都为临时性标注,标注为无穷大 • 将源结点标注为0,且为永久性标注,并令其为工作结点
Dijkstra算法 • 检查与工作结点相邻的临时性结点,若该结点到工作结点的距离与工作结点的标注之和小于该结点的标注,则用新计算得到的和重新标注该结点 • 在整个图中查找具有最小值的临时性标注结点,将其变为永久性结点,并成为下一轮检查的工作结点 • 重复第四、五步,直到目的结点成为工作结点
链接-状态算法(L-S) • 优点:各网关利用相同的L-S图独立计算路径,使得各网关的L-S图一致,各网关独立计算本地路径,互不影响,且交换的信息可控制,适合大规模互联网。
网关-网关协议(GGP) • GGP(Gateway-Gateway Protocol)基于V-D算法,用于最初的Internet的核心网关间的路径信息交换。 • 主要利用GGP可以实现自动增加新核心网关。当增加新核心网关时,向相邻核心网关广播V-D报文,各相邻网关刷新本地寻径表。 • 当前Internet核心采用基于SPF算法的协议,如SPREAD和OSPF协议。
外部网关协议(EGP) • 用于两个自治系统间的寻径信息交换,自治系统采用EGP向核心系统报告其内部路径。 • 实际上,EGP时用于外部邻机间交换路径信息的协议。 • 外部邻机为属于不同自治系统的相邻网关。 • EGP基于V-D算法,采用IP数据报传输
外部网关协议(EGP) • 功能: • 1、邻机获取 • 2、邻机测试 • 3、与邻机交换寻径信息
外部网关协议(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、路径切换存在困难。 自治系统 核心系统 Gj Gi
边界网关协议: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 • BGP功能: • 1、邻居获取 • BGP网关和邻居网关建立一条TCP连接,接着发送Open消息,若邻居网关接受,返回Keepalive消息响应。 • Open消息中标识了源网关的IP地址和自治系统标识,Hold Time字段用于检测Keepalive或Update消息是否超时。
边界网关协议:BGP • 2、邻居检测 • 建立BGP连接的两个网关定期发送Keepalive消息,保证Hold计时器不超时。 • 3、寻径信息交换 • 网关维护一个能到达的网络的数据库(寻径表)及到达该网络的最佳路径。 • 当路径发生变化,网关发送Update消息,广播给所有BGP网关。
边界网关协议:BGP • Update消息包含了某路径所经的网络标识,及路径的属性,可根据这些属性进行路径优化和制定选路策略 • 如使用As_path属性可以允许数据只经过特定的自治系统。 • Notfication消息用来报告在协议操作过程中检测到的错误,若发生错误,则释放BGP连接,终止邻居关系。
寻径信息协议(RIP) • 用于自治系统内部 • 基于向量-距离(V-D)算法。 • 可在主机和网关实现,分为两种工作方式 • 主机的RIP工作在被动状态,只是接受RIP网关广播的寻径信息,更新本地寻径表。 • 网关的RIP工作在主动状态,发送和接受RIP消息。 • RIP消息以UDP报文发送。
寻径信息协议(RIP) • 网关每30秒向外广播一个V-D报文,报文信息来自本地寻径表。 • 报文中的距离以网关数计算,与信宿网络直接相连的网关距离为1,相隔一个网关为2….,一条路径不得超过15,16表示路径无限长。 • 这规定限制了RIP的使用范围,使RIP局限于小型局域网。
寻径信息协议(RIP) • 对V-D算法的改进: • 1、对相同开销路径的处理 • 对于到某网络相同距离的多条路径,采取以下方法: • 采用最先收到的路径广播报文作为到某网络的路径 • 以后收到比当前路径更短的报文,则更新本地路径表 • 若收到相同距离的路径报文,则不理会。
寻径信息协议(RIP) NET1 G1 G2 NET2 H1
寻径信息协议(RIP) • 2、对过时路径的处理 • 对寻径表每条表目设置一个时钟, • 若收到的路径刷新报文中有该表目,则时钟清零,重新计时。 • 若在规定时间内,一直没收到该表目的刷新报文,则删除该表目 • RIP规定路径超时为180秒。
寻径信息协议(RIP) • 3、慢收敛问题及对策 • 又叫计数无穷 NET1 G1 G2 NET1 G2 G1
寻径信息协议(RIP) • 当网关G1到网络1的路径故障后,会出现两种情况: • (1)G1及时将修改后的路径信息广播,G2修改寻径表。 • (2)G2在未修改前,发送了报文给G1,G1则会根据G2的V-D报文更新本地寻径表,从而产生G1到G2的寻径循环。 • 该循环会直到路径长度为16时终止,但速度缓慢,称为慢收敛问题。
寻径信息协议(RIP) • 对策有三种: • (1)分割范围法 • 原理:当网关从某个网络接口发送RIP路径刷新报文时,其中不能包含从该接口获取的路径信息。 • 如G2向G1发送V-D报文,不包含到net1的表目 • 而G1发现NET1不可达后,将停止RIP广播报文,在时钟机制下,到NET1的所有路径将很快删除。
寻径信息协议(RIP) • (2)保持法 • 原理:得知某网络不可达后的一段时间(60秒)内,网关不接受关于此网络的任何可到达信息。 • 从而给路径崩溃信息以充分的时间传播,在路径循环形成前广播出去。
寻径信息协议(RIP) • (3)带触发机制的毒性逆转(poison reverse)法 • 原理:当某路径崩溃后,最早广播此路径的网关将原路径继续保留在若干刷新报文中,但指明该路径为无限长(毒性逆转) • 为加强效果,同时使用触发刷新。
寻径信息协议(RIP) • 三种方法各有优缺点 • 分割范围法不适合于某些拓扑 • 保持法不能在大型网络上应用 • 带触发机制的毒性逆转法容易引起路径广播泛滥
寻径信息协议(RIP) • RIP协议的缺点: • 选择16为无穷大,使得RIP不能使用在网络路径大于15的网络 • 距离度量过于简单 • 存在无穷计数问题