计算机网络-4-13-MPLS

多协议标记交换MPLS(MultProtocol Label switching)

MPLS利用面向连接技术,使每一个分组携带一个标记(label)的小整数(这里叫做打上标记)当分组到达交换机(即标记交换路由器)时,交换机读取分组的标记,并用标记值来检索分组转发表。这样就比查找路由器来转发分组要快的多。

MPLS具有以下三方面的特点:

  1. 支持面向连接的服务质量。

  2. 支持流量工程,平衡网络负载。

  3. 有效的支持虚拟专用网VPN。

MPLS工作原理

基本工作过程

在传统的IP网络中,分组每到达一个路由器,就必须查找路由表,并按照最长前缀匹配原则找到下一跳的IP地址(前缀长度是不确定的。当网络很大时,查找含有大量项目的路由表要花费很多的时间。在出现突发性的通信量的时候,往往还会使缓存溢出,这样就会引起分组丢失、传输时延增大以及服务质量下降。

MPLS的一个重要的特点就是在MPLS域 的入口处,给每一个IP地址打上固定长度的标记,然后对打上标记的IP数据报用“硬件”进行转发。这就使得IP数据报转发的过程大大加快。采用硬件技术对打上标记的IP数据报进行转发称之为标记交换。“交换“也表示在转发时不再上升到第三层查找转发表,而是根据标记在第二层(数据链路层)用硬件进行转发。MPLS可以使用多种链路层协议,如PPP,以太网,帧中继等。图4-61是MPLS协议的基本原理的示意图。

image

MPLS域(MPLS domain)是指该域中有许多彼此相邻的路由器,并且所有的路由器都是支持MPLS技术的标记交换路由器LSR(Label Switching Router)。LSR同时具有标记和路由选择这两种功能,标记交换是为了快速转发,但在这之前LSR需要使用路由选择功能构造路由表。

图4-61中给出了MPLS的基本工作过程如下:

  1. MPLS 域中的各LSR使用专门的标记分配协议LDP(Label Distribution Protocol)交换
    报文,并找出和特定标记相对应的路径,即标记交换路径 LSP (Label Switched Path)。例如在图中的路径 A→B→C→D。各 LSR 根据这些路径构造出转发表。这个过程和路由器构造自己的路由表相似[RFC 3031],限于篇幅,这里不讨论转发表构造的详细步骤。但应注意的是,MPLS是面向连接的,因为在标记交换路径LSP上的第一个LSR就根据IP数据报的初始标记确定了整个的标记交换路径,就像一条虚连接一样。

  2. 当一个IP数据报进入到MPLS域时,MPLS入口结点(ingress node)就给它打上标记(后面我们就会知道,这实际上是插入一个MPLS首部),并按照转发表把它转发给下一个LSR。以后的所有 LSR 都按照标记进行转发。给IP 数据报打标记的过程叫做分类(classification)。严格的第三层(网络层)分类只使用了IP首部中的字段,如源IP地址和目的IP地址等。大多数运营商实现了第四层(运输层)分类(除了要检查IP首部外,运输层还要检查TCP或UDP首部中的协议端口号),而有些运营商则实现了第五层(应用层)分类(更进一步地检查数据报的内部并考虑其有效载荷)。

  3. 由于在全网内统一分配全局标记数值是非常困难的,因此一个标记仅仅在两个标记
    交换路由器 LSR 之间才有意义
    。分组每经过一个 LSR,LSR 就要做两件事:一是转发,
    是更换新的标记,即把入标记更换成为出标记。这就叫做标记对换(label swapping)°。做这两件事所需的数据都已清楚地写在转发表中。例如,图 4-61 中的标记交换路由器 B 从入接口0收到一个入标记为3的IP数据报,查找了如下的转发表:

image

  1. 当 IP 数据报离开 MPLS 域时,MPLS 出口结点(egress node)就把 MPLS 的标记去除,把 IP 数据报交付非 MPLS 的主机或路由器,以后就按照普通的转发方法进行转发。上述的这种“由入口 LSR 确定进入 MPLS 域以后的转发路径”称为显式路由选(explicitrouting),它和互联网中通常使用的“每一个路由器逐跳进行路由选择”有着很大的区别。

转发等价类FEC

MPLS有一个很重要的概念就是转发等价类EFC(Forwarding Equivalence Class),所谓的”转发等价类“就是路由器按照同样方式对待的IP数据报的集合。这里"按照同样方式对待"表示从同样接口转发到同样的下一跳地址,并且具有同服务类别和同样丢弃优先级等。FEC的例子是:

  1. 目的 IP 地址与某一个特定 IP 地址的前缀匹配的 IP 数据报(这就相当于普通的 IP路由器);

  2. 所有源地址与目的地址都相同的IP数据报;

  3. 具有某种服务质量需求的IP数据报。

总之,划分 FEC 的方法不受什么限制,这都由网络管理员来控制,因此非常灵活。入口结点并不是给每一个IP数据报指派一个不同的标记,而是将属于同样 FEC 的 IP 数据报都指派同样的标记。FEC和标记是一一对应的关系。图4-62给出一个把FEC用于负载平衡的例子。

图 4-62(a)的主机 H1和 H2分别向 H3和H4发送大量数据。路由器 A 和 C 是数据传输必须经过的。但传统的路由选择协议只能选择最短路径A→B→C,这就可能导致这段最短路径过载。

image

4-62(b)表示在MPLS的情况下,入口结点A可设置两种FEC:“源地址为H1而目的地址为 H3”和“源地址为 H2而目的地址为 H4”,把前一种 FEC 的路径设置为 H1→A→B→C→H3,而后一种的路径设置为 H2→A→D→E→C→H4。这样可使网络的负载较为平衡。网络管理员采用自定义的 FEC 就可以更好地管理网络的资源。这种均衡网络负载的做法也称为流量工程 TE(Traffic Engineering)或通信量工程。

posted @ 2022-01-10 00:11  LilyFlower  阅读(511)  评论(0编辑  收藏  举报