数据流转发路由的控制方法及装置的制造方法_3

文档序号:8342638阅读:来源:国知局
Access Control)地址、目的MAC地址、源端口号、目标端口号等。所述QoS还可以包括:带宽相关的QoS、延迟相关的QoS、抖动相关的QoS、安全性相关的QoS等。例如,某转发策略可设置为:具有超级用户权限的用户可使用专有链路及转发设备;或者,具有高优先级的应用可选择使用带宽保障高的链路及网络实体、按照用户在SLA中签署的带宽占用比保障用户的最低承诺带宽等。
[0100]另外,所述其他通信信息还可以包括:指定的逻辑要求或者具体的指令要求等;指定的逻辑要求例如可以为:从源IP地址到目的IP地址的转发需要遵循最短跳数要求,或者传输链路带宽要求达到1M以上等;具体的指令要求例如可以为:从某源IP地址到某目的IP地址的转发需要走某条物理链路,从某交换机的某端口接收到的数据包指定转发至另一端口等。
[0101]步骤205:控制器预先存储各个数据流的参数信息。
[0102]其中,所述参数信息可以包括但不限于:数据流所属的用户、用户权限、用户优先级、数据流优先级、数据流的QoS、数据流的五元组、数据流的应用层业务类型等。
[0103]各个数据流的参数信息可以由用户定义,或者,也可以由控制器根据数据流的运行状态自动生成,这里并不限定。
[0104]其中,控制器存储各个数据流的参数信息时可以以能够唯一标识数据流的信息例如数据流的报文头信息作为索引,以便区别各个数据流的参数信息,并且方便后续进行某一数据流的参数信息的检索。以下步骤中以数据流的报文头信息作为索引存储数据流的参数信息为例进行说明。
[0105]在实际应用中,控制器中存储的各个数据流的参数信息可以根据网络状态、用户状态等变化情况进行动态更新,所述更新可以包括对数据流的参数信息的添加、修改、删除等。所述更新可以由网络管理人员完成,也可以通过控制器中设置的触发条件例如数据流的参数信息的生命周期等由控制器在满足触发条件时自动完成。例如,控制器可以为每一个数据流的参数信息设置生命周期,也即设定该数据流的参数信息的使用期限,则控制器将自动对超过生命周期的参数信息进行删除处理。
[0106]步骤206:控制器建立第一网络的逻辑拓扑。
[0107]具体的,第一网络的逻辑拓扑可以包括:第一网络的物理连接拓扑以及通信逻辑;其中,
[0108]第一网络的物理连接拓扑是指第一网络中设备之间的物理连接关系;
[0109]第一网络的通信逻辑则用于描述第一网络中的控制器和各个网络设备之间如何根据物理连接关系进行通信。
[0110]其中,控制器建立第一网络的物理连接拓扑可以包括:
[0111]控制器周期性的向各个网络设备发送拓扑发现数据包;各个网络设备转发并向控制器反馈所述拓扑发现数据包的响应数据包;控制器根据接收到的所述响应数据包确定第一网络的物理连接拓扑。例如在SDN网络中,可以采用LLDP报文实现所述拓扑发现数据包。
[0112]其中,控制器建立第一网络的通信逻辑可以包括:
[0113]控制器获取各个网络设备上报的网络设备的通信信息,各个网络设备的通信信息可以包括但不限于:网络设备的状态信息、拓扑信息、能力信息、版本信息、当前资源使用信息以及历史资源使用信息等;
[0114]根据各个网络设备的通信信息按照预先定义的单位资源实体进行抽象,从而得到第一网络的通信逻辑。
[0115]其中,网络设备可以通过向控制器发送的所述拓扑发现数据包的响应数据包携带所述网络设备的通信信息,也可以通过其他方式向控制器上报网络设备的通信信息,这里并不限定。
[0116]所述按照单位资源实体进行抽象是指控制器获取并抽象网络设备的通信信息的过程;具体的,以所述网络设备为交换机为例,所述网络设备的通信信息可以包括但不限于:带宽、交换机的端口数、链路间的时延、交换机下联服务器的处理器能力及磁盘大小等。对所述单位资源实体进行抽象的方法这里不限定,例如带宽可以按照Mbps来抽象,磁盘大小可以按照MB/GB/TB等来抽象。
[0117]在抽象结束后,控制器还可以根据预定义的分配级别来进行不同类别的资源抽象定义,如某个类别可以定义为I个虚拟CPU,20GB磁盘空间,20Mbps端口等,这里不赘述。
[0118]其中,步骤201?步骤206之间的执行顺序不限制,且,步骤201?步骤206 —般均为准备步骤,在进行数据流的转发之前执行。
[0119]步骤207:控制器接收网络设备发送的第一数据流的转发请求;其中,所述转发请求可以包括:第一数据流的报文头信息。
[0120]其中,所述第一数据流可以是实际应用中的任一数据流。
[0121]一般的,网络设备接收到第一数据流后,查看网络设备本地的转发表,确定转发表中是否包含该第一数据流对应的转发表项,如果包含,则根据转发表项定义的转发规则转发所述第一数据流;如果不包含,则网络设备即发送该第一数据流的转发请求至控制器。
[0122]另外,所述网络设备中可以设置一个或多个转发表,并且为各个转发表设置优先级,则网络设备在确定转发表中是否包含第一数据流对应的转发表项时,可以先查询高优先级的转发表中是否包含第一数据流对应的转发表项,未查询到第一数据流对应的转发表项时,再查询低优先级的转发表中是否包含第一数据流对应的转发表项。另外,同一优先级的转发表还可以包括精确转发和模糊匹配两类转发表项。
[0123]步骤208:控制器根据所述第一数据流的报文头信息从所述预先存储的数据流的参数信息中获取所述第一数据流的参数信息。
[0124]其中,由于步骤205中控制器已经以数据流的报文头信息为索引预先存储了各个数据流的参数信息,因此,本步骤中控制器直接依照所述第一数据流的报文头信息检索预先存储的参数信息,得到所述报文头信息对应的参数信息即为所述第一数据流的参数信肩、O
[0125]步骤209:控制器根据第一数据流的参数信息确定所述第一数据流的转发策略。
[0126]在第一种可能的实现方式中,转发策略之间没有层级划分,每一种转发策略对应着至少一个子级别的子级别值,则控制器根据第一数据流的参数信息确定第一数据流的转发策略可以包括:
[0127]根据所述参数信息确定第一数据流的多维策略级别值;
[0128]确定第一数据流的多维策略级别值对应的至少一种转发策略;
[0129]从所述至少一种转发策略中选择一种转发策略作为所述第一数据流的转发策略。
[0130]第一数据流的多维策略级别值对应的转发策略可以是多维策略级别值与第一数据流的多维策略级别值相同的转发策略。
[0131]其中,所述第一数据流的多维策略级别值对应的转发策略为至少两种转发策略时,可以随机从中选择一种转发策略作为所述第一数据流的转发策略,也可以预先设定转发策略之间的顺序,按照预先设定的顺序选择顺序在第一位的转发策略作为所述第一数据流的转发策略;在实际应用中,还可以使用其他选择转发策略的方法,这里不再赘述。
[0132]对第一种可能的实现方式举例说明:
[0133]假设转发策略I的多维策略级别值为用户级别I和业务类型I,转发策略2的多维策略级别值为用户级别I和业务类型2,转发策略3的多维策略级别值为用户级别2、业务类型I和指定级别I,等等,则,
[0134]假设第一数据流的多维策略级别值为:用户级别1、业务类型2,那么第一数据流的多维策略级别值对应的转发策略为转发策略2,那么就选择转发策略2作为所述第一数据流的转发策略。
[0135]在第二种可能的实现方式中,转发策略之间可以具有层级划分,例如包括m层转发策略,每一层的各种转发策略具有至少一种下一层的转发策略,每一层的转发策略对应着一种或多种子级别,该层不同转发策略对应着所述一种或多种子级别的不同值;则控制器根据第一数据流的参数信息确定第一数据流的转发策略可以包括:
[0136]根据所述参数信息确定第一数据流的多维策略级别值;
[0137]根据第一数据流的多维策略级别值逐层确定第一数据流的每一层转发策略。
[0138]举2个例子说明:
[0139]假设转发策略分成3层,转发策略之间的层级关系如图2A所示,第一层转发策略对应的子级别为用户级别,第二层转发策略对应的子级别为业务类型,第三层转发策略对应的子级别为指定级别,假设第一层的转发策略1、转发策略2分别对应着用户级别1、用户级别2,第二层的转发策略11、转发策略12分别对应着业务类型1、业务类型2,转发策略21、转发策略22也分别对应着业务类型1、业务类型2,第三层的转发策略111、转发策略112分别对应着指定级别1、指定级别2,转发策略121、转发策略122分别对应着指定级别
1、指定级别2,其他第三层的转发策略与此类似,不再一一赘述;则,
[0140]假设某一第一数据流的多维策略级别值为:用户级别1、业务类型2、指定级别2,贝U,通过用户级别I可以确定第一数据流的第一层转发策略为转发策略1,进而在转发策略I的下一层转发策略11、转发策略12中通过业务类型2可以确定第一数据流的第二层转发策略为转发策略12,进而在转发策略12的下一层转发策略121、转发策略122中通过指定级别2可以确定第一数据流的第三层转发策略为122 ;从而确定第一数据流的每一层转发策略分别为:转发策略1、转发策略12、转发策略122。
[0141]其中,转发策略之间具有层级划分时,相邻两层之间的转发策略中上一层的转发策略可以较为概括,而下一层的转发策略可以相对更为具体,例如所述转发策略I可以为用户使用公用链路转发其所属业务,占带宽比例为20Mbps,转发策略12可以为语音类业务在其所属的20Mbps带宽中保证1Mbps的带
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1