处理报文、发送信息、接收信息的方法及装置的制造方法_2

文档序号:9690870阅读:来源:国知局
可能的实现方式,在第五方面的第二种可能的实现方式中,还包括:
[0072]接收单元,用于接收第二报文;
[0073]第二确定单元,用于根据第二偏移和第二长度确定第二查找关键字,所述第二偏移用于指示所述接收单元接收的所述第二报文中的第二字段的起始位置,所述第二偏移和所述第二长度的和用于指示所述第二字段的结束位置,所述第二查找关键字等于所述第二字段的值;
[0074]查找单元,用于根据所述第二确定单元确定的所述第二查找关键字查找所述第一流表;以及
[0075]第三确定单元,用于在所述第一确定单元确定所述第一基本偏移之前确定所述第一表项与所述第二查找关键字匹配。
[0076]根据第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,还包括:
[0077]获得单元,用于通过根据所述第一表项对所述第二报文进行处理获得所述第一报文;以及
[0078]发送单元,用于在所述第三确定单元确定所述第一表项与所述第二查找关键字匹配之后向所述第二网络装置发送所述获得单元获得的所述第一报文。
[0079]第六方面,提供了一种第二网络装置,包括:
[0080]第一接收单元,用于接收第一网络装置发送的第一基本偏移,所述第一基本偏移是所述第一网络装置根据第一流表中的第一表项确定的;
[0081]第一确定单元,用于根据所述第一接收单元接收的所述第一基本偏移、第一偏移和第一长度确定第一查找关键字,所述第一基本偏移和所述第一偏移的和用于指7K第一报文中的第一字段的起始位置,所述第一基本偏移、所述第一偏移以及所述第一长度的和用于指示所述第一字段的结束位置,所述第一查找关键字等于所述第一字段的值;
[0082]第二确定单元,用于通过根据所述第一确定单元确定的所述第一查找关键字查找第二流表确定所述第二流表中与所述第一查找关键字匹配的第二表项;以及
[0083]处理单元,用于根据所述第二确定单元确定的所述第二表项对所述第一报文进行处理。
[0084]在第六方面的第一种可能的实现方式中,所述第一基本偏移具体通过如下途径确定:
[0085]所述第一网络装置接收第二报文;
[0086]所述第一网络装置根据第二偏移和第二长度确定第二查找关键字,所述第二偏移用于指示所述第二报文中的第二字段的起始位置,所述第二偏移和所述第二长度的和用于指示所述第二字段的结束位置,所述第二查找关键字等于所述第二字段的值;
[0087]所述第一网络装置根据所述第二查找关键字查找所述第一流表;
[0088]所述第一网络装置确定所述第一表项与所述第二查找关键字匹配;以及
[0089]所述第一网络装置根据所述第一表项确定所述第一基本偏移。
[0090]根据第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,还包括:
[0091]第二接收单元,用于在所述第一确定单元确定所述第一查找关键字之前接收所述第一网络装置发送的所述第一报文,所述第一报文是所述第一网络装置通过根据所述第一表项对所述第二报文进行处理获得的。
【附图说明】
[0092]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
[0093]图1为实施例提供的一种处理报文的方法的流程示意图;
[0094]图2为实施例提供的IPv6头的结构示意图;
[0095]图3为实施例提供的TCP报文的结构示意图;
[0096]图4为实施例提供的一种发送信息的方法的流程示意图;
[0097]图5为实施例提供的一种应用场景的示意图;
[0098]图6为实施例提供的一种接收信息的方法的流程示意图;
[0099]图7为实施例提供的一种处理报文的装置的结构示意图;
[0100]图8为实施例提供的一种第一网络装置的结构示意图;
[0101]图9为实施例提供的一种第二网络装置的结构示意图;
[0102]图10为实施例提供的一种网络装置的结构示意图。
【具体实施方式】
[0103]本发明实施例提供了一种转发控制方法、控制器和转发设备及系统,用于实现转发设备在不需要升级的情况下对数据报文的转发。
[0104]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0105]本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
[0106]关于本申请涉及的流表(英文:flow table)以及指令(英文:instruct1n),可以参考开放网络基础(Open Networking Foundat1n, 0NF)发布的《开放流交换机规范1.3.0》(OpenFlow Switch Specificat1nl.3.0)。
[0107]图1为实施例提供的一种处理报文的方法的流程示意图。参见图1,所述方法包括:
[0108]101、网络装置根据第一流表中的第一表项确定第一基本偏移。
[0109]举例来说,所述网络装置可以是路由器、网络交换机、分组传送网(英文:paCkettransport network,简称:PTN)设备、防火墙、负载均衡器、数据中心或者波分复用(英文:wavelength-divis1n multiplexing,简称:WDM)设备。所述网络交换机可以是开放流交换机(英文:OpenFlow Switch)。
[0110]举例来说,所述第一表项中可以包含所述第一基本偏移。另外,所述第一表项中可以包含用于修改寄存器的值的第一指令。所述第一指令的操作数可以是所述第一基本偏移。所述网络装置可以通过执行所述第一指令将所述寄存器的值更新为所述第一基本偏移。
[0111]举例来说,所述第一流表可以是媒体访问控制(英文:media access control,简称:MAC)协议表、地址解析协议(英文:address resolut1n protocol,简称:ARP)表、转发信息库(英文:forwarding informat1n base,简称:FIB)或者 MPLS 标签表。
[0112]102、所述网络装置根据所述第一基本偏移、第一偏移和第一长度确定第一查找关键字。
[0113]所述第一基本偏移和所述第一偏移的和用于指第一报文中的第一字段的起始位置。所述第一基本偏移、所述第一偏移以及所述第一长度的和用于指示所述第一字段的结束位置。所述第一查找关键字等于所述第一字段的值。
[0114]举例来说,所述网络装置可以通过访问所述寄存器获取所述第一基本偏移。
[0115]举例来说,所述第一报文可以是IP报文,以太网巾贞(英文:Ethernet Frame)或者MPLS报文。
[0116]举例来说,所述第一偏移可以是一个偏移,也可以是多个偏移。所述第一长度可以是一个长度,也可以是多个长度。所述多个偏移与所述多个长度一一对应。
[0117]举例来说,所述第一字段可以是一个字段或者多个字段。所述多个字段与所述多个偏移--对应。所述多个字段与所述多个长度--对应。
[0118]例如,所述第一报文可以是网际协议第六版(英文:Internet Protocolvers1n6,简称:IPv6)报文。图2是所述IPv6报文的IPv6头的示意图。所述第一字段可以是源IP地址以及目的IP地址。所述第一偏移包括64以及192。所述第一长度分别是128和128。所述源IP地址的起始位置相对于所述IPv6报文的起始位置的偏移等于64。64用于所述指示所述源IP地址在所述IPv6报文中的起始位置。所述目的IP地址的起始位置相对于所述IPv6报文的起始位置的偏移等于192。192用于所述指示所述目的IP地址在所述IPv6报文中的起始位置。
[0119]所述源IP地址的长度为128比特。所述目的IP地址的长度为128比特。64与128的和等于192。192用于指示所述源IP地址在所述IPv6报文中的结束位置。192与128的和等于320。320用于指示所述目的IP地址在所述IPv6报文中的结束位置。
[0120]举例来说,所述第一基本偏移用于指示协议头的最高有效位(英文:moStsignificant bit,简称:MSB)的位置。所述第一字段是所述协议头中的字段。所述第一报文包含所述协议头。
[0121]举例来说,当所述协议头是所述第一报文的报文头,所述第一基本偏移等于0。
[0122]例如,所述第一报文可以是TCP报文。参见图3。图3为所述TCP报文的示意图。所述TCP报文包括IPv4头、TCP头以及净荷。其中,所述IPv4头和所述TCP头是所述TCP报文的协议头。所述IPv4头是所述TCP报文的报文头。所述第一字段可以是所述IPv4头的源IP地址。相应的,所述第一基本偏移等于0。所述偏移和所述长度分别是96和32。所述IPv4头的MSB相对于所述TCP报文的MSB的偏移等于0。所述源IP地址的起始位置相对于所述IPv4头的起始位置的偏移为96。所述源IP地址的长度为32比特。
[0123]再例如,所述第一报文可以是TCP报文。参见图3。图3为所述TCP报文的示意图。所述TCP报文包括IPv4头、TCP头以及净荷。其中,所述IPv4头和所述TCP头是所述TCP报文的协议头。所述IPv4头是所述TCP报文的报文头。所述第一字段可以是所述TCP头的目的端口。相应的,所述第一基本偏移等于160。所述偏移和所述长度分别是16和16。所述TCP头的MSB相对于所述TCP报文的MSB的偏移等于160。所述目的端口的起始位置相对于所述TCP头的起始位置的偏移为16。所述源端口的长度为16比特。
[0124]103、所述网络装置通过根据所述第一查找关键字查找第二流表确定所述第二流表中与所述第一查找关键字匹配的第二表项。
[0125]举例来说,所述第一表项中可以包含下一个表的标识(英文:next table ID)。所述下一个表的标识等于所述第二流表的标识。所述网络装置可以根据所述第二流表的标识访问所述第二流表。例如,所述第一表项中可以包含流表跳转(英文:goto_table)指令。所述流表跳转指令中可以包含所述第二流表的标识。
[0126]104、所述网络装置根据所述第二表项对所述第一报文进行处理。
[0127]举例来说,所述处理可以包括下述操作中的至少一个:修改所述第一报文、计算所述第一报文的校验和(英文checksum)、写寄存器、读寄存器、对计数器进行更新(英文:counter update)、对所述第一报文进行承诺访问速率(英文:committed access rate,简称:CAR)处理,丢弃所述第一报文和发送所述第一报文。
[0128]举例来说,修改所述第一报文可以是删除所述第一报文中的数据段(英文:data segment)、替换所述第一报文中的data segment或者在所述第一报文中插入datasegment ο
[0129]举例来说,所述checksum可以是IP checksum、传输控制协议(Transmiss1nControl Protocol, TCP) ch
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1