网络数据传输装置及方法与流程

文档序号:13141988阅读:275来源:国知局
网络数据传输装置及方法与流程

本发明涉及网络通信领域,特别涉及一种网络数据传输装置及方法。



背景技术:

数据网络是一种通过物理链路将各个孤立的工作站或主机相连,以达到资源共享和通信的目的链路网络。

数据网络由具有报文转发功能的若干个网络设备相互连接而成,通常意义上,其也包括连接到网络上的数据请求设备和数据源设备,且数据请求设备和数据源设备之间通常相隔若干个转发设备,数据请求设备和数据源设备之间传输的报文通过该若干个转发设备进行转发。比如,以基于tcp/ip(transmissioncontrolprotocol/internetprotocol,传输控制协议/网络互联协议)的数据网络为例,数据网络中的各个设备或接口都固定分配一个地址,如ip或mac(mediaaccesscontrol,媒体访问控制)地址,数据请求设备和数据源设备之间传输的报文逐跳转发时,参与转发的各个转发设备独立查找网络路由信息表获得下一跳设备的ip或mac地址,并根据查找到的地址将报文送往下一跳设备。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

在基于tcp/ip的数据网络中,每个网络设备独立对报文进行寻址,因此需要每个网络设备维护数据网络的完整网络路由信息表,当数据网络中设备数量较多时,通过网络路由信息表寻址的过程会占用较多的处理和存储资源,影响网络数据传输性能。



技术实现要素:

为了解决现有技术中维护以及查找网络路由信息表的过程会占用较多的处理和存储资源,影响网络数据传输性能的问题,本发明实施例提供了一种网络数据传输装置及方法。所述技术方案如下:

第一方面,提供了一种网络数据传输方法,所述方法包括:

第一网络设备接收第二网络设备发送的第一请求协商报文,所述第一请求协商报文用于请求数据源设备向数据请求设备发送会话数据,所述第一网络设备是所述数据源设备或者转发设备,所述第二网络设备是所述数据请求设备或者转发设备,且所述数据源设备和所述数据请求设备之间包含至少一个所述转发设备;所述第一网络设备根据所述第一请求协商报文建立从所述第一网络设备到所述第二网络设备之间的第一网络通道,所述第一网络通道用于向所述第二网络设备传输所述会话数据。

本发明所示的网络数据传输方法,通过在传统网络上通过主动路由的方法,构建一个或者一组设备到设备的网络通道,将传统的逐跳逐包查表的转发模式转变成直通或者通道交叉的转发模式,有效解决网络设备的寻址问题,提高网络数据传输性能。

在第一方面的第一种可能实现方式中,所述第一请求协商报文中包含会话属性信息,所述方法还包括:所述第一网络设备根据所述会话属性信息确定所述第一网络通道的通道属性信息,所述通道属性信息用于指示所述第一网络通道的资源预留情况以及资源满足情况中的至少一种,所述资源预留情况用于指示所述第一网络通道对应的流队列、调度算法以及丢弃优先级中的至少一种,所述资源满足情况用于指示所述第一网络设备的剩余带宽资源是否满足所述第一网络通道的带宽资源需求。

本发明所示的网络数据传输方法,在建立网络通道时,为网络通道设置资源预留,从而保证网络通道的带宽或运算资源。

结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述第一网络设备接收第二网络设备发送的第一请求协商报文,包括:所述第一网络设备接收所述第二网络设备通过多路径探索方式发送的所述第一请求协商报文。

本发明所示的网络数据传输方法,可以通过多路径探索方式建立网络通道。

结合第一方面的第一种或者第二种可能实现方式,在第一方面的第三种可能实现方式中,当所述第一网络设备为所述数据源设备时,所述方法还包括:所述第一网络设备根据所述会话属性信息、所述第一请求协商报文经过的各个设备针对所述第一请求协商报文建立的各条网络通道的通道属性信息以及所述各条网络通道的操作管理维护oam信息中的至少一种信息确定是否通过所述 各条网络通道组成的传输路径传输所述会话数据。

本发明所示的网络数据传输方法,可以在多条路径中选择最优路径进行报文发送,提高数据传输性能。

在第一方面的第四种可能实现方式中,当所述第一网络设备为所述转发设备时,所述方法还包括:所述第一网络设备设置所述第一网络通道对应的标签;所述第一网络设备将所述第一网络通道对应的标签添加至所述第一请求协商报文;所述第一网络设备将添加所述标签后的所述第一请求协商报文发送至下一跳设备。

本发明所示的网络数据传输方法,通过标签来标识建立的网络通道。

结合第一方面的第四种可能实现方式,在第一方面的第五种可能实现方式中,所述第一请求协商报文还包含所述第一请求协商报文经过的各个设备针对所述第一请求协商报文建立的各条网络通道的标签,当所述第一网络设备为所述数据源设备时,所述方法还包括:当确定通过所述各条网络通道组成的传输路径传输所述会话数据时,所述第一网络设备获取由所述各条网络通道的标签组成的源路由标签序列;所述第一网络设备将所述源路由标签序列封装在所述会话数据对应的数据报文中,并将所述数据报文发送给所述第二网络设备。

本发明所示的网络数据传输方法,通过传输路径上的各个通道的标签组成源路由标签序列,以指示报文在传输路径上各个网络通道中进行传输。

结合第一方面的第五种可能实现方式,在第一方面第六种可能实现方式中,当所述第一网络设备为所述转发设备时,所述方法还包括:当接收到所述数据报文时,所述第一网络设备根据所述源路由标签序列确定所述第一网络通道;所述第一网络设备通过所述第一网络通道将所述数据报文发送给所述第二网络设备。

