一种传输数据的方法、装置和系统与流程

文档序号:18969327发布日期:2019-10-28 23:47阅读:161来源:国知局
一种传输数据的方法、装置和系统与流程

本发明涉及通信技术领域,尤其涉及的是一种传输数据的方法、装置和系统。



背景技术:

随着企业信息化要求的提高,大型企业对网络接入的要求越来越高,这不仅表现为对业务带宽的需求越来越高,还希望网络能够根据用户实际在网需求进行自动流量调整。

但是目前企业内网络的配置通常都是通过命令行等方法由人工来实现静态配置的,并不能根据用户的当前实际需求做出及时调整。对于企业用户的应用而言,通常都是上层的协议应用,因此,如何能够针对协议应用及时调整带宽也是提升用户体验所提出的新的需求。



技术实现要素:

本发明所要解决的技术问题是提供一种传输数据的方法、装置和系统,能够识别报文对应的协议类型并根据协议类型进行相应的流量重定向。

本发明实施例提供了一种传输数据的方法,应用于网络转发节点,包括:

当接收到的数据报文中所携带的五元组信息已经在本地存储,并且有对应的专用策略路由时,按照所述专用策略路由进行转发;

当接收到的数据报文中所携带的五元组信息未在本地存储时,针对所述五元组信息建立专用策略路由,按照所述专用策略路由进行转发。

本发明实施例还提供了一种传输数据的方法,应用于控制器,包括:

接收到用于识别接收报文协议类型的报文后,通过对所述报文进行深度包检测确定所述报文的协议类型;

当所述报文为预定类型的协议报文时,确定并下发与所述报文中携带的五元组信息对应的专用策略路由,以用于携带所述五元组信息的报文在网络转发节点的转发。

本发明实施例还提供了一种传输数据的装置,应用于网络转发节点,包括:

第一数据转发模块,用于当接收到的数据报文中所携带的五元组信息已经在本地存储,并且有对应的专用策略路由时,按照所述专用策略路由进行转发;

第二数据转发模块,用于当接收到的数据报文中所携带的五元组信息未在本地存储时,针对所述五元组信息建立专用策略路由,按照所述专用策略路由进行转发。

本发明实施例还提供了一种传输数据的装置,应用于控制器,包括:

报文解析模块,用于接收到用于识别接收报文协议类型的报文后,通过对所述报文进行深度包检测确定所述报文的协议类型;

路由配置模块,用于当所述报文为预定类型的协议报文时,确定并下发与所述报文中携带的五元组信息对应的专用策略路由,以用于携带所述五元组信息的报文在网络转发节点的转发。

本发明实施例还提供了一种传输数据的系统,包括上述网络转发节点和控制器。

与现有技术相比,本发明实施例提供的一种传输数据的方法、装置和系统,网络转发节点向控制器上送携带五元组信息的数据报文,控制器通过对所述报文进行深度包检测确定所述报文的协议类型,当所述报文为预定类型的协议报文时,控制器确定并向所述网络转发节点下发与所述报文中携带的五元组信息对应的专用策略路由,网络转发节点按照所述专用策略路由对预定协议类型的报文进行转发。本发明实施例的技术方案能够识别报文对应的协议类型并根据协议类型进行相应的流量重定向。

附图说明

图1是本发明实施例一种传输数据的方法流程图(网络转发节点)。

图2是本发明实施例一种传输数据的方法流程图(控制器)。

图3是本发明实施例一种传输数据的装置示意图(网络转发节点)。

图4是本发明实施例一种传输数据的装置示意图(控制器)。

图5是本发明实施例的一种SDN网络系统示意图。

图6是本发明实施例中网关的内部结构示意图。

图7是本发明示例1中一种传输数据的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

如图1所示,本发明实施例提供了一种传输数据的方法,应用于网络转发节点,包括:

S110,当接收到的数据报文中所携带的五元组信息已经在本地存储,并且有对应的专用策略路由时,按照所述专用策略路由进行转发;

S120,当接收到的数据报文中所携带的五元组信息未在本地存储时,针对所述五元组信息建立专用策略路由,按照所述专用策略路由进行转发。

可选地,所述针对所述五元组信息建立专用策略路由包括:

上报用于识别接收报文协议类型的报文;

当接收到与专用路由器建立专用隧道的隧道建立信息后,根据所述隧道建立信息建立与所述专用路由器之间的专用隧道,确定经过所述专用隧道的专用策略路由;

其中,所述专用隧道与特定的五元组信息所对应。

可选地,所述确定经过所述专用隧道的专用策略路由包括:

