Sdn网络中建立隧道的方法和装置的制造方法

文档序号:8383626阅读:883来源:国知局
Sdn网络中建立隧道的方法和装置的制造方法
【技术领域】
[0001]本申请涉及网络通信技术领域,尤其涉及一种SDN(Software Defined Network,软件定义网络)网络中建立隧道的方法和装置。
【背景技术】
[0002]SDN是当前盛行的一种虚拟化解决方案,其核心理念是将原有的完全由交换机/路由器控制的报文转发方式转换为基于多域网包包头描述的流转发方式,同时将传统网络设备的数据平面(data plane)和控制平面(control plane)相分离,将路由控制功能从网络设备中剥离出来,所有转发行为的决策都迀移到集中式的控制器上,由控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,从而对网络资源的设计、管理和使用提供更多的可能性。换言之,SDN的本质是对网络进行集中控制,实现能够动态分配的灵活网络是SDN网络重要目标。

【发明内容】

[0003]有鉴于此,本申请提供一种SDN网络中建立隧道的方法,应用在控制器上,包括:
[0004]向隧道的端点设备下发隧道端口的创建消息,所述隧道端口对应于待建立的隧道;所述创建消息中包括所述隧道的封装信息和在所述端点设备上的物理出接口 ;
[0005]向所述端点设备下发以所述隧道端口为出接口的流表,所述流表用于指令所述端点设备在将匹配所述流表的原始报文按照所述封装信息进行封装后,从所述物理出接口发送。
[0006]本申请提供的另一种SDN网络中建立隧道的方法,应用在隧道的端点设备上,包括:
[0007]接收控制器的隧道端口创建消息;所述创建消息中包括隧道的封装信息和在所述端点设备上的物理出接口;
[0008]根据所述隧道的封装信息和在所述端点设备上的物理出接口生成对应于所述隧道端口的隧道表;
[0009]接收控制器下发的以所述隧道端口为出接口的流表;
[0010]将匹配所述流表的原始报文按照对应于所述隧道端口的隧道表中的封装信息进行封装后,从所述隧道表中的物理出接口发送。
[0011]本申请还提供了一种SDN网络中建立隧道的装置,应用在控制器上,包括:
[0012]创建消息下发单元,用于向隧道的端点设备下发隧道端口的创建消息,所述隧道端口对应于待建立的隧道;所述创建消息中包括所述隧道的封装信息和在所述端点设备上的物理出接口;
[0013]隧道流表下发单元,用于向所述端点设备下发以所述隧道端口为出接口的流表,所述流表用于指令所述端点设备在将匹配所述流表的原始报文按照所述封装信息进行封装后,从所述物理出接口发送。
[0014]本申请提供的另一种SDN网络中建立隧道的装置,应用在隧道的端点设备上,包括:
[0015]创建消息接收单元,用于接收控制器的隧道端口创建消息;所述创建消息中包括隧道的封装信息和在所述端点设备上的物理出接口;
[0016]隧道表生成单元,用于根据所述隧道的封装信息和在所述端点设备上的物理出接口生成对应于所述隧道端口的隧道表;
[0017]隧道流表接收单元,用于接收控制器下发的以所述隧道端口为出接口的流表;
[0018]入隧道单元,用于将匹配所述流表的原始报文按照对应于所述隧道端口的隧道表中的封装信息进行封装后,从所述隧道表中的物理出接口发送。
[0019]由以上技术方案可见,本申请的实施例将隧道虚拟化为对应的隧道端口,控制器在指令端点设备创建隧道端口时下发隧道的封装和路径信息,在指令端点设备利用隧道转发时通过隧道端口来引用封装和路径信息,实现了控制器对隧道转发路径的集中控制,便于实现SDN网络更好的流量控制。
【附图说明】
[0020]图1是一个例子中SDN控制所在的设备或端点设备的硬件架构示意图;
[0021]图2是一个例子中一种应用在控制器上的SDN网络中建立隧道的方法的流程图;
[0022]图3是一个例子中一种应用在隧道端点设备上的SDN网络中建立隧道的方法的流程图;
[0023]图4是一个例子中一种SDN网络的组网结构图;
[0024]图5是一个例子中一种应用在控制器上的SDN网络中建立隧道的装置的逻辑结构图;
[0025]图6是一个例子中一种应用在隧道端点设备上的SDN网络中建立隧道的装置的逻辑结构图。
【具体实施方式】
[0026]隧道是一种利用公共网络的基础设施在用户网络之间传递数据的方式。隧道在两个端点设备之间提供了一种报文封装手段,由作为隧道起点的端点设备将原始报文(其报头包含发送者的地址和目的地的地址)作为数据载荷,封装在隧道报文(封装后的报文)中传输到隧道对端。原始报文中发送者的地址和目的地的地址称为内部地址,隧道报文的地址称为外部地址,外部地址的源地址和目的地址通常是隧道的两个端点设备在建立隧道时使用的地址。作为隧道终点的端点设备对隧道报文进行解封装,得到原始报文,根据原始报文目的地的地址将其向目的地转发。
[0027]隧道能够将非公共网络协议的报文通过公共网络进行传输,能够隐藏用户私有的网络地址,还能够通过加密原始报文的全部或部分内容来增加数据的安全性,在SDN网络中得到普遍应用,如MPLS (Mult1-Protocol Label Switching,多协议标签交换)、IP隧道等。
[0028]现有技术中,当需要在SDN网络中建立隧道时,网络管理员在SDN控制器和隧道的两个端点设备上配置相同的隧道ID (索引),用来标识同一个隧道。网管服务器或SDN控制器通过网络管理协议将创建隧道的配置指令下发到隧道的两个端点设备上。端点设备运行路由协议来获得隧道的下一跳地址和物理出接口,或者通过网络管理员静态配置来指定隧道的下一跳地址和物理出接口。端点设备创建该隧道(即具有该隧道ID的隧道),生成该隧道的隧道表,包括入隧道表项和出隧道表项,其中入隧道表项包括下一跳地址,以及在将原始报文封装为隧道报文时所需的其他封装信息,出隧道表项包括在将隧道报文解封装为原始报文时所需的解封装信息。
[0029]SDN网络中报文在网络设备上的转发依赖于控制器下发的流表。当有通过隧道转发的报文到达端点设备时,由于未匹配到已有的流表,端点设备将该报文上送到控制器。控制器向端点设备下发通过隧道转发该报文的流表,流表中指定了隧道ID、隧道标签(如MPLS标签、IP隧道的源地址和目的地址),但由于控制器没有与下一跳地址有关的封装信息和该隧道在端点设备上的物理出接口信息,下发给端点设备的流表中将缺少上述内容,需要由端点设备自行填充流表中这些表项。这样,控制器无法对隧道在公用网络中的实际传输路径进行集中控制,不能根据公用网络的全网状态来进行流量控制。如果隧道在某个端点设备上的物理出接口发生变更,控制器需要向该端点设备下发消息,更新通过该隧道转发的所有流表;端点设备在收到更新后的流表后,将新的物理出接口填充到流表中。由于从该端点设备通过隧道发送的报文的流表都需要更新,导致了控制器与端点设备间大量的消息交互和端点设备上大量的流表操作。
[0030]在本申请的一个例子中,运行在控制器上和运行在端点设备上的SDN网络建立隧道的控制逻辑能够实现控制器对隧道实际传输路径的集中控制,以达到更好的流量控制。控制器所在的设备或端点设备可以具有图1所示的硬件结构,包括处理器110、存储器120以及网络接口 130,这些硬件通过内部总线140相互连接。处理器110在存储器120中运行SDN网络建立隧道的控制逻辑,在控制器上的运行流程如图2所示,在端点设备上的运行流程如图3所不。
[0031]在控制器上,步骤210,向隧道的端点设备下发隧道端口的创建消息,,该隧道端口对应于待建立的隧道。
[0032]SDN网络中,控制器上保存有其管理域内被管理设备的信息,如网络设备的物理端口及其状态、网络的连接拓扑、链路状态等。当在管理域内的两个网络设备之间建立隧道时,控制器可以根据所保存的信息计算出隧道在这两个端点设备之间的转发路径,其中包括隧道在端点设备上的物理出接口
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1