报文转发的方法、节点和系统的制作方法

文档序号:7750771阅读:111来源:国知局
专利名称:报文转发的方法、节点和系统的制作方法
技术领域
本发明涉及通信领域,特别涉及一种报文转发的方法、节点和系统。
背景技术
目前通信领域提出了一种流交换技术,流交换技术不在第三层处理所有报文,而只分析流中的第一个报文,建立流表后基于第三层地址转发,也即路由转发该报文,流中的后续报文使用一种或多种捷径进行流转发,可以解决流跨网段引起的低转发速率、高延时等网络瓶颈问题。现有一种基于hash (哈希)查表技术的流交换技术,在该流交换技术中,一个网段内的每一节点都需要执行以下操作根据报文的五元组信息,也即源地址、目的地址、源端口号、目的端口号、协议类型,hash得到一个较短的关键字,并利用该关键字作为查表的地址,查表得到流的相关转发参数,并根据转发参数对该报文进行流转发。在实现本发明的过程中,发明人发现现有技术至少存在以下问题网段内的每一节点均需要哈希生成关键字,而哈希算法通常需要硬件实现,并且需要引入CAM (Content Addressable Memory,内容可寻址存储器),因此现有技术需要对全网的节点进行硬件改造。

发明内容
为了在实现基于哈希查表技术的流交换技术时,避免对全网的节点进行硬件改造,本发明实施例提供了一种报文转发的方法、节点和系统。所述技术方案如下一种报文转发的方法,所述方法包括入口节点接收第一互联网协议IP报文;所述入口节点根据所述第一 IP报文生成流标识;所述入口节点将所述流标识转换为相应的多协议标签交换MPLS标签;所述入口节点将添加所述MPLS标签的所述第一 IP报文发送给中间节点;所述中间节点将所述添加所述MPLS标签的所述第一 IP报文转发给出口节点;所述出口节点将所述MPLS标签转换为相应的流标识,并根据所述流标识,转发所述第一 IP报文。一种入口节点,所述入口节点包括第一接收模块,用于接收第一互联网协议IP报文;生成模块,用于根据所述第一接收模块接收的第一 IP报文生成流标识;转换模块,用于将所述生成模块生成的流标识转换为相应的多协议标签交换MPLS 标签;第一发送模块,用于将添加所述转换模块得到的MPLS标签的所述第一 IP报文发送给中间节点,使所述中间节点将所述添加所述MPLS标签的所述第一 IP报文转发给出口节点。一种出口节点,所述出口节点包括第二接收模块,用于接收中间节点转发的添加多协议标签交换MPLS标签的第一互联网协议IP报文,所述MPLS标签是入口节点根据所述第一 IP报文生成流标识,并将所述流标识进行转换得到的;第二转发模块,用于将所述MPLS标签转换为相应的流标识,并根据所述流标识, 转发所述第一 IP报文。一种报文转发的系统,所述系统包括入口节点、中间节点和出口节点;所述入口节点,用于接收第一互联网协议IP报文,根据所述第一 IP报文生成流标识,将所述流标识转换为相应的多协议标签交换MPLS标签,将添加所述MPLS标签的所述第一 IP报文发送给所述中间节点;所述中间节点,用于将所述添加所述MPLS标签的所述第一 IP报文转发给所述出口节点;所述出口节点,用于将所述MPLS标签转换为相应的流标识,并根据所述流标识, 转发所述第一 IP报文。本发明实施例提供的技术方案带来的有益效果是通过入口节点接收第一 IP报文,根据第一 IP报文生成流标识,将流标识转换为相应的MPLS标签,将添加MPLS标签的第一 IP报文发送给中间节点,中间节点将添加MPLS标签的第一 IP报文转发给出口节点,出口节点将MPLS标签转换为相应的流标识,并根据流标识,转发第一 IP报文,实现了一种仅需入口节点支持流标识生成的流交换技术,例如哈希查表的流交换技术,避免了对后续节点进行硬件改造,从而降低了后续节点的复杂度和部署成本,有利于基于哈希查表的流交换技术的推广和应用。