本发明所示的网络数据传输方法,转发设备根据源路由标签序列进行报文的转发。

结合第一方面的第六种可能实现方式,在第一方面第七种可能实现方式中,所述方法还包括:在通过所述第一网络通道将所述数据报文发送给所述第二网络设备之前,所述第一网络设备检测所述第一网络通道是否故障;若所述第一网络通道故障,则所述第一网络设备查询是否存在备份通道,所述备份通道是从所述第一网络设备经过第五网络设备到达第二网络设备的网络通道;所述第 一网络设备根据所述备份通道的标签更新所述数据报文中的所述源路由标签序列;所述第一网络设备将更新所述源路由标签序列后的所述数据报文发送给所述第五网络设备。

本发明所示的网络数据传输方法,在报文转发过程中,若当前路径发生故障,则可以切换到之前多路径探索时建立的其它路径上进行转发。

结合第一方面的第六种可能实现方式,在第一方面第八种可能实现方式中,当所述第一网络设备为所述转发设备时,所述方法还包括:所述第一网络设备建立从所述第一网络设备到第四网络设备之间的第三网络通道,所述第四网络设备是向所述第一网络设备发送所述数据报文的设备。

本发明所示的网络数据传输方法,在报文转发过程中,还可以反向建立管道,以便进行双向会话。

结合第一方面的第五种可能实现方式,在第一方面第九种可能实现方式中,当所述第一网络设备为所述数据源设备时,所述方法还包括:所述第一网络设备将调整会话属性封装在所述会话数据对应的数据报文中,并将所述数据报文发送给所述第二网络设备,所述调整会话属性用于指示对发送所述数据报文的网络通道的通道属性信息进行调整。

本发明所示的网络数据传输方法,数据源设备可以指示各个转发设备对已建立的网络通道进行调整。

结合第一方面的第九种可能实现方式,在第一方面第十种可能实现方式中,当所述第一网络设备为所述转发设备时,所述方法还包括:当接收到所述数据报文时,所述第一网络设备根据所述调整会话属性对所述第一网络通道的通道属性信息进行调整。

本发明所示的网络数据传输方法,转发设备根据数据源设备的指示,对自身建立的网络通道进行调整。

第二方面,提供了一种网络设备,该网络设备包括:处理器和存储器;该处理器为中央处理器或者包处理器,该处理器被配置为执行存储器中存储的软件程序以及模块;该处理器通过执行软件程序以及模块来实现上述第一方面或第一方面的各种可能实现方式所提供的网络数据传输方法。

第三方面,提供了一种网络数据传输装置,该网络数据传输装置包括至少一个单元,该至少一个单元用于实现上述第一方面或第一方面的各种可能的实 现方式所提供的网络数据传输方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有用于实现第一方面或第一方面的各种可能的实现方式所提供的网络数据传输方法的指令。

本发明中,网络设备的名字对设备本身不构成限定,在实际实现中,可以以其他名称出现。只要各个设备的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例涉及的一种网络环境的结构示意图;

图2是本发明一个示例性实施例提供的网络设备的结构示意图;

图3是本发明一个示例性实施例提供的网络数据传输方法的流程图;

图4是图3所示实施例涉及的一种报文格式示意图;

图5是本发明一个实施例提供的网络数据传输装置的框图;

图6是本发明一个实施例提供的网络数据传输装置的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

请参考图1,其示出了本发明实施例涉及的一种网络环境的结构示意图。该网络环境包括如下网络设备:数据请求设备110、数据源设备120以及若干个转发设备130。

其中,数据请求设备110经过若干个转发设备130连接数据源设备120。

数据源设备120经过若干个转发设备130达到数据请求设备110的路径可以只有一条,也可以有多条。比如,在图1所示的实施环境中,数据请求设备 110为设备s,数据源设备120为设备d,转发设备130为设备r1至r5,则从数据源设备120到数据请求设备110的路径有以下三种:

路径1:设备d-设备r1-设备r4-设备r5-设备s;

路径2:设备d-设备r2-设备r3-设备r5-设备s;

路径3:设备d-设备r1-设备r4-设备r3-设备r5-设备s。

在该实施环境中,数据请求设备110通过该若干个转发设备130向数据源设备120请求获取会话数据,数据源设备120将会话数据沿该若干个转发设备130发送给数据请求设备110。

具体的,以上述路径1为例,设备s将请求报文发送给设备r5,设备r5再将请求发送给设备r4,以此类推,直至设备r1将请求发送给设备d;一个网络设备接收到前一跳设备发送的请求时,即建立当前设备到前一跳设备之间的数据通道,当设备d向设备s返回请求的数据时,设备d通过与设备r1之间的数据通道将数据报文发送给设备r1,设备r1通过与设备r4之间的数据通道将数据报文转发给设备r4,以此类推,直至设备r5将数据报文转发给设备s。

为了便于后续描述,在本发明中,将上述图1所示实施环境中的各个网络设备按照报文收发关系进行划分,在直接相邻的两个设备中,接收请求报文的设备为第一网络设备,发送请求报文的设备为第二网络设备,对于该第一网络设备。该第一网络设备可以是数据源设备120或者转发设备130,第二网络设备可以是数据请求设备110或者转发设备130。

比如,以图1中路径1为例,当设备r5为第一网络设备时,则设备s为第二网络设备,类似的,当设备r4为第一网络设备时,则设备r5为第二网络设备,当设备r1为第一网络设备时,则设备r4为第二网络设备,当设备d为第一网络设备时,则设备r1为第二网络设备。

