接收报文的方法、发送报文的方法及装置的制作方法

文档序号:7855918阅读:111来源:国知局
专利名称:接收报文的方法、发送报文的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及接收报文的方法、发送发送报文的方法、控制面装置和转发面装置。
背景技术
随着网络技术的发展,出现了控制与转发分类的网络架构。控制与转发分离的网络架构的网络中包含两种类型的网络设备,即转发面装置以及控制面装置。其中,转发面装置根据流表对收到的报文进行处理,控制面装置通过控制通道对转发面装置进行管辖。 控制与转发分离的网络架构中的“控制与转发分离”是指转发面装置与控制面装置分离。其中,转发面装置将控制面的部分或者全部功能转移到控制面装置。转发面装置具备与控制面装置进行通信的能力。转发面装置能够通过控制通道与控制面装置通信。现有技术中,转发面装置需要将没有与转发表匹配的报文发送至控制面装置,以便于控制面装置根据上述没有与转发表匹配的报文生成转发表项,并将上述转发表项发送至转发面装置。转发表项的匹配域中包含了转发面装置发送的报文的报文头中的字段,控制面装置生成的转发表项的匹配域中不能包含其他字段。

发明内容
本发明的目的是提供发送报文的方法、接收报文的方法、控制面装置以及转发面装置,控制面装置生成的转发表项的匹配域中可以包含转发面装置发送的报文的报文头中的字段之外的字段。为达到上述目的,提供了如下技术方案第一方面,提供一种接收报文的方法,包括控制面装置接收转发面装置发送的第ー报文;所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段;所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段;所述控制面装置向所述转发面装置发送更新指令,所述更新指令包含所述转发表项,所述更新指令用于使所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。在所述第一方面提供的所述接收报文的方法的第一种可能的实现方式中,所述第一字段为所述第一报文所请求的信息。在所述第一方面提供的所述接收报文的方法的第二种可能的实现方式中,所述第一字段为所述第一报文对应的协议所规定的第二报文中的字段,所述第二报文的类型不同于所述第一报文的类型。在所述第一方面提供的所述接收报文的方法的第三种可能的实现方式中,所述第一字段为存储所述第一报文所请求的数据的网络设备的网络地址。根据所述第一方面提供的所述接收报文的方法、所述第一方面提供的所述接收报文的方法的所述第一种可能的实现方法、所述第一方面提供的所述接收报文的方法的所述第二种可能的实现方法以及所述第一方面提供的所述接收报文的方法的所述第三种可能的实现方法,在所述第一方面提供的所述接收报文的方法的第四种可能的实现方式中,所述控制面装置生成转发表项包括所述控制面装置根据所述第一报文的报文头确定第一出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第一出接ロ ;或者所述控制面装置根据所述第一字段确定第二出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第二出接ロ ;或者所述控制面装置根据所述第一报文的报文头以及所述第一字段确定第三出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第三出接ロ。第二方面,提供一种发送报文的方法,包括转发面装置向控制面装置发送第一报文,以使所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段,所述第一报文用于使所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段;所述转发面装置接收所述控制面装置发送的更新指令,所述更新指令包含所述转发表项;所述转发面装置将所述 更新指令中的所述转发表项添加到所述转发面装置的转发表中。在所述第一方面提供的所述发送报文的方法的第一种可能的实现方式中,所述第一字段为所述第一报文所请求的信息。在所述第一方面提供的所述发送报文的方法的第二种可能的实现方式中,述第一字段为所述第一报文对应的协议所规定的第二报文中的字段,所述第二报文的类型不同于所述第一报文的类型。在所述第一方面提供的所述发送报文的方法的第三种可能的实现方式中,所述第一字段为存储所述第一报文所请求的数据的网络设备的网络地址。根据所述第一方面提供的所述发送报文的方法、所述第一方面提供的所述发送报文的方法的所述第一种可能的实现方式、所述第一方面提供的所述发送报文的方法的所述第二种可能的实现方式、所述第一方面提供的所述发送报文的方法的所述第萨博种可能的实现方式、在所述第一方面提供的所述发送报文的方法的第四种可能的实现方式中,所述控制面装置生成转发表项包括所述控制面装置根据所述第一报文的报文头确定第一出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第一出接ロ ;或者所述控制面装置根据所述第一字段确定第二出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第二出接ロ ;或者所述控制面装置根据所述第一报文的报文头以及所述第一字段确定第三出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第三出接ロ。第三方面,提供一种控制面装置,包括接收单元,用于接收转发面装置发送的第ー报文;获得单元,用于根据所述接收単元接收的所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段;生成単元,用于根据所述获得单元获得的所述第一字段生成转发表项,所述转发表项的匹配域中包含所述第一字段;发送单元,用于向所述转发面装置发送更新指令,所述更新指令包含所述生成単元生成的所述转发表项,所述更新指令用于使所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。
在所述第三方面提供的所述控制面装置的第一种可能的实现方式中,所述生成单元包括第一确定子单元以及第一生成子単元,所述第一确定子単元用于根据所述第一报文的报文头确定第一出接ロ ;所述第一生成子単元用于生成所述转发表项,所述转发表项的动作域中包含所述第一确定子単元确定的所述第一出接ロ ;或者第二确定子单元以及第ニ生成子単元,所述第二确定子単元用于根据所述第一字段确定第二出接ロ ;所述第二生成子単元用于生成所述转发表项,所述转发表项的动作域中包含所述第二确定子単元确定的所述第二出接ロ ;或者第三确定子单元以及第三生成子単元,所述第三确定子単元用于根据所述第一报文的报文头以及所述第一字段确定第三出接ロ ;所述第三生成子単元用于生成所述转发表项,所述转发表项的动作域中包含所述第三确定子単元确定的所述第三出接ロ。第四方面,提供一种转发面装置,包括发送单元,用于向控制面装置发送第一报文,以使所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段,所述第一报文用于使所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段;接收单元,用于接收所述控制面装置发送的更新指令,所述更新指令包含所述转发表项;添加単元,用于将所述接收 単元接收的所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。从上述技术方案可以看出,控制面装置接收到转发面装置发送的报文后,可以根据转发面装置发送的报文获得不同于转发面装置发送的报文的报文头中的任意一个字段的第一字段,并根据第一字段生成匹配域中包含了第一字段的转发表项。因此,在上述技术方案中,控制面装置生成的转发表项的匹配域中可以包含转发面装置发送的报文的报文头中的字段之外的字段。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的一种接收报文的方法的流程示意图;图2为本发明实施例提供的一种发送报文的方法的流程示意图;图3为本发明实施例提供的DNS场景中网元交互的示意图;图4为本发明实施例提供的FTP场景中网元交互的示意图;图5为本发明实施例提供的GFS场景中网元交互的示意图;图6为本发明实施例提供的一种控制面装置的结构示意图;图7为本发明实施例提供的一种转发面装置的结构示意图;图8为本发明实施例提供的一种接收报文的方法的流程示意图;图9为本发明实施例提供的一种接收报文的方法的流程示意图;图10为本发明实施例提供的一种接收报文的方法的流程示意图;图11为本发明实施例提供的一种控制面装置的结构示意图;图12为本发明实施例提供的一种控制面装置的结构示意图13为本发明实施例提供的一种控制面装置的结构示意图;图14为本发明实施例提供的一种控制面装置的结构示意图;图15为本发明实施例提供的一种转发面装置的结构示意图;图16为本发明实施例提供的一种控制面装置的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例涉及到控制与转发分离的网络架构。控制与转发分离的网络架构中的“控制与转发分离”是指转发面装置与控制面装置分离。其中,转发面装置将控制面的部分或者全部功能转移到控制面装置。转发面装置具备与控制面装置进行通信的能力。转发面装置能够通过控制通道与控制面装置通信。本发明涉及的控制面装置为符合控制与转发分离的网络架构的装置。本发明涉及的转发面装置为符合控制与转发分类的网络架构的装置。其中,转发面装置根据流表对收到的报文进行处理。控制面装置通过控制通道对转发面装置进行控制。举例来说,转发面装置对报文进行转发时,可以对ニ层的报文进行转发,也可以对三层的报文进行转发。关于ニ层与三层,具体请參考开放系统互连模型(Open Systemsinterconnection model, OSI model)。转发面装置具体实现时,可以是交換机或者路由器。在转发面装置是交换机的场景下,转发面装置具体可以是开放流交換机(OpenFlow Switch)。关于开放流交换机,请參考标准制定组织(Standard SettingOrganization, SSO)开放网络基础(Open Networking Foundation, ONF)发布的《开放流交换机规范》版本 I. O (OpenFlow Switch Specificationl. O)。控制面装置具体实现时,可以是开放流控制器(OpenFlow Controller)。关于开放流控制器,请參考ONF发布的《开放流交換机规范》版本I. O。控制通道具体实现时,可以是开放流交換机与开放流控制器进行交互的安全通道(Secure Channel)。关于安全通道,具体请參考ONF发布的《开放流交换机规范》版本I. O。转发面装置可以具有两种转发模式,一种是流转发模式,另ー种是包转发模式。流转发是指转发面装置根据流表对报文进行转发。流表的一个表项中用于判断报文是否与流表的表项匹配的字段的个数为2个或者2个以上。举例来说,流表的一个表项中用于判断报文是否与流表的表项匹配的字段的个数可以是5个。5个字段可以分别是源网际协议(Internet Protocol, IP)地址、目的IP地址、源端ロ(Port)、目的端ロ以及协议(Protocol)。举例来说,用于判断报文是否与流表的表项匹配的字段可以是处于OSI model的数据链路(Data Link)层的字段,也可以是处于OSI model的IP层的字段。包转发是指转发面装置根据包转发表对报文进行转发。包转发表的一个表项中用于判断报文是否与包转发表的表项匹配的字段的个数为I个。举例来说,包转发表的表项中用于判断报文是否与流表的表项匹配的字段可以目的IP地址,也可以是目的媒体访问控制(Media Access ControI,MAC)协议地址。本领域的技术人员可以理解,包转发表可以是MAC表,也可以是路由表。本领域的技术人员可以理解,开放流交换机可以根据接收到的报文中的源MAC协议地址以及用于接收报文的接ロ生成MAC表。MAC表生成后,开放流交换机可以根据MAC表进行包转发。本发明实施例提供了一种接收报文的方法。如图I所示,所述方法包括11、控制面装置接收转发面装置发送的第一报文。举例来说,所述第一报文可以是所述转发面装置接收到的报文。所述第一报文是没有与所述转发面装置中的转发表匹配的报文。所述第一报文可以是包含OSI model的ニ层信息的报文,也可以是包含OSI model的三层信息的报文。本领域的技术人员可以理解,所述转发表中可以包括ー个转发表项,也可以包括多个转发表项。所述转发表中的转发表 项包括匹配域以及动作域。12、所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段。举例来说,所述第一报文可以只包括ー个报文头,也可以包括多个报文头。所述第ー报文的报文头是指所述第一报文包含的所有报文头。举例来说,如果所述第一报文包括多个报文头,则所述第一报文的报文头既包括所述第一报文的外层报文头,也包括所述第一报文的内层报文头。例如,如果所述第一报文为包含OSI Model的四层信息的IP报文,则所述IP报文的报文头既包括外层报文头,即IP头,也包括内层报文头,即TCP (Transmission Control Protocol,传输控制协议)头或UDP(User Datagram Protocol,用户数据报协议)头。所述第一字段不同于所述第一报文的报文头中的任意一个字段可以体现为字段的类型不相同。具体来说,如果所述第一字段的类型不同于所述第一报文的报文头中的任意ー个字段的类型,则所述第一字段不同于所述第一报文的报文头中的任意ー个字段。例如,如果所述第一字段的类型是UDP头中的目的UDP端ロ,并且所述第一报文的报文头中不包括UDP头,则认为所述第一字段不同于所述第一报文的报文头中的任意ー个字段。所述第一字段不同于所述第一报文的报文头中的任意一个字段也可以体现为字段的类型相同,但字段的值不同。举例来说,如果所述第一报文的报文头中有且仅有ー个与所述第一字段的类型相同的字段,并且所述第一字段的值不同于所述第一报文的报文头中的与所述第一字段的类型相同的字段的值,则所述第一字段不同于所述第一报文的报文头中的任意ー个字段。例如,如果所述第一字段的类型为目的IP地址,所述第一报文的报文头中有且仅有一个字段类型为目的IP地址的字段,并且所述第一字段的值不同于所述第ー报文中的目的IP地址字段的值,则认为所述第一字段不同于所述第一报文的报文头中的任意ー个字段。可选的,所述第一字段可以是所述第一报文所请求的信息。例如,所述第一报文可以为DNS (Domain Name System,域名系统)请求报文。所述第一字段可以是所述第一报文中包含的网址所对应的IP地址。举例来说,所述第一报文中包含的网址为WWW. XXX. com。域名服务器收到所述第一报文后,根据所述第一报文中的网址获得所述网址对应的IP地址。举例来说,所述网址对应的IP地址可以是202. 108. 22. 6。所述域名服务器将所述网址对应的IP地址发送至所述控制面装置。所述控制面装置可以将202. 108. 22. 6作为所述第一字段。本领域的技术人员可以理解,在所述第一字段为所述网址对应的IP地址的场景下,转发面装置接收到流量后,可以根据所述转发表项判断所述转发面装置接收到的流量是否是访问所述网址对应的网站的流量。可选的,所述第一字段也可以是所述第一报文对应的协议所规定的第二报文中的字段,所述第二报文的类型不同于所述第一报文的类型。例如,所述第一报文可以是FTP (File Transfer Protocol,文件传输协议)连接建立请求报文。所述第一报文的TCP头中的目的TCP端ロ为21。所述第一报文对应的协议为FTP。所述第二报文可以是FTP定义的FTP数据传输报文。所述第二报文的TCP头中的目的TCP端ロ为20。本领域的技术人员可以理解,如果所述控制面装置生成的转发表项的匹配域中包含所述第一字段,并且所述第一字段的类型为目的TCP端ロ并且第一字段的值为20,转发面装置接收到流量后,可以根据所述转发表项判断所述转发面装置接收到的流 量是否是FTP数据传输报文。可选的,所述第一字段可以是存储所述第一报文所请求的数据的网络设备的网络地址。举例来说,所述第一报文所请求的数据可以是文本文件、音频文件或者视频文件。例如,所述第一报文可以用于请求访问GFS (谷歌文件系统,Google File System)应用数据。举例来说,所述第一报文请求访问的数据为文件名为W的文件。所述第一字段可以是存储所述文件名为W的文件的网络设备的网络地址。该网络地址可以是IP地址,也可以是MAC协议地址。13、所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段。本领域的技术人员可以理解,转发表项的匹配域中还可以包括第二字段。第二字段与第三字段相同。所述第三字段为所述第一报文的报文头中的ー个字段。所述转发表项中包含了所述第三字段在所述第一报文中的位置信息。所述位置信息用于获得待匹配报文的字段。当所述转发面装置收到与所述第一报文具有相同特征的报文后,所述转发面装置可以根据所述位置信息获取所述与所述第一报文具有相同特征的报文中的字段,并判断所述字段是否与所述转发表项中的所述第二字段匹配。本领域的技术人员可以理解,所述转发表项包含了第一字段对应的待匹配字段在待匹配报文中的位置信息。12中的所述第一字段不同于所述第一报文的报文头中的任意一个字段还可以体现为字段的类型相同,字段的值相同,但是所述转发表项包含的所述第一字段对应的待匹配字段在待匹配报文中的位置信息所指示的位置不同于所述第一报文的报文头中的与所述第一字段的类型相同且与所述第一字段的值相同的字段在所述第一报文中的位置。具体来说,如果所述第三字段是所述第一报文中唯一的与所述第一字段的类型相同且与所述第一字段的值相同的字段,但是所述转发表项包含的所述第一字段对应的待匹配字段在待匹配报文中的位置信息所指示的位置不同于所述第三字段在所述第一报文中的位置,则所述第一字段不同于所述第一报文的报文头中的任意ー个字段。转发表项中可以包含匹配域和动作域。该转发表项的匹配域中的字段可以包括源IP地址、目的IP地址、源端ロ、目的端ロ以及协议(Protocol)。该转发表项的动作域中可以包括出接口号。所述出接口号用于指示所述转发面装置转发与所述转发表项匹配的报文的出接ロ。可选的,图I所示的方法中,所述控制面装置生成转发表项可以包括13a、所述控制面装置可以根据所述第一报文的报文头确定第一出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第一出接ロ。关于13a,可以參见图8所示的接收报文的方法的流程图。举例来说,所述控制面装置可以根据所述第一报文的报文头以及所述控制面装置所管辖的网络的拓扑计算最优路径或最短路径。所述控制面装置所述管辖的网络可以包括多个转发面装置。所述控制面装置根据所述最优路径或所述最短路径确定所述第一出接ロ。举例来说,所述控制面装置计算所述最优路径或者所述最短路径所使用的所述第一报 文的报文头中的信息可以是FTP服务器的IP地址。可选的,图I所示的方法中,所述控制面装置生成转发表项可以包括13b、所述控制面装置可以根据所述第一字段确定第二出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第二出接ロ。关于13b,可以參见图9所示的接收报文的方法的流程图。举例来说,所述控制面装置可以根据所述第一字段以及所述控制面装置所管辖的网络所对应的网络拓扑计算最优路径或最短路径。所述控制面装置所述管辖的网络可以包括多个转发面装置。所述控制面装置根据所述最优路径或所述最短路径确定所述第二出接ロ。举例来说,所述控制面装置计算所述最优路径或者所述最短路径所使用的所述第一字段可以是网页服务器的IP地址。可选的,图I所示的方法中,所述控制面装置生成转发表项可以包括13c、所述控制面装置可以根据所述第一报文的报文头以及所述第一字段确定第三出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第三出接ロ。关于13c,可以參见图10所示的接收报文的方法的流程图。举例来说,所述控制面装置可以根据所述第一报文的报文头、所述第一字段以及所述控制面装置所管辖的网络所对应的网络拓扑计算最优路径或最短路径。所述控制面装置所述管辖的网络可以包括多个转发面装置。所述控制面装置根据所述最优路径或所述最短路径确定所述第三出接ロ。14、所述控制面装置向所述转发面装置发送更新指令,所述更新指令包含所述转发表项,所述更新指令用于使所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。可选的,本发明实施例提供了一种控制面装置。所述控制面装置可以执行图I所示的方法。參见图14,所述控制面装置包括接收器1401,用于接收转发面装置发送的第一报文。所述接收器1401可以执行图I所示的方法中的11。关于所述接收器1401,请參见图I所示的方法中的11,此处不再赘述。处理器1402,用于根据所述接收器1401接收的所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段;以及,根据所述第一字段生成转发表项,所述转发表项的匹配域中包含所述第一字段。所述处理器1402可以执行图I所示的方法中的12以及13。关于所述处理器1402,请參见图I所示的方法中的12以及13,此处不再赘述。发送器1403,用于向所述转发面装置发送更新指令,所述更新指令包含所述处理器1402生成的所述转发表项,所述更新指令用于使所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。所述发送器1403可以执行图I所示的方法中的14。关于所述发送器1403,请參见图I所示的方法中的14,此处不再赘述。可选的,图14所示的控制面装置中,所述处理器1402可以具体用于 根据所述第一报文的报文头确定第一出接ロ,生成所述转发表项,所述转发表项的动作域中包含所述第一出接ロ。关于上述技术方案,可以參考图I所示的方法中的13a,此处不再赘述。可选的,图14所示的控制面装置中,所述处理器1402可以具体用于根据所述第一字段确定第二出接ロ,生成所述转发表项,所述转发表项的动作域中包含所述第二出接ロ。关于上述技术方案,可以參考图I所示的方法中的13b,此处不再赘述。可选的,图14所示的控制面装置中,所述处理器1402可以具体用于根据所述第一报文的报文头以及所述第一字段确定第三出接ロ,生成所述转发表项,所述转发表项的动作域中包含所述第三出接ロ。关于上述技术方案,可以參考图I所示的方法中的13c,此处不再赘述。可见,通过上述技术方案,控制面装置生成的转发表项的匹配域中可以包含转发面装置发送的报文的报文头中的字段之外的字段。现有技术中,控制面装置生成的转发表项的匹配域中包含转发面装置发送的报文的报文头中的字段,不能包含转发面装置发送的报文的报文头中的字段之外的字段。因此,本发明实施例提供的技术方案可以减少转发面装置向控制面装置发送的报文的数量,进而减轻对转发装置与控制面装置之间的控制通道的占用。本发明实施例还提供了一种发送报文的方法。如图2所示,所述方法包括21、转发面装置向控制面装置发送第一报文,以使所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段,所述第一报文用于使所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段。举例来说,所述第一报文可以是所述转发面装置接收到的报文。所述第一报文是没有与转发面装置中的转发表匹配的报文。所述第一报文可以是包含OSI model的ニ层信息的报文,也可以是包含OSI model的三层信息的报文。本领域的技术人员可以理解,所述转发表中可以包括ー个转发表项,也可以包括多个转发表项。所述转发表中的转发表项包括匹配域以及动作域。举例来说,所述第一报文可以只包括ー个报文头,也可以包括多个报文头。所述第ー报文的报文头是指所述第一报文包含的所有报文头。举例来说,如果所述第一报文包括多个报文头,则所述第一报文的报文头既包括所述第一报文的外层报文头,也包括所述第一报文的内层报文头。例如,如果所述第一报文为包含OSI Model的四层信息的IP报文,则所述IP报文的报文头既包括外层报文头,即IP头,也包括内层报文头,即TCP头或UDP头。所述第一字段不同于所述第一报文的报文头中的任意一个字段可以体现为字段的类型不相同。具体来说,如果所述第一字段的类型不同于所述第一报文的报文头中的任意ー个字段的类型,则所述第一字段不同于所述第一报文的报文头中的任意ー个字段。例如,如果所述第一字段的类型是UDP头中的目的UDP端ロ,并且所述第一报文的报文头中不包括UDP头,则可以认为所述第一字段不同于所述第一报文的报文头中的任意ー个字段。所述第一字段不同于所述第一报文的报文头中的任意一个字段也可以体现为字 段的类型相同,但字段的值不同。举例来说,如果所述第一报文的报文头中有且仅有ー个与所述第一字段的类型相同的字段,并且所述第一字段的值不同于所述第一报文的报文头中的与所述第一字段的类型相同的字段的值,则所述第一字段不同于所述第一报文的报文头中的任意ー个字段。例如,如果所述第一字段的类型为目的IP地址,所述第一报文的报文头中有且仅有一个字段类型为目的IP地址的字段,并且所述第一字段的值不同于所述第ー报文中的目的IP地址字段的值,则认为所述第一字段不同于所述第一报文的报文头中的任意ー个字段。可选的,所述第一字段可以是所述第一报文所请求的信息。例如,所述第一报文可以为DNS请求报文。所述第一字段可以是所述第一报文中包含的网址所对应的IP地址。举例来说,所述第一报文中包含的网址为WWW. XXX. com。域名服务器收到所述第一报文后,根据所述第一报文中的网址获得所述网址对应的IP地址。举例来说,所述网址对应的IP地址可以是202. 108. 22. 6。所述域名服务器将所述网址对应的IP地址发送至所述控制面装置。所述控制面装置可以将202. 108. 22. 6作为所述第一字段。本领域的技术人员可以理解,在所述第一字段为所述网址对应的IP地址的场景下,转发面装置接收到流量后,可以根据所述转发表项判断所述转发面装置接收到的流量是否是访问所述网址对应的网站的流量。可选的,所述第一字段也可以是所述第一报文对应的协议所规定的第二报文中的字段,所述第二报文的类型不同于所述第一报文的类型。例如,所述第一报文可以是FTP连接建立请求报文。所述第一报文的TCP头中的目的TCP端ロ为21。所述第一报文对应的协议为FTP。所述第二报文可以是FTP定义的FTP数据传输报文。所述第二报文的TCP头中的目的TCP端ロ为20。本领域的技术人员可以理解,在所述第一字段的类型为目的TCP端ロ并且第一字段的值为20的场景下,转发面装置接收到流量后,可以根据所述转发表项判断所述转发面装置接收到的流量是否是FTP数据传输报文。可选的,所述第一字段可以是存储所述第一报文所请求的数据的网络设备的网络地址。举例来说,所述第一报文所请求的数据可以是文本文件、音频文件或者视频文件。例如,所述第一报文可以用于请求访问GFS应用数据。举例来说,所述第一报文请求访问的数据为文件名为W的文件。所述第一字段可以是存储所述文件名为W的文件的网络设备的网络地址。该网络地址可以是IP地址,也可以是MAC协议地址。
本领域的技术人员可以理解,转发表项的匹配域中还可以包括第二字段,第二字段与第三字段相同,所述第三字段为所述第一报文的报文头中的ー个字段。转发表项中包含了所述第三字段在所述第一报文中的位置信息。所述位置信息用于获得待匹配报文的字段。当所述转发面装置收到与所述第一报文具有相同特征的报文后,所述转发面装置可以根据所述位置信息获取所述与所述第一报文具有相同特征的报文中的字段,并判断所述字段是否与所述转发表项中的所述第二字段匹配。本领域的技术人员可以理解,所述转发表项包含了第一字段对应的待匹配字段在待匹配报文中的位置信息。所述第一字段不同于所述第一报文的报文头中的任意一个字段还可以体现为字段的类型相同,字段的值相同,但是所述转发表项包含的所述第一字段对应的待匹配字段在待匹配报文中的位置信息所指示的位置不同于所述第一报文的报文头中的与所述第一字段的类型相同且与所述第一字段的值相同的字段在所述第一报文中的位置。具体来说, 如果所述第三字段是所述第一报文中唯一的与所述第一字段的类型相同且与所述第一字段的值相同的字段,但是所述转发表项包含的所述第一字段对应的待匹配字段在待匹配报文中的位置信息所指示的位置不同于所述第三字段在所述第一报文中的位置,则所述第一字段不同于所述第一报文的报文头中的任意ー个字段。转发表项可以包含匹配域和动作域。该转发表项的匹配域中的字段可以包括源IP地址、目的IP地址、源端ロ、目的端ロ以及协议。该转发表项的动作域中可以包括出接ロ号。所述出接口号用于指示所述转发面装置转发与所述转发表项匹配的报文的出接ロ。可选的,图2所示的方法中,所述控制面装置生成转发表项可以包括所述控制面装置可以根据所述第一报文的报文头确定第一出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第一出接ロ。举例来说,所述控制面装置可以根据所述第一报文的报文头以及所述控制面装置所管辖的网络所对应的网络拓扑计算最优路径或最短路径。所述控制面装置所述管辖的网络可以包括多个转发面装置。所述控制面装置根据所述最优路径或所述最短路径确定所述第一出接ロ。举例来说,所述控制面装置计算所述最优路径或者所述最短路径所使用的所述第一报文的报文头中的信息可以是FTP服务器的IP地址。可选的,图2所示的方法中,所述控制面装置生成转发表项可以包括所述控制面装置可以根据所述第一字段确定第二出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第二出接ロ。举例来说,所述控制面装置可以根据所述第一字段以及所述控制面装置所管辖的网络所对应的网络拓扑计算最优路径或最短路径。所述控制面装置所述管辖的网络可以包括多个转发面装置。所述控制面装置根据所述最优路径或所述最短路径确定所述第二出接ロ。举例来说,所述控制面装置计算所述最优路径或者所述最短路径所使用的所述第一字段可以是网页服务器的IP地址。可选的,图2所示的方法中,所述控制面装置生成转发表项可以包括所述控制面装置可以根据所述第一报文的报文头以及所述第一字段确定第三出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第三出接ロ。举例来说,所述控制面装置可以根据所述第一报文的报文头、所述第一字段以及所述控制面装置所管辖的网络的拓扑计算最优路径或最短路径。所述控制面装置所述管辖的网络可以包括多个转发面装置。所述控制面装置根据所述最优路径或所述最短路径确定所述第三出接ロ。
22、所述转发面装置接收所述控制面装置发送的更新指令,所述更新指令包含所述转发表项。23、所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。可选的,本发明实施例提供了一种转发面装置。所述转发面装置可以执行图2所示的方法。參见图15,所述转发面装置包括发送器1501,用于向控制面装置发送第一报文,以使所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意ー个字段,所述第一报文用于使所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段。所述发送器1501可以执行图2所示的方法中的21。关于所述发送器1501,请參见图2所示的方法中的21,此处不再赘述。接收器1502,用于接收所述控制面装置发送的更新指令,所述更新指令包含所述转发表项。所述接收器1502可以执行图2所示的方法中的22。关于所述接收器1502,请參见图2所示的方法中的22,此处不再赘述。网络处理器1503,用于将所述接收器1502接收的所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。所述网络处理器1503可以执行图2所示的方法中的23。关于所述网络处理器1503,请參见图2所示的方法中的23,此处不再赘述。可见,通过上述技术方案,控制面装置生成的转发表项的匹配域中可以包含转发面装置发送的报文的报文头中的字段之外的字段。现有技术中,控制面装置生成的转发表项的匹配域中包含转发面装置发送的报文的报文头中的字段,不能包含转发面装置发送的报文的报文头中的字段之外的字段。因此,本发明实施例提供的技术方案可以减少转发面装置向控制面装置发送的报文的数量,进而减轻对转发装置与控制面装置之间的控制通道的占用。图I所示的方法以及图2所示的方法可以应用于DNS场景。图3为本发明实施例提供的DNS场景中网元交互的示意图。图3所示的网元交互流程包括31、发送DNS请求报文。举例来说,转发面装置将DNS请求报文发送给控制面装置。所述DNS请求报文中包括某个网页服务器的域名。32、根据所述转发面装置发送的DNS请求报文获得与所述DNS请求报文相关的第
一字段。举例来说,所述控制面装置通过与域名服务器交互,获得网元服务器的IP地址。33、生成转发表项,所述转发表项的匹配域中包含所述第一字段。举例来说,所述控制面装置可以根据所述第一字段确定所述转发表项的动作域中的出接ロ。例如,所述网页服务器的IP地址为202. 108.22.6。所述控制面装置可以根据所述网元服务器的IP地址以及所述控制面装置所管辖的网络的拓扑计算所述转发面装置到所述网页服务器的最优路径或最短路径。所述控制面装置可以根据所述最优路径或所述最短路径确定所述转发面装置的出接ロ。例如,所述控制面装置可以确定所述转发面装置访问IP地址为202. 108. 22. 6的网页服务器的出接ロ为接ロ 11。所述转发表项可以如表I所示
匹配域(包含第一字段)动作域(包含出接ロ)
IP地址所述转发面装置的接ロ~
202. 108. 22. 6接 ロ 11
202. 108. 22. 6接 ロ 11表I34、发送更新指令,所述更新指令包含所述转发表项。举例来说,所述控制面装置向所述转发面装置发送更新指令,所述更新指令包含所述转发表项。所述更新指令用于使所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。例如,所述控制面装置将包含有所述转发表项的更新指令发送给所述转发面装置。35、将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。具体来说,所述转发面装置接收到所述包含有所述转发表项的更新指令后,将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。图I所示的方法以及图2所示的方法可以应用于FTP场景。图4为本发明实施例提供的FTP场景中网元交互的示意图。图4所示的网元交互流程包括41、发送FTP连接建立请求报文。具体来说,转发面装置将FTP连接建立请求报文发送给控制面装置。42、根据所述转发面装置发送的FTP连接建立请求报文获得与所述FTP连接建立请求报文相关的第一字段。举例来说,所述FTP连接建立请求报文的报文头字段中包含的目的TCP端口号为21。所述控制面装置可以根据FTP连接建立请求报文中的TCP端口号确定所述控制面装置收到的报文为FTP连接建立请求报文。进而,所述控制面装置可以生成所述第一字段。第一字段的类型为目的TCP端ロ,第一字段的值为20。43、生成转发表项,所述转发表项的匹配域中包含所述第一字段。举例来说,所述转发表项的匹配域中包含的所述第一字段的类型可以是目的TCP端ロ,所述第一字段的值可以是20。所述转发表项的匹配域可以用于判断所述转发面装置接收到的报文是否是FTP数据传输报文。举例来说,所述控制面装置可以根据所述FTP连接建立请求报文的报文头确定所述转发表项的动作域中的出接ロ。具体来说,所述控制面装置可以根据所述FTP连接建立请求报文的报文头中的目的IP地址,以及所述控制面装置所管辖的网络的拓扑确定出访问所述目的IP地址对应的FTP服务器的最优路径或最短路径。然后,所述控制面装置可以根据所述最优路径或所述最短路径确定所述转发面装置的出接ロ。具体来说,所述控制面装置计算出的所述转发面装置转发FTP连接建立请求报文的出接ロ与所述转发面装置转发FTP数据传输报文的出接ロ是同一个接ロ。所述转发表项可以如表2所示
权利要求
1.一种接收报文的方法,其特征在于,包括 控制面装置接收转发面装置发送的第一报文; 所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意一个字段; 所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段;和所述控制面装置向所述转发面装置发送更新指令,所述更新指令包含所述转发表项,所述更新指令用于使所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。
2.根据权利要求I所述的方法,其特征在干, 所述第一字段为所述第一报文所请求的信息。
3.根据权利要求I所述的方法,其特征在干, 所述第一字段为所述第一报文对应的协议所规定的第二报文中的字段,所述第二报文的类型不同于所述第一报文的类型。
4.根据权利要求I所述的方法,其特征在干, 所述第一字段为存储所述第一报文所请求的数据的网络设备的网络地址。
5.根据权利要求I至4中任一所述的方法,其特征在于,所述控制面装置生成转发表项包括 所述控制面装置根据所述第一报文的报文头确定第一出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第一出接ロ ;或者 所述控制面装置根据所述第一字段确定第二出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第二出接ロ ;或者 所述控制面装置根据所述第一报文的报文头以及所述第一字段确定第三出接ロ,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第三出接ロ。
6.一种发送报文的方法,其特征在于,包括 转发面装置向控制面装置发送第一报文,以使所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意一个字段,所述第一报文用于使所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段; 所述转发面装置接收所述控制面装置发送的更新指令,所述更新指令包含所述转发表项;和 所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。
7.根据权利要求6所述的方法,其特征在干, 所述第一字段为所述第一报文所请求的信息。
8.根据权利要求6所述的方法,其特征在干, 所述第一字段为所述第一报文对应的协议所规定的第二报文中的字段,所述第二报文的类型不同于所述第一报文的类型。
9.根据权利要求6所述的方法,其特征在干, 所述第一字段为存储所述第一报文所请求的数据的网络设备的网络地址。
10.根据权利要求6至9中任一所述的方法,其特征在于,所述控制面装置生成转发表项包括 所述控制面装置根据所述第一报文的报文头确定第一出接口,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第一出接口 ;或者 所述控制面装置根据所述第一字段确定第二出接口,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第二出接口 ;或者 所述控制面装置根据所述第一报文的报文头以及所述第一字段确 定第三出接口,所述控制面装置生成所述转发表项,所述转发表项的动作域中包含所述第三出接口。
11.一种控制面装置,其特征在于,包括 接收单元,用于接收转发面装置发送的第一报文; 获得单元,用于根据所述接收单元接收的所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意一个字段; 生成单元,用于根据所述获得单元获得的所述第一字段生成转发表项,所述转发表项的匹配域中包含所述第一字段;和 发送单元,用于向所述转发面装置发送更新指令,所述更新指令包含所述生成单元生成的所述转发表项,所述更新指令用于使所述转发面装置将所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。
12.根据权利要求11所述的装置,其特征在于,所述生成单元包括 第一确定子单元以及第一生成子单元,所述第一确定子单元用于根据所述第一报文的报文头确定第一出接口 ;所述第一生成子单元用于生成所述转发表项,所述转发表项的动作域中包含所述第一确定子单元确定的所述第一出接口 ;或者 第二确定子单元以及第二生成子单元,所述第二确定子单元用于根据所述第一字段确定第二出接口 ;所述第二生成子单元用于生成所述转发表项,所述转发表项的动作域中包含所述第二确定子单元确定的所述第二出接口 ;或者 第三确定子单元以及第三生成子单元,所述第三确定子单元用于根据所述第一报文的报文头以及所述第一字段确定第三出接口 ;所述第三生成子单元用于生成所述转发表项,所述转发表项的动作域中包含所述第三确定子单元确定的所述第三出接口。
13.一种转发面装置,其特征在于,包括 发送单元,用于向控制面装置发送第一报文,以使所述控制面装置根据所述第一报文获得与所述第一报文有关的第一字段,所述第一字段不同于所述第一报文的报文头中的任意一个字段,所述第一报文用于使所述控制面装置生成转发表项,所述转发表项的匹配域中包含所述第一字段; 接收单元,用于接收所述控制面装置发送的更新指令,所述更新指令包含所述转发表项;和 添加单元,用于将所述接收单元接收的所述更新指令中的所述转发表项添加到所述转发面装置的转发表中。
全文摘要
本发明实施例提供了一种接收报文的方法,控制面装置接收转发面装置发送的第一报文;控制面装置根据第一报文获得与第一报文有关的第一字段,第一字段不同于第一报文的报文头中的任意一个字段;控制面装置生成转发表项,转发表项的匹配域中包含第一字段;控制面装置向转发面装置发送更新指令,更新指令包含转发表项,更新指令用于使转发面装置将更新指令中的转发表项添加到转发面装置的转发表中。此外,本发明实施例还提供了发送报文的方法以及相应的装置。通过上述技术方案,控制面装置生成的转发表项的匹配域中可以包含转发面装置发送的报文的报文头中的字段之外的字段。
文档编号H04L12/56GK102739549SQ20121024350
公开日2012年10月17日 申请日期2012年7月13日 优先权日2012年7月13日
发明者夏寅贲, 李凤凯 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1