一种软件定义的多路径网络流实时动态优化方法_2

文档序号:9690864阅读:来源:国知局
定义的网 络设备0VS构建上述多路径网络架构,并且针对scp和http服务进行系统测试,特别地为scp 测试场景部署了 1个专用云端服务器服务器,另外部署了需要访问网络业务的用户端,用户 端在多路径网络架构下通过实时动态优化的多路径网络流路径访问服务器,本实施例的目 的是为用户端提供报文转发的路径,维护多路径网络流的优化选择。
[0027] 上述网络是指Internet,在该网络中部署控制器和智能软件定义的网络设备旨在 建立起控制面和交换面分离的多路径网络架构。其中控制器具有用户端管理功能、网络设 备管理功能和流表优化管理功能。网络设备管理功能是指控制器存储有多路径网络架构的 网络拓扑结构,并且定时向网络设备下达收集网络状态信息的命令;控制器接收到网络设 备上传的网络状态信息时,更新延时表;当发现网络设备出现增加或者移除的情况时,更新 存储的网络拓扑结构。流表优化管理功能是指生成和维护供网络设备转发用户端报文的流 表。
[0028] 网络设备具有的功能包括隧道操作、流表操作、透明代理和网络监测功能。网络监 测功能是指网络设备接收到控制器下发的网络状态信息收集命令时,测量与其他网络设备 之间的网络延时和丢包率并上传控制器(参见图2)。另外,透明代理是指邻近服务器的网络 设备对接收的报文进行地址和端口号替换的处理,即当该网络设备接收到用户端发来的报 文时,保存报文的源IP地址和源TCP端口至专门列表,并将其替换为当前网络设备的IP地址 和指定端口号;而当该网络设备接收到服务器发来的报文时,根据报文的目的端口号在专 门列表中搜索对应表项替换报文的目的IP地址和目的TCP端口号。
[0029] 用户端具有的功能包括控制器注册和报文代理功能。控制器注册是指用户端访问 服务器时向控制器注册以使用本实施例中的多路径网络架构。
[0030] 第二实施例
[0031 ]如图2、图3和图5所示,实时监控步骤S20之后,本实施例的多路径网络流实时动态 优化方法,还包括:步骤S100:控制器Floodlight接受用户端的注册请求;步骤S30:用户端 向控制器请求发送第一报文;步骤S40:控制器同意请求后,向用户端指定一个网络设备 OVS,并且计算用户端Client与服务器Server之间的最优路径;步骤S50:用户端对第一报文 进行第一隧道操作后,将第一报文发送至网络设备;步骤S60:网络设备接收到第一报文后, 对第一报文进行第二隧道操作后查找是否存有第一报文的流表;步骤S80:若网络设备存有 第一报文的流表,则网络设备根据第一报文的流表转发第一报文直至服务器;步骤S90:服 务器收到第一报文后,按照用户端发送第一报文至服务器的路径返回第二报文至用户端。
[0032] 本实施例中需要用到网络设备的流表操作,网络设备对转发的报文进行流表匹 配,匹配成功则正常转发,匹配失败则摘录报文相关信息上传控制器,以便控制器进行流表 的计算和更新(参见第三实施例)。
[0033] 第一实施例中提到的控制器具有的用户端管理功能是指接收到用户端注册信息 时,搜索与用户端的IP相似度高的邻近网络设备应答用户端,IP相似度表明用户端与该网 络设备地理位置最靠近,并维护当前用户端发起的业务连接。
[0034] 作为优选地,控制器向用户端指定一个网络设备,具体包括:控制器根据IP地址相 似度向用户端指定一个网络设备。
[0035] 本实施例中用户端对第一报文进行第一隧道操作是指用户端的报文代理功能,具 体地,用户端利用控制器应答的邻近网络设备的IP地址对第一报文进行协议字段编码为 253的隧道操作,由此完成第一隧道操作后,定向发送至该近邻网络设备。
[0036]可以看出,本实施例在SDN开源架构上,为业务访问的用户端拓展实现最优路径选 择和按最优路径转发,包括沿最优路径路返回服务器返回的数据包。
[0037] 第三实施例
[0038]如图3和图5所示,在步骤S60:网络设备查找是否存有第一报文的流表之后,本实 施例的多路径网络流实时动态优化方法,还包括:步骤S70:网络设备不存有第一报文的流 表,则网络设备将第一报文转发至控制器,控制器重新计算用户端与服务器之间的最优路 径和第一报文的流表后,将第一报文的流表发送至网络设备。控制器生成流表功能是指控 制器接收到网络设备上传不匹配的第一报文时,根据该第一报文的源IP地址判断,若该用 户端属于已注册的用户端,则为用户端计算到达服务器的最优路径,否则忽略上传的第一 报文。
[0039] 本实施例中用到控制器维护流表的功能,是指控制器更新延时表、更新存储的网 络拓扑结构、或者发现网络状态或者应用场景特性变化时,根据当前网络拓扑结构、网络状 态信息和应用场景特性信息,重新计算生成第一报文的新流路径,并更新第一报文的流表。
[0040] 第四实施例
[0041 ]如图6所示,用户端对所第一报文进行第一隧道操作,具体包括:用户端对第一报 文进行加报头操作。
[0042]另外,服务器收到第一报文后,按照用户端发送第一报文至服务器的路径返回第 二报文至用户端,还包括邻近服务器的邻近网络设备透明代理步骤:邻近网络设备接收到 第一报文时,保存第一报文的源IP地址和源TCP端口至专门列表,并将第一报文中的源IP地 址和源TCP端口替换为邻近网络设备的IP地址和指定端口号;邻近网络设备接收到第二报 文时,根据第二报文的目的TCP端口号在专门列表中搜索对应表项替换第二报文中的目的 IP地址和目的TCP端口号。
[0043] 此外,网络设备对第一报文进行第二隧道操作,具体包括:网络设备对第一报文分 别进行解报头操作和加报头操作。网络设备接收到用户端发来的第一报文时,先进行解报 头再进行加报头操作;2)接收到服务器发来的第二报文时,只进行加报头,按照用户端发送 第一报文至服务器的路径返回第二报文至用户端。隧道操作所涉及的IP报头协议字段编码 均为253。
[0044] 下面结合具体实施例对本发明的多路径网络流优化方法进行详细描述。本实施例 展示了基于SDN的多路径网络流优化方法。
[0045] 实施例1:控制器功能的实现
[0046] 实施例1.1:控制器中用户端管理功能的实现:
[0047] 如图2和5所示,用户端向控制器发送注册请求之后,控制器会为用户端建立一个 新的用户端记录,查询本地网络设备列表,根据IP相似度获取地理位置最靠近用户端的网 络设备的IP地址。
[0048]用户端记录包含用户端的IP地址、链路条数、链路对象数组LinkEl ement和链路中 流的名称数组。其中链路条数,即本用户端现有的链路条数,使用链路源IP,目的IP来标识。 LinkElement中记录链路的每跳,分别是什么角色,例如第一跳,第二跳,最后一跳等;链路 中流的名称数组,这样做使更改链路或者删除查询更为方便,每个网络设备有来回两个流 表项,记录方式为先记录第一跳的两个流表为数组的0,1号元素,第二跳的两个流表为数组 的2,3号元素,以此类推。
[0049] 实施例1.2:控制器中网络设备管理功能的实现:
[0050] 如图5所示,每个网络设备与控制器连接后,控制器会为每一个网络设备建立一个 网络设备对象。
[0051 ]实施例1.3:控制器中流表优化管理功能的实现:
[0052] 为了实现最短路径的计算,如图5所示,控制器必须维护一个延时表。该延时表是 一个二维表,每行每列分别表示一个网络设备
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1