此外,当数据源设备120经过若干个转发设备130达到数据请求设备110的路径有多条,且该第一网络设备为转发设备时,该第一网络设备可以对应有第三网络设备,该第三网络设备是从数据源设备120经过该第一网络设备达到数据请求设备110的另一条路径上,向该第一网络设备发送请求报文的另一个设备,且该第三网络设备区别于第二网络设备。比如,以图1中路径1为例,当设备r4为第一网络设备时,则设备r3为第三网络设备,类似的,当设备r1为第一网络设备时,则设备r2为第三网络设备,当设备d为第一网络设备时, 则设备r2为第三网络设备;需要说明的是,当设备r5为第一网络设备时,只有设备s向其发送请求报文,因此不存在第三网络设备。

另外,当上述第一网络设备为转发设备时,该第一网络设备还对应有第四网络设备,该第四网络设备是向该第一网络设备发送该请求报文所对应的数据报文的设备,比如以图1中路径1为例,当设备r5为第一网络设备时,则设备r4为第四网络设备,类似的,当设备r4为第一网络设备时,则设备r1为第四网络设备,当设备r1为第一网络设备时,则设备d为第四网络设备。

请参考图2,其示出了本发明一个示例性实施例提供的网络设备的结构示意图。该网络设备20可以实现为上述图1所示网络环境中的各个网络设备。

该网络设备20包括:中央处理器(英文:centralprocessingunit,缩写:cpu)21、网卡22和存储器23。

中央处理器21可以包括一个或者一个以上处理核心。中央处理器21通过运行软件程序以及模块,从而执行各种功能应用以及数据处理。

网卡22由包处理器(英文:packetprocessor)22a和网络接口22b构成。包处理器22a解析到达接入网络设备的报文后,将报文发送给中央处理器21。中央处理器21执行存储器23中存储的指令,处理报文。或者,包处理器22a解析到达接入网络设备的报文后,也可以经过适当处理(比如进行报文封装)后,将报文转发给下一个网络设备。网络接口22b可以包含有线网络接口,比如以太网接口,也可以包含无线网络接口。

可选的,该接入控制设备20还包括高速缓存器24、总线25等部件。

其中:

存储器23与高速缓存器24分别通过总线25与中央处理器21相连。高速缓存器24用于缓存中央处理器21计算过程中的一些中间数据。

存储器23可用于存储软件程序以及模块,由中央处理器21或者包处理器22a执行。

在本发明实施例中,存储器23可存储由中央处理器21或者包处理器22a执行的至少一个功能所需的应用程序模块26。

当该网络设备20实现为上述图1所示实施环境中的转发设备时,该应用程序模块26可以是:接收模块26a、建立模块26b、第一确定模块26c、设置模块 26e、添加模块26f、发送模块26g、第二确定模块26h、检测模块26i、查询模块26j、更新模块26k以及调整模块26m;

当该网络设备20实现为上述图1所示实施环境中的数据源设备时,接收模块26a、建立模块26b、第一确定模块26c、获取模块26n、封装模块26p、发送模块26g、检测模块26i、查询模块26j以及更新模块26k。

接收模块26a,用于接收第二网络设备发送的第一请求协商报文,所述第一请求协商报文用于请求数据源设备向数据请求设备发送会话数据,所述第一网络设备是所述数据源设备或者转发设备,所述第二网络设备是所述数据请求设备或者转发设备,且所述数据源设备和所述数据请求设备之间包含至少一个所述转发设备;

建立模块26b,用于根据所述第一请求协商报文建立从所述第一网络设备到所述第二网络设备之间的第一网络通道,所述第一网络通道用于向所述第二网络设备传输所述会话数据。

第一确定模块26c,用于确定所述第一网络通道的通道属性信息,所述通道属性信息用于指示所述第一网络通道的资源预留情况以及资源满足情况中的至少一种,所述资源预留情况用于指示所述第一网络通道对应的流队列、调度算法以及丢弃优先级中的至少一种,所述资源满足情况用于指示所述第一网络设备的剩余带宽资源是否满足所述第一网络通道的带宽资源需求;所述第一请求协商报文中包含会话属性信息。

所述接收模块26a,具体用于在接收第二网络设备发送的第一请求协商报文时,接收所述第二网络设备通过多路径探索方式发送的所述第一请求协商报文。

所述第一确定模块26c,还用于当所述第一网络设备为所述数据源设备时,根据所述会话属性信息、所述第一请求协商报文经过的各个设备针对所述第一请求协商报文建立的各条网络通道的通道属性信息以及所述各条网络通道的操作管理维护oam信息中的至少一种信息确定是否通过所述各条网络通道组成的传输路径传输所述会话数据。

获取模块26n,用于当所述第一网络设备为所述数据源设备,且所述第一确定模块确定通过所述各条网络通道组成的传输路径传输所述会话数据时,获取由所述各条网络通道的标签组成的源路由标签序列;

封装模块26p,用于将所述源路由标签序列封装在所述会话数据对应的数据 报文中,并将所述数据报文发送给所述第二网络设备;所述第一请求协商报文还包含所述第一请求协商报文经过的各个设备针对所述第一请求协商报文建立的各条网络通道的标签。

检测模块26i,用于在所述发送模块通过所述第一网络通道将所述数据报文发送给所述第二网络设备之前,检测所述第一网络通道是否故障;

查询模块26j,用于在所述第一网络通道故障时,查询是否存在备份通道,所述备份通道是从所述第一网络设备经过第五网络设备到达第二网络设备的网络通道;

更新模块26k,用于根据所述备份通道的标签更新所述数据报文中的所述源路由标签序列;

所述发送模块26g,还用于将更新所述源路由标签序列后的所述数据报文发送给所述第五网络设备。