上报隧道建立完成消息;

接收到针对特定协议类型的路由信息后,记录与所述特定协议类型对应的经过所述专用隧道的专用策略路由。

可选地,所述专用路由器为第二层隧道协议L2TP服务器;

所述隧道建立信息包括:

L2TP客户端配置信息:客户端的用户名、密码和虚接口IP地址;

L2TP服务器端配置信息:服务器端的用户名、密码和虚接口IP地址。

可选地,所述经过所述专用隧道的专用策略路由包括:特定五元组信息和专用路由器的虚接口IP地址。

如图2所示,本发明实施例提供了一种传输数据的方法,应用于控制器,包括:

S210,接收到用于识别接收报文协议类型的报文后,通过对所述报文进行深度包检测确定所述报文的协议类型;

S220,当所述报文为预定类型的协议报文时,确定并下发与所述报文中携带的五元组信息对应的专用策略路由,以用于携带所述五元组信息的报文在网络转发节点的转发。

可选地,所述确定并下发与所述报文中携带的五元组信息对应的专用策略路由,包括:

确定从所述网络转发节点到专用路由器之间的专用隧道的隧道建立信息,并下发给所述网络转发节点。

可选地,所述确定并下发与所述报文中携带的五元组信息对应的专用策略路由,还包括:

当接收到所述网络转发节点上报的隧道建立完成消息后,确定所述预定类型的协议对应的经过所述专用隧道的专用策略路由,并下发给所述网络转发节点。

可选地,所述专用路由器为第二层隧道协议L2TP服务器;

所述隧道建立信息包括:

L2TP客户端配置信息:客户端的用户名、密码和虚接口IP地址;

L2TP服务器端配置信息:服务器端的用户名、密码和虚接口IP地址。

可选地,所述经过所述专用隧道的专用策略路由包括:特定五元组信息和专用路由器的虚接口IP地址。

如图3所示,本发明实施例提供了一种传输数据的装置,应用于网络转发节点,包括:

第一数据转发模块301,用于当接收到的数据报文中所携带的五元组信息已经在本地存储,并且有对应的专用策略路由时,按照所述专用策略路由进行转发;

第二数据转发模块302,用于当接收到的数据报文中所携带的五元组信息未在本地存储时,针对所述五元组信息建立专用策略路由,按照所述专用策略路由进行转发。

可选地,第二数据转发模块302,用于针对所述五元组信息建立专用策略路由包括:

上报用于识别接收报文协议类型的报文;

当接收到与专用路由器建立专用隧道的隧道建立信息后,根据所述隧道建立信息建立与所述专用路由器之间的专用隧道,确定经过所述专用隧道的专用策略路由;

其中,所述专用隧道与特定的五元组信息所对应。

可选地,第二数据转发模块302,用于确定经过所述专用隧道的专用策略路由包括:

上报隧道建立完成消息;

接收到针对特定协议类型的路由信息后,记录与所述特定协议类型对应的经过所述专用隧道的专用策略路由。

可选地,所述专用路由器为第二层隧道协议L2TP服务器;

所述隧道建立信息包括:

L2TP客户端配置信息:客户端的用户名、密码和虚接口IP地址;

L2TP服务器端配置信息:服务器端的用户名、密码和虚接口IP地址。

可选地,所述经过所述专用隧道的专用策略路由包括:特定五元组信息和专用路由器的虚接口IP地址。

如图4所示,本发明实施例提供了一种传输数据的装置,应用于控制器,包括:

报文解析模块401,用于接收到用于识别接收报文协议类型的报文后,通过对所述报文进行深度包检测确定所述报文的协议类型;

路由配置模块402,用于当所述报文为预定类型的协议报文时,确定并下发与所述报文中携带的五元组信息对应的专用策略路由,以用于携带所述五元组信息的报文在网络转发节点的转发。

可选地,路由配置模块402,用于确定并下发与所述报文中携带的五元组信息对应的专用策略路由,包括:

确定从所述网络转发节点到专用路由器之间的专用隧道的隧道建立信息,并下发给所述网络转发节点。

可选地,路由配置模块402,用于确定并下发与所述报文中携带的五元组信息对应的专用策略路由,还包括:

当接收到所述网络转发节点上报的隧道建立完成消息后,确定所述预定类型的协议对应的经过所述专用隧道的专用策略路由,并下发给所述网络转发节点。

可选地,所述专用路由器为第二层隧道协议L2TP服务器;

所述隧道建立信息包括:

