0
点赞
收藏
分享

微信扫一扫

PHP + Laravel + RabbitMQ + Redis 实现消息队列 (二) 消费队列在RabbitMQ和redis中的简单使用

多协议标签交换MPLS

        多协议标签交换MPLS(multiProtocal Label Switching):“多协议”表示在MPLS的上层可以采用多种协议。

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

        人们经常把多标签交换MPLS异步传递方式ATM相联系这仅仅是因为它们都采用了面向连接的工作方式。

        

MPLS的工作原理 

        在传统IP网络中,分组传输有着很大的不方便:

  • 如每到达一个路由器,都必须查找转发表,并按照“最长前缀匹配”找到下一跳地址;
  • 当网络很大时,查找大量转发表很耗费时间;
  • 在突发通信量,往往还会使缓存溢出,引起分组丢失、传输延时增大和服务质量下降。

MPLS域和LSR路由器

基本工作流程 

        上述这种“由入口LSR确定进入MPLS域以后的转发路径” 称为显示路由选择,它和互联网中通常使用的“每一个路由器逐跳进行路由选择”有着很大区别。

转发等价类FEC 

         所谓“转发等价类”就是路由器按照同样方式对待的IP数据报的集合。这里“按照同样方式对待”表示从同样接口转发到同样的下一跳地址,并且具有同样服务类别和同样丢弃优先级等。

        入口节点并不是给每一个IP数据报指派一个不同的标签,而是将属于同样FEC的IP数据报都指派同样的标签。FEC和标签是一一对应的关系。

FEC数据均载 

        网络管理员采用自定义的FEC就可以更好地管理网络资源。这种均衡网络负载的做法也称为流量工程TE或者通信量工程 

MPLS首部

         MPLS并不要求下层的网络都使用面向连接的技术。因此一对MPLS路由器之间的物理连接,既可以由一个专用电路组成,也可以使用像以太网这样的网络。

        但是这些网络并不提供打标签的手段,而IPv4 数据报首部也没有多余的位置存放MPLS标签。这就需要一个特殊的封装技术:

MPLS首部位置 

MPLS首部格式 

新一代MPLS 

        虽然 MPLS能够更快地转发分组,但其有关的控制协议(如 LDP)却比较复杂,其扩展性差,运行维护也较困难。

        协议LDP也无法做到基于时延或带宽等要求的流量调度。为了根据需要灵活地选择流量的转发路径,就还需要再使用资源预留协议RSVP(第八章内容)。

        但RSVP的信令非常复杂,每个节点都要维护一个庞大的链路信息数据库。此外,RSVP不支持等价多路径路由选择ECMP (Equal-CostMultipath Routing),而只会选择一条最优路径进行转发。
 

软件定义网络SDN 

        在SDN中,数据层面中的交换机是由控制层面进行控制的,这种控制是通过openflow协议来实现的。 

传统意义的“转发”与SDN的广义转发

        在SDN的广义转发中,完成“匹配+动作”的设备并不局限在网络层工作,因此不再称为路由器,而称为“OpenFlow交换机”或“分组交换机”,或更简单地称为“交换机”。

        在SDN中取代传统路由器中转发表的是“流表(Flow Table)"
 

流表 

          在SDN中取代传统路由器中转发表的是“流表(Flow Table)"。因此,流表就是“匹配+动作”的转发表。

流表项 

首部字段值

计数器 

动作 

SDN的使用场景举例 

简单转发 

负载均衡

防火墙设置

SDN体系结构

SDN体系结构四种关键特征 

SDN控制器的三个层次 

        目前已经出现了一些开放源代码控制器,或简称为开源控制器(Open Source Controller),最有代表性的就是 OpenDaylight和 ONOS。这里就不再进行讨论了。
         

举报

相关推荐

0 条评论