一种报文传输方法和装置与流程

文档序号:11479571阅读:140来源:国知局
一种报文传输方法和装置与流程
本申请涉及通信
技术领域
,尤其涉及一种报文传输方法和装置。
背景技术
:由于sr(segmentrouting,段路由)具有控制简单、收敛时间短等优势,因此,mpls(multi-protocollabelswitching,多协议标签交换)网络可以使用sr实现报文传输。如图1所示,为sr的组网示意图,假设报文转发路径为设备a-->设备b-->设备c-->设备d,则在设备a上配置标签转发表项,匹配选项为报文的目的ip地址/报文的目的ip地址所属的网段地址,动作选项为依次封装设备d的标签203,设备c的标签202,设备b的标签201,并通过端口a1发送报文。在设备b上配置标签转发表项,匹配选项为设备b的标签201,动作选项为去除报文最外层标签,并通过端口b1发送报文。在设备c上配置标签转发表项,匹配选项为设备c的标签202,动作选项为去除报文最外层标签,并通过端口c1发送报文。在设备d上配置标签转发表项,匹配选项为设备d的标签203,动作选项为去除报文最外层标签,并利用目的ip地址转发报文。综上所述,设备a在接收到命中标签转发表项的报文时,在报文中依次封装标签203、标签202和标签201,通过端口a1发送报文。设备b通过标签201查询到命中的标签转发表项,去除报文最外层标签201,通过端口b1发送报文。设备c通过标签202查询到命中的标签转发表项,去除报文最外层标签202,通过端口c1发送报文。设备d通过标签203查询到命中的标签转发表项,去除报文最外层标签203,通过报文的目的ip地址发送报文(未携带标签的报文)。在mpls网络中,为了对报文进行监控和过滤,可以采用图2所示的组网。在图2中,可以将发送报文的ce(customeredge,用户侧边缘)设备和接收报文的ce设备称为spoke-ce,并将与spoke-ce连接的pe((provideredge,服务提供商边缘)设备称为spoke-pe,并将用于对报文进行监控和过滤的ce设备称为hub-ce,并将与hub-ce连接的pe设备称为hub-pe。技术实现要素:本申请提供一种报文传输方法,应用于hub-pe,所述方法包括:接收spoke-pe发送的第一报文,若所述第一报文包括hub-ce对应的私网标签,则在映射表中记录最外层标签和所述私网标签之外的公网标签、所述第一报文的特征信息、所述第一报文对应的转发信息的对应关系;去除所述第一报文的所有标签,并将去除所有标签后的报文发送给所述hub-ce;接收所述hub-ce发送的第二报文,从所述映射表中查询到与所述第二报文的特征信息匹配的公网标签以及转发信息;在所述第二报文中添加查询到的公网标签,并利用查询到的转发信息发送添加有所述公网标签的报文。本申请提供一种报文传输装置,应用于hub-pe,所述装置包括:接收模块,用于接收spoke-pe发送的第一报文;记录模块,用于当所述第一报文包括hub-ce对应的私网标签时,则在映射表中记录最外层标签和所述私网标签之外的公网标签、所述第一报文的特征信息、所述第一报文对应的转发信息的对应关系;发送模块,用于去除所述第一报文的所有标签,并将去除所有标签后的报文发送给所述hub-ce;所述接收模块,还用于接收所述hub-ce发送的第二报文;查询模块,用于从所述映射表中查询到与所述第二报文的特征信息匹配的公网标签以及转发信息;所述发送模块,还用于在所述第二报文中添加查询到的公网标签,并利用查询到的转发信息发送添加有所述公网标签的报文。基于上述技术方案,本申请实施例中,hub-pe可以转发经过sr指导的报文给hub-ce,并将该hub-ce返回的报文正确发送给spoke-pe,从而实现基于sr的整条路径规划,例如规划路径为spoke-ce1-->spoke-pe1-->hub-pe-->hub-ce-->hub-pe-->spoke-pe2-->spoke-ce2时,报文可以按照该规划路径进行传输,从而可以使用sr实现报文的传输。由于hub-pe发送给hub-ce的报文是未携带标签的报文,因此hub-ce可以对报文进行监控、过滤、统计、分析等处理。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。图1是sr的组网示意图;图2是对报文进行监控和过滤的组网示意图;图3是本申请一种实施方式中的报文传输方法的流程图;图4是本申请一种实施方式中的hub-pe的硬件结构图;图5是本申请一种实施方式中的报文传输装置的结构图。具体实施方式在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。如图2所示,针对spoke-ce1发送给spoke-ce2的报文,该报文的转发路径可以为:spoke-ce1-->spoke-pe1-->hub-pe-->hub-ce-->hub-pe-->spoke-pe2-->spoke-ce2。但是,hub-ce一般没有mpls能力,因此,在使用sr实现报文传输时,无法指定hub-ce的标签,从而导致报文无法按照上述转发路径进行传输。本申请实施例中提出一种报文传输方法,该方法可以应用于hub-pe,参见图3所示,为该报文传输方法的流程图,该方法可以包括以下步骤:步骤301,接收spoke-pe发送的第一报文,若该第一报文包括hub-ce对应的私网标签,则可以在映射表中记录最外层标签和所述私网标签之外的公网标签、该第一报文的特征信息、该第一报文对应的转发信息的对应关系;去除该第一报文的所有标签,并将去除所有标签后的报文发送给该hub-ce。在一个例子中,在接收spoke-pe发送的第一报文之前,hub-pe还可以为该hub-ce分配与目的地址(如第一报文的目的地址)匹配的私网标签,并将该目的地址与该私网标签发送给该spoke-pe,以使该spoke-pe在发送与该目的地址匹配的第一报文时,在该第一报文中封装该私网标签。基于此,hub-pe接收到的spoke-pe发送的第一报文,该第一报文会包括hub-ce对应的私网标签。其中,通过为hub-ce分配私网标签,以指示hub-pe将携带该私网标签的报文发送给与该私网标签对应的hub-ce。例如,hub-pe在接收到第一报文后,由于第一报文携带hub-ce的私网标签,因此将第一报文发送给hub-ce。在一个例子中,hub-pe还可以维护一个映射表,该映射表可以用于记录公网标签、特征信息、转发信息的对应关系。hub-pe可以从第一报文中解析出所有标签,如最外层标签、私网标签(如最内层标签)、最外层标签与私网标签之外的其它公网标签,并将最外层标签与私网标签之外的其它公网标签记录到该映射表中。hub-pe还可以获取该第一报文的特征信息,如第一报文的目的地址和/或vpn(virtualprivatenetwork,虚拟专用网络)信息,并将该第一报文的特征信息记录到该映射表中。hub-pe还可以获取该第一报文的转发信息,如第一报文的最外层标签和/或第一报文的最外层标签对应的出接口,并将该第一报文的转发信息记录到该映射表中。其中,针对“将该第一报文的转发信息记录到该映射表中”的过程,若第一报文的转发信息为第一报文的最外层标签,则直接将第一报文的最外层标签记录到该映射表中。若第一报文的转发信息为第一报文的最外层标签对应的出接口,则先通过第一报文的最外层标签查询标签转发表项,从标签转发表项中得到与最外层标签对应的出接口,并将该得到的出接口记录到该映射表中。在一个例子中,hub-pe在向hub-ce发送报文时,可以先去除该第一报文的所有标签,并将去除所有标签后的报文发送给该hub-ce。这样,hub-ce可以接收到未携带标签的报文,并对报文进行监控、过滤、统计、分析等处理。步骤302,接收hub-ce发送的第二报文,从映射表中查询到与该第二报文的特征信息匹配的公网标签以及转发信息;在该第二报文中添加查询到的公网标签,并利用查询到的转发信息发送添加有公网标签的报文。在一个例子中,hub-ce在对报文进行监控、过滤、统计、分析等处理后,还可以将处理后的报文(后续将其称为第二报文)返回给hub-pe,以使hub-pe接收到hub-ce发送的第二报文,该第二报文是一个未携带标签的报文,而且,第二报文携带的特征信息与上述第一报文的特征信息相同。在一个例子中,由于映射表用于记录公网标签、特征信息、转发信息的对应关系,因此可以从映射表中查询到与该第二报文的特征信息匹配的公网标签和转发信息。其中,第二报文的特征信息可以为第二报文的目的地址和/或vpn信息,查询到的公网标签可以为第一报文的最外层标签与私网标签之外的其它公网标签,查询到的转发信息为最外层标签和/或最外层标签对应的出接口。在一个例子中,针对“利用查询到的转发信息发送添加有公网标签的报文”的过程,可以包括:若查询到的转发信息为最外层标签,则通过该最外层标签查询标签转发表项,从该标签转发表项中得到与该最外层标签对应的出接口,并通过得到的出接口发送添加有公网标签的报文;或者,若查询到的转发信息为最外层标签对应的出接口,直接通过最外层标签对应的出接口发送添加有公网标签的报文;或者,若查询到的转发信息为最外层标签和最外层标签对应的出接口,直接通过最外层标签对应的出接口发送添加有公网标签的报文。在一个例子中,在利用查询到的转发信息发送添加有公网标签的报文之前,hub-pe还可以利用第二报文的目的地址查询目的地址与私网标签的对应关系,以得到与第二报文的目的地址对应的私网标签,并在第二报文中添加得到的私网标签,如将得到的私网标签作为最内层标签。基于此,hub-pe利用查询到的转发信息发送的报文中,携带有查询到的公网标签和该私网标签。其中,通过在第二报文中添加私网标签,以指示spoke-pe将携带该私网标签的报文发送给与该私网标签对应的主机。例如,spoke-pe在接收到该第二报文后,由于该第二报文携带私网标签,因此,可以将该第二报文发送给与该私网标签对应的主机,在后续过程会详细说明如何将第二报文发送给主机的过程。基于上述技术方案,本申请实施例中,hub-pe可以转发经过sr指导的报文给hub-ce,并将该hub-ce返回的报文正确发送给spoke-pe,从而实现基于sr的整条路径规划,例如规划路径为spoke-ce1-->spoke-pe1-->hub-pe-->hub-ce-->hub-pe-->spoke-pe2-->spoke-ce2时,报文可以按照该规划路径进行传输,从而可以使用sr实现报文的传输。由于hub-pe发送给hub-ce的报文是未携带标签的报文,因此hub-ce可以对报文进行监控、过滤、统计、分析等处理。以下结合图2所示的mpls网络为例,对本申请实施例的上述方案进行详细说明。本应用场景下,以与spoke-ce1连接的主机1向与spoke-ce2连接的主机2发送报文1为例,假设主机1的ip地址为ip地址1,主机2的ip地址为ip地址2。为了对报文进行监控和过滤,则报文1的转发路径可以为spoke-ce1-->spoke-pe1-->hub-pe-->hub-ce-->hub-pe-->spoke-pe2-->spoke-ce2。在spoke-pe1上维护标签转发表项,该标签转发表项的匹配选项为主机2的ip地址/主机2的ip地址所属的网段地址,如ip地址2,动作选项为依次封装spoke-pe2的标签200,hub-pe的标签100,并通过端口x发送报文。在hub-pe上维护标签转发表项,该标签转发表项的匹配选项为hub-pe的标签100,动作选项为去除报文最外层标签,通过端口y发送报文。在spoke-pe2上维护标签转发表项,该标签转发表项的匹配选项为spoke-pe2的标签200,动作选项为去除报文最外层标签,并利用私网标签转发报文。在一个例子中,针对主机2的ip地址2,hub-pe还可以为hub-ce分配与该ip地址2匹配的私网标签3000,并将ip地址2与私网标签3000发送给spoke-pe1,以使spoke-pe1维护ip地址2与私网标签3000的对应关系。此外,针对主机2的ip地址2,spoke-pe2还可以为spoke-ce2分配与该ip地址2匹配的私网标签2000,并将ip地址2与私网标签2000发送给hub-pe,以使hub-pe维护ip地址2与私网标签2000的对应关系。在上述应用场景下,主机1向主机2发送报文1的过程可以包括以下步骤:步骤1、主机1向spoke-ce1发送报文1,该报文1的源ip地址为主机1的ip地址1,该报文1的目的ip地址为主机2的ip地址2。步骤2、spoke-ce1在接收到报文1后,将报文1发送给spoke-pe1。步骤3、spoke-pe1在收到报文1后,由于存在与报文1的目的ip地址(ip地址2)对应的私网标签3000,因此为报文1封装私网标签3000,得到报文2。步骤4、由于存在与报文1的目的ip地址(ip地址2)对应的标签转发表项,因此,spoke-pe1为报文2依次封装标签200、标签100,并得到报文3。步骤5、spoke-pe1通过端口x将报文3发送给hub-pe。其中,在该报文3中,从外层到内层的标签依次可以为:标签100(即最外层标签)、标签200、私网标签3000(即最内层标签)。步骤6、hub-pe接收spoke-pe1发送的报文3,判断报文3是否包括hub-ce对应的私网标签。如果是,则执行步骤7,如果否,则采用传统方式处理。其中,由于报文3包括hub-ce对应的私网标签3000,因此执行步骤7。在一个例子中,hub-pe可以从报文3中解析出最内层标签,并分析最内层标签是否为hub-ce对应的私网标签。由于hub-ce对应的私网标签是hub-pe分配的,因此hub-pe可以分析出最内层标签是否为hub-ce对应的私网标签。步骤7、hub-pe在映射表中记录该报文3的最外层标签和私网标签之外的公网标签、该报文3的特征信息、该报文3对应的转发信息的对应关系。例如,hub-pe在接收到报文3之后,可以解析出最外层标签100、私网标签3000,并在映射表中记录标签100、私网标签3000之外的其它公网标签,即标签200。此外,hub-pe还可以在映射表中记录报文3的目的地址(如ip地址2)和vpn信息(如vpn1),并在映射表中记录报文3对应的转发信息(如出接口y)。针对在映射表中记录出接口y的过程,hub-pe可以通过报文3的最外层标签100查询标签转发表项,并从该标签转发表项中得到与最外层标签100对应的出接口y,并将得到的出接口y记录到该映射表中。如表1所示,为经过上述处理后,hub-pe维护的映射表的一个示例,对此不再赘述。表1特征信息公网标签转发信息ip地址2、vpn1标签200出接口y步骤8、hub-pe去除该报文3的所有标签(如上述标签100、标签200、私网标签3000等),得到报文4,并将该报文4发送给hub-ce。在一个例子中,hub-pe在向hub-ce发送报文时,可以先去除该报文3的所有标签,得到报文4,并将去除所有标签后的报文4发送给该hub-ce。步骤9、hub-ce在接收到报文4后,对报文4进行监控、过滤、统计、分析等处理,对此处理过程不再赘述。而且,hub-ce还可以修改或者不修改报文4,以不修改报文4为例进行说明,则hub-ce将报文4返回给hub-pe。步骤10、hub-pe接收hub-ce返回的报文4,并确定该报文4的特征信息。其中,如该报文4的特征信息可以ip地址2以及vpn1。步骤11、hub-pe从表1所示的映射表中查询到与报文4的特征信息(如ip地址2、vpn1)匹配的公网标签(如标签200)和转发信息(如出接口y)。步骤12、由于存在与报文4的目的ip地址(即ip地址2)对应的私网标签2000,因此,hub-pe可以为报文4封装私网标签2000,得到报文5。步骤13、hub-pe为报文5封装从映射表中查询到的标签200,得到报文6。步骤14、hub-pe通过从映射表中查询到的出接口y发送报文6。在报文6中,从外层到内层的标签依次为:标签200(最外层标签)、私网标签2000(最内层标签)。步骤15、spoke-pe2在接收到报文6之后,由于报文6的最外层标签为标签200,且spoke-pe2维护的标签转发表项的匹配选项为标签200,因此,该报文6命中该标签转发表项,spoke-pe2去除报文最外层标签200,得到报文7。步骤16、spoke-pe2利用私网标签2000将报文7发送给spoke-ce2。步骤17、spoke-ce2在接收到报文7之后,去除私网标签2000,而去除私网标签2000的报文也就是上述报文1,并将报文1发送给主机2。至此,成功将报文1发送给主机2,且报文1的转发路径可以为spoke-ce1-->spoke-pe1-->hub-pe-->hub-ce-->hub-pe-->spoke-pe2-->spoke-ce2。在一个例子中,还可以在hub-pe上设置命令开关,当命令开关为开启状态时,则采用本申请实施例的方案进行处理,当命令开关为关闭状态时,则采用传统方式进行处理。其中,可以根据实际需要选择开启或者关闭命令开关。基于上述技术方案,本申请实施例中,hub-pe可以转发经过sr指导的报文给hub-ce,并将该hub-ce返回的报文正确发送给spoke-pe,从而实现基于sr的整条路径规划,例如规划路径为spoke-ce1-->spoke-pe1-->hub-pe-->hub-ce-->hub-pe-->spoke-pe2-->spoke-ce2时,报文可以按照该规划路径进行传输,从而可以使用sr实现报文的传输。由于hub-pe发送给hub-ce的报文是未携带标签的报文,因此hub-ce可以对报文进行监控、过滤、统计、分析等处理。基于与上述方法同样的申请构思,本申请实施例中还提供了一种报文传输装置,该报文传输装置可以应用在hub-pe上。其中,该报文传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的hub-pe的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本申请提出的报文传输装置所在的hub-pe的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,hub-pe还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该hub-pe还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图5所示,为本申请提出的报文传输装置的结构图,所述装置包括:接收模块11,用于接收spoke-pe发送的第一报文;记录模块12,用于当所述第一报文包括hub-ce对应的私网标签时,则在映射表中记录最外层标签和所述私网标签之外的公网标签、所述第一报文的特征信息、所述第一报文对应的转发信息的对应关系;发送模块13,用于去除所述第一报文的所有标签,并将去除所有标签后的报文发送给所述hub-ce;所述接收模块11,还用于接收所述hub-ce发送的第二报文;查询模块14,用于从所述映射表中查询到与所述第二报文的特征信息匹配的公网标签以及转发信息;所述发送模块13,还用于在所述第二报文中添加查询到的公网标签,并利用查询到的转发信息发送添加有所述公网标签的报文。在一个例子中,所述记录模块12在所述映射表中记录的所述特征信息包括:目的地址和/或虚拟专用网络vpn信息;所述记录模块12在所述映射表中记录的所述转发信息包括:最外层标签和/或最外层标签对应的出接口。在一个例子中,所述发送模块13,具体用于在利用查询到的转发信息发送添加有所述公网标签的报文的过程中,若查询到的转发信息为最外层标签,则通过所述最外层标签查询标签转发表项,从所述标签转发表项中得到与所述最外层标签对应的出接口,并通过得到的出接口发送添加有所述公网标签的报文;或者,若查询到的转发信息为最外层标签对应的出接口,则通过所述最外层标签对应的出接口发送添加有所述公网标签的报文。所述发送模块13,还用于为所述hub-ce分配与目的地址匹配的私网标签,并将所述目的地址与所述私网标签发送给spoke-pe,以使所述spoke-pe在发送与所述目的地址匹配的第一报文时,在所述第一报文中封装所述私网标签。在一个例子中,所述发送模块13,还用于在利用查询到的转发信息发送添加有所述公网标签的报文之前,利用所述第二报文的目的地址查询目的地址与私网标签的对应关系,得到与所述第二报文的目的地址对应的私网标签,并在所述第二报文中添加得到的私网标签。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1