所述建立模块26b,还用于当所述第一网络设备为所述转发设备时,建立从所述第一网络设备到第四网络设备之间的第三网络通道,所述第四网络设备是向所述第一网络设备发送所述数据报文的设备。

所述封装模块26p,还用于当所述第一网络设备为所述数据源设备时,将调整会话属性封装在所述会话数据对应的数据报文中;

所述发送模块26g,还用于将封装所述调整会话属性后的所述数据报文发送给所述第二网络设备,所述调整会话属性用于指示对发送所述数据报文的网络通道的通道属性信息进行调整。

调整模块26m,用于当所述第一网络设备为所述转发设备,且所述接收模块26a接收到所述数据报文时,根据所述调整会话属性对所述第一网络通道的通道属性信息进行调整。

此外,该网络设备20还可以包括输出设备以及输入设备(图中未示出)。输出设备和输入设备也通过总线25与中央处理器21相连。输出设备可以是用于显示信息的显示器、播放声音的功放设备或者打印机等,输出设备还可以包括输出控制器,用以提供输出到显示屏、功放设备或者打印机。输入设备可以是用于用户输入信息的诸如鼠标、键盘、电子触控笔或者触控面板之类的设备,输入设备还可以包括输出控制器以用于接收和处理来自鼠标、键盘、电子触控笔或者触控面板等设备的输入。

本发明所示的方案,是在从数据源设备到数据请求设备之间的路径上建立prn(proactiveroutingnetwork,主动路由网络),该prn是在传统网络之上,为通信两端按需建立并维护的一个虚拟管道网,面向用户和业务体验,提供确定的、连接一切的、智能的、弹性的管道。prn并不是一个全新的网络,而是一个附加在传统网络上的服务功能,因此不影响传统网络和传统业务的运行,非常有利于部署和平滑演进。prn为用户建立的管道,具有确定性的网络路径,同时通过资源预留和主动流量规划,可以保证qos,保证用户体验。对于运营商而言,prn基于网络通道的管理和维护,可以有效简化网络运维系统,提升故障定位和恢复等oam能力,减少opex,同时基于网络通道也可以拓展新业务如vr等,提升营收。对于设备商而言,由于prn中的网络设备可以基于网络通道进行虚电路交叉转发或直通转发,解决了传统的逐包逐跳转发模式下网络规模扩大带来的寻址问题,从而简化网络设备的复杂度,降低成本和功耗,提升吞吐量。本发明下面的实施例将对上述在从数据源设备到数据请求设备之间的路径上建立prn的过程进行详细描述。

请参考图3,其示出了本发明一个示例性实施例提供的网络数据传输方法的流程图。该方法可以用于图1所示的网络环境中。如图3所示,该网络数据传输方法可以包括:

步骤301,第二网络设备向第一网络设备发送第一请求协商报文,第一网络设备接收该第一请求协商报文。

其中,该第一请求协商报文用于请求数据源设备向数据请求设备发送会话数据,该第一网络设备是该数据源设备或者转发设备,该第二网络设备是该数据请求设备或者转发设备,且该数据源设备和该数据请求设备之间包含至少一个该转发设备。

可选的,在本发明实施例中,第二网络设备发送该第一请求协商报文时,可以通过传统方式向第一网络设备发送该第一请求协商报文,比如向网络中的某一个控制设备查询获得到达数据源设备的下一跳设备为该第一网络设备,并向该第一网络设备发送该第一请求协商报文;或者,该第二网络设备也可以通过多路径探索方式向所有可能到达数据源设备的下一跳设备发送请求协商报 文,其中包括向第二网络设备发送该第一请求协商报文。比如,以上述图1所示的实施环境为例,设备s发送请求协商报文时,通过多路径探索确定到达设备d的下一条设备为设备r5,则将该请求协商报文发送给设备r5,该请求协商报文为主报文(master),设备r5通过多路径探索发现达到设备d的下一条设备为设备r3和设备r4,则将该请求协商报文复制后分别发送给设备r3和设备r4,其中,分别发送给设备r3和设备r4的请求协商报文中只有一个是主报文,另一个是从报文(slaver),以此类推,从设备s到设备d的各条路径上的各个设备分别向下一条设备发送用于请求相同会话数据的请求协商报文,这些请求协商报文中只有一个主报文,其余报文均为从报文。对于携带信息相同的各个报文,在全网络中只有一个master,也就是说,如果第一网络设备接收到的请求协商报文本身就已经是slaver,则该第一网络设备后续通过多路径探索方式向多个网络设备发送该请求协商报文时,发送的报文都只能是slaver。在图1所示的实施环境中,设备s向设备r5发送的请求协商报文为master,设备r5分别向设备r3和设备r4发送的请求协商报文中有一个是master,另一个是slaver;假设设备r3接收到的请求协商报文是slaver,则后续设备r3分别向设备r2和设备r4发送的请求协商报文均为slaver。

当网络中的各个设备以多路径探索方式向下一跳设备发送请求协商报文时,第一网络设备也有可能接收到不同的设备发送的,用于请求相同会话数据的请求协商报文,比如,该第一网络设备还可能接收到第三网络设备发送的第二请求协商报文,该第一请求协商报文与第二请求协商报文用于请求相同的会话数据。

可选的,上述多路径探索请求可以由第一协商请求进行指示,或者,也可以由第二网络设备自行决定。

可选的,在本发明实施例中,请求协商报文中可以包含会话属性信息,该会话属性信息可以包括如下几个部分:会话描述、会话质量要求、设备的能力&状态通告信息以及异常处理定义;