L2TP客户端配置信息:客户端的用户名、密码和虚接口IP地址;

L2TP服务器端配置信息:服务器端的用户名、密码和虚接口IP地址。

可选地,所述经过所述专用隧道的专用策略路由包括:特定五元组信息和专用路由器的虚接口IP地址

本发明实施例还提供了一种实现流量重定向的系统,包括上述网络转发节点和控制器。

示例一

本发明以下实施例中利用软件定义网络(Software Defined Network,SDN)技术,通过将网络设备控制面与数据面分离开来,实现了网络流量的灵活控制以及管道的智能选择。在本示例中,网关作为网络转发节点,SDN控制器作为控制器。

本示例对应的一种典型的SDN网络系统结构如图5所示,包括:

多个网关,图5中示意性地示出了三个(网关A、网关B、网关C),在其它实施例中也可以为其它数量;

SDN控制器:与各网关之间进行管理信息报文的交互;

其中:SDN控制器可以通过图6中的OF(open flow)下发策略和应用等管理信息给各网关;而各网关通过netconf接口上报有用的信息给SDN控制器,通过OF Agent(OF代理)接收来自SDN控制器的管理信息,并记录到会话表Session中;

路由器:按照路由转发表将接收到的报文进行转发,图中以RouterA、RouterB为例示出;

文件服务器:存储有用户侧上传或者可下载的文件,图5中示意性地示出为FTP(File Transfer Protocol,文件传输协议)服务器。

对于上述SDN的网络系统做一个补充说明:图5中各网关(例如,网关A,网关B,网关C)之间也可能存在业务交互,但网关之间的业务报文交互可以采用现有技术中的任何方式来实现,本文不涉及也不赘述,本文主要涉及网关与SDN控制器之间的管理信息交互过程。基于图5所示的网络结构,以下详细介绍本发明实施例中所提出的流量重定向的方法,其中,为便于阐述,仅以图5中所示出的IP地址为192.168.1.1的网关A与FTP服务器之间流量重定向为例进行说明,其余各网关与文件服务器之间需要进行流量重定向的方法类似。

如图7所示,一种传输数据的方法可以包括以下步骤:

步骤S701:网关A获得本地IP地址192.168.1.1;

在本步骤中,网关获得本地IP地址可以通过图2中的CLI/WEB(命令行/web页面)配置基于以太网的点对点协议(Point-to-Point Potocol over Ethernet,PPPoE)拨号后进行PPPoE拨号;或者通过图2中的CLI/WEB(命令行/web页面)配置动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)后进行自动DHCP配置;或者也可以采用静态配置的方式或者本领域普通技术人员所已知的其它IP地址分配方式;

步骤S702:网关A获得IP地址后,将本地IP地址192.168.1.1上报给SDN控制器,SDN控制器使用该IP地址192.168.1.1与网关A建立连接,并且根据预置策略向网关A下发流表;

通过上述步骤S701和步骤S702,在SDN控制器和网关A之间可以建立管理通道,SDN控制器可以通过现有技术中任何已知的方式(例如,链路层发现协议(Link Layer Discovery Protocol,LLDP)报文转发等)获取整个网络的物理拓扑结构,并且下发流表控制各网关的当前业务交互链路。

步骤S703:网关A根据流表更新本地Session表(会话表),并按照会话表与相邻的网络节点设备建立普通业务转发通道;

在本步骤中,在SDN控制器和网关A建立连接后,网关A根据SDN控制器下发的流表更新本地会话表,与相邻的网络节点设备形成业务转发通道。例如,从网关A的wan0口(端口地址:10.0.0.1)转发出去的数据都转发到路由器RouterB,然后由RouterB继续进行转发。

步骤S704:当网关A接收到其所接入用户(例如,图1中的IP地址为:192.168.1.2的用户)的数据报文发送请求,判断该报文中所携带的五元组信息是否为新的五元组信息,如果是,执行步骤S705,如果否,执行步骤S713。

在本步骤中,如果接收到的数据报文中所携带的五元组信息不存在于网关A当前会话表,则判断该报文中所携带的五元组信息为新的五元组信息。

S705,网关A通过netconf接口将用于识别报文协议类型的多个数据报文上送给SDN控制器;

在本步骤中,上报给SDN控制器的报文个数只需要识别出网关A所接收到的报文协议类型即可,通常为了在较小流量传输的情况下仍然能够保证正确性,较优选的,在报文数量较多时可以选择20个报文;当然,更多数量的报文或者全部报文都上报到SDN控制器也是可以的,只是占用了更多的网络资源。

