一种报文处理的方法及相关装置与流程

文档序号:31868860发布日期:2022-10-21 17:50阅读:59来源:国知局
一种报文处理的方法及相关装置与流程

1.本技术实施例涉及通信技术领域,尤其涉及一种报文处理的方法及相关装置。


背景技术:

2.随着现代通信技术的发展,各个互联网服务提供商(internet service provider,isp)与运营商之间通常进行多种数据流量交换。例如,运营商a可以分别通过出口a和出口b向互联网服务提供商b发送数据。那么运营商a可以通过出口a向互联网服务提供商b发送高价值的数据,而通过出口b向互联网服务提供商b发送低价值的数据。
3.目前的技术中,对于运营商a通过出口a向互联网服务提供商b发送的高价值数据,互联网服务提供商b响应该高价值数据时可能不会通过出口a返回到运营商a,导致数据交互达不到要求。为保证互联网服务提供商b响应高价值数据时沿原路径返回报文,运营商a可以通过出口a相邻的网络设备对发出去的高价值数据对应的报文做nat处理。
4.然而,运营商a通过出口a相邻的网络设备做nat处理时,该网络设备没有合适的方法来区分需要做nat处理的数据和不需要做nat处理的数据,导致该方案无法实现。


技术实现要素:

5.本技术实施例提供了一种报文处理的方法及相关装置,通过分段标识sid让网络设备区分需要做nat处理的数据和不需要做nat处理的数据,能够在网络设备改动少的情况下保证互联网服务提供商b的回程流量按照原路返回,提高用户业务体验。
6.第一方面,本技术实施例提供一种报文处理方法,包括:第一网络设备接收来自第二网络设备的第一报文,所述第一报文包含第一分段标识sid,所述第一sid指示所述第一网络设备对所述第一报文进行网络地址转换nat;所述第一网络设备对所述第一报文做nat处理得到第二报文;所述第一网络设备发送所述第二报文。
7.在本技术实施例中,第一网络设备可以根据分段标识sid的指示对第一报文进行nat处理得到第二报文并转发。因此,本技术实施例可以通过分段标识sid让第一网络设备区分需要做nat处理的数据和不需要做nat处理的数据。而经过nat转换处理后,第二报文的回程流量可以按照原传输路径返回,保证了回程流量按照原路返回,提高用户业务体验。
8.结合第一方面,在本技术实施例的一种实现方式中,所述第一网络设备对所述第一报文做nat处理得到第二报文包括:所述第一网络设备将所述第一报文的源地址替换为特定地址得到所述第二报文。该实现方式使得本技术实施例提供的方案更具全面性。
9.结合第一方面,在本技术实施例的一种实现方式中,所述第一网络设备进行nat处理所用的nat实例中配置有地址池,所述地址池包含所述特定地址。该实现方式使得本技术实施例提供的方案更具全面性。
10.结合第一方面,在本技术实施例的一种实现方式中,所述第一网络设备对所述第一报文做nat处理得到第二报文之前,所述方法还包括:所述第一网络设备发布所述特定地址对应的路由。该实现方式使得本技术实施例提供的方案更具全面性。
11.结合第一方面,在本技术实施例的一种实现方式中,所述第一sid为end.xnat类型或end.nat类型,或所述第一sid为分段路由多协议标签交换sr mpls标签。该实现方式使得本技术实施例提供的方案更具全面性。
12.结合第一方面,在本技术实施例的一种实现方式中,所述第一sid包含指示信息或nat实例标识,用于指示所述第一网络设备对所述第一报文进行网络地址转换nat。该实现方式使得本技术实施例提供的方案更具全面性。
13.结合第一方面,在本技术实施例的一种实现方式中,所述指示信息或nat实例标识设置在所述第一sid的功能字段中或参数字段中。该实现方式使得本技术实施例提供的方案更具全面性。
14.结合第一方面,在本技术实施例的一种实现方式中,所述第一sid还用于指示所述第一网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文。该实现方式使得本技术实施例提供的方案更具全面性。
15.结合第一方面,在本技术实施例的一种实现方式中,所述第一报文包含分段路由头srh;所述srh包含所述第一sid,或所述srh包含所述第一sid和第二sid,所述第二sid指示所述第一网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文。该实现方式使得本技术实施例提供的方案更具全面性。
16.结合第一方面,在本技术实施例的一种实现方式中,所述srh的段标识列表sid list中包含所述第一sid,或所述srh的段标识列表sid list中包含所述第一sid和所述第二sid。该实现方式使得本技术实施例提供的方案更具全面性。
17.结合第一方面,在本技术实施例的一种实现方式中,所述第一网络设备接收来自第二网络设备的第一报文之前,所述方法还包括:所述第一网络设备建立所述第一sid和所述特定接口的关联关系或所述第一sid和所述特定邻居的关联关系;所述第一网络设备向其他网络设备发布所述第一sid。该实现方式使得本技术实施例提供的方案更具全面性。
18.结合第一方面,在本技术实施例的一种实现方式中,所述第一网络设备为运营商边缘路由器pe,所述第二网络设备为宽带接入服务器bras,或所述第一网络设备和所述第二网络设备均为pe。该实现方式使得本技术实施例提供的方案更具全面性。
19.结合第一方面,在本技术实施例的一种实现方式中,所述第一网络设备和所述第二网络设备设置在srv6网络或sr mpls网络。该实现方式使得本技术实施例提供的方案更具全面性。
20.第二方面,本技术实施例提供一种报文处理的方法,包括:第一网络设备向第二网络设备发送第一报文,所述第一报文包含第一分段标识sid,所述第一sid指示所述第二网络设备对所述第一报文进行网络地址转换nat得到第二报文并转发。
21.结合第二方面,在本技术实施例的一种实现方式中,所述第一sid具体用于指示所述第二网络设备将所述第一报文的源地址替换为特定地址得到所述第二报文。该实现方式使得本技术实施例提供的方案更具全面性。
22.结合第二方面,在本技术实施例的一种实现方式中,所述第一网络设备向第二网络设备发送第一报文之前,所述方法还包括:所述第一网络设备识别所述第一报文的应用类型或业务流类型;若所述应用类型或业务流类型为特定类型,则所述第一网络设备在所述第一报文中压入所述第一sid。该实现方式使得本技术实施例提供的方案更具全面性。
23.结合第二方面,在本技术实施例的一种实现方式中,所述第一网络设备向第二网络设备发送第一报文之前,所述方法还包括:所述第一网络设备识别所述第一报文的应用类型或业务流类型;若所述应用类型或业务流类型为特定类型,则所述第一网络设备根据所述第一报文的目的地址确定目标网络;所述第一网络设备在所述第一报文中压入所述第一sid,所述第一sid还用于指示所述第二网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文,所述特定接口或所述特定邻居根据所述目标网络确定。该实现方式使得本技术实施例提供的方案更具全面性。
24.结合第二方面,在本技术实施例的一种实现方式中,所述第一网络设备向第二网络设备发送第一报文之前,所述方法还包括:所述第一网络设备识别所述第一报文的应用类型或业务流类型;若所述应用类型或业务流类型为特定类型,则所述第一网络设备根据所述第一报文的目的地址确定目标网络;所述第一网络设备在所述第一报文中压入所述第一sid和第二sid,所述第二sid用于指示所述第二网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文,所述特定接口或所述特定邻居根据所述目标网络确定。该实现方式使得本技术实施例提供的方案更具全面性。
25.结合第二方面,在本技术实施例的一种实现方式中,所述第一网络设备获得第一报文包括:所述第一网络设备获取来自用户侧设备的所述第一报文,或所述第一网络设备生成所述第一报文。该实现方式使得本技术实施例提供的方案更具全面性。
26.结合第二方面,在本技术实施例的一种实现方式中,所述第一sid为end.xnat类型或end.nat类型,或所述第一sid为分段路由多协议标签交换sr mpls标签。该实现方式使得本技术实施例提供的方案更具全面性。
27.结合第二方面,在本技术实施例的一种实现方式中,所述第一sid包含指示信息或nat实例标识,用于指示所述第二网络设备对所述第一报文进行网络地址转换nat。该实现方式使得本技术实施例提供的方案更具全面性。
28.结合第二方面,在本技术实施例的一种实现方式中,所述指示信息或nat实例标识设置在所述第一sid的功能字段中或参数字段中。该实现方式使得本技术实施例提供的方案更具全面性。
29.结合第二方面,在本技术实施例的一种实现方式中,所述第一报文包含分段路由头srh;所述srh包含所述第一sid,或所述srh包含所述第一sid和第二sid,所述第二sid指示所述第二网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文。该实现方式使得本技术实施例提供的方案更具全面性。
30.结合第二方面,在本技术实施例的一种实现方式中,所述第一网络设备和所述第二网络设备为互联网网关igw。该实现方式使得本技术实施例提供的方案更具全面性。
31.结合第二方面,在本技术实施例的一种实现方式中,所述第一网络设备为宽带接入服务器bras,所述第二网络设备为运营商边缘路由器pe,或所述第一网络设备和所述第二网络设备均为pe。该实现方式使得本技术实施例提供的方案更具全面性。
32.结合第二方面,在本技术实施例的一种实现方式中,所述第一网络设备和所述第二网络设备设置在srv6网络或sr mpls网络。该实现方式使得本技术实施例提供的方案更具全面性。
33.第三方面,本技术实施例提供一种报文处理的装置,包括:获取模块,用于接收来
自另一网络设备的第一报文,所述第一报文包含第一分段标识sid,所述第一sid指示所述处理模块对所述第一报文进行网络地址转换nat处理;处理模块,用于根据所述第一sid的指示对所述第一报文做nat处理得到第二报文;发送模块,用于发送所述第二报文。
34.结合第三方面,在本技术实施例的一种实现方式中,所述处理模块还用于将所述第一报文的源地址替换为特定地址得到所述第二报文。
35.结合第三方面,在本技术实施例的一种实现方式中,发送模块还用于发布所述特定地址对应的路由。
36.结合第三方面,在本技术实施例的一种实现方式中,处理模块进行nat处理所用的nat实例中配置有地址池,所述地址池包含所述特定地址。
37.结合第三方面,在本技术实施例的一种实现方式中,所述第一sid为end.xnat sid或end.nat sid,或所述第一sid为分段路由多协议标签交换sr mpls标签。
38.结合第三方面,在本技术实施例的一种实现方式中,所述第一sid包含指示信息或nat实例标识,用于指示所述处理模块对所述第一报文进行网络地址转换nat。
39.结合第三方面,在本技术实施例的一种实现方式中,所述指示信息或nat实例标识设置在所述第一sid的功能字段中或参数字段中。
40.结合第三方面,在本技术实施例的一种实现方式中,所述第一sid还用于指示发送模块从特定接口发送所述第二报文,或向特定邻居发送所述第二报文。
41.结合第三方面,在本技术实施例的一种实现方式中,所述第一报文包含分段路由头srh;所述srh包含所述第一sid,或所述srh包含所述第一sid和第二sid,所述第二sid指示所述发送模块从特定接口发送所述第二报文,或向特定邻居发送所述第二报文。
42.结合第三方面,在本技术实施例的一种实现方式中,所述srh的段标识列表sid list中包含所述第一sid,或所述srh的段标识列表sid list中包含所述第一sid和所述第二sid。
43.结合第三方面,在本技术实施例的一种实现方式中,所述处理模块还用于建立所述第一sid和所述特定接口的关联关系或所述第一sid和所述特定邻居的关联关系;发送模块还用于向其他网络设备发布所述第一sid。
44.结合第三方面,在本技术实施例的一种实现方式中,该报文处理的装置为互联网网关igw。
45.结合第三方面,在本技术实施例的一种实现方式中,该报文处理的装置为运营商边缘路由器pe,另一网络设备为宽带接入服务器bras,或该报文处理的装置和另一网络设备均为pe。
46.结合第三方面,在本技术实施例的一种实现方式中,该报文处理的装置设置在srv6网络或sr mpls网络。
47.第四方面,本技术实施例提供一种报文处理的装置,包括:获取模块,用于获得第一报文;发送模块,用于向另一网络设备发送所述第一报文,所述第一报文包含第一分段标识sid,所述第一sid指示所述另一网络设备对所述第一报文进行网络地址转换nat得到第二报文并转发。
48.结合第四方面,在本技术实施例的一种实现方式中,所述第一sid具体用于指示所述另一网络设备将所述第一报文的源地址替换为特定地址得到所述第二报文。
49.结合第四方面,在本技术实施例的一种实现方式中,处理模块还用于识别所述第一报文的应用类型或业务流类型;若所述应用类型或业务流类型为特定类型,则处理模块在所述第一报文中压入所述第一sid。
50.结合第四方面,在本技术实施例的一种实现方式中,处理模块还用于识别所述第一报文的应用类型或业务流类型;若所述应用类型或业务流类型为特定类型,则处理模块根据所述第一报文的目的地址确定目标网络;在所述第一报文中压入所述第一sid,所述第一sid还用于指示另一网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文,所述特定接口或所述特定邻居根据所述目标网络确定。
51.结合第四方面,在本技术实施例的一种实现方式中,处理模块还用于识别所述第一报文的应用类型或业务流类型;若所述应用类型或业务流类型为特定类型,则处理模块根据所述第一报文的目的地址确定目标网络;在所述第一报文中压入所述第一sid和第二sid,所述第二sid用于指示另一网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文,所述特定接口或所述特定邻居根据所述目标网络确定。
52.结合第四方面,在本技术实施例的一种实现方式中,获取模块用于获取来自用户侧设备的所述第一报文,或生成所述第一报文。
53.结合第四方面,在本技术实施例的一种实现方式中,所述第一sid为end.xnat类型或end.nat类型,或所述第一sid为分段路由多协议标签交换sr mpls标签。
54.结合第四方面,在本技术实施例的一种实现方式中,所述第一sid包含指示信息或nat实例标识,用于指示另一网络设备对所述第一报文进行网络地址转换nat。
55.结合第四方面,在本技术实施例的一种实现方式中,所述指示信息或nat实例标识设置在所述第一sid的功能字段中或参数字段中。
56.结合第四方面,在本技术实施例的一种实现方式中,获取模块用于接收所述第二网络设备通告的所述第一sid;处理模块还用于建立所述第一sid与目标地址之间的关联关系。
57.结合第四方面,在本技术实施例的一种实现方式中,第一报文包含分段路由头srh;所述srh包含所述第一sid,或所述srh包含所述第一sid和第二sid,所述第二sid指示另一网络设备从特定接口发送所述第二报文,或向特定邻居发送所述第二报文。
58.结合第四方面,在本技术实施例的一种实现方式中,该报文处理的装置和另一网络设备为互联网网关igw。
59.结合第四方面,在本技术实施例的一种实现方式中,该报文处理的装置为宽带接入服务器bras,另一网络设备为运营商边缘路由器pe,或该报文处理的装置和另一网络设备均为pe。
60.结合第四方面,在本技术实施例的一种实现方式中,该报文处理的装置和另一网络设备设置在srv6网络或sr mpls网络。第五方面,本技术实施例提供一种网络设备,网络设备包括一个或一个以上中央处理器,存储器,通信总线,通信接口;存储器为短暂存储存储器或持久存储存储器,存储器中存储有程序代码;通信接口用于收发数据;中央处理器通过通信总线与存储器通信,在网络设备上执行存储器中的程序代码以执行如第一方面的方法。
61.第六方面,本技术实施例提供一种网络设备,网络设备包括一个或一个以上中央
处理器,存储器,通信总线,通信接口;存储器为短暂存储存储器或持久存储存储器,存储器中存储有程序代码;通信接口用于收发数据;中央处理器通过通信总线与存储器通信,在网络设备上执行存储器中的程序代码以执行如第二方面的方法。
62.第七方面,本技术实施例提供一种报文处理的系统,该系统包括如第五方面的网络设备和第六方面的网络设备。
63.第八方面,本技术实施例提供一种计算机可读存储介质,包括指令,当指令在计算机上运行时,使得计算机设备执行如第一方面的方法。
附图说明
64.图1为本技术实施例提供的终端访问互联网服务提供商的示意图;
65.图2为本技术实施例提供的系统架构示意图;
66.图3为本技术实施例提供的一种报文处理的方法的流程图;
67.图4为本技术实施例提供的终端201运行isp203运营的应用程序的界面示意图;
68.图5为本技术实施例提供的账号注册成功的界面图;
69.图6a为本技术实施例中nat转换的示意图;
70.图6b为本技术实施例提供的高价值应用对应报文传输的信令图;
71.图7a为srv6技术中ipv6报文的示意图;
72.图7b为ipv6报文中一个sid的示意图;
73.图8为本技术实施例提供的处理报文的流程图之一;
74.图9a为本技术实施例提供的处理报文的流程图之二;
75.图9b为本技术实施例提供的处理报文的流程图之三;
76.图10a为本技术实施例提供的处理报文的流程图之四;
77.图10b为本技术实施例提供的处理报文的流程图之五;
78.图11为本技术实施例提供的处理报文的流程图之六;
79.图12为本技术实施例中家庭宽带的场景示意图;
80.图13为本技术实施例提供的一种网络设备的示意图;
81.图14为本技术实施例提供的第一种报文处理的装置的示意图;
82.图15为本技术实施例提供的第二种报文处理的装置的示意图。
具体实施方式
83.本技术实施例提供了一种报文处理的方法及相关装置,通过分段标识sid让网络设备区分需要做nat处理的数据和不需要做nat处理的数据,能够在网络设备改动少的情况下保证互联网服务提供商b的回程流量按照原路返回,提高用户业务体验。
84.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些
过程、方法、产品或设备固有的其它步骤或单元。
85.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
86.为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
87.图1为本技术实施例提供的终端访问互联网服务提供商的示意图。如图1所示,终端101通过通信系统102访问互联网服务提供商103的资源,并进行数据交互。
88.在本技术实施例中所提及的终端101又称之为用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal,mt)、终端设备等,是一种向用户提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功率允许的手持式设备、车载设备等。终端可以包括但不限于:具有无线通信功能的手持式设备、车载设备、可穿戴设备、计算设备、连接到无线调制解调器的其它处理设备、手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、机器类型通信终端、虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
89.在本技术实施例中所提及的通信系统102可以是2g网络的基站接入系统,3g网络的基站接入系统,4g网络的基站接入系统,5g网络的基站接入系统等。该通信系统可以包括一个或多个网络设备。网络设备可以是任意一种具有网络数据收发功能的设备。网络设备包括但不限于:基站(例如基站bs,基站nodeb、演进型基站enodeb或enb、第五代5g通信系统中的基站gnodeb或gnb、未来通信系统中的基站、wifi系统中的接入节点、无线中继节点、无线回传节点),网络节点,通信节点等。基站可以是:宏基站,微基站,微微基站,小站,中继站等。而网络节点可以是互联网网关(internet gateway,igw)、工作站、网络用户设备或个人计算机,还可以是服务器和其他网络连接的设备。在通信系统中,网络设备之间的连接可以是有线连接,也可以是无线连接,本技术实施例对此不做限定。
90.可以理解的是,通信系统102可以由运营商来运营。示例性的,通信系统102由运营商a来运营。运营商一般是指提供网络服务的供应商。
91.可以理解的是,网络节点104和网络节点105可以是中转对等体(transit peer),即运营商与上一级isp之间的节点。运营商a运营的通信系统102可以通过网络节点104和网络节点105访问isp103的资源。通常,运营商a可以向isp103购买连接,以流量或带宽进行结算。其中,有的连接通过网络节点104承载,以流量结算。有的连接可以通过网络节点105承载,网络节点105通常是性能一般的节点,isp103可以通过网络节点105给运营商提供免费的连接。示例性的,网络节点105可以为互联网交换点(internet exchange point,ixp),ixp由第三方中心运营,各运营商可以连接到ixp,实现相互之间的流量交换,ixp为免费连接。例如,ixp可以包括但不限于阿姆斯特丹互联网交换中心(ams-ix)、香港互联网交换中心(hkix)等。或者,网络节点104和网络节点105也可以称为外部边界网关协议对等体
(external border gateway protocol peer,ebgp peer)。
92.在实际应用中,运营商a运营的通信系统102还可以通过其他出口和其他中转对等体连接其他isp或者其他运营商运营的通信系统,而isp103也可以通过网络节点105或其他网络节点连接其他运营商或其他isp,本技术实施例对此不做限定。
93.如图1所示,当用户使用终端101上的高价值应用程序(application,app)时,终端101与isp103交互数据,来支持该高价值app的运行。示例性的,某一款游戏app由isp103提供服务,那么当用户通过终端101运行该游戏app时,需要与isp103进行数据交互。而由于游戏app需要较低的延时,因此在本技术实施例中游戏app为高价值app。终端101运行该游戏app所产生的数据一般通过通信系统102的a出口传输,经过网络节点104,最后到达isp103,而isp103产生的与该游戏app相关的数据需要经过网络节点104、a出口和通信系统102到达终端101。
94.可以理解的是,终端101往往不仅运行一个高价值app,而是很可能运行有多个app,其中包括高价值app和低价值app,这些app的网络数据均可能需要与isp103交互或者是经过通信系统102、isp103。同时,网络节点104通常是能够提供更好的网络传输服务(例如低延时、速度快等)的节点,而网络节点105通常是较为普通的免费节点。因此,一般希望,高价值app相关的数据在通信系统102和isp103之间传输时,经过a出口和网络节点104来回;而低价值app相关的数据在通信系统102和isp103之间传输时,经过b出口和网络节点105来回。
95.然而,现有的技术无法实现上述要求。有鉴于此,本技术实施例提供一种报文处理的方法,该方法可应用在如图2所示的系统架构上。请参阅图2,图2为本技术实施例提供的系统架构示意图。
96.如图2所示,该系统架构中,终端201使用isp203运营的应用程序时,终端201与isp203交换数据,终端201发送的数据经过某运营商运营的通信系统202到达isp203,isp203反馈的数据经过通信系统202返回到终端201。其中,通信系统202中包括网络设备206、网络设备207、网络设备208、网络设备209、网络设备210、网络设备211。通信系统202通过出口a、网络节点204与isp203通信连接,或者通信系统202通过出口b、网络节点205与isp203通信连接。
97.图2所示的系统架构中,终端201与前述图1对应的描述中的终端101类似,通信系统202与前述图1对应的描述中的通信系统102类似,isp203与前述图1对应的描述中的isp103,网络节点204与前述图1对应的描述中的网络节点104类似,网络节点205与前述图1对应的描述中的网络节点105类似,此处不再赘述。网络设备206、网络设备207、网络设备208、网络设备209、网络设备210、网络设备211为通信系统202的内部网络节点,用于实现通信系统202中的数据传输。
98.基于图2所示的系统架构,本技术实施例提供一种报文处理的方法如图3所示,该方法包括以下步骤:
99.301、网络设备206接收终端201发送的报文,通过应用检测方法识别报文对应的应用;
100.在本技术实施例中,报文是终端201发送的数据的一种形式,是网络中交换与传输的数据单元。在实际应用中,数据也可能是数据包、数据块等形式,本技术实施例对此不做
限定。在本技术实施例中,网络设备206接收到的报文可以是终端201发送的。在实际应用中,网络设备206接收到的报文还可以是其他网络设备发送的,本技术实施例对此不作限定。在一些情况下,网络设备206还可能根据自身接收到的信息数据来生成报文,本技术实施例对此不做限定。
101.当用户使用终端201上的isp203运营的应用程序时,一般会产生与isp203交互的数据,例如用户点击了某个按钮,则触发终端201将该按钮对应的指令通过报文发送给isp203。具体地,如图4所示,图4为终端201运行isp203运营的应用程序的界面示意图。图4中用户可以先输入手机号,然后点击“获取验证码”按钮。终端201受“获取验证码”按钮的点击触发,获取到用户输入的手机号,并生成请求验证码的指令(该指令可以包括该手机号以及请求的标识等)放入报文中,然后将报文通过通信系统202发送到isp203。一般地,isp203接收到该指令后,可以向该手机号发送短信验证码。用户通过该手机号接收到验证码之后,可以在如图4所示的界面中输入验证码以及注册密码,然后点击注册。同理,终端201受“注册”按钮的点击触发,获取到用户输入的手机号、验证码、注册密码等信息,并生成注册账号的指令(该指令可以包括手机号、验证码、注册密码等信息)放入报文中,然后将报文通过通信系统202发送到isp203。isp203收到该报文后可以核对验证码是否与之前isp203发送出去的验证码是否相同,若相同,则isp203可以根据该报文中的手机号、注册密码等信息完成账号注册。账号注册完成后,isp203可以通过通信系统202向终端201发送包含注册成功标识的报文,该注册成功标识用于表示账号成功注册。终端接收到该报文后,可以在界面上显示注册成功,如图5所示(图5为本技术实施例提供的账号注册成功的界面图)。
102.上述过程中,终端201通过通信系统202向isp203发送的报文,首先可以传输到通信系统202中的网络设备206。网络设备206接收到该报文后,可以根据该报文,通过应用检测方法识别报文对应的应用。应用检测方法可以分析报文中的信息从而确定该报文对应的应用。示例性的,该报文是终端201运行应用程序a产生的,则网络设备206通过应用检测方法可以分析报文中的信息从而确定该报文对应的应用为应用程序a。具体地,该应用检测方法可以是深度报文检测(deep packet inspection,dpi)、深度/动态流检测(deep/dynamic flow inspection,dfp)、访问控制列表(access control list,acl)匹配规则(或称基于五元组信息的匹配规则)等,本技术实施例对选用何种应用检测方法不做限定。
103.示例性的,网络设备206接收到报文a和报文b,则网络设备206可以通过应用检测方法分别检测到报文a对应的应用为应用程序a,报文b对应的应用为应用程序b。在一些实施例中,网络设备206可以直接识别这些报文对应的应用是高价值应用或低价值应用,即报文对应的应用仅有两种类别,一种是高价值应用,一种是低价值应用,网络设备206并不识别报文对应的应用具体是什么应用,而是直接识别报文对应的应用是高价值应用或低价值应用。而在另一些实施例中,网络设备206可以先识别报文对应的应用是何种类型的应用,在确定该报文对应的应用是高价值应用或低价值应用。例如,网络设备206可以先识别某一报文的类型是游戏类型,再根据应用类型与应用价值(高价值或低价值)的关系确定游戏类型的应用是高价值应用,则该报文对应的应用是高价值应用。在实际应用中,网络设备206还可能直接识别应用程序的名称,然后根据应用程序的名称与应用价值(高价值或低价值)的关系确定该名称对应是高价值应用还是低价值应用,从而确定报文对应的应用是高价值应用或低价值应用。综合上述情况,网络设备206最终能够识别报文对应的应用是高价值应
用或低价值应用即可,本技术实施例对其中的过程不做限定。
104.在本技术实施例中,isp203运营的应用程序可以是游戏类型的应用程序,也可以是商业平台类型的应用程序,或者是在线视频播放类型的应用程序,本技术实施例对应用程序的类型不做限定。
105.上述为网络设备206识别应用类型的方法,在实际应用中,网络设备206还可以识别报文的业务流类型,业务流类型包括视频流、音频流等,识别方法与上述网络设备206识别应用类型的方法类似,此处不再赘述。
106.302、网络设备206确定该报文对应的出接口;
107.在本技术实施例中,网络设备206首先可以从报文中读取到报文的目标ip地址,结合预置的isp ip地址段,确定该报文所要传输到达的isp。示例性的,ip1-ip2归属地位于a isp,ip3-ip4归属地位于c isp,若报文的目标ip地址在ip3-ip4内,则报文所要传输到达的isp为c isp。ip地址归属地信息(ip地址段与isp的关联关系)可通过购买专用的ip地址库(比如ipip.net、ip2location)来得到。当然,ip地址归属地信息也还可以通过其他渠道获得,本技术实施例对此不做限定。
108.然后,网络设备206可以结合报文所要传输到达的isp以及步骤301确定的报文对应的应用来确定该报文对应的出接口。示例性的,如图2对应的系统架构中,通信系统202通过出口a和网络节点204与isp203通信,或者通过出口b和网络节点205与isp203通信。其中,出口a和网络节点204一般用于传输高价值应用对应的报文,出口b和网络节点205一般用于传输低价值应用对应的报文。因此,网络设备206确定某一报文所要传输到达的isp为isp203,且该报文对应的应用为高价值应用时,网络设备206可以确定该报文对应的出口为出口a。同理,若网络设备206确定报文所要传输到达的isp为isp203且该报文对应的应用为低价值应用时,网络设备可以确定报文对应的出口为出口b。
109.303、网络设备206根据报文对应的应用及出口,将nat转换的相关信息放入报文中,并向网络设备209转发。
110.网络地址转换nat(network address translation)是一种ip地址共享技术,可以实现多用户共享少量公网ipv4地址访问外部网络。在本技术实施例中,nat转换可以是指通信系统202与isp203数据传输过程中,邻近出口a和出口b的网络设备209以及网络节点204对报文做的处理,使得报文来回通道一致。具体地,该处理可以由图6a和图6b进行解释。图6a为本技术实施例中nat转换的示意图。图6b为高价值应用对应报文传输的信令图。
111.在本技术实施例中,网络设备209接收到用户上传的报文后,根据该报文中nat转换的相关信息可以确定该报文对应的出口,从而将该报文按照对应的出口转发出去。而网络节点204可以根据本技术实施例以下列几种情况进行详细的描述:
112.情况一、网络设备209确定该用户上传的报文对应的出口为出口a,那么网络设备209可以通过出口a将该报文转发出去。网络设备209可以将该报文的源地址修改为特定地址,即nat地址池中的特定地址(网络设备209进行nat转换所用的nat实例中配置有地址池,该地址池中包括若干个特定地址),即预先分配好的公网地址和端口(该公网地址和端口可以为网络设备209对应的公网地址和端口),然后再将该报文转发到网络节点204。具体地,网络设备209可以通过重定向的方式将该报文通过出口a转发出去,从而到达网络节点204。网络节点204按照该报文的目的地址将该报文转发到isp203。isp203接收到该报文后,对该
报文进行处理,可以生成针对该报文的响应报文。一般地,isp203会根据该报文的源地址来进行报文的原路返回,而该报文的源地址已经被修改为预先分配好的公网地址和端口,因此isp203可以将响应报文的目标地址设定为该报文的源地址,使得该响应报文向网络设备209传输。可以理解的是,网络设备209预先只将nat地址池路由发布给网络节点204(因为网络节点204是nat地址池中的特定地址对应的路由),而没有发布给网络节点205,因此目标地址为上述公网地址和端口的响应报文仅会通过网络节点204返回网络设备209,保证了响应报文的返回路径,即保证了isp203发送回程流量时的路径是高价值应用报文所走的路径(即网络设备204和出口a对应的路径)。
113.情况二、网络设备209确定该用户上传的报文对应的出口为出口b,则网络设备209可以将该报文的源地址修改为特定地址,即nat地址池中的特定地址(网络设备209进行nat转换所用的nat实例中配置有地址池,该地址池中包括若干个特定地址),即预先分配好的公网地址和端口(该公网地址和端口一般为网络设备209对应的公网地址和端口),然后可以通过重定向的方式将该报文通过出口b转发出去,从而到达网络节点205。并且,网络设备209只将nat地址池路由发布给网络节点205(因为网络节点205是nat地址池中的特定地址对应的路由),网络节点205接收到该报文后,可以将该报文转发到isp203。isp203接收到该报文后,对该报文进行处理,可以生成针对该报文的响应报文。由于报文的源地址已经被修改为预先分配好的公网地址和端口,因此isp203可以将响应报文的目标地址设定为该报文的源地址,使得该响应报文向网络设备209传输。且相应的nat地址池路由只在网络节点205中,不在网络节点204,因此该响应报文仅会通过网络节点205返回网络设备209,保证了响应报文的返回路径,即保证了isp203发送回程流量时的路径是低价值应用报文所走的路径(即网络设备205和出口b对应的路径)。
114.可以理解的是,上述情况中,nat地址池路由、公网地址和端口等信息可以预先保存在网络设备209中,具体可以以nat实例的方式保存。网络设备209确定报文的出接口后,根据该出接口可以确定对应的nat实例,从而获取到相关信息。nat实例的示例如下:
115.nat instance nat1 id 1
116.port-range 1024
117.service-instance-group group1
118.nat address-group address-group1 group-id 1
119.section 1 11.11.11.101 11.11.11.105
120.上述nat实例中,“nat instance nat1 id 1”的含义是定义nat实例nat1的编号id为1,“port-range 1024”的含义是nat实例中使用的端口段,“service-instance-group group1”为nat实例所使用的cpu组是group1,“nat address-group address-group1 group-id 1”的含义是nat地址池路由(nat公网地址池)的定义,“section 1”表示nat地址池中的第一组nat公网地址段为11.11.11.101到11.11.11.105。
121.根据上述nat实例,在网络设备209确定报文对应的出接口(出口a或出口b)后,网络设备209可以对对应的网络节点分配nat地址池路由,然后将nat地址池路由发送给对应网络节点(网络节点204或网络节点205),保证了响应报文的返回路径,即保证了isp203发送回程流量时的路径是用户上传报文时,报文所走的路径。
122.在另一些情况中,网络设备209可以从用户上传的报文中获得nat实例id,然后根
据该nat实例id找到对应的nat实例,如下情况:
123.情况三,该用户上传的报文没有直接指定出口,而是给出了nat实例id,那么网络设备209一般认为带有nat实例id的报文为高价值应用对应的报文,因此可以确定该报文对应的出接口为出口a。然后网络设备209可以将报文发送给出口a对应的网络节点204。
124.在一些实施例中(一般是用户上传的报文没有直接指定出口的实施例中),nat实例还可以带有重定向的信息,如下:
125.system-view
126.nat instance cpel id 1
127.redirect ip-nexthop 192.168.1.1outbound
128.其中,“system-view”表示系统方面,“nat instance cpel id 1”表示定义重定向的id为1,“redirect ip-nexthop 192.168.1.1outbound”表示该重定向配置上行方向(即用户上传的报文传输方向)重定向到下一跳的的ip地址为192.168.1.1。
129.在网络节点204对应ip地址为192.168.1.1的情况下,根据上述重定向方式,网络设备209可以根据nat实例id找到存储器中对应的nat实例,然后根据nat实例中的重定向的信息,通过重定向的方法将报文发送给网络节点204。
130.并且,网络设备209可以将nat地址池路由发布给网络节点204,保证isp203的响应报文的返回路径,即保证isp203发送回程流量时的路径是高价值应用报文所走的路径。
131.情况四,该用户上传的报文既指定了出口,又给出了nat实例id。那么网络设备209可以根据该报文确定出口,然后网络设备209可以根据该nat实例id在存储器中找到对应的nat实例,然后通过重定向的方法将报文发送给对应网络节点,以及nat地址池路由发布给对应网络节点,保证isp203的响应报文的返回路径。
132.在一些情况中,网络设备209既可以从用户上传的报文中获得nat实例id来确定nat实例,也可以确定用户上传的报文对应的出接口后确定nat实例,那么网络设备209可以根据预先的人工设置优先选择根据nat实例id确定的nat实例。当然也不排除网络设备209优先选择根据出接口确定的nat实例的情况,本技术实施例对此不做限定。
133.根据上述对nat转换的描述可知,网络设备209可以在用户上传的报文中获得对应出口的信息。在一些情况下,网络设备209也可以在用户上传的报文中获得nat实例id。因此,网络设备206一般会根据报文对应的应用及出口,将相关信息放入用户上传的报文中。该相关信息一般包括三类,如下:
134.第一类信息是用于确定nat实例的信息。该第一类信息可以是nat实例id或者是链路接口标识(也可以称为指示信息)。其中,当第一类信息是nat实例id时,网络设备209可以根据nat实例id确定nat实例。在一般情况下,网络设备209检测到报文中带有nat实例id时,可以确定该报文是高价值应用对应的报文,则选择对应的出口a进行报文转发。在一些情况下,网络设备209根据nat实例id确定nat实例后,该nat实例中带有重定向的信息,则网络设备209可以按照重定向的信息进行报文转发(使得报文按照预定出接口转发)。
135.另一种情况是,当第一类信息是链路接口标识时,网络设备209可以根据链路接口标识确定报文对应的出接口。示例性的,链路接口标识为1表示报文对应的出接口为出口a,链路接口标识为2表示报文对应的出接口为出口b等,本技术实施例对此不做限定。然后,网络设备209可以从存储器中读取与链路接口标识对应的nat实例。示例性的,链路接口标识
为1对应的nat实例为nat实例1,链路接口标识为2对应的nat实例为nat实例2。因此,通过第一类信息,网络设备209可以确定nat实例,并且完成后续的nat转换。
136.可以理解的是,本技术实施例不排除第一类信息为nat实例本身的情况。当第一类信息为nat实例本身时,网络设备209能够直接从报文读取到相关信息。本技术实施例中第一类信息主要是能够确定nat实例的信息,在实际应用中,还可能是第一类信息携带nat实例id,而nat实例通过其他报文发送等方式,因此本技术实施例对第一类信息的具体内容不做限定。
137.第二类信息是表示是否进行nat转换的标识。示例性的,第二类信息为0,则表示不进行nat转换,第二类信息为1,则表示进行nat转换。因此,网络设备209获取到用户上传的报文后,可以先从报文中获取第二类信息,若第二类信息表示不进行nat转换,则网络设备209无需再从报文中搜寻第一类信息,节省了网络设备209的处理步骤,提高了报文处理效率。若第二类信息表示进行nat转换,则网络设备209可以直接从预设位置读取到第一类信息,无需对信息进行校验(判断其是否为第一类信息),节省了网络设备209的处理步骤,提高了报文处理效率。
138.在实际应用中,网络设备206可以通过在基于ipv6的源路由(segment routing over ipv6,srv6)技术中,报文的srv6拓展头中的段身份标识号(segment identity document,sid)来携带上述第一类信息或上述两类信息。如图7a所示,ipv6报文可以分为多段,包括ipv6报文头701、srv6拓展头702和负载703(playload,即报文的具体内容),其中,ipv6报文头701中的版本字段表示当前报文支持的协议版本,源地址(source address,sa)表示该报文的来源地址,目标地址(destination address,da)表示该报文期望到达的设备的地址。srv6拓展头702包括一些基本信息(图7a中以

表示)以及多个段标识列表(sid list)。段列表可以包括一个或多个sid字段,sid list用于标识一个报文转发路径。可以选的,在本技术实施例中最后一个sid是用于指示网络设备209做nat转换处理的sid。一个段标识列表sid list包括一个sid或多个sid,如图7b所示。sid可以理解为报文的srv6拓展头中的一段信息,用于标识转发路径上的一个节点或链路。sid一般包括三部分,位置(locator)字段704、功能(function)字段705和参数(argument)字段706。具体地,网络设备206可以通过以下方式将信息放入报文中:
139.方式一,网络设备206可以采用新定义的sid类型——end.xnat。该end.xnat类型的sid的功能字段705的功能是让报文从设备指定链路转发(如连接网络节点204的物理链路),且指定转发时是否做nat转换。功能字段705可以包括链路接口标识(第一类信息的其中一种)和是否进行nat转换的标识(第二类信息)。示例性的,网络设备206确定报文的出接口为出口a,且该报文为高价值应用对应的报文时,网络设备206可以设置该报文中srv6拓展头中其中一个sid(一般是最后一个sid)为end.xnat类型的sid,且该sid中功能字段705的链路接口标识为1(表示报文对应的出接口为出口a),是否进行nat转换的标识为1(表示进行nat转换)。示例性的,网络设备206确定报文的出接口为出口b,且该报文为低价值应用对应的报文时,网络设备206可以设置该报文中srv6拓展头中其中一个sid(一般是最后一个sid)为end.xnat类型的sid,且该sid中功能字段705的链路接口标识为2(表示报文对应的出接口为出口b),是否进行nat转换的标识为0(表示不进行nat转换)。
140.可以理解的是,在本技术实施例中,是否进行nat转换的标识可以用0或1来表示是
否做nat转换,在实际应用中,还可以用其他数字符号,或者用该标识的有无来表示是否做nat转换,本技术实施例对此不做限定。链路接口标识类似,此处不再赘述。
141.方式二,网络设备206可以采用新定义的sid类型——end.nat。该end.nat类型的sid的功能字段705的功能是指明该报文要做nat转换(第二类信息),且功能字段705中携带有nat示例id(第一类信息的其中一种)。示例性的,网络设备206确定报文的出接口为出口a,且该报文为高价值应用对应的报文时,网络设备206可以设置该报文中srv6拓展头中其中一个sid(一般是最后一个sid)为end.nat,且该sid中功能字段705携带nat实例id为123(网络设备209接收到该报文后可以根据该nat实例id123找到对应的nat实例)。示例性的,网络设备206确定报文的出接口为出口b,且该报文为低价值应用对应的报文时,网络设备206可以设置该报文中srv6拓展头中最后一个sid为普通类型的sid,而不是end.nat这种类型,使得网络设备209接收到该报文后可以按照传统方案转发(一般是通过免费的出口b和网络节点205转发)。
142.在一些实施例中,网络设备206可以将end.nat类型的sid添加到end.x类型的sid所在的段标识列表sid list中,则该sid list有两个sid(包括sid1和sid2),其中sid1为end.x类型的sid,用于指示报文的出接口或报文的下一个邻居,sid2为end.nat类型的sid,用于携带nat示例id。则网络设备209接收到该报文后,可以根据sid2对报文进行nat转换处理,根据sid1从特定接口发送做了nat转换处理的报文,或向特定邻居发送该做了nat转换处理的报文。
143.方式三,网络设备206可以采用传统sid类型——end.x,并新增这类sid中参数字段706的定义。第一种定义是在参数字段706中定义一个是否进行nat转换的标识(第二类信息)。而由于end.x这种sid类型可以指定出接口,因此实际上这种类型的sid已包含链路接口标识(第一类信息的其中一种)。网络设备206可以根据报文为高价值应用或低价值应用对应的报文,以及报文对应的出接口来确定第一类信息和第二类信息,然后根据第一类信息和第二类信息生成包括参数字段706中新定义参数的end.x类型的sid。网络设备209从报文中读取到该sid后可以分析得到第一类信息和第二类信息,从而做nat转换处理以及按照对应出接口转发该报文。具体示例与前述方式一类似,此处不再赘述。
144.第二种定义是在参数字段706中定义一个参数,该参数即nat实例的id(第一类信息的其中一种)。在网络设备206确定了报文是高价值应用对应报文还是低价值应用对应报文,以及报文对应的出接口后,网络设备206可以确定nat实例id,然后根据报文对应的出接口和nat实例id生成参数字段706中包括nat实例id的end.x类型的sid,并生成对应报文转发出去。而在网络设备209接收到这种类型的报文之后,虽然end.x这种sid类型可以指定出接口,但网络设备209接收到这种类型的报文后可以不按照该出接口来确定nat实例,而是直接根据参数字段706中的nat实例的id来确定nat实例。网络设备209可以按照sid指定的出接口来转发报文。
145.在实际应用中,通信系统202可以采用上述第一种定义对应的技术方案,也可以采用上述第二种定义对应的技术方案,还可以采用上述两种技术方案结合的方式,即该sid的参数字段706中既包括是否进行nat转换的标识(第二类信息),也包括nat实例的id(第一类信息的其中一种)。则网络设备206可以在确定报文是高价值应用对应报文还是低价值应用对应报文,以及报文对应的出接口后确定是否进行nat转换以及nat实例id(若不进行nat转
换,nat实例id可以为空或者是协议约定的表示无nat实例id的0)。网络设备209则可以从报文中读取到第一类信息和第二类信息,从而做nat转换处理以及按照对应出接口转发该报文。具体示例与前述方式类似,此处不再赘述。
146.方式四,网络设备206可以采用传统sid类型——end,并新增这类sid中参数字段706的定义。该定义是在参数字段706中定义一个参数,该参数即nat实例的id(第一类信息的其中一种)。在网络设备206确定了报文是高价值应用对应报文还是低价值应用对应报文,以及报文对应的出接口后,网络设备206可以确定nat实例id,然后根据报文对应的出接口和nat实例id生成参数字段706中包括nat实例id的end类型的sid,其中,报文对应的出接口可以通过nat实例id对应的nat实例确定。例如,网络设备209接收到该报文后,可以从参数字段706中获得nat实例id,然后确定nat实例。最后,根据nat实例确定报文对应的出接口以及处理nat转换。
147.在一些情况下,网络设备206采用方式四处理报文时,也可以在参数字段706中新定义一个参数为是否进行nat转换的标识(第二类信息),与前述方式三采用两种定义类似,此处不再赘述。可以理解的是,网络设备209可以预先建立了sid与特定接口(报文出接口)的关联关系,然后对外(即对通信系统的其他网络设备)发布该sid。网络设备206接收到该sid后,可以建立该sid与目标地址之间的关联关系。则当网络设备206接收到报文后,可以根据报文你的目标地址确定对应的sid和特定接口,以采用上述方式生成合适的sid并压入报文(的sid list)中。而由于网络设备209预先建立了sid与特定接口(报文出接口)的关联关系,因此当网络设备209接收到该sid后,可以确定该sid对应的特定接口,然后通过该特定接口转发该报文。在另一种情况下,网络设备209可以预先建立sid与特定邻居之间的关联关系,然后对外发布该sid,原理类似,此处不再赘述。
148.上述四种方式是本技术实施例提供的一些应用例,在实际应用中,还可能存在其他方式来实现本方案,例如在分段路由多协议标签交换sr mpls场景下,网络设备206可以采用sr mpls标签来实现上述方案,本技术实施例对此不做限定。
149.在网络设备206根据报文对应的应用及出口,将nat转换的相关信息放入报文中后,网络设备206可以向网络设备209发送该报文。可以理解的是,网络设备206与网络设备209之间可能存在多个网络设备(网络设备207、网络设备208、网络设备210、网络设备211),因此网络设备206与网络设备209之间可能存在多种通信路径。因此,网络设备206与网络设备209之间可以通过srv6隧道技术选择通信效果较好的路径来传输高价值应用对应的报文,选择费用较低,通信效果一般的路径来传输低价值应用对应的报文。可以理解的是,网络设备206可以是srv6隧道的入口设备,网络设备209可以是srv6隧道的出口设备。本技术实施例通过srv6隧道传输高价值应用对应的报文,那么仅需在入口设备和出口设备进行配置即可,避免了其他网络设备的改动,设备改造成本低。
150.具体地,在采用srv6技术时,网络设备206在生成该报文的srv6拓展报文头时,可以将通信效果较好的传输路径的网络设备对应的sid放入srv6拓展报文头中,使得报文按照srv6拓展报文头传输时可以在这些sid对应的路径传输。同时,在网络设备206生成该报文的srv6拓展报文头时,网络设备206可以将nat转换的相关信息放入srv6拓展报文头的尾部sid中,使得报文到达尾部sid对应的网络设备(一般是出口设备,类似图2对应的各个实施例中的网络设备209)后,能够按照步骤304处理。以下将对步骤304进行详细的介绍。
151.304、网络设备209接收到该报文后,按照报文中的信息进行nat转换,并将报文通过对应的出接口转发出去。
152.在本技术实施例中,网络设备209接收到该报文后,可以从该报文中获取到第一类信息,然后根据第一类信息确定nat实例,则可以根据nat实例进行nat转换。当第一类信息是链路接口标识时,网络设备209可以直接根据链路接口标识确定报文对应的出接口,最后通过该报文对应的出接口将该报文转发出去。当第一类信息是nat实例id时,网络设备209可以根据nat实例id确定nat实例,然后根据nat实例中的重定向信息来将该报文通过nat实例对应的出接口转发出去。
153.在一些实施例中,网络设备209可以先从接收到的报文中获取第二类信息,即是否进行nat转换的标识。若是否进行nat转换的标识为0(表示不进行nat转换),则网络设备209无需再从报文中搜寻第一类信息,节省了网络设备209的处理步骤,提高了报文处理效率。若是否进行nat转换的标识为1(表示进行nat转换),则网络设备209可以直接从预设位置读取到第一类信息,无需对信息进行校验(判断其是否为第一类信息),节省了网络设备209的处理步骤,提高了报文处理效率。
154.在实际应用中,网络设备209可以与网络设备206共同配置,例如共同支持某种协议,则网络设备206按照该协议生成的报文可以被网络设备209按照该协议顺利分析处理。示例性的,对于上述网络设备206在实际应用中通过sid承载第一类信息(在一些情况中sid还承载第二类信息)时,网络设备209可以采用对应方式进行分析,如下:
155.如图8所示,针对上述网络设备206处理报文的方式一,网络设备209可以先确定当前处理的sid是否为end.xnat类型。若否,则网络设备209进行其他与本技术技术方案无关的处理。若是,则网络设备209可以从sid的功能字段705中读取到链路接口标识(第一类信息的其中一种)并确定出接口。然后,网络设备209可以执行倒数第二段srh移除操作(penultimate segment pop of the srh,psp),移除srv6拓展头(也可以称为段路由扩展头(segment routing header,srh))。然后,网络设备209可以从end.xnat类型的sid中的功能字段705中直接读取到是否进行nat转换的标识(第二类信息)。若是否进行nat转换的标识为0(表示不进行nat转换),则网络设备209无需再从报文中搜寻第一类信息,然后按照确定的出接口转发该报文。若是否进行nat转换的标识为1(表示进行nat转换),则网络设备209可以根据确定的出接口确定对应的nat实例。网络设备209确定nat实例后,可以进行nat转换(包括将nat实例对应的地址池路由发布给对应的网络节点,修改报文的源地址为预分配的公网地址和端口等处理)、在对应出接口转发报文等。
156.如图9a所示,针对上述网络设备206处理报文的方式二,网络设备209确定该sid是end.nat类型后,可以确定该报文要做nat转换。然后网络设备209可以从end.nat类型的sid中的功能字段705中读取到nat示例id(第一类信息的其中一种)。然后网络设备209可以根据nat示例id确定nat实例,可以进行nat转换、在对应出接口转发报文等。其中,网络设备209还可以执行psp动作,移除srh拓展头等,本技术实施例对此不再赘述。
157.在一些实施例中,网络设备206可以将end.nat类型的sid添加到end.x类型的sid所在的段列表中,则该段列表有两个sid(包括sid1和sid2),其中sid1为end.x类型的sid,sid2为end.nat类型的sid。那么网络设备209接收到该报文的处理过程如图9b所示。网络设备209先确定sid1是否为end.x类型的sid。若否,则进行其他处理,若是,则网络设备209可
以根据sid1直接确定报文对应的出接口。然后网络设备209可以继续判断sid2是否为end.nat类型的sid,若否,则进行其他处理,若是,则网络设备209可以根据sid2中的nat示例id确定nat实例。然后网络设备209可以执行psp动作,移除srh拓展头,进行nat转换、在对应出接口转发报文等。
158.如图10a所示,针对上述网络设备206处理报文的方式三的第一种定义,网络设备209可以在接收到报文后判断当前处理的sid是否为end.x类型的sid。若否,则进行其他处理,若是,则网络设备209可以根据该sid确定报文对应的出接口。然后网络设备209可以执行psp动作,移除srh拓展头,并从sid中的功能字段705中读取到是否进行nat转换的标识(第二类信息)。若是否进行nat转换的标识为0(表示不进行nat转换),则网络设备209无需再从报文中搜寻第一类信息,并按照报文对应的出接口转发该报文。若是否进行nat转换的标识为1(表示进行nat转换),则网络设备209可以根据确定的出接口确定对应的nat实例。网络设备209确定nat实例后,可以进行nat转换、在对应出接口转发报文等。
159.如图10b所示,针对上述网络设备206处理报文的方式三的第二种定义,网络设备209可以在接收到报文后判断当前处理的sid是否为end.x类型的sid。若否,则进行其他处理,若是,则网络设备209可以根据该sid确定报文对应的出接口。然后网络设备209可以执行psp动作,移除srh拓展头。然后,网络设备209可以从sid中的功能字段705中读取到nat示例id(第一类信息的其中一种)。然后网络设备209可以根据nat示例id确定nat实例,可以进行nat转换、在对应出接口转发报文等。若网络设备209没有读取到nat示例id,则网络设备209可以按照报文对应的出接口转发报文即可。
160.若网络设备206处理报文时上述两种定义都用上,则网络设备209可以先end.x类型的sid中的功能字段705中读取到是否进行nat转换的标识(第二类信息)。若是否进行nat转换的标识为0(表示不进行nat转换),则网络设备209无需再从报文中搜寻第一类信息。若是否进行nat转换的标识为1(表示进行nat转换),则网络设备209可以从end.x类型的sid中的功能字段705中读取到nat示例id(第一类信息的其中一种)。然后网络设备209可以根据nat示例id确定nat实例,可以进行nat转换、在对应出接口转发报文等。
161.如图11所示,针对上述网络设备206处理报文的方式四,网络设备209可以在接收到报文后判断当前处理的sid是否为end类型的sid。若否,则进行其他处理,若是,则网络设备209可以执行psp动作,移除srh拓展头。然后,网络设备209可以从sid中的功能字段705中读取到nat示例id(第一类信息的其中一种)。然后网络设备209可以根据nat示例id确定nat实例,可以进行nat转换、在对应出接口转发报文等。若网络设备209没有读取到nat示例id,则网络设备209可以按照报文对应的出接口转发报文即可。若网络设备206处理报文时还加入了是否进行nat转换的标识(第二类信息),则网络设备209可以先读取并分析是否进行nat转换的标识(第二类信息)。
162.可以理解的是,网络设备209只将nat实例对应的nat地址池路由发布给对应网络节点(网络节点204或网络节点205),保证isp203的回程流量的路径与去程流量的路径相同。
163.上述实施例中,网络设备209可以先确定报文对应的出接口,再按照该出接口进行转发。在实际应用中,网络设备209还可以(通过上述链路接口标识类似的标识)确定报文对应的邻居,然后向该邻居发送该报文,本技术实施例对此不做限定。
164.本技术实施例不仅可以应用到如上述图2对应的场景,还可以应用到运营商专网保障服务等级协议(service level agreement,sla)、家庭宽带、无线互联网等场景。图12为本技术实施例中家庭宽带的场景示意图。如图12所示,终端1201通过路由器1202接入宽带接入服务器1203(broadband access server,bras)。可以理解的是,终端1201与前述图1对应的终端101类似,此处不再赘述。路由器1202可以是无线路由器、有线路由器、交换机等,本技术实施例对此不做限定。终端1201与路由器1202之间的连接可以是无线连接、有线连接等。宽带接入服务器1203可以核心路由器1204(core router,cr)连接到运营商边缘路由器1205(provider edge,pe)或者运营商边缘路由器1209。可以理解的是,宽带接入服务器1203类似前述图2对应的各个实施例中的网络设备206,pe1205类似前述图2对应的各个实施例中的网络设备209,pe1209为与pe1205类似的其他出口设备。宽带接入服务器1203、核心路由器1204、pe1205、pe1209之间可以通过srv6技术来对高价值应用对应的报文选择合适的传输路径。在宽带接入服务器1203识别某报文为高价值应用对应的报文后,可以在srv6拓展头中使用宽带接入服务器1203、核心路由器1204、pe1205对应的sid,使得报文按照sid传输时按照宽带接入服务器1203、核心路由器1204、pe1205的路径进行传输,而不会传输到pe1209。当该报文到达pe1205后,pe1205可以执行如前述实施例中网络设备209执行的步骤,将报文进行nat转换以及根据报文对应出接口的转发该报文到接入路由器1206(access router,ar)。接入路由器1206接收到该报文后可以执行如上述实施例中网络节点204执行的步骤,将该报文通过产业互联网1207传输到互联网数据中心1208(internet data center,idc)。而低价值应用对应的报文一般是通过宽带接入服务器1203、核心路由器1204、pe1209、公众互联网1210传输到idc1208。宽带接入服务器1203在生成该报文的srv6拓展头时,可以使用宽带接入服务器1203、核心路由器1204、pe1209对应的sid,使得报文按照sid传输时按照宽带接入服务器1203、核心路由器1204、pe1209的路径进行传输。
165.在实际应用中,宽带接入服务器1203的类型可以替换为运营商边缘路由器pe,并不影响本技术实施例的实现。实际上,上述网络设备的类型可以根据实际需要进行替换,本技术实施例对上述网络设备的类型不做限定。
166.上述实施例的应用场景均为srv6网络,在实际应用中,本技术实施例还可以应用在sr mpls网络,实现方式类似,本技术实施例对此不再赘述。
167.图13为本技术实施例提供的一种网络设备的示意图。该网络设备1300包括:一个或多个处理器1301、存储器1303和通信接口1304,处理器1301、存储器1303和通信接口1304可以通过通信总线1302相连。所述存储器1303用于存储一个或多个程序;所述一个或多个处理器1301用于运行所述一个或多个程序,使得所述网络设备1300执行如上述各个方法实施例对应的方法。即,该网络设备1300可为上述图2所示的方法实施例中的网络设备206、网络设备209或网络节点204、网络节点205。
168.处理器1301可以是一个通用中央处理器(central processing unit,cpu)、网络处理器(network processer,np)、微处理器、或者可以是一个或多个用于实现本技术方案的集成电路,例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组
合。
169.通信总线1302用于在上述组件之间传送信息。通信总线1302可以分为地址总线、数据总线、控制总线等。为便于表示,附图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
170.存储器1303可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1303可以是独立存在,并通过通信总线1302与处理器1301相连接。存储器1303也可以和处理器1301集成在一起。
171.通信接口1304使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1304包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合等。
172.在具体实现中,作为一种实施例,处理器1301可以包括一个或多个cpu,如附图13中所示的cpu0和cpu1。
173.在具体实现中,作为一种实施例,网络设备1300可以包括多个处理器,如附图13中所示的处理器1301和处理器1305。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
174.在具体实现中,作为一种实施例,网络设备1300还可以包括输出设备和输入设备。输出设备和处理器1301通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备和处理器1301通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
175.在一些实施例中,存储器1303用于存储执行本技术方案的程序代码1310,处理器1301可以执行存储器1303中存储的程序代码1310。也即是,网络设备1300可以通过处理器1301以及存储器1303中的程序代码1310,来实现方法实施例提供的报文处理方法。
176.本技术实施例的网络设备1300可对应于上述各个方法实施例中的网关设备,并且,该网络设备1300中的处理器1301、通信接口1304等可以实现上述各个方法实施例中的网关设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
177.应理解,网络设备1300对应于上述方法实施例中的网络设备,网络设备1300中的各单元和上述其他操作和/或功能分别为了实现上述图2所示的网络设备206或网络设备209所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
178.图14为本技术实施例提供的第一种报文处理的装置的示意图。该报文处理的装置
1400包括:
179.获取模块1401,用于执行上述图3对应的各个实施例中网络设备209接收报文的步骤;
180.处理模块1402,用于执行上述图3对应的各个实施例中网络设备209处理报文的步骤,如nat转换处理;
181.发送模块1403,用于执行上述图3对应的各个实施例中网络设备209向网络节点204或网络节点206发送报文的步骤。
182.图15为本技术实施例提供的第二种报文处理的装置的示意图。该报文处理的装置1500包括:
183.获取模块1501,用于执行上述图3对应的各个实施例中网络设备206接收报文的步骤;
184.处理模块1502,用于执行上述图3对应的各个实施例中网络设备206处理报文的步骤;
185.发送模块1503,用于执行上述图3对应的各个实施例中网络设备206发送报文的步骤。
186.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
187.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
188.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1