会话描述即对应数据请求设备请求,数据源设备发送给数据请求设备的报文组成的数据流的描述,用于指示该会话数据的流量。在数据请求设备发起请求时,可以对会话流量进行描述来表达它的期望或者对数据源设备的要求,比如会话类型,比如是间歇性业务如网页浏览,是持续性业务如视频点播、现场 直播(比特流)等,响应最长或最短时间,会话持续最长最短时间等。同样,数据源设备在接受请求后,也可以对会话流量的描述做修改或者新增描述内容来表达它能提供的,比如增加流量抖动范围,或者需要数据请求设备返回送相关消息或数据等。后续网络设备可以通过感知会话描述来建立网络通道。

会话质量要求用于指示会话数据的质量需求,是数据请求设备对会话流的网络qos(qualityofservice,服务质量)要求,例如是否需要保证带宽以及如果需要带宽保证其cir(committedinformationrate,承诺信息速率)和pir(peakinformationrate,最高信息速率)是多少、延时和抖动范围,以及在网络或数据源设备能力无法满足的情况下是否可以降级以及可以降低到的最低等级等,数据源设备将根据网络能力以及自身能力和数据请求设备相关qos信息(如上述的降级处理),更新会话的网络qos要求。虽然网络qos要求可以被携带在会话的每个报文中,但一般情况下,它只将被携带在会话初始协商阶段如tcp_syn和tcp_syn_ack的报文中。网络设备通过感知会话质量要求来在建立网络通道时,检查资源满足度,并反馈网络状态给数据源设备以及数据请求设备,以便数据源设备根据该网络状态调整会话流量的发送策略,或者与数据请求设备重新协商相关的通信质量要求,比如,与数据请求设备协商调整分辨率等。同时在会话中,数据源设备也可以根据会话质量要求,调整网络通道的资源分配。

能力&状态通告是参数数据传输的所有设备,包括数据源设备、数据请求设备和转发设备,需要通告其是否支持prn,如果数据源设备或者数据请求设备不支持,则网络将根据配置来选择一个节点设备去代理其会话,这种情况下,该节点设备充当了prn的数据源设备或者数据请求设备,其网络模型跟数据源设备或者数据请求设备支持prn是一样的。其他的能力和状态通告都是可选的,对于数据源设备或者数据请求设备来说,可以通告其是否具有流控能力以及粒度和波动范围,对于转发设备来说,可以通告其是否具有流控能力包括粒度和波动范围(隐含是否具有诸如分时复用的绝对带宽保证能力)以及带宽以及缓冲状态。如果网络设备不通告某项能力,将默认为该网络设备不支持该能力,如果网络设备不通告某项状态,将默认为该网络设备满足需求或者无异常状态。

异常处理定义表示如果网络或者对端不能满足要求时,可以采取的措施。异常处理由数据源设备或者数据请求设备定义,是可选的,如果没有,则发生 异常的网络设备将自行处理。数据请求设备和数据源设备都可以定义异常处理,比如带宽不满足要求时是否可以降级为尽力而为服务等,网络故障发生时是否可以自行路由规避故障节点或链路,规避是是否需要保持同样服务质量,还是丢弃报文或者反馈异常给数据请求设备和数据源设备等。

可选的,上述请求协商报文中还可以携带第二网络设备的oam(operationadministrationandmaintenance,操作管理维护)信息。

步骤302,第一网络设备根据该第一请求协商报文建立从该第一网络设备到该第二网络设备之间的第一网络通道。

其中,该第一网络通道用于向该第二网络设备传输该会话数据。

在本发明实施例中,第一网络通道可以是第一网络设备中的某个出端口,即将报文通过该出端口发送出去,即可以视为将该报文通过该第一网络通道进行发送,第一网络设备建立本地通道表项,用于指示该第一网络通道。

在本发明实施例中,第一网络设备建立第一网络通道之后,还对应设置该第一网络通道的通道属性信息,具体的,该第一网络设备可以根据该会话属性信息确定该第一网络通道的通道属性信息,该通道属性信息用于指示该第一网络通道的资源预留情况以及资源满足情况中的至少一种,该资源预留情况用于指示该第一网络通道对应的预留带宽、流队列、调度算法以及丢弃优先级中的至少一种,可选的,该资源预留情况还可以指示为第一网络通道预留的处理资源,比如,第一网络设备可以针对该第一网络通道预留一部分cpu处理进程和缓存空间,或者,第一网络设备也可以初始化控制报文在该第一网络通道传输的代码,即当有需要通过第一网络通道传输的报文到达第一网络设备时,上述代码可以立刻被执行以控制报文通过第一网络通道传输给下一设备;该资源满足情况用于指示该第一网络设备的剩余带宽资源或者处理资源是否满足该第一网络通道的带宽资源或者处理资源需求。第一网络设备设置管道属性信息后,可以将该管道属性信息添加到该第一请求协商报文中并发送给下一跳设备。

另外,第一网络设备在建立第一网络通道之后,还设置用于指示该第一网络通道的标签,该标签也用于后续数据转发,具体的,当该第一网络设备为该转发设备时,该第一网络设备设置该第一网络通道对应的标签;该第一网络设备将该第一网络通道对应的标签添加至该第一请求协商报文;该第一网络设备将添加该标签后的该第一请求协商报文发送至下一跳设备。

第一网络设备设置标签时,可以直接使用上述本地通道表项的表项索引作为标签,第一网络设备可以从该第一协商请求中获取第二网络设备为针对该第一协商请求建立的网络通道的标签,在本地建立提取到的标签与设置的标签之间的对应关系,在将标签添加至第一协商请求时,第一网络设备将自己设置的标签添加到第一协商请求中,用于替换该第一协商请求中原有的、该第二网络设备为针对该第一协商请求建立的网络通道的标签。或者,第一网络设备也可以复用第二网络设备为针对该第一协商请求建立的网络通道的标签,并在第一协商请求中记录复用信息。当标签分配好之后,第一网络设备可以对标签进行加密。