步骤S706,SDN控制器对所接收到的数据报文进行深度包检测(Deep Packet Inspection,DPI),确定该报文是否为预定协议报文,如果是,则执行步骤S707;否则,执行步骤S714。

在本步骤中,预定协议报文以FTP协议报文进行说明,接收到的报文是否为FTP协议报文可以通过以下方式来确定:

当通过DPI识别出的数据流中,控制通道的目的端口是21,那么该数据流的协议信息为FTP协议,由此完成的是控制通道的FTP协议报文识别;

或者当通过DPI识别出的数据流的五元组信息符合预定的控制通道里面预先协商好的数据通道的五元组信息,那么就标记出该数据流的协议信息是FTP协议,由此完成的是数据通道的FTP协议报文识别。

步骤S707:SDN控制器通过OF(open flow)向网关A下发建立第二层通道协议(LayerTwoTunnelingProtocol,L2TP)隧道需要的隧道建立信息包括:

(1)L2TP客户端的用户名、密码;(2)L2TP服务器的用户名、密码;(3)建立L2TP隧道需要的两个虚拟ip地址,即图1中L2TP客户端的虚接口(wan1口)IP地址:192.168.100.2和L2TP服务器虚接口IP地址:192.168.100.1。

在此步骤中,建立L2TP隧道需要的隧道建立信息可以是SDN控制器下发前由网关A的当前用户配置生成,即,SDN控制器判断需要建立专用隧道时对外显示配置界面,由网关A的当前用户根据实际情况外部输入配置生成;也可以是预先存储在SDN控制器中,以网关A的地址为索引条件唯一建立的;

步骤S708:网关A接收到建立L2TP隧道需要的隧道建立信息后,将L2TP服务器需要的用户名和密码,以及两个虚接口IP地址通过报文发送给RouterA。

此步骤中,对于网关A和RouterA之间的报文传送格式并不限定,只要能够传递所需要的信息即可,而RouterA可以是为建立专用隧道而专门设置的另一个路由器,也可以是转发流量较低的另一个路由器,在此并不作出特别限定。本示例中的RouterA,实际上是用于建立专用隧道的专用路由器。

步骤S709:RouterA根据接收到的隧道建立信息自动配置L2TP服务器的用户名和密码,以及两个虚接口IP地址,由此完成了网关A作为L2TP客户端对RouterA作为L2TP服务器端的信息配置过程,

通过上述的步骤S707-S709,网关A根据SDN控制器下发的配置信息建立好L2TP隧道;

步骤S710:网关A通过netconf接口通知SDN控制器L2TP隧道已经建立完成。

步骤S711:SDN控制器得到L2TP隧道已经建立完成的通知后,通过OF(Openflow)下发给网关A一个路由信息即(五元组信息+下一跳虚接口ip:192.168.100.1)作为网关A中记录的对应于特定五元组信息的策略路由。

步骤S712:网关A将报文(特定五元组信息报文)按照策略路由封装为L2TP报文格式后送入专用隧道(L2TP隧道)进行传送。

在本步骤中,即:经过网关A的wan1口->RouterA->FTP服务器的路径。其中,在已知传送路径的情况下L2TP报文的封装格式和封装内容为本领域技术人员所已知,此处也不再详述。

步骤713:按照网关所记录的五元组信息所对应的转发策略进行转发。

在此步骤中,如果此时的转发策略为特定五元组信息的策略路由,则按照策略路由封装为L2TP报文格式后根据送入专用隧道(L2TP隧道)进行传送,否则,按照普通报文的转发路由进行转发。

步骤714:SDN控制器指示网关A按仍然按照普通业务转发通道进行转发,即,按照会话表中的会话信息进行转发。

在本发明的上述实施例中,如果从FTP服务器下载流量大的文件时经过RouterB,因为其间还有其它的流量,所以下载速度将明显受限,而针对FTP协议报文建立专用通道L2TP隧道后经过RouterA来进行分流转发,由于隧道转发流量的特定性,将必然加快传输速度。由此,上述过程实现了FTP数据的重定向传输过程,提高了网络数据传输速度。由于DPI在SDN控制器侧实现,对于网关的要求较低,使得在网关侧组网更加简单灵活。

上述示例利用SDN技术,将网络设备控制面与数据面分离开来,网关通过使用netconf接口向SDN控制器上送用于进行深度包检测DPI的报文,由SDN控制器对上送的报文进行DPI检测,根据DPI检测出的结果确定路由,通过openflow配置流表实现流量重定向,提升网络数据传输效率。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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