米葫芦网

标记交换技术

热度:6℃ 发布时间:2023-11-16 19:36:46

综述
本备忘录状况
本文是一份Internet草案。Internet草案是Internet Engineering Task Force(IETF)的工作文档及其涉及的领域与工作组。请注重,其它工作组也可发布工作文档作为Internet草案。
Internet草案的有效期最长为6个月,这是一个有可能随时被其它文档修改、替代或废止的草案文档。使用Internet草案作为参考材料或不以"进行中的工作"的方式来引用它们都是不恰当的。
若想了解任意一份Internet草案的当前状况,请查阅包含在FTP.is.co.za(非洲),nic.nordu.net(欧洲),munnari.oz.au(环太平洋地区),ds.internic.net(美国东海岸)或ftp.isi.edu(美国西海岸)上,Internet-Drafts Shadow目录中的"lid-abstracts.txt"文件。
摘要
本文概括介绍了一种称为标记交换的技术,该技术是一种用于网络层信息包转发的新方法。本文主要描述这种标记交换体系结构的两个主要部件:转发与控制。转发通过应用简单的标签交换技术来完成实施,而现有的网络层路由协议则与联编和分配标记的机制一同进行用于控制。标记交换能够保持IP的扩展属性,并有助于提高IP网的伸缩能力。标记交换并不依靠于ATM,它能直接应用于ATM交换机。本文同时还介绍了一系列标记交换的应用与部署场合。
引言
Internet的持续发展日益要求Internet服务提供商(ISPs)提供更高带宽。不过,Internet的发展并不是更高带宽的唯一驱动因素─对更高带宽的需求,还来源于日渐蓬勃发展的多媒体应用。
而更高带宽的需求又要求:路由器对多播与单播流量都具有更高的转发性能(每秒信息包数)。
Internet的发展也要求Internet路由系统改善其扩展性能。由单个路由器维护大量路由信息的能力与建立一个路由知识层的能力对支持一个高质量、可扩展的路由系统是必不可少的。
我们已经意识到有必要改善转发性能,同时,增加路由功能支持多点广播,从而能够更灵活地控制流量路由,并提供建立一个路由知识层的能力。不仅如此,拥有一个能支持适度发展以适应新的需要的路由系统,正变得越来越重要。
标记交换是针对这些挑战而提供的一种有效解决方案。标记交换可以将网络层路由的灵活性及丰富功能与标签交换转发模式的简易性紧密融合在一起。标记交换转发模式(标签交换)的简易性改进了转发性能,同时保持了极具竞争力的性能价格比。通过将大范围的转发粒度与标记联系起来,同一转发模式可以用于支持各种各样的路由功能,比如:基于目的地的路由,多点广播,路由知识层与灵活的路由控制。最后,在保持同样转发模式的情况下把简单的转发,大范围的转发粒度与发展路由功能的能力结合起来,便产生了可以确保适度发展以适应新涌现需求的路由系统。
本文档其余部分的安排如下:第2节介绍标记交换的主要组成部件─转发与控制。第3节阐述转发部件。第4节阐述控制部件。第5节阐述标记交换如何与ATM并用。第6节阐述标记交换协助提供一系列服务质量的用途。第7节简单地阐述了可能的配置场合。第8节结论。
标记交换部件
标记交换包括两个部件:转发与控制。转发部件运用信息包所携带的标记信息(tags)和标记交换机所维护的标记转发信息来完成信息包的转发。控制部件负责在一组互连的标记交换机中维护正确的标记转发信息。
转发部件
标记交换所用的基本转发模式是以标签交换的构想为基础的。当一个带有标记的信息包被标记交换机收到时,该交换机用这个标记作为其Tag Information Base(TIB)中的一个索引。TIB的每一个项都包括一个进站标记,一个或多个表单子项(出站标记、出站接口、出站链路级信息)。假如交换机发现一个项的进站标记与该信息包所携带的标记相同,那么交换机就会对该项的每个子项(出站标记,出站接口、出站链路级信息)进行处理,即用出站标记替换信息包中的标记,用出站链路级信息替换信息包中的链路级信息(如:MAC地址)。并通过出站接口,将此信息包转发出去。
从以上对转发部件的介绍中,我们可以发现如下几点:第一,转发决策是以精确匹配算法为基础的,该算法用一个固定长度、相当短的标记作为索引。相对于传统的用于网络层的最长匹配转发而言,它使用了一个简化的转发过程。
反过来,这确保了更高的转发性能(每秒更多的信息包数)。这个转发过程,简单到足以答应直接的硬件实施。第二点发现是:转发决策与标记的转发粒度无关。例如,同一转发算法适用于多路广播与单路广播─一个单路广播项只会有一个单一的(出站标记、出站接口,出站链路级信息)子项,而一个多路广播会有一个或许多个(出站标记,出站接口,出站链路级信息)子项。(对于多访问链路,在这种状况下,出站链路级信息将包括一个多路广播MAC地址)。这就说明了同一转发模式是如何运用标记交换来支持不同的路由功能的(如多路广播、单路广播、等等)。
这一简单的转发过程必须与标记交换的控制部件不相耦合。新的路由(控制)功能可以被方便地部署,而无需干扰转发模式。这就意味着:当增添新的路由功能时,没必要重新优化转发性能(通过修改硬件或软件)。
标记封装
标记信息可以以多种途径的方式封装在信息包中:
以一个小"楔子"标记头,填加在层与Network Layer头之间;
假如层头提供了足够的语义(例如,下面讨论的ATM),可作为层头的部分;
作为Network Layer头的部分(如:以适当修改的语义,来使用Ipv6中的Flow Label域)。因此通过虚拟的任何介质类型(包括点到点链路,多访问链及ATM)实施标记交换是可能的。
还应注重到:标记转发部件与网络层无关。使用特定于某个Network Layer协议的控制部件,实现以不同的Network Layer协议应用标记交换。
控制部件
标记交换所必需的是标记与网络层路由之间的联编概念。为了提供良好的伸缩性能,同时适应多种路由功能,标记交换可支持很大范围的转发粒度。在一个极端上,一个标记可能被关联(联编)到一组路由上(更具体地说,是与这个组内路由的Network Layer Reachability有联系在另一个极端上,一个标记可能被联系到一个单独的应用流上(例如,一个RSVP流)。一个标记也可能被联系到一个多路广播树上。
控制部件负责产生标记联编信息,然后在标记交换机中将这个标记联编信息进行分配。
控制部件是一系列模块的集合,每个模块均可支持一项特定的路由功能。为了支持新的路由功能,可随时增添新的模块。下面,对这些模块进行简要介绍。
基于目的地的路由
在本节中,我们将介绍标记交换如何支持基于目的地的路由。回忆一下,用基于目的地的路由,一个路由器是根据信息包中携带的目的地址和转发信息库(FIB)中存贮的信息(由路由器维护)来作转发决策的。路由器是用其从路由协议(例如,OSPF,BGP)中接到的信息来构造其FIB的。
为了以标记交换支持基于目的地的路由,一个标记交换机可以象一个路由器一样参与路由协议(例如,OSPF,BGP),并用从这些协议中接到的信息来构造其FIB。
进行标记分配及标记信息库(TIB)治理的三种许可方法为:(a)下行标记分配,(b)下行按需标记分配及(c)上行标记分配。
在所有情况下,交换机分配标记并将它们联编到其FIB的地址前缀码上。在下行分配中,信息包中携带的标记是由链路的下行端的交换机(就数据流的方向而言)产生并取编到前缀码上的。在上行分配中,标记是在链路的上行端,被分配和联编的。"按需"分配意味着只有在上行交换机要求去做时,标记方才由下行交换机分配和分布。方法(b)与(c)在ATM网络中最有用(参见第5节)。请注重,在下行分配中,交换机负责:生成应用于进站数据信息包的标记联编,并从其毗邻的交换机接收出站信息包的标记联编。在上行分配中,交换机负责:为出站标记生成标记联编,如:应用于离开此交换机的数据信息包的标记,并从其毗邻交换机接收进站信息包的联编。
下行标记分配方案操作如下:交换机为其FIB中的每一个路由分配一个标记。用设置给这个分配标记的进站标记,在其标记信息库(TIB)中生成一项,然后把这个(进站)标记与这个路由之间的联编通知给其它的领接标记交换机。这个通知,或者通过将此联编置于现有的路由协议上或者通过使用一个独立的标记分配协议(TDP)来实现。当一个标记交换机接收到一个路由的标记联编信息,并且那个信息是由那个路由的下一次跳转所生成,则这个交换机就把这个标记(作为联编信息的一部分携带)放入与此路由关联的那个TIB项的出站标记中。这就产生了出站标记与路由之间的联编。
下行按需标记配置方案操作如下:交换机为其FIB中每个路由指定下一次跳转。然后向下一次跳转发布一个请求(通过TDP):索要那个路由的标记联编。当下一个跳转接收到这个请求时,它就分配一个标记,以设置给这个被分配标记的进站标记,在其TIB中产生一项,然后再把这个(进站)标记与这个路由之间的联编返回至发出此原始请求的那个交换机。当那个交换机接收到这个联编信息后,它就会在其TIB中生成一项,并将此项中的出站标记设置成从下一个跳转接收到的值。
上行标记分配方案如下使用:假如一个标记交换机有一个或多个点到点接口,则它为其FIB中那些下一个跳转通过这些接口之一可及的每一个路由,分配一个标记,用设置给此被分配标记的出站标记,在其TIB生成一项,然后把这个(出站)标记与这个路由之间的联编通知给下一个跳转(通过TDP)。当一个正是下一个跳转的标记交换机接收到这个标记联编信息时,这个交换机将把这个标记(作为联编信息的一部分被携带)放在与这个路由相关联的那个TIB项的进站标记之中。
一旦一个TIB项填有进站与出站标记两者齐全,这个标记交换机就能通过使用标记交换转发算法来的联编到这些标记上的那些路由,转发信息包(参见第3节)。
当一个标记交换机,任一个出站标记与一个路由间生成了一个联编,这个交换机除了填充其TIB之外,还要用这个联编信息来修改其FIB。这就可以确保让这个交换机为原先未标记的信息包增加标记。为了理解带有基于目的地路由功能的标记交换机的伸缩性能,应注重到一个标记交换机不得不维护的标记的总数,不能超过这个交换机FIB中路由的数目。然而,某些情况下,一个单一标记可能与一组路由相联,而非与一个单一路由。这样,所需要的状态,就要比标记被分配给单一流的情况要少得多。
一般来说,一个标记交换机将试图以它可达的所有路由的进站和出站标记来填充其TIB,从而实现所有的信息都能由简单的标签交换转发。因此,标记分配是由拓扑结构(路由)驱动的,并非流量--这是由于引起标记分配的FIB项的存在,而并非由于数据信息包的到达。
使用与路由相关联的标记而非流也意味着:没有必要为所有的流执行的分类过程,以决定是否合为一个流指派一个标记。反过来,这也简化了整体方案,并使其在流量方式出现改变时,更加强健与稳定。请注重,当标记交换被用于支持基于目的地的路由功能时,标记交换并不完全消除执行正常的网络层转发的需求。首先,向一个先前未标记的信息包增加一个标记,需要正常的网络层转发。这个功能可能由第一个跳转路由器执行,或者由能够参与标记交换路径上的第一个路由器执行。另外,一个标记交换机无论何时把一个路由聚合(通过使用层次路由技术)到一个单一标记中,并且这些路由不共享一个公共的下次跳转,则这个交换机需要为携带此标记的信息包执行网络层转发。然而,有人可能会发现:路由被聚合的地点数目比必须做转发决策的地点数目要少。此外,十分常见的聚合是只应用于标记交换机所维护路由的一个子集。作为结果,通常大多数情况下,信息包转发要交换算法。
路由知识层
IP路由体系结构把网络建模为:一个路由功能域的集合。在一个域内,路由是通过内部路由功能(例如:CSPF)来提供的,而跨域的路由是通过外部路由功能(例如BGP)来提供的。然而,承载传输流量的域(如Internet Service Provider形成的域)内所有路由器,必须要维护不仅由内部路由提供的,还有外部路由提供的信息。这就产生了一定的问题。
首先,这种信息的数量并非无关紧要。因此,它使路由器增添了额外的资源需求。此外,路由信息容量的增加很常见地增加了路由的收敛时间。反过来,这又降低了系统的整体性能。
标记交换答应内部与外部选路功能不相耦合,这样,只要求处于一个域边界上的标记交换机维护外部路由提供的路由信息,而其它域内的交换机只需维护该域的内部路由所提供的路由信息(它通常要比外部路由信息小得多)。反过来,这又减小了非边界交换机上的选路由负载,并缩短了选路收剑时间。
为了支持这项功能,标记交换答应一个信息包携带并非一个,而是一个组织为栈的标记集合。一个标记交换机,即可以交换栈顶的标记,也可以退栈,还可以交换标记并且把一个或多个标记压入栈。学一个信息在不同域的两个(边界)标记交换机之间被转发时,此信息包的标记栈只包含一个标机之间被转发时,此信息包的标记栈只包含一个标记。
然而,当一个信息包在一个域内被转发时,此信息包中的标记栈将包含不是一个而是两个标记(第二个标记是被此域的入口边界标记交换机压入的)。栈顶的标记提供到一个适当的出口边界标记交换机的信息包转发,同时栈中的第二个标记提供在此出口交换机处正确的信息包转发。此栈由出口交换机或由倒数第二个(相对于出口交换机而言)交换机来退栈。
用于此情况的控制部件与基于目的地路由所用到的部件极为类似。实际上,仅有的实值差别就是:在此情况中,标记联编信息将分布于:在物理领接的标记交换中及在一个单一域内的边界标记交换中。有人可能还发现后者(在边界交换机中分布)可能被BGP的非常小的扩充(通过一个独立的标记联编BGP属性)来轻易包容。
多点广播
对多点广播来说,生成树的构想是必不可少的。多点广播路由过程(例如:PIM)负责构造这种树(以收发信机作叶子),同时多路广播转发功能负责沿着这种树转发多路广播信息包。
为了用标记交换来支持多点广播转发功能,每个标记交换机都通过一个多点广播树与一个标记进行如下关联。当一个标记交换机生成一个多点广播转发项(为一个共享的或一个资源特定的树),及此项的出站接口列表,此交换机还将生成本地标记(每个出站接口一个)。交换机在其TIB中生成一项,并以每个出站接口的此信息进行填充(出站标记,出站接口,出站MAC头),把一个本地生成的标记放入此出站标记域中。这就产生了一个多点广播树与标记之间的一个联编。然后这个交换机通过每个与此项并联的出站接口通知这个标记(与此接口相关联的)与此树之间的聚束。
当一个标记交换机,从另一个标记交换机接收到一个多点广播树与标记之间的联编时,假如另一个交换机是上行毗邻交换机(相对这个多路广播树而言),则这个本地交换机将把此联编中携带的标记放入到与此树关联的TIB项的进站标记部件中。当一个标记交换机集合通过一个多访问子网被互连起来,则多点广播的标记分配过程必须在这些交换机中协调进行。在其它所有情况下,多点广播的标记配置过程可能与基于目的地路由中使用的标记过程相同。
灵活的路由(显式路由)
基于目的地的选路功能的基本特性之一就是信息包中用于转发此信息包的仅有信息是目的地地址。此特性在确保高度伸缩路由的同时,也限制了影响信息包所采取的实际路径的能力;反过来,这又限制了在多条链路中平均分配流量的能力,即:从使用度高链路上取下流量并转移到使用度较低的链路上。对于支持不同分类服务的Internet服务提供商(ISPs)来说,基于目的地路由也限制了他们根据类型所用的链路来分离不同类型的能力。当今,一些Internet服务提供商使用帧中继或ATM,克服基于目的地选路施加的这些限制。凭借标记的灵活粒度,标记交换能够克服这些限制,而无需使用帧中继或ATM。为了提供沿与基于目的地路由所决定的路径不同的路径转发功能,标记交换的控制部件答应在不对应基于目的地路由路径的标记交换机中安装标记联编。
用ATM进行标记交换
由于标记交换转发模式是基于标签交换的,而ATM转发也是基于标签交换的,所以标记交换技术可以通过实施标记交换的控制部件的方式方便地应用于ATM交换机中。标记交换所需的标记信息可以在VCI域中被携带。假如需要两级标记,则VPI域同样可用,尽管VPI域的规模限制了切实可行的网络的大小。然而,对于大多数一级标记的应用来说,VCI域是足够的。
为了获得必要的控制信息,交换机应该能(最小化地)在网络层路由协议(例如:OSPF,BGP)中以对等体进行参与。此外,假如交换机必须执行路由信息聚合,那么为了支持基于目的地的单路广播路由,交换机也就应该能够为某些部分流量执行网络层转发。在一个ATM交换机上以标记交换来支持基于目的地的路由功能,可能要求此交换机维护与一条路由(或者拥有相同的下一个跳转的一组路由)相关联的、并非一个而是几个标记。这对于避免从不同的上行标记机到来而并行地发向相同的下一个跳转的包的交差是必要的。下行按需标记分配或上行标记分配方案均可被用作:用ATM交换机的标记分配和TIB维护过程。
因此,ATM交换机能够支持标记交换,但它至少需要在交换机上实施网络层路由协议与标记交换控制部件。它也可能还需要支持某些网络层转发。
在一个ATM交换机上实施标记交换将简化ATM交换机与路由器的集成--一个能够完成标记交换的ATM交换机,对于一个邻接的路由器来说,将作为一个路由器出现。这样就可能为覆盖模型提供一个可变的、更具伸缩能力的候选方案,它也去除了ATM选址、路由与信令方案的必要性。因为4.1节中介绍的基于目的地的转发方法是拓扑结构驱动的,而不是流量驱动的,所以这个方法在ATM交换机上的应用既不依靠于高的呼叫建立率,也不依靠于流的持久性。
在一个ATM交换机上实施标记交换,并不排除在同一交换机上支持传统的ATM控制面板(如PNNI)的能力。这两个部件--标记交换与ATM控制面板--将以互不相见的方式(通过划分VPI/VCI空间及其它资源,以便这两个部件互不干扰)进行操作。
服务质量(QOS)
为了给经过一个路由器或标记交换机的信息包提供一定范围的业务质量,我们需要两个机制。首先,我们需要将信息包分类。第二,我们需要保证信息包的处理能为每个类型都提供适当的QOS特性(带宽、丢失,等等)。
在信息包第一次被分类后,标记交换机就会提供一个属于特定类的简单标记包的方法。
初始分类将由网络层或更高层头中携带的信息来完成。对应于这个结果类型的一个标记将被应用于这个信息包。然后,被标记的信息包就可以被沿途的标记交换路由器高效地处理,而无需再次被分类。实际的包的调度与排队是大体正交的--这里的要害在于,标记交换答应简单的逻辑被用于发现识别信息包被如何调度的状态。
以QOS为目的、对标记交换的正确使用很大程度上依靠于QOS是如何部署的。假如RSVP被用于为一类信息包要求特定的QOS,那么就有必要对应于每一个在标记交换上为其安装状态的RSVP话路分配一个标记。这可以由TDP或RSVP的扩充来完成。
标记交换移植策略
由于标记交换是在一对邻接的标记交换机之间执行的,又由于标记联编信息可以按成对原则来分配,所以标记交换可以以一种非常简单的渐增方式来引出。例如,一旦一对相邻的路由器被转变为标记交换机,那么这两个交换机的每一个都将为发向另一个交换机的信息包作上标记,从而使另一个交换机可以使用标记交换。由于标记交换机与路由器使用相同的路由协议,所以标记交换机的引出不会对路由器产生任何影响。实际上,与一个路由器相连的标记交换机,在这个路由器看来就如同一个路由器。
随着越来越多的路由器答应实现标记交换,标记交换所提供功能的范围变得更广了。例如,一旦一个域中所有路由器都支持标记交换,那么开始使用路由知识功能层就成为可能。
总结
在本文档中,我们介绍了标记交换技术。标记交换并非仅限于一个特定的网络层协议--它是一个多协议解决方案。标记交换的转发部件十分简单,便于高性能转发,并能在ATM交换机这样的转发硬件上得到实施。控制部件灵活异常,可以支持广泛的各种路由功能,比如:基于目的地的路由、多路广播路由、路由知识层及显式定义的路由。通过答应大范围的转发粒度与一个标记关联起来,我们提供了可伸缩且功能丰富的路由功能。随着转发粒度范围日益增大,转发部件与控制部件的相关性不断淡化,从而使得路由功能迅速推陈出新,大大满足了高速发展的计算机网络环境的需求。
安全性(略)
知识产权
Cisco系统公司可能会为本文中公开的部分或全部技术申请专利或其它的知识产权保护。若任何由本文档产生的标准已被或将被授予一项或多项Cisco系统公司的专利,Cisco Systems就会公开那些专利并在合理与平等的情况下对其授权。

网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载