类似的,第一网络设备还可以将自己的oam信息添加至第一请求协商报文并发送给下一跳设备。

可选的,当第二网络设备按照多路径探索方式发送第一请求协商报文时,该第一网络设备还可能接收到第二网络设备通过第五网络设备发送的、用于请求相同会话数据的请求协商报文,并且,该第一网络设备同样会建立从该的网络设备达到第五网络设备之间的网络通道,第五网络设备也会建立到达第二网络设备之间的网络通道,如果第五网络设备到第二网络设备之间还有其它转发设备,则这些其他转发设备之间也会建立网络通道。第二网络设备可以将从第五网络设备到达第二网络设备之间的至少一个网络通道以及第二网络设备到第五网络设备之间的网络通道作为上述第一网络通道的备份通道,并获取备份通道的标签。

步骤303,第一网络设备通过该第一网络通道向第二网络设备发送会话数据。

数据源设备从接收到的请求协商报文中提取会话属性信息、管道属性信息以及oam信息,作为会话属性的一部分本地保存,同时根据这些信息计算选择最优通道并从中提取源路由标签序列,将该源路由标签序列按源路由报文格式封装到发往数据请求设备的数据报文中,同时根据所获得的信息,可选地设置调整会话属性,该调整会话属性用于指示对发送该数据报文的网络通道的通道属性信息进行调整,并将调整会话属性封装在数据报文之中,然后将数据报文发送到源路由标签序列所代表的第一跳网络设备上,后续的转发设备接收到该数据报文时,该根据该调整会话属性对传输该数据报文的网络通道(对于第一 网络设备,该网络通道就是上述的第一网络通道)的通道属性信息进行调整。

在计算选择最优通道时,该数据源设备根据该会话属性信息、第一请求协商报文经过的各个设备针对该第一请求协商报文建立的各条网络通道的通道属性信息以及该各条网络通道的操作管理维护oam信息中的至少一种信息确定是否通过该各条网络通道组成的传输路径传输该会话数据。比如,以上述图1中的三条路径为例,设备d(数据源设备)可以选择其中条数最少、传输延时最低或者丢包率最低的一条或多条路径上的通道作为最优通道。

第一请求协商报文还包含该第一请求协商报文经过的各个设备针对该第一请求协商报文建立的各条网络通道的标签,在确定通过该各条网络通道组成的传输路径传输该会话数据,并提取源路由标签序列时,该数据源设备获取由该各条网络通道的标签组成的源路由标签序列,并将该源路由标签序列封装在该会话数据对应的数据报文中,并将该数据报文发送给该源路由标签序列对应路径上的上一个转发设备,比如,当第一网络设备为数据源设备时,该上一个转发设备为第二网络设备。

又比如,当上述第一网络设备为转发设备时,第一网络设备当接收到数据报文后,可以根据数据报文中的源路由标签序列确定该第一网络通道,并通过该第一网络通道将该数据报文发送给该第二网络设备。

可选的,第一网络设备在通过该第一网络通道将该数据报文发送给该第二网络设备之前,还可以检测该第一网络通道是否故障;若该第一网络通道故障,则该第一网络设备查询是否存在备份通道,该备份通道是从该第一网络设备经过第五网络设备到达第二网络设备的网络通道,第一网络设备根据该备份通道的标签更新该数据报文中的该源路由标签序列;该第一网络设备将更新该源路由标签序列后的该数据报文发送给该第五网络设备。

在本发明实施例中,第一网络设备还可以通过接收到的对应同一个会话数据的各个请求协商报文确定到达第二网络设备且已经建立由网络通道的其他路径,比如,在图1中,设备r4通过接收设备r3和设备r5分别发送的用于请求相同会话数据的请求协商报文获知,除了通过设备r4与设备r5之间的网络通道可以到达设备r5之外,还可以通过设备r4与设备r3之间的网络通道以及设备r3与设备r5之间的网络通道到达设备r5,如果有报文需要从设备r4与设备r5之间的网络通道发送时,当设备r4与设备r5之间的网络通道拥塞 或者出现故障,则设备r4可以选择从第二条路径上发送,即将数据报文的源路由标签序列中的设备r4与设备r5之间的网络通道的标签替换为设备r4与设备r3之间的网络通道的标签以及设备r3与设备r5之间的网络通道的标签,并将数据报文发送给设备r3,源路由标签序列将指示设备r3将数据报文发送给设备r5。

可选的,该第一网络设备还可以建立从该第一网络设备到第四网络设备之间的第三网络通道,该第四网络设备是向该第一网络设备发送该数据报文的设备。其中,该建立第三网络通道的步骤可以由数据报文进行指示。

请参考图4,其示出了本发明实施例涉及的一种报文格式示意图,该报文可以是上述请求协商报文或者数据报文,如图4所示,该报文中包含prn_ai(prnapplicationinformation,主动路由应用信息)。上述prn_ai不一定是一个连续的数据结构,可以分散在报文的不同地方。

prn_ai包含prn_tag、sd(sessiondescription,会话描述)、srl(sourceroutinglabel,源路由标签)、rpi(reversepathinformation,反向路径信息)以及qos字段,上述各个字段中,除了prn_tag和sd中必须携带信息之外,其他字段都是可选的(,图中以opt进行标识)。

其中,prn_tag字段可以是一个用于表示报文在l2之后包含有prn_ai信息的标签或标识。

