一种基于虚拟域的软件定义网络转发控制方法与流程

文档序号:15151776发布日期:2018-08-10 21:11阅读:248来源:国知局
本发明属于网络交换与路由
技术领域
:,涉及软件定义网络openflow流表转发方法的研究,具体是指一种基于虚拟域的软件定义网络转发控制方法。
背景技术
::随着互联网技术的不断发展和完善,各式各样的网络互联设备层出不穷,网络组成变得越来越复杂,管理如此庞大的网络变得越来越困难。为满足未来网络的智能、灵活、便捷等发展需求,人们希望通过一种软件的、集中管理方式对网络进行统一的管控,软件定义网络(sdn)的概念由此而来。openflow协议是软件定义网络架构中第一个控制器与交换机之间的通信协议。以openflow协议为基础的软件定义网络是控制器通过流表的方式对网络交换与路由进行控制。利用openflow协议,控制器可以主动或被动地增加、更新和删除流表中的流表条目;sdn交换机根据流表条目进行网络数据转发。在传统网络架构下做网络编程应用开发,存在如下不足:其一,由于传统网络交换与路由侧功能单一且扩展性差,应用开发人员在开发终端网络应用时,不仅要进行终端功能的设计实现,而且要进行网络侧的部分功能设计,这给终端网络应用开发者提出了更高的知识要求;其二,由于当前网络应用开发者想要实现一些特定的网络转发功能时,需要了解真实的网络信息,进行点对点的传输,然而网络的状态可能在不断变化和更新,网络应用也要随着网络变化进行相应的适配工作,这样的做法使网络失去了透明性。技术实现要素:本发明采用软件定义网络的方式,明确网络分工,在网络侧编程应用软件,通过控制器进行网络侧功能设计,把网络侧的功能集中在网络侧实现,终端网络应用开发者只需要专注于终端的功能实现,不需要关注网络侧复杂的网络问题。利用虚拟域,网络终端只需要知晓简单的虚拟域值,而不需要知道复杂多变的真实网络信息,以此屏蔽了底层真实的网络信息,增加了网络透明性,节省了应用开发开销;具体是一种基于虚拟域的软件定义网络转发控制方法。具体步骤如下:步骤一、建立包括sdn交换机、sdn控制器、无线基站服务器和数据收、发终端设备的通信场景,每个设备具有唯一有效的网络标识信息。网络标识信息由每个设备自己的真实ip地址,mac地址以及udp端口等组成。步骤二、针对某个待传输的视频数据,构建虚拟域,利用虚拟ip地址、虚拟mac地址和虚拟udp端口标识数据流和控制流;数据流标识设为虚拟ip1地址、虚拟mac1地址和虚拟udp1端口;控制流标识设为虚拟ip2地址、虚拟mac2地址和虚拟udp2端口;数据流标识构建如下:针对待传输的视频数据,经过无线网络传送给数据接收终端设备时,中间需要经过多种网络设备进行转发,利用虚拟域屏蔽中间无线网络设备的网络信息差异,把所有中间无线网络设备的ip地址、mac地址、udp端口等信息统一用虚拟ip1地址、虚拟mac1地址和虚拟udp1端口标识。如此,视频数据流只需要发往确定的目的地址虚拟ip1即可,实际网络设备的选择由sdn控制器决定。控制流标识构建如下:与数据流标识信息类型一致,将携带控制信息的目的地址设为:虚拟ip2地址、虚拟mac2地址和虚拟udp2端口标识。步骤三、根据虚拟域,对udp数据包的头部和数据内容分别设计,得到控制流的控制信令;udp数据包的头部携带虚拟ip2地址的字段信息,同时udp数据包数据包负载为任意值。步骤四、sdn交换机和sdn控制器建立连接,sdn控制器把table_miss流表条目写入到sdn交换机中;首先,当sdn交换机和sdn控制器建立连接,sdn交换机被sdn控制器抽象为datapath对象,然后,sdn交换机发送异步switchfeatures消息,sdn控制器调用switchfeatures事件处理器处理,将table_miss流表条目写入到sdn交换机中;switchfeatures事件处理器的作用是新建一个table0流表,流表中添加进一个table_miss流表条目,流表条目优先级为0,匹配域为缺省,动作为把接收到的数据包作为packet-in消息负载转发到sdn控制器。步骤五、数据发送终端设备发出第一条arp寻址包信令,与sdn交换机中的流表条目table_miss匹配,table_miss流表项触发openflow中packet-in消息,发送到sdn控制器;packet-in消息中包含虚拟ip的arp寻址包消息作为负载信息。步骤六、sdn控制器回复packetout消息,同时下发业务定制的初始流表条目给sdn交换机;sdn控制器甄别控制流和数据流的虚拟ip值并对不同的arp消息析构并逆向修改,最终利用packetout消息回复;业务定制的初始流表匹配域包含虚拟ip信息,共两套,每套分别有四个;第一套流表条目如下:a、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,目的mac地址是虚拟mac1,协议类型是arp数据包;优先级为4;动作是把arp数据包作为packet-in消息的负载利用packet-in消息发送到sdn控制器。优先级为4是指大于0并且小于65535;b、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,目的mac地址是虚拟mac2,协议类型是arp数据包;优先级为4;动作是把arp数据包作为packet-in消息的负载利用packet-in消息发送到sdn控制器。c、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port1;优先级为65535;协议类型是udp数据包,动作是利用openflow中set-field命令把udp数据包的数据包头对应字段做修改,ip1修改为lte/wifi基站服务器真实ip,mac1修改为lte/wifi基站服务器真实mac,port1修改为lte/wifie基站服务器真实udp端口,并且输出到ltelte/wifi基站服务器连接的交换机端口。d、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port2;优先级为65535;协议类型是udp数据包,动作是把udp数据包作为packet-in消息的负载利用packet-in消息发送到控制器。第二套流表条目如下:e、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,目的mac地址是虚拟mac1,协议类型是arp数据包;优先级为4;动作是利用openflow中set-field命令把arp数据包的数据包头对应字段做逆向修改,虚拟ip1修改为源ip,目的mac修改为源mac,源ip修改为虚拟ip1,源mac修改为虚拟mac1,网络类型修改为rarp,并且输出arp数据包进入的交换机端口。f、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,目的mac地址是虚拟mac2,协议类型是arp数据包;优先级为4;动作是利用openflow中set-field命令把arp数据包的数据包头对应字段做逆向修改,虚拟ip2修改为源ip,目的mac修改为源mac,源ip修改为虚拟ip2,源mac修改为虚拟mac2,网络类型修改为rarp,并且输出arp数据包进入的交换机端口。g、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port1;优先级为65535;协议类型是udp数据包,动作是利用openflow中set-field命令把udp数据包的数据包头对应字段做修改,ip1修改为lte/wifi基站服务器真实ip,mac1修改为lte/wifi基站服务器真实mac,port1修改为lte/wifi基站服务器真实udp端口,并且输出到lte/wifi基站服务器连接的交换机端口。h、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port2;优先级为65535;协议类型是udp数据包,动作是把udp数据包作为packet-in消息的负载利用packet-in消息发送到控制器。步骤七、针对数据发送终端设备发出的第二个及之后的arp寻址包信令,将当前arp寻址包信令与sdn交换机中的流表条目进行匹配,并根据不同的流表条目进行sdn交换机回复消息或sdn控制器回复消息;匹配的sdn交换机中的流表条目为第一套,触发openflow中packet-in消息,将当前arp寻址包信令作为packet-in消息的负载,发送到sdn控制器并利用packet-out消息回复。匹配的sdn交换机中的流表条目为第二套,流表条目匹配域包含虚拟ip信息,则sdn交换机的动作条目利用openflow中set-field命令对此arp数据包进行逆向修改,sdn交换机利用修改后的rarp包直接回复。步骤八、根据sdn交换机的回复消息或sdn控制器的回复消息,数据发送终端设备发出发往不同虚拟ip地址的udp视频数据包的控制信令,sdn交换机根据自身现有的流表条目进行处理并确定交换机输出或者经过网络切换输出;具体处理如下:udp视频数据包的控制信令如果发往虚拟ip1,流表条目匹配域必须包含虚拟ip1地址及相关的udp端口等必要信息,采用的匹配流表条目为c或g;动作条目利用openflow中set-field命令对此类udp数据包进行数据包头部修改,然后在实际的物理设备连接的交换机端口输出。udp视频数据包信令如果发往虚拟ip2地址,流表条目匹配域必须包含虚拟ip2地址等必要信息,采用的匹配流表条目为d或h;此类控制信令负责网络切换控制,用于触发openflow中packet-in消息,sdn控制器对packet-in消息中关键信息的采集匹配,进行切换网络输出。具体步骤如下:步骤i、sdn控制器提取packet-in消息的负载信息。packet-in负载信息为包含发往虚拟ip地址的udp数据包的控制信令,发往虚拟ip地址的arp寻址数据包或者任何不匹配的数据包;步骤ii、析构负载信息,并判断是否为arp寻址数据包,如果是,进入步骤iii;否则,进入步骤vi;步骤iii、判断该arp寻址数据包的ip字段是否为虚拟ip1或虚拟ip2;如果是,进入步骤iv,否则,丢弃或进行其他业务处理。步骤iv、判断控制器是否已经下发了业务定制的初始流表给交换机。如果是,进入步骤v,否则,控制器下发业务定制的初始流表给交换机,进入步骤v。步骤v、sdn控制器对接收到的此类arp数据包进行逆向修改,回复给发送端一个rarp确认信息,使得虚拟ip1与虚拟ip2有效;步骤vi、判断该数据包是否为udp数据包,如果是,进入步骤vii;否则,丢弃或进行其他业务处理。步骤vii、判断该数据包的目的mac字段是否为虚拟mac2,如果是,进入步骤viii;否则,丢弃或进行其他业务处理。步骤viii、判断该数据包的目的udp端口字段是否为虚拟port2,如果是,修改交换机流表项,完成lte基站向wifi基站的链路切换或者wifi基站向lte基站的链路切换。否则,丢弃或进行其他业务处理。修改交换机流表项是指把初始流表中的流表条目c或g修改为:匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port1;优先级为65535;协议类型是udp数据包,动作是利用openflow中set-field命令把udp数据包的数据包头对应字段做修改,ip1修改为wifi/lte基站服务器真实ip,mac1修改为wifi/lte基站服务器真实mac,port1修改为wifi/lte基站服务器真实udp端口,并且输出到wifi/lte基站服务器连接的交换机端口。udp视频数据包信令不发往虚拟ip1和虚拟ip2,与table_miss流表条目匹配,最终sdn控制器进行丢弃或进行其他业务处理。本发明的优点在于:1)、一种基于虚拟域的软件定义网络转发控制方法,通过设计虚拟域,利用虚拟域中不同的匹配值,实现彻底的转控分离设计,是软件定义网络应用开发的一种有效的设计模式。2)、一种基于虚拟域的软件定义网络转发控制方法,虚拟域屏蔽了底层物理的或虚拟网络设备的差异性,增加了网络透明性,业务服务方和被服务方都不需要关心真实网络具体的实现细节。3)、一种基于虚拟域的软件定义网络转发控制方法,终端应用开发者仅仅只需要知道网络管理员设计的虚拟域中的特定值即可,可以专注于终端功能的开发,网络侧功能完全交于sdn业务应用和sdn控制器实现,这样做大大的降低终端用户的应用开发开销的同时大大的提高了网络健壮性。附图说明图1为本发明构建的无线网络切换通信场景示意图。图2为本发明应用于无线网络切换场景控制器控制流程示意图。图3为本发明基于虚拟域的软件定义网络转发控制方法的流程图;图4为本发明sdn控制器对packet-in消息进行切换网络输出的流程图。具体实施方式下面结合附图对本发明的具体实施方法进行详细说明。本发明提供一种基于虚拟域的软件定义网络转发控制方法,首先设计虚拟域,确定虚拟域中的每个虚拟值的作用。然后可以设计一些包含虚拟域值的控制信令,控制信令的作用是让sdn控制器可以进行虚拟域值匹配,开发者针对不同的虚拟域值对流表项做不同的处理,最后通过sdn控制器把开发者针对网络具体功能场景设计定制的openflow流表项下发到sdn交换机,从而完成软件定义网络转发控制。根据业务应用程序,视频业务源端仅需要知道特殊的虚拟域值,针对特殊的虚拟域值只进行简单的数据发送即可完成数据业务在多种网络间的无间断传输,虚拟域屏蔽了真实的网络差异,收发终端不需要知道真实网络转发实现细节,业务需求的网络转发控制功能全部移交到sdn控制器进行软件实现;同时数据流和控制流由虚拟域中不同的值进行区分标记,实现了数据流和控制流彻底的转控分离。如图3所示,具体为如下步骤:步骤一、建立包括sdn交换机、sdn控制器、无线基站服务器和数据收、发终端设备的通信场景,每个设备具有唯一有效的网络标识信息。如图1所示,整个场景由sdn交换机网络、无线基站服务器、数据收、发终端设备组成,视频源端把视频数据经过无线网络传送给终端用户,中间需要经过的lte基站服务器和wifi基站服务器等多种网络中间设备进行转发,本实施例中基站到最终用户终端的部分保持始终连通,为了保持视频业务的正常不间断传输,需要在多种无线网络基站间进行选择。本实施例中无线基站服务器、数据收、发终端设备都有自己的真实ip地址、mac地址以及udp端口等组成网络标识信息,不同设备的网络标识信息在局域网络中唯一且有效。步骤二、针对某个待传输的视频数据,构建虚拟域,利用虚拟ip地址、虚拟mac地址和虚拟udp端口标识数据流和控制流;在多种多样的网络标识信息中选择其中一种或几种标识信息构建虚拟域,本发明选择ip地址、mac地址、udp端口等信息构建虚拟域;数据流标识设为虚拟ip1地址、虚拟mac1地址和虚拟udp1端口;控制流标识设为虚拟ip2地址、虚拟mac2地址和虚拟udp2端口;数据流标识构建如下:针对待传输的视频数据,经过无线网络传送给数据接收终端设备时,中间需要经过多种网络设备进行转发,利用虚拟域屏蔽中间无线网络设备的网络信息差异,相当于把中间多种无线基站服务器虚拟化为一个大的虚拟化基站,大虚拟化基站的ip地址、mac地址、udp端口等信息用统一用一个虚拟ip地址、mac地址、udp端口标识。如此,视频数据流只需要发往确定的虚拟ip地址,实际的网络(基站服务器)选择由sdn控制器决定。相应的,还需要标识控制流,控制流的标识信息采用和数据流的标识信息类型一致,采用另一个虚拟ip地址、mac地址标识。如图2所示,本例中利用虚拟ip1(10.0.0.9)来标识数据流,利用虚拟ip2(10.0.0.8)来标识控制流,意思是视频数据的目的地址为虚拟ip1、虚拟mac1以及虚拟udp端口port1,把携带控制信息的目的地址为虚拟ip2、虚拟mac2以及虚拟udp端口port2。步骤三、根据虚拟域,对udp数据包的头部和数据内容分别设计,得到控制流的控制信令;确定了虚拟域后需要设计控制流的控制信令,控制信令包含信令头部设计和信令负载。本发明采用udp的方式发送控制信令,在udp数据包头部包含了一些ip字段信息,所以可以直接利用发往ip2(控制流标识信息)的udp数据包作为控制信令,sdn控制器通过提取udp数据包的ip字段信息,进而可以判断控制信息的有无。如果需要进行一些复杂的匹配操作,可以对信令负载做设计,即对udp数据包中数据内容部分进行设计。鉴于图1的切换场景比较简单,利用udp控制流的有无状态来切换选择两个中间设备,所以没有对数据包数据部分进行设计,可以包含任意值。步骤四、sdn交换机和sdn控制器建立连接,sdn控制器把table_miss流表条目写入到sdn交换机中;sdn控制器选用开源ryu控制器,ryu可以接收和解析openflow消息,ryu利用事件进行ryu中模块之间的通信。首先,当sdn交换机和ryu建立连接,sdn交换机在控制器侧会被抽象为一个datapath对象。该datapath对象会将接收到的数据报文转化成对应的事件进行发布。然后,初始化交换机中的流表项,sdn交换机发送异步switchfeatures消息,注册了对应事件的模块将收到事件并sdn控制器调用对应的事件处理器switchfeatures处理,将table_miss流表条目写入到sdn交换机中;switchfeatures事件处理器的作用是新建一个table0流表,流表中添加进一个table_miss流表条目,流表条目优先级为0,匹配域为缺省,动作为把接收到的数据包作为packet-in消息负载转发到sdn控制器。有了table_miss流表条目,数据包在交换机找不到匹配的流表项的时候,此流表项就会生效,把数据包打包成packet-in消息发送给ryu控制器。ryu接到消息,转化为packet-in事件,进而调用packet-in事件处理器处理,packet-in事件处理逻辑既是本文实现对虚拟ip甄别和做出相应网络决策的主要内容。步骤五、数据发送终端设备发出第一条arp寻址包信令,与sdn交换机中的流表条目table_miss匹配,table_miss流表项触发openflow中packet-in消息,发送到sdn控制器;packet-in消息中包含虚拟ip的arp寻址包消息作为负载信息。步骤六、sdn控制器回复packetout消息,同时下发业务定制的初始流表条目给sdn交换机;sdn控制器甄别控制流和数据流的虚拟ip值并对不同的arp消息析构并逆向修改,最终利用packetout消息回复;基于openflow的软件定义网络是通过流表的方式进行网络管理,sdn控制器通过下发流表给交换机,交换机按照流表条目进行数据转发;想要实现网络功能即需要设计流表条目。业务定制的初始流表匹配域包含虚拟ip信息,共两套,每套分别有四个;利用sdn控制器回复arp寻址消息,则第一套流表条目如下:a、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,目的mac地址是虚拟mac1,协议类型是arp数据包;优先级为4;动作是把arp数据包作为packet-in消息的负载利用packet-in消息发送到sdn控制器。优先级为4是指大于0并且小于65535;b、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,目的mac地址是虚拟mac2,协议类型是arp数据包;优先级为4;动作是把arp数据包作为packet-in消息的负载利用packet-in消息发送到sdn控制器。c、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port1;优先级为65535;协议类型是udp数据包,动作是利用openflow中set-field命令把udp数据包的数据包头对应字段做修改,ip1修改为lte/wifi基站服务器真实ip,mac1修改为lte/wifi基站服务器真实mac,port1修改为lte/wifi基站服务器真实udp端口,并且输出到lte/wifi基站服务器连接的交换机端口。d、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port2;优先级为65535;协议类型是udp数据包,动作是把udp数据包作为packet-in消息的负载利用packet-in消息发送到控制器。下发了业务定制的流表后,控制器对此类arp数据包进行逆向修改,回复给发送端一个rarp确认信息,使得虚拟ip1与虚拟ip2有效;视频源端可以进行下一步的udp数据流发送。利用sdn交换机直接回复arp寻址消息,第二套流表条目如下:e、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,目的mac地址是虚拟mac1,协议类型是arp数据包;优先级为4;动作是利用openflow中set-field命令把arp数据包的数据包头对应字段做逆向修改,虚拟ip1修改为源ip,目的mac修改为源mac,源ip修改为虚拟ip1,源mac修改为虚拟mac1,网络类型修改为rarp,并且输出arp数据包进入的交换机端口。f、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,目的mac地址是虚拟mac2,协议类型是arp数据包;优先级为4;动作是利用openflow中set-field命令把arp数据包的数据包头对应字段做逆向修改,虚拟ip2修改为源ip,目的mac修改为源mac,源ip修改为虚拟ip2,源mac修改为虚拟mac2,网络类型修改为rarp,并且输出arp数据包进入的交换机端口。g、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port1;优先级为65535;协议类型是udp数据包,动作是利用openflow中set-field命令把udp数据包的数据包头对应字段做修改,ip1修改为lte/wifi基站服务器真实ip,mac1修改为lte/wifi基站服务器真实mac,port1修改为lte/wifi基站服务器真实udp端口,并且输出到lte/wifi基站服务器连接的交换机端口。h、匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip2,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port2;优先级为65535;协议类型是udp数据包,动作是把udp数据包作为packet-in消息的负载利用packet-in消息发送到控制器。步骤七、针对数据发送终端设备发出的第二个及之后的arp寻址包信令,将当前arp寻址包信令与sdn交换机中的流表条目进行匹配,并根据不同的流表条目进行sdn交换机回复消息或sdn控制器回复消息;针对发往虚拟ip1和虚拟ip2的arp寻址数据包,匹配的sdn交换机中的流表条目为第一套,触发openflow中packet-in消息,packet-in消息中包含虚拟ip的arp消息作为负载信息,发送到sdn控制器,控制器针甄别控制流和数据流的虚拟ip值并对不同的arp消息析构并逆向修改,最终利用packet-out消息回复。匹配的sdn交换机中的流表条目为第二套,交换机中的流表条目需要能够回复此类arp包,以此使虚拟ip生效。流表条目匹配域包含虚拟ip信息,则sdn交换机的动作条目利用openflow中set-field命令对此arp数据包进行逆向修改,sdn交换机利用修改后的rarp包直接回复。步骤八、根据sdn交换机的回复消息或sdn控制器的回复消息,数据发送终端设备发出发往不同虚拟ip地址的udp视频数据包的控制信令,sdn交换机根据自身现有的流表条目进行处理并确定交换机输出或者经过网络切换输出;具体处理如下:udp视频数据包的控制信令如果发往虚拟ip1,流表条目匹配域必须包含虚拟ip1地址及相关的udp端口等必要信息,采用的匹配流表条目为c或g;动作条目利用openflow中set-field命令对此类udp数据包进行数据包头部修改,然后在实际的物理设备连接的交换机端口输出。udp视频数据包信令如果发往虚拟ip2地址,流表条目匹配域必须包含虚拟ip2地址等必要信息,采用的匹配流表条目为d或h;此类控制信令负责网络切换控制,实现实际lte基站和wifi基站的选择。控制器必须对此类消息进行处理,所以此类消息必须触发openflow中packet-in消息,packet-in消息中可以包含udp控制信令数据包作为packet-in消息的负载信息。通过sdn控制器对packet-in消息中关键信息的采集匹配,识别udp控制信令数据包中的ip2标识,进而利用flow-mod消息对交换机中现有的流表条目进行更新修改,进而完成转发控制,完成网络选路。如图4所示,具体步骤如下:步骤i、sdn控制器提取packet-in消息的负载信息。如图2所示,无线网络切换场景管控应用,packet-in负载信息为需要处理的消息:包括发往虚拟ip2的udp控制信令、发往虚拟ip1的udp视频数据包、发往虚拟ip1和虚拟ip2的arp寻址数据包,或者任何不匹配的数据包;所以控制器的流表设计也包含这些方面。包含发往虚拟ip地址的udp数据包的控制信令,发往虚拟ip地址的arp寻址数据包步骤ii、析构负载信息,并判断是否为arp寻址数据包,如果是,进入步骤iii;否则,进入步骤vi;步骤iii、判断该arp寻址数据包的ip字段是否为虚拟ip1或虚拟ip2;如果是,进入步骤iv,否则,丢弃或进行其他业务处理。步骤iv、判断控制器是否已经下发了业务定制的初始流表给交换机。如果是,进入步骤v,否则,控制器下发业务定制的初始流表一次性下发给交换机,进入步骤v。本业务定制的流表一次性下发给交换机,这样交换机可以保证一路正常传输,不能进行切换;步骤v、sdn控制器对接收到的此类arp数据包进行逆向修改,回复给发送端一个rarp确认信息,使得虚拟ip1与虚拟ip2有效;步骤vi、判断该数据包是否为udp数据包,如果是,进入步骤vii;否则,丢弃或进行其他业务处理。步骤vii、判断该数据包的目的mac字段是否为虚拟mac2,如果是,进入步骤viii;否则,丢弃或进行其他业务处理。步骤viii、判断该数据包的目的udp端口字段是否为虚拟port2,如果是,修改交换机流表项,完成lte基站向wifi基站的链路切换或者wifi基站向lte基站的链路切换。否则,丢弃或进行其他业务处理。修改交换机流表项是指把初始流表中的流表条目c或g修改为:匹配域为进端口为视频源服务器连接的交换机端口、目的ip地址是虚拟ip1,源ip地址是视频源真实ip;目的udp端口是虚拟udp端口port1;优先级为65535;协议类型是udp数据包,动作是利用openflow中set-field命令把udp数据包的数据包头对应字段做修改,ip1修改为wifi/lte基站服务器真实ip,mac1修改为wifi/lte基站服务器真实mac,port1修改为wifi/lte基站服务器真实udp端口,并且输出到wifi/lte基站服务器连接的交换机端口。udp视频数据包信令不发往虚拟ip1和虚拟ip2,与table_miss流表条目匹配,最终sdn控制器进行丢弃或进行其他业务处理。至此即完成了lte基站向wifi基站的链路切换。同理,可以完成wifi基站向lte基站的网络链路切换。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1