网络通信 频道

MPLS在帧中继网上的应用

  4.6 由核心FR-LSRs处理标签

  在FR-LSR中,在帧的帧中继数据链路层的首部DLCI字段中承载当前(顶层)MPLS标签。正像传统的帧中继,对于到达接口的帧,在DLCI基本信息中查找帧中继数据链路首部承载的DLCI,代替有相应输出的DLCI和在输出接口上发送(传送到下一节点)。

  在标签堆栈的顶层也承载当前标签信息。在顶层条目中,在帧的帧中继数据链路层的首部中承载和交换除标签信息外的所有字段,当前是有意义的。

  4.7 由出口FR-LSRs 处理标签

  当到达帧中继LSP的端点时,FR-LSR取出标签堆栈。如果取出的标签是最后的标签,确定承载特定的网络层协议是必需的。标签堆栈没有承载识别网络层协议的明显信息。这必须从堆栈取出的标签值推出。

  如果取出的标签不是最后的标签,前面的顶层MPLS TTL传送到新的顶层标签堆栈条目。

  如果FR-LSR是混合LSP的帧中继段的出口交换,帧中继段的终点不是LSP的终点,在下一跳标签传送条目中具有的信息基础上,为传送到LSP的下一段应该处理MPLS包。从NHLFE(Next Hop Label Forwarding Entry)设置输出标签值,依据输出接口类型和传输操作类型适当减少MPLS TTL值。根据MPLS规范,对于LSP的下一段特定的链路传送MPLS包。

  “独播”的数据包,如果输出接口是普通的或有LSP(不是同类)的下一ATM段的“跳数”,如果输出接口是ATM(非-TTL)接口,MPLS TTL应该减1。

  多播数据包,MPLS

  TTL应该减少离开FR段的跳数值。关于FR“非-TTL”的“跳数”,构成LSP的LDP应该传递有意义的信息到出口FR-LSR。

  5 帧中继标签交换控制

  支持标签交换的帧中继交换必须实现标签交换的控制,标签交换的控制主要由标签分配和维护程序组成。可以用几种机理传送标签连结信息,其中之一是标签分配协议(LDP)。

  标签交换控制使用直接来自网络层路由协议的信息,这意味着交换必须在这些协议中同等分享(如,OSPF,IS-IS)。

  在某些情况下,LSRs可以用其它协议(如RSVP,PIM,BGP)分配标签连结。在这些情况中,帧中继LSR应该在这些协议中分享。

  在经过LDP或RSVP或其它(不包括传统帧中继机理)建立帧中继电路的情况下,假定建立信息的电路,如输入/输出最大帧长度,进/出的请求/同意的通过量,进/出的接收通过量,进/出的突发长度,进/出的帧速率,在发送中使用的和可以传递阻塞控制到FR-LSRs至RSVP或能够静态配置。还假设阻塞控制和帧的首部带标记作为阻塞结果,应该由FR-LSRs用类似于传统帧中继电路的方式完成。仿真最有效路由器的目标作为缺省值,缺省VC参数,在缺少 LDP时,RSVP或其它机理参与设置这样的参数,应该是0 CIR,因此输入管理将在输入的帧中,设置DE(Discard Eligibility)比特,但不丢弃数据帧。

  在MPLS基础上,电路控制和状态信息可以经过LDP传递。

  支持帧中继交换的标签交换要求只与帧、比特填充、首部和FCS一致。对于PVCs或SVCs,不需要Q.933信令。在相同接口上,对于非-MPLS(标准帧中继)PVCs或SVCs可以使用PVC或SVC信令。

  在帧中继交换基础上标签交换控制成分的存在,不排除能够支持由ITU和FRF(Frame Relay Forum)在相同交换和相同接口上定义的帧中继控制成分。两个控制成分,有ITU/FRF定义的标签交换应该独立运行。

  然而,只有少量的信息需要在两个控制成分之间一致,DLCI空间部分对每个成分都是可用的。

  6 标签分配和维护过程

  标签分配协议的机理和消息形式在文件[1]和[2]中讨论。在本节中讨论的“下游——按需”标签分配和维护机理必须由不支持VC合并的FR-LSRs使用及也可以由支持VC合并的FR-LSRs使用(注意这一机理用于hop-by-hop路由业务)。

  6.1 边缘LSR的性能

  考虑FR-LSR边缘集的成员。假设,作为路由计算结果,选择FR-LSR作为确定路由FEC(Forwarding Equivalence Classes)的下一跳和下一跳通过LC-FR接口是可以到达的。假设下一跳 FR-LSR是一个“LDP-peer”。边缘LSR为来自下一跳,下游LSR的标签连结发送一个LDP“请求”消息。当边缘LSR接收来自下游的,在 LDP“映射”消息中LSR标签连结信息的响应时,标签存储在标签信息底部作为FEC的输出标签。映射消息可能包括跳数值,跳数值表示包通过FR-LSR 域到达出口FR-LSR的跳数值,为计算TTL可以存储这个信息。一旦这样做,LSR可用MPLS在FEC中向前传送包。

  当FR -LSR域的边缘集的一个成员从FEC的FR-LSR接收LDP“请求”消息时,它是出口FR-LSR。它分配一个标签,在它的标签信息底部建立一个新条目,标签放在进来标签条目中和返回(经过LDP)包含分配标签回流到原请求同等的LDP的“映射”消息。“映射”消息包含“跳数”的目标置1。

  当路由计算引起边缘LSR改变路由的下一跳和前面的下一跳在FR-LSR域中时,边缘LSR应该通报前面的下一跳(经过LDP“释放”消息),标签与路由的结合不再需要。

  当FR-LSR从连接到LC-FR接口上FR-PSR的同等LDP接收一些路由(FEC)的LDP“请求”消息时,FR-LSR采取下列动作:

  *它分配一个标签,在它的标签信息底部建立一个新条目和标签放在进来标签条目的成分中;

  *它传送“请求”,通过发送一个LDP“请求”消息到下一跳LSR,路由(FEC)的下游;

  在“顺序控制”方式中,在返回“映射”上游的响应到“请求”前,FR-LSR等待来自下游的有“映射”消息的响应。在此情况下,FR-LSR增加它从下游接收的跳数值和用这个值在返回上游的“映射”中。

  FR-LSR可以不等待来自下游(“独立控制”方法)的连结,返回上游连结。在此情况下,在“映射”中,它使用保留的跳数值,表示它是‘未知’的。稍后将返回正确的跳数值,说明如下。

  “顺序”和“独立”控制各有优缺点,允许作为执行或配置选择。

  一旦FR-LSR在来自下一跳的LDP“映射”消息中,接收标签连结的响应,标签放在LIB条目的输出标签中。

  注意,FR-LSR或FR-LSR域的边缘集的成员,可以接收来自相同FR-LSR的相同路由(FEC)的多个连结请求。它必须为每个“请求”(假定有足够的资源)产生新的“映射”和保留任意现存的映射。对于接收的每个“请求”, FR-LSR应该产生新的连结“请求”传送到路由的下一跳。

  当路由计算引起边缘LSR改变路由(FEC)的下一跳时,FR-LSR应该通报前面的下一跳(经过LDP“释放”消息),标签与路由的连结不再需要。

  当LSR接收不再需要特定标签连结的通告时,LSR可能解除与连结有关的标签和解开连结。这种方式是“保守的标签保持方式”。在FR-LSR接收这样的通告和解开连结的情况下,应该通告不再需要标签连结的路由的下一跳。如果LSR不解开连结(在“自由保持方式中”配置的FR-LSP),只要接收的请求与已建立的引起连结的请求有相同的跳数值和相同路由,它可以再用这个连结。

  当路由改变时,从前面的路由在路由分叉点重建标签连结。那个点上LSRs的上游(有一个例外,注意下边)忘记了改变。在任何时间LSR改变它的特定路由的下一跳,如果新的下一跳是FR-LSR或经过LC- LSR接口可达到的边缘集的成员,则在与路由LSR有关的LIB中的每个条目应从新的下一跳请求(经LDP)连结。

  当FR- LSR从下游邻居接收标签连结时,可能已经为这个路径到上游邻居提供了相应的标签连结,由于正使用“独立控制”或由于来自下游的新连结是路由改变的结果。在此情况下,应该从新的连结中提取的跳数值加1。如果新的跳数值不同于前面传到上游邻居的跳数值(包括上游邻居给定的‘未知’值),FR-LSR必须通告改变的上游邻居。每个FR-LSR依次增加跳数值和传递到上游直到到达入口边缘LSR。

  在任何时间FR-LSR产生到下一跳LSR的标签连结请求,作为从另一个(上游)LSR接收标签连结请求的结果和不满意到下一跳的请求,对于接收的请求FR-LSR应该解开在响应中建立的连结和通告请求器(经过LDP“撤销”消息)。

  当LSR确定丢失它的LDP与另一个LSR会话时,采用下列动作:

  *必须丢弃经过这个连接得到的连结信息;

  *对于建立的任意标签连结作为从同级接收的标签连结请求,LSR可以解开这些连结(和再分配与这些连结有关的标签)。

  6.2 标签空间的有效应用-合并FR-LSRs

  上面的讨论假设,在FR-LSR域中,边缘LSR将为每一个在路由表中有下一跳的前缀请求一个标签。可以有效地减少边缘LSR请求需要的标签数,几个路由改为一个标签。在路由和同级传送用的标签之间多个对一个映射的使用提供保持标签数的机理。

  注意,在业务需要帧中继分段情况下,可能限制保持标签空间(VC合并)。问题是必须按顺序发送帧中继分段,一定不能交叉明显的帧分段,明显的分段一定不能交叉存取。如果分段的FR-PSR确保所有分段按顺序传输,没有与其他的帧交叉,则能够实行标签保持(VC合并)。

  当使用标签保持,FR-LSR接收来自某些FEC上游LSR的连结请求时和它已经有FEC的输出标签连结,它不需要发送下游连结请求。它可以分配一个进来的标签和返回到上游请求器连结的标签。从请求器接收的包,有顶层标签,用FEC的现存输出标签代替标签后向前传送。如果FR-LSR没有FEC的输出标签连结,但有一个显著的请求,不再发送另一个请求。这意味着在标签保持情况下,FR-LSR必须响应有新连结的每个上游请求,但它可能需要发送一个下游连结请求。

  在保持标签情况下,如果改变路由表引起FR-LSR选择FECs新的下一跳,它可能释放以前下一跳的路由连结。如果新的下一跳已经没有相应的连结,它必须请求一个连结(注意选择取决于标签保持方式)。

  如果得到新的连结,包含的跳数值不同于旧的连结,FR-LSR必须处理新的跳数值:如果不同于“未知”值,加1和通报有新数值FEC的标签连结的上游邻居。如果新的跳数值超出“最大”值,要保证将要检测的回路,FEC的标签值一定是来自所有上游邻居到前面发送的连结。

  6.3 到达帧中继的特殊LDP消息

  在两个帧中继“LDP-peer”LSRs之间交换的标签分配协议消息可以包含帧中继特殊信息:

  帧中继标签范围:

  有下列字段:

  保留 保留这个字段。在传送时必须设为0和在接收时忽略。

  Len 这个字段规定了DLCI的比特数。支持下列值:

  Len DLCI 比特

  0 10

  2 23

  Len 值的1和3保留将来用。

  最小DLCI

  23比特字段是发起FR-LSR支持的DLCIs的数据块下限的2进制的值。最小DLCI应该在这个字段的右边和前面的比特应该置0。

  最大DLCI

  23比特字段是发起FR-LSR支持的DLCIs的数据块上限的2进制的值。最大DLCI应该在这个字段的右边和前面的比特应该置0。

  帧中继合并:

  有下列字段:

  M(合并) 1比特字段规定FR-LSR的合并能力:

  数值 意思

  0 不支持合并

  1 支持合并

  支持VC合并的FR-LSR必须保证来自输入DLCI的分段的帧,在输出DLCI上不交叉。

  保留 保留这个字段。在发送中设置为0和在接收端忽略。

  帧中继标签:

  有下列字段:

  保留 保留这个字段。在发送中设置为0和在接收端忽略。

  Len 这个字段规定了DLCI的比特数。支持下列值:

  Len DLCI 比特

  0 10

  2 23

  Len值的1和3保留将来用。

  DLCI

  帧中继标签的二进制值。标签值的有意义的比特数(10或23)编码进入帧中继数据链路首部的数据链路连接标识符(DLCI)字段。

  参 考 文 献

  [1] Rosen, E., Callon, R. and A. Vishwanathan, "Multi-Protocol Label Switching Architecture", RFC 3031, January 2001.

  [2] Andersson, L., Doolan, P., Feldman, N., Fredette, A. and R. Thomas, "Label Distribution Protocol", RFC 3036, January 2001.

  [3] Rosen, E., Rehter, Y., Tappan, D., Farinacci, D., Fedorkow, G., Li, T. and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001.

  马光星,原信息产业部数据通信技术研究所高级工程师,退休后在北京恒光科技发展公司工作。

0
相关文章