sd字段中包括fi(flowinitialization,流初始化)标识以及ff(flowfinished,流结束)标识,fi表示会话连接建立首包,ff表示会话结束。比如,当sd字段中的fi=1,ff=0时,表示该报文是会话首包,用于建立网络通道,当sd字段中的fi=0,ff=1时,表示该报文是会话的最后一个报文,可以用来指示拆除网络通道;当sd字段中的fi=0,ff=0时,表示该报文既不是会话首包,也不是会话的最后一个报文。此外,上述prn_tag以及fi和ff可以任意其他形式,如fi可以用tcp_syn标志隐含表示,ff可以用tcp_fin&tcp_ack标志隐含表示,prn_tag可以是一个位置固定的字段表示,如用eth_type字段表示,也可以是分散在其他字段中如ip选项的tlv中,如用其中type字段表示。sd字段中还可以包含会话对网络的需求以及会话本身的描述信息,会话对网络的需求信息可以包括用户是否需要创建网络通道,以及是否需要建立或探索多条网络通道等,而会话本身的描述信息可以包括流的延续时间,是否要求 保序等。可选的,sd字段中还可以包含如会话标签(id)、报文在会话流量中的索引或者起始字节序列号等信息,以及会话模型中定义的会话描述等。

srl字段为可选字段,只有当srl字段中的sd.srl标志为真(sd.srl=1)时才存在,srl字段可以是一个标签列表,比如,其可以是一个标签栈,或者也可以是其他形式。srl字段用来指导网络转发行为。一般情况下,会话首包中没有srl字段,因为此时网络通道还没有建立,但也不排除会话首包中具有srl的情况,此时,发送该会话首包的设备已经建立了到达该首包的目地设备之间的网络通道。除了上述会话首包之外的所有报文都应该具有srl。

rpi字段同样为可选字段,只有当标志为真(sd.rpi=1)时才有,rpi包含每一跳网络设备为该报文所属会话创建的反向路径信息。该rpi字段中可能包含多个rpi信息,每个rpi信息用于描述一个被建立的网络通道,当网络设备接收到报文,并根据指示创建反向网络通道后,需要在该rpi字段中追加一个rpi信息,当该报文在rpi信息对应的网络通道(比如,对应的反向网络通道已经建立完成)中传输时,接收到该报文的网络设备需要根据本地或网络配置,或者根据数据请求设备或者数据源设备的请求,更新对应的网络通道的rpi信息。通常情况下,会话首包离开数据请求设备时,该会话首包中应该不包含,但是会话首包到达数据源设备是,该会话首包中应该具有rpi信息,否则表示数据请求设备与数据源设备之间的网络通道未建立,此时,数据请求设备与数据源设备之间的通信只能按照传统网路进行。在建立网络通道之后的会话进行过程中,每个报文都可能有rpi信息,尤其是当需要调整网络通道配置,或者需要监控网络通道状态时。

qos字段也是可选字段,只有当sd.qos标志为真(sd.qos=0)时才有,其用于描述数据请求设备或者数据源设备对网络服务质量的具体要求,比如bw(bandwidth,频带宽度)以及延时要求(dely),该qos字段还可以包括异常处理定义。在本发明实施例中,任意报文都可以有qos字段,但是在一般情况下,只有会话初始阶段的请求协商报文(如会话首包)才具有qos字段。其中,该qos字段即为上述调整会话属性。

在本发明实施例中,上述prn_ai可以只在网络通道建立和网络通道维护(如拆除网络通道或调整网络通道配置)时使用,而在其他情况下,报文可以采用mpls或者其它显式路由协议格式封装srl字段。prn_ai的相关信息可 以包含在其他协议的扩展部分中,比如tcp或ip的option字段中,或者,prn_ai也可以是一个独立的协议层。

以上述图1所示的实施环境以及图4所示的数据格式为例,本发明实施例的具体流程可以有如下步骤:

步骤1),网络设备接收到报文后,判断并获得prn_ai信息,如果没有,则按传统方法转发,否则进入后续步骤。网络设备判定prn_ai的方法可以是检测报文中是否有明确的prn_tag字段或者其他标志,比如查看tcp或者sctp的连接建立或结束的协商标志是否为真。

步骤2),当有prn_ai后,网络设备查看是否为请求协商报文,如果不是,则进行下一步。如果是,则创建到上一跳的网络通道,并为之分配一个代表该网络通道的标签。

创建网络通道时,网络设备首先找到该网络通道的出接口,即通过该出接口可以将报文发送到上一跳,寻找出接口的办法可以直接采用接收到的报文的入接口,也可以通过用报文的源地址(如报文的源ip地址)或者上一跳给出的rpi中的相关信息(如其rpi中所示网络通道所在出接口的ip地址),查找路由信息表来获得。网络通道的建立还需要结合prn_ai中的会话属性信息,例如对于需要严格服务质量保证的会话或者其他因素如本地配置策略等,必须为相应的会话建立单独的网络通道,因此到达同一个上一跳的网络通道,可能有多个,虽然他们的出接口和下一跳都一样。

创建网络通道时,如果prn_ai表示需要带宽服务质量保证,则网络设备可以根据其具体需求预留带宽和资源,如果不需要或者策略规定,则网络设备可只检查本地资源相对于其需求的满足程度。

上述创建网络通道获得信息,包括出接口、资源分配情况或者满足程度情况,可以在本地创建一个临时表项称之为本地网络通道表项,并分配一个标签来指向它(即后续报文如果携带该标签,可以通过该标签找到这个表项)。如果表项很简单,如只有出接口,则可能直接通过标签本身就能包含该网络通道信息,则无需本地保存,否则需要在本地保存。