图1是本发明实施例提供的报文转发的方法流程图;图2是本发明实施例提供的报文转发的网络架构示意图;图3是本发明实施例提供的流表建立的信息交互图;图4是本发明实施例提供的带流扩展头的IPv6报文示意图;图5是本发明实施例提供的IPv6的流扩展头示意图;图6是本发明实施例提供的报文转发的信息交互图;图7是本发明实施例提供的IP OAM报文创建流转发路径、协商并统计服务质量的交互图;图是本发明实施例提供的入口节点的结构示意图;图8b是本发明实施例提供的入口节点的另一结构示意图;图9a是本发明实施例提供的出口节点的结构示意图;图9b是本发明实施例提供的出口节点的另一结构示意图;图10是本发明实施例提供的报文转发的系统示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。参见图1,本实施例提供了一种报文转发的方法,包括101 入口节点接收第一 IP(Internet Protocol,互联网协议)报文;102 入口节点根据第一 IP报文生成流标识;可选的,本步骤之前,入口节点接收第二 IP报文,根据第二 IP报文生成流标识,并根据流标识建立第一流表,第一流表至少包括流标识与第一出端口号,将流标识设置在第二 IP报文的流扩展头中,并转发第二 IP报文,使接收到第二 IP报文的出口节点根据流标识建立第二流表,第二流表至少包括流标识与第二出端口号。103 入口节点将流标识转换为相应的MPLS (Multiprotocol Label Switching,多协议标签交换)标签;104 入口节点将添加MPLS标签的第一 IP报文发送给中间节点;105 中间节点将添加MPLS标签的第一 IP报文转发给出口节点;106 出口节点将MPLS标签转换为相应的流标识,并根据流标识,转发第一 IP报文。本实施例通过入口节点接收第一 IP报文,根据第一 IP报文生成流标识,将流标识转换为相应的MPLS标签,将添加MPLS标签的第一 IP报文发送给中间节点,中间节点将添加MPLS标签的第一 IP报文转发给出口节点,出口节点将MPLS标签转换为相应的流标识, 并根据流标识,转发第一 IP报文,实现了一种仅需入口节点支持流标识生成的流交换技术,例如哈希查表的流交换技术,避免了对后续节点进行硬件改造,从而降低了后续节点的复杂度和部署成本,有利于基于哈希查表的流交换技术的推广和应用。本实施例提供了一种报文转发的方法,下面结合图2所示的网络架构详细介绍。 该网络架构包括包括发送方S、入口节点PE1、中间节点P、出口节点PE2、接收方R。其中, 入口节点PE1、中间节点P、出口节点PE2属于同一运营商网络,入口节点PEl和出口节点 PE2为该网络的边缘节点。在转发IP报文之前,入口节点、出口节点需要根据IP报文分别建立第一流表和第二流表,中间节点无须建立流表。下面详细介绍转发IP报文之前建立流表的过程。参见图 3,具体过程如下301 发送方向入口节点发送IP报文;其中,该IP报文是第二 IP报文,通常入口节点先接收第二 IP报文,再接收第一 IP 报文,在步骤301-307之间将第二 IP报文简称为IP报文。进一步的,发送方判断该IP报文是否需要进行流转发,如果需要,例如,该IP报文是占用带宽大、持续时间长的音/视频流(或称“大象流”),则在该IP报文中携带流扩展头,此时,流扩展头的Flow ID (流标识)可为空,即发送方无需做hash。其中,IP报文具体可以是IPv4anternet Protocol Version 4,互联网协议第4 版本)或IPv6anternet Protocol Version 6,互联网协议第6版本)。图4为一带流扩展头的IPv6报文示意图,Next Header域声明后续携带的IPv6 扩展头用于承载流相关信息。流扩展头可以采用新的扩展头,或利用现有的“Hop-by-Hop Options Header”来携带流相关信息,报文经过路径上的每个节点都会对其承载的信息进行检查和处理。图5为IPv6的流扩展头示意图。其中,Next Header (下一头部)用于表明IPv6扩展头协议类型为Flow (流);Hdr Ext Len (扩展头长度)用于表明IPv6扩展头的长度;Flow ID(流标识)用于携带入口节点根据IP报文信息哈希生成的关键字,可以超过20位,图4仅为示意图;M (转发标识)用于表明是采用MPLS (Multiprotocol Label Switching,多协议标签交换)标签进行转发,还是采用Flow ID进行转发;RSV(预留位)用于为将来的扩展功能预留;Flow QoS parameter (流服务质量参数)可选,用于携带与flow ID相关的流QoS 参数,如 loss ratio (丢包率)、BW (Bandwidth,带宽);Sequence Number (序列号)可选,用于配合统计流相关的loss ratio ;Hash parameter (哈希参数)可选,用于携带生成flow ID所对应的Source IP(源地址),Flow label (流标签)等IP报文信息。另外,对于IPv4,可在IPv4报文头中扩展一个Flow Option (流选项),除没有Next Header, Hdr Ext Len参数外,其他参数同IPv6的流扩展头,这里不再赘述。302 入口节点接收该IP报文,如果该IP报文需要进行流转发,创建本节点该IP 报文对应的流表(第一流表);其中,入口节点判断是否进行流转发具体包括根据该IP报文是否携带流扩展头,来判断该IP报文需要进行流转发。如果携带流扩展头,则需要进行流转发,如果没有携带流扩展头,则不需要进行流转发。其中,流表创建过程具体为入口节点根据IP报文信息hash生成相应的关键字, 设置Flow ID为该关键字,然后查本节点路由表可以得到该IP报文的第一出端口号,将 Flow ID及其对应的第一出端口号作为本节点流表的一条记录。其中,入口节点根据IP报文信息hash生成该IP报文的Flow ID,至少可通过以下三种方法实现,包括根据IP报文的Source IP (源地址)、Flow label做hash得到关键字,将其作为 Flow ID,本实施例中设源地址=a,Flow label (流标签)=b,并设Flow ID = 123450相应的,算法可表示为 Flow ID = hash 算法{Source IP, Flow label}。或者,根据IP报文的源地址、Destination IP (目的地址)和Flow label做hash 得到关键字,将其作为Flow ID。相应的,算法可表示为Flow ID = hash算法{Source IP, Destination IP, Flow label}。或者,根据该IP报文的源地址、目的地址、Source port (源端口号)、 Destinationport (目的端口号)和ftx)tocol type (协议类型)作hash得到关键字,将其作为 Flow ID。相应的,算法可表示为 Flow ID = hash 算法{Source IP,Destination IP, Source port, Destination port, Protocol type}。本实施例中,设入口节点Flow ID = 12345对应的第一出端口号为1,则入口节点建立第一流表参见表1。表 权利要求
1.一种报文转发的方法,其特征在于,所述方法包括 入口节点接收第一互联网协议IP报文;所述入口节点根据所述第一 IP报文生成流标识; 所述入口节点将所述流标识转换为相应的多协议标签交换MPLS标签; 所述入口节点将添加所述MPLS标签的所述第一 IP报文发送给中间节点; 所述中间节点将所述添加所述MPLS标签的所述第一 IP报文转发给出口节点; 所述出口节点将所述MPLS标签转换为相应的流标识,并根据所述流标识,转发所述第一 IP报文。
2.如权利要求1所述的方法,其特征在于,所述入口节点将所述流标识转换为相应的多协议标签交换MPLS标签包括所述入口节点将所述流标识作为所述MPLS标签;或者,所述入口节点根据流标识与MPLS标签的映射关系,将所述流标识转换为相应的所述MPLS标签;所述出口节点将所述MPLS标签转换为相应的流标识包括 所述出口节点将所述MPLS标签作为所述流标识;或者,所述出口节点根据流标识与MPLS标签的映射关系,将所述MPLS转换为相应的所述流标识。
3.如权利要求1所述的方法,其特征在于,所述入口节点根据所述第一IP报文生成流标识之前包括所述入口节点接收第二 IP报文;所述入口节点根据所述第二 IP报文生成所述流标识,并根据所述流标识建立第一流表,所述第一流表至少包括所述流标识与第一出端口号;所述入口节点将所述流标识设置在所述第二 IP报文的流扩展头中,所述入口节点转发所述第二 IP报文,使接收到所述第二 IP报文的出口节点根据所述流标识建立第二流表, 所述第二流表至少包括所述流标识与第二出端口号。
4.如权利要求3所述的方法,其特征在于,所述入口节点将添加所述MPLS标签的所述第一 IP报文转发给中间节点包括所述入口节点根据所述第一流表,将添加所述MPLS标签的所述第一 IP报文发送给中间节点;所述出口节点将所述MPLS标签转换为相应的流标识,并根据所述流标识,转发所述第一 IP报文包括所述出口节点将所述MPLS标签转换为相应的流标识,并根据所述流标识和所述第二流表,转发所述第一 IP报文。
5.如权利要求3所述的方法,其特征在于,所述第二IP报文是IP操作管理维护OAM报文,所述IP OAM报文的流扩展头中还携带服务质量QoS参数,用于协商QoS参数或进行QoS 统计。
6.一种入口节点,其特征在于,所述入口节点包括 第一接收模块,用于接收第一互联网协议IP报文;生成模块,用于根据所述第一接收模块接收的第一 IP报文生成流标识;转换模块,用于将所述生成模块生成的流标识转换为相应的多协议标签交换MPLS标签;第一发送模块,用于将添加所述转换模块得到的MPLS标签的所述第一 IP报文发送给中间节点,使所述中间节点将所述添加所述MPLS标签的所述第一 IP报文转发给出口节点。
7.如权利要求6所述的入口节点,其特征在于,所述转换模块包括第一转换单元或第二转换单元;所述第一转换单元,用于将所述流标识作为所述MPLS标签;所述第二转换单元,用于根据流标识与MPLS标签的映射关系,将所述流标识转换为相应的所述MPLS标签。
8.如权利要求6所述的入口节点,其特征在于,所述第一接收模块,还用于接收第二IP 报文;所述生成模块,还用于根据所述第一接收模块接收的第二 IP报文生成所述流标识,并根据所述流标识建立第一流表,所述第一流表至少包括所述流标识与第一出端口号;所述第一发送模块,还用于将所述流标识设置在所述第二 IP报文的流扩展头中,并转发所述第二 IP报文,使接收到所述第二 IP报文的出口节点根据所述流标识建立第二流表, 所述第二流表至少包括所述流标识与第二出端口号;所述第一发送模块,还用于根据所述第一流表,将添加所述MPLS标签的所述第一 IP报文发送给中间节点。
9.如权利要求8所述的入口节点,其特征在于,所述第二IP报文是IP操作管理维护 OAM报文,所述IP OAM报文的流扩展头中还携带服务质量QoS参数,用于协商QoS参数或进行QoS统计。
10.一种出口节点,其特征在于,所述出口节点包括第二接收模块,用于接收中间节点转发的添加多协议标签交换MPLS标签的第一互联网协议IP报文,所述MPLS标签是入口节点根据所述第一 IP报文生成流标识,并将所述流标识进行转换得到的;第二转发模块,用于将所述MPLS标签转换为相应的流标识,并根据所述流标识,转发所述第一 IP报文。
11.如权利要求10所述的出口节点,其特征在于,所述第二转发模块包括第三转换单元或第四转换单元;所述第三转换单元,用于将所述MPLS标签作为所述流标识;所述第四转换单元,用于根据流标识与MPLS标签的映射关系,将所述MPLS转换为相应的所述流标识。
12.如权利要求10所述的出口节点,其特征在于,所述第二接收模块。还用于接收来自所述入口节点的第二 IP报文,所述第二 IP报文的流扩展头中携带所述流标识;所述节点还包括建立模块,用于根据所述流标识建立第二流表,所述第二流表至少包括所述流标识与第二出端口号;所述第二转发模块,还用于根据所述流标识和所述第二流表,转发所述第一 IP报文。
13.如权利要求12所述的出口节点,其特征在于,所述第二IP报文是IP操作管理维护OAM报文,所述IP OAM报文的流扩展头中还携带服务质量QoS参数,用于协商QoS参数或进行QoS统计。
14.一种报文转发的系统,其特征在于,所述系统包括入口节点、中间节点和出口节占.所述入口节点,用于接收第一互联网协议IP报文,根据所述第一 IP报文生成流标识, 将所述流标识转换为相应的多协议标签交换MPLS标签,将添加所述MPLS标签的所述第一 IP报文发送给所述中间节点;所述中间节点,用于将所述添加所述MPLS标签的所述第一 IP报文转发给所述出口节占.所述出口节点,用于将所述MPLS标签转换为相应的流标识,并根据所述流标识,转发所述第一 IP报文。
15.如权利要求14所述的系统,其特征在于,所述入口节点,还用于根据所述第一IP报文生成流标识之前,接收第二 IP报文,根据所述第二 IP报文生成所述流标识,并根据所述流标识建立第一流表,所述第一流表至少包括所述流标识与第一出端口号,将所述流标识设置在所述第二 IP报文的流扩展头中,并转发所述第二 IP报文;根据所述第一流表,将添加所述MPLS标签的所述第一 IP报文转发给所述中间节点;所述出口节点,还用于接收所述第二 IP报文,根据所述第二 IP报文的流扩展头中的流标识建立第二流表,所述第二流表至少包括所述流标识与第二出端口号;根据所述流标识和所述第二流表,转发所述第一 IP报文。
全文摘要
本发明公开了一种报文转发的方法、节点和系统,属于通信领域。该方法包括入口节点接收第一IP报文,根据所述第一IP报文生成流标识,将所述流标识转换为相应的MPLS标签,将添加所述MPLS标签的所述第一IP报文发送给中间节点,所述中间节点将所述添加所述MPLS标签的所述第一IP报文转发给出口节点;所述出口节点将所述MPLS标签转换为相应的流标识,并根据所述流标识,转发所述第一IP报文。本发明还包括实现上述方法的节点及由各节点组成的系统。本发明仅需入口节点支持流标识生成技术,避免了对后续节点进行硬件改造,降低了其复杂度和部署成本。
文档编号H04L29/06GK102271079SQ20101019341
公开日2011年12月7日 申请日期2010年6月4日 优先权日2010年6月4日
发明者郑若滨 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1