一种SDN网络与IP网络的数据交互方法与流程

文档序号:11148043阅读:387来源:国知局
一种SDN网络与IP网络的数据交互方法与制造工艺
本发明涉及计算机网络应用
技术领域
,更具体地,涉及一种SDN网络与IP网络的数据交互方法。
背景技术
:软件定义网络(SoftwareDefineNetworking)最早是由美国斯坦福大学Cleanslate研究组提出的一种新型的网络体系架构,其核心思想是将控制平面与转发平面分离,采用集中控制的方式,通过软件编程和标准化的开发接口使网络更加开放、灵活及具备可拓展性,从而能够在了解整个网络信息的基础上更好的实现对网络的精细管理和优化,有利于促进网络技术的发展与进步。虽然SDN网络具有众多优点,但由于SDN网络的架构对于现阶段的网络架构是颠覆性的改变,其对数据报文的处理模式和硬件设备与现在的路由交换设备有很大差异,目前SDN网络与IP网络并不能直接实现互连通信,从传统的IP网络过渡到SDN网络将会是一个异常复杂和漫长的道路,因此研究IP网络和SDN网络共存下的通信机制具有非常重要的意义。现有的一种利用BGP协议完成SDN网络和IP网络互连的通信方法是将整个SDN网络看作一个虚拟标准路由器。这种方案中将SDN控制器模拟成一个路由器向BGP边缘路由器发送SDN网络信息,然后SDN控制器从BGP边缘路由器获取IP网络的路由信息。但是这种方法在具体实施的时候SDN控制器需要有多个物理网口与BGP边缘路由器相连,并且需要控制器参与处理庞大的EBGP路由信息,给控制器带来一定负担。这种方法的灵活性和可拓展性较差。技术实现要素:本发明为解决以上现有技术的难题,提供了一种SDN网络与IP网络的数据交互方法,该方法在SDN网络内增设一个本地主机,并使本地主机和IP网络的边缘路由器实现SDN网络、IP网络拓扑信息的共享,SDN控制器根据共享的路由信息即可确定数据转发的路径,而在构建数据转发路径后,不需要SDN控制器再参与消息解析和计算新路径,减轻了SDN控制器处理负担。为实现以上发明目的,采用的技术方案是:一种SDN网络与IP网络的数据交互方法,所述SDN网络包括SDN控制器、本地主机、主机j和边缘交换机;所述IP网络包括边缘路由器和主机k,主机k和边缘路由器物理连接;SDN控制器与本地主机物理连接,SDN控制器与边缘交换机逻辑连接,边缘交换机与边缘路由器、主机j物理连接,本地主机与边缘交换机逻辑连接,本地主机与边缘路由器逻辑连接;所述数据交互方法具体包括以下步骤:(1)本地主机与边缘路由器实现SDN网络、IP网络拓扑信息的共享S11.SDN控制器从本地主机处获取SDN网络的路由信息,了解SDN网络的拓扑结构;S12.边缘路由器通过边缘交换机向本地主机发送协议数据包,边缘交换机接收协议数据包后将协议数据包以Packet_In消息的形式转发至SDN控制器;S13.SDN控制器判断协议数据包的目的地是否为本地主机,若是则计算并选择协议数据包从边缘交换机传输至本地主机的路径,然后SDN控制器向选择的路径沿途的边缘交换机下发流表项,从而建立起数据路径;S14.边缘路由器的发送的协议数据包通过数据路径传输至本地主机,本地主机对接收的协议数据包进行处理后得到IP网络的路由信息,然后将得到的IP网络的路由信息传输给SDN控制器,SDN控制器进行存储;S15.本地主机通过边缘交换机向边缘路由器发送协议数据包,边缘交换机接收协议数据包后将协议数据包以Packet_In消息的形式转发至SDN控制器;S16.SDN控制器判断协议数据包的目的地是否为边缘路由器,若是则计算并选择协议数据包由本地主机传输至边缘路由器的路径,然后SDN控制器向选择的路径沿途的边缘交换机下发流表项,从而建立起数据路径;S17.本地主机的发送的协议数据包通过数据路径传输至边缘路由器,边缘路由器对接收的协议数据包进行处理后得到SDN网络的路由信息,然后进行存储;(2)SDN网络与IP网络的数据交互1)IP网络的主机k向SDN网络的主机j发送数据S21.IP网络的主机k发送ARP请求数据报文,目的IP为主机j,ARP请求数据报文通过边缘路由器的传递作用后到达边缘交换机,边缘交换机将ARP请求数据报文以Packet_In消息的形式转发至SDN控制器;S22.SDN控制器判断ARP请求数据报文的目的IP是否为SDN网络的主机,若是则对边缘交换机至主机j之间的路径进行选择,然后SDN控制器向选择的路径沿途的边缘交换机下发双向的流表项,从而建立起边缘交换机至主机j之间的数据路径;S23.SDN控制器封装ARP回复数据包,并以Packet_Out消息的形式下发给边缘交换机,边缘交换机将该消息转发至边缘路由器,边缘路由器再传递至主机k;S24.主机k接收到ARP回复数据包后,开始向主机j发送数据;2)SDN网络的主机j向IP网络的主机k发送数据S25.SDN网络的主机j发送ARP请求数据报文,目的IP为主机k,ARP请求数据报文传递到边缘交换机,边缘交换机将ARP请求数据报文以Packet_In消息的形式转发至SDN控制器;S26.SDN控制器判断ARP请求数据报文的来源IP是否为SDN网络的主机,若是则对边缘交换机至边缘路由器之间的路径进行选择,SDN控制器向选择的路径沿途的边缘交换机下发双向的流表项,从而建立起边缘交换机到边缘路由器之间的数据路径;S27.SDN控制器封装ARP回复数据包,并以Packet_Out消息的形式下发给边缘交换机,边缘交换机将该消息转发至主机j;S28.主机j接收到ARP回复数据包后,开始向主机k发送数据。优选地,所述SDN控制器定时向SDN网络中的边缘交换机发送状态请求信息,然后根据边缘交换机的回复计算出边缘交换机各个端口的实时流量数据,根据计算的数据为路径的选取提供依据。优选地,所述(1)、(2)中对路径进行选取时,选取的是两个设备之间最短的路径。优选地,所述(1)、(2)中建立起数据路径后,SDN网络定时向SDN网络中的边缘交换机发送端口状态请求消息,并根据边缘交换机的回复感知链路流量状况,然后重新建立起优化后的路径。与现有技术相比,本发明的有益效果是:本发明提供的方法在SDN网络内增设一个本地主机,并使本地主机和IP网络的边缘路由器实现SDN网络、IP网络拓扑信息的共享,SDN控制器根据共享的路由信息即可确定数据转发的路径,而在构建数据转发路径后,不需要SDN控制器再参与消息解析和计算新路径,减轻了SDN控制器处理负担。与现有技术相比,其可扩展性和灵活性得到了增强。附图说明图1为SDN网络和IP网络的架构图一。图2为方法的流程图。图3为SDN网络和IP网络的架构图二。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;以下结合附图和实施例对本发明做进一步的阐述。实施例1SDN网络、IP网络的框架具体如图1所示,其中边缘路由器R1的端口1直连边缘交换机S1,该端口IP地址为100.0.0.1,MAC地址为00:00:00:00:00:01,边缘路由器R2的端口1直连边缘交换机S2,该端口IP地址为100.0.0.2,MAC地址为00:00:00:00:00:02;由边缘交换机、控制器和本地主机构成的SDN网络,其中本地主机上连接边缘交换机S3的接口Eth0设置两个虚拟网口(IP:10.0.1.1,10.0.1.2),设置MAC地址为00:00:00:00:00:03,IP网络通过边缘路由器R1、R2与SDN网络的边缘交换机S1、S2物理直连,边缘交换机S1的端口1连接边缘路由器R1,边缘交换机S2的端口1连接边缘路由器R2;SDN网络内,控制器IP地址为10.0.2.2,本地主机的端口2与其物理直连,接口地址为10.0.2.1;本地主机的端口1与边缘交换机S3的端口3物理直连,与边缘路由器R1、边缘路由器R2逻辑相连;在图1所示的拓扑图中,SDN网络、IP网络拓扑信息的共享的具体过程如下:(1)控制器启从本地主机处获取SDN网络的路由信息,以了解全网拓扑结构;(2)IP网络的边缘路由器R1发出到边缘交换机S1的协议数据包由于没有相关匹配的流表项被以Packet_In消息的形式转发至控制器;(3)Ryu控制器接解析此Packet_In消息,得到结果如下:(4)控制器根据分析判断出这个包目的地是SDN网络内的本地主机,并且根据掌握的全局视图对数据包要到达的目的主机的路径进行分析计算,得到以下路径:S1-S3-本地主机。(5)控制器向沿途的边缘交换机下发流表项,建立数据路径:边缘交换机S1上下发的流表项规则:匹配规则:eth_type=IPV4,eth_dst=00:00:00:00:00:03,ipv4_dst=10.0.1.1处理方式:将数据包从端口2转发边缘交换机S2上下发的流表项规则:匹配规则:eth_type=IPV4,eth_dst=00:00:00:00:00:03,ipv4_dst=10.0.1.1处理方式:将数据包从端口3转发然后将匹配规则中源IP、MAC地址改为本地主机的地址,将目的IP和MAC改为边缘路由器R1的地址,将出端口改为数据流入端口,再下发两条流表,建立双向通信路径,经过上述步骤,后续从边缘路由器R1发往本地主机的协议数据包就可以沿此路径到达本地主机,类似的,本地主机发出的数据包可以按照反向路径到达边缘路由器R1,这样边缘路由器R1与SDN网络内本地主机就完成了网络拓扑信息的互通。下面结合图2的数据包转发流程图以及图3的网络结构拓扑图对数据路径建立进行说明。这里网络拓扑图配置与图1类似,主机H1的IP地址为192.168.1.1,所在网络为192.168.1.0/24,主机H2的IP地址为192.168.2.1,所在网络为192.168.2.0/24,与SDN网络相连的边缘路由器IP地址是10.0.0.2。SDN网络内主机H3的IP地址为192.168.3.1,MAC地址为00:00:00:00:00:04。由IP网络中的主机H1到SDN网络中的主机H3数据路径建立步骤如下:(1)H1发出一个ARP请求数据报文,目的IP为H3,通过边缘路由器R1,经边缘交换机以Packet_In消息的形式转发至控制器;(2)控制器解析目的IP,判断出是发往本地主机的ARP数据请求报文,通过与在DHCP服务中获得的主机位置信息表获取到H3的MAC地址,相连接的边缘交换机S4以及出端口ETH3,信息表内容如下:IPMACDPIDPORT_NO192.168.3.100:00:00:00:00:0443(3)控制器封装ARP回复数据包,以Packet_Out的形式下发给S1,并告知S1将此数据流从端口1转发出去;(4)控制器根据源边缘交换机S1以及目的边缘交换机S4计算出最短路径S1-S2-S4,沿路径下发一对双向流表项:匹配规则1:目的IP:192.168.3.1,执行动作:修改数据报包头的目的MAC为H3的MAC地址00:00:00:00:00:04;匹配规则2:目的IP:192.168.1.0,执行动作:修改数据报包头的目的MAC为R1的MAC地址00:00:00:00:00:01;(5)H1收到ARP回复报文后,认为数据路径已经建立,开始向H3传送数据报文。建立了双向路径,可以在SDN网络内主机H3向H1通信时,不需要控制器再参与消息解析和计算新路径,减轻了控制器处理负担,使系统更加灵活便捷。需要补充的是,控制器会定时向各个边缘交换机发出状态请求消息,根据边缘交换机的回复感知链路流量状况重新建立优化后的数据路径。本例中若H2同时向H3发送数据,建立数据路径S2-S4,控制器感知到由H1-H3路径中带宽占用率较高,而有备用路径S1-S3-S4较空闲,会自动将原路径切换到备用路径上,以提高链路利用率。由SDN网络内主机H3向IP网络中主机H1通信时,需要获取达到目的网络的下一跳地址,这里H1所在的网络为192.168.1.0/24,它与SDN网络相连接的边界路由器IP地址是100.0.0.1,也就是说,去往192.168.1.0/24网络的下一跳地址100.0.0.1。在边缘路由器R1与SDN网络内本地主机建立起连接后,边缘路由器R1宣布自己域内路由信息,本地主机更新自己的路由表:NetworkNextHop192.168.1.0/24100.0.1.0控制器中从本地主机获取这条路由信息后添加一条路由条目,如下所示:R1(192.168.1.0/24,下一跳:本地)--->本地主机(192.168.1.0/24,下一跳:100.0.0.1)--->控制器(192.168.1.0/24,下一跳:100.0.0.1)获取这条路由条目后,控制器计算传输最短路径S4-S2-S1,并且下发一对双向流表:匹配规则1:目的IP:192.168.1.0,执行动作:修改数据报包头的目的MAC为R1的MAC地址00:00:00:00:00:01;匹配规则2:目的IP:192.168.3.1,执行动作:修改数据报包头的目的MAC为H3的MAC地址00:00:00:00:00:04。建立双向流表后,与之前所述类似,当IP网络主机访问SDN网络主机时,就不需要控制器再次解析消息计算路径,从而减轻了控制器的负担。显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1