网络设备将上述相关信息有选择性地打包,作为所建的网络通道的rpi追加到prn_ai的rpi区块。同时rpi信息中,还可以包括网络通道所在接口相关信息如链路类型和长度以及拥塞程度等,也可以还包括报文在本节点的处理 延时情况等。

步骤3),检查是否带有源路由标签序列,如果没有,则进行下一步。如果有,则按如下步骤处理:

首先,网络设备通过srl找到本节点所分配的标签(即如上一步骤所述所产生的标签),通过该标签获得对应的本地网络通道。

网络设备检查prn_ai中携带的调整会话属性(该调整会话属性可以是图4中的qos字段中包含的信息),如果没有或者调整会话属性要求的资源预留情况和当前网络通道的资源预留情况一致,则无需下一步动作,否则,根据最新的调整会话属性相关指示,调整网络通道的资源预留,如分配或调整流队列、调整相关调度方法等。

然后网络设备将报文从网络通道中发送出去,所谓从网络通道中发送,本质上跟传统的报文从出接口发送类似,但可能会增加一些服务质量保证相关措施,如入指定流队列、指定调度算法和丢弃优先级等。

步骤4),本步骤检测是否需要做多路径探索,一方面报文中可能带有明确指示需要做多路径探索,或者网络设备可以根据自身策略选择是否做多路径探索,如果不需要多路径探索,则直接进行下一步。如果需要多路径探索,则按如下步骤:

网络设备从报文中获得其目的地地址,如目的ip或者目的mac等,如果无法获得(如果有srl,则报文可能没有传统的目的地地址了,因为srl本身具备将报文送达目的地的信息),则跳过多路径探索处理。

根据目的地地址,找到一个或多个可以到达目的地的下一跳,根据网络负载或者本地策略配置情况可以优选其中几个,将报文分别复制一份发送到对应的下一跳。

在发送前,如果有srl等信息,可以将之删除或者移到下一跳可以忽略的报文选项中。修改报文中的master/slaver信息,确保所有拷贝中最多只能有一个报文是master,其他都是slaver,如果接收到的报文已经表示是slaver,则所有拷贝只能是slaver。

在发送时,可以根据网络负载情况或者本地策略配置情况,可以选择性丢弃一些slaver报文,但应尽最大努力保证master报文被成功发送。

步骤5),将报文按照传统方法发送。

需要说明的是,上述方案中,由数据源设备和转发设备所执行的各个步骤可以由图2对应实施例中的网络设备20的中央处理器21或者包处理器22a执行相应的模块来实现。

综上所述,本发明实施例所示的网络数据传输方法,通过在传统网络上通过主动路由的方法,构建一个或者一组设备到设备的网络通道(即prn)。在prn中,网络通道可以具有确定性服务质量来满足用户高通量、低延时和低抖动的需求,通过主动路由的方式自动建立和维护网络通道,简化网络配置和维护,同时网络通道本身具有确定性属性,可定制如带宽和延时,可量化如通量和距离,可以将传统的逐跳逐包查表的转发模式转变成直通或者通道交叉的转发模式,有效解决网络设备的寻址问题,提高网络数据传输性能。

请参考图5,其示出了本发明一个实施例提供的网络数据传输装置的框图。该装置可以通过硬件或者软硬结合的方式实现为图1所示网络环境中的转发设备130的部分或者全部,用以执行如图3中由转发设备所执行的全部或者部分步骤。该装置可以包括:接收单元50a、建立单元50b、第一确定单元50c、设置单元50e、添加单元50f、发送单元50g、第二确定单元50h、检测单元50i、查询单元50j、更新单元50k以及调整单元50m;

在本实施例中,该装置是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。

接收单元50a,具有与接收模块26a相同或相似的功能。

建立单元50b,用于与建立模块26b相同或相似的功能。

第一确定单元50c,用于与第一确定模块26c相同或相似的功能。

设置单元50e,用于与设置模块26e相同或相似的功能。

添加单元50f,用于与添加模块26f相同或相似的功能。

发送单元50g,用于与发送模块26g相同或相似的功能。

第二确定单元50h,用于与第二确定模块26h相同或相似的功能。

检测单元50i,用于与检测模块26i相同或相似的功能。

查询单元50j,用于与查询模块26j相同或相似的功能。

更新单元50k,用于与更新模块26k相同或相似的功能。

调整单元50m,用于与调整模块26m相同或相似的功能。

请参考图6,其示出了本发明一个实施例提供的网络数据传输装置的框图。该装置可以通过硬件或者软硬结合的方式实现为图1所示网络环境中的数据源设备120的部分或者全部,用以执行如图3中由数据源设备所执行的全部或者部分步骤。该装置可以包括:接收单元60a、建立单元60b、第一确定单元60c、获取单元60n、封装单元60p、发送单元50g、检测单元60i、查询单元60j以及更新单元60k。

在本实施例中,该装置是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。

接收单元60a,具有与接收模块26a相同或相似的功能。

建立单元60b,用于与建立模块26b相同或相似的功能。

第一确定单元60c,用于与第一确定模块26c相同或相似的功能。

获取单元60n,用于与获取模块26n相同或相似的功能。

封装单元60p,用于与封装模块26p相同或相似的功能。

发送单元50g,用于与发送模块26g相同或相似的功能。

检测单元60i,用于与检测模块26i相同或相似的功能。

查询单元60j,用于与查询模块26j相同或相似的功能。

更新单元60k,用于与更新模块26k相同或相似的功能。

本领域普通技术人员可以理解实现上述实施例中由移动管理设备或者归属用户服务器执行的全部或部分步骤可以通过硬件来完成,也可以通过指令来控制相关的硬件完成,所述的指令可以存储于一种计算机可读存储介质中,上述提到的计算机可读存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1