SDN 下 高效率流量传输

来源:互联网 发布:月季 淘宝推荐 编辑:程序博客网 时间:2024/05/16 08:18

SDN 下 高效率流量传输

概述

特点:

   inter-DC 间traffic,如果是delay的traffic,可以等other flow is low的时候

目的:

   carry more traffic , 提供灵活的网络共享

两个key:

   全局协调traffic速率

   中心决定traffic路径

实现方法:

 1. Interactive的立刻传输,其他需要提交demand到controller

 2. controller 有实时更新的网络拓扑,决定路径和发送量

 3. switch动态修改 switch之间的链接

 3. 划分优先级: interactive background 等,不同优先级采取不同策略

解决三个问题:

   根据优先级和公平分配带宽:  practical algothrim 次优

   防止switch change时出现拥塞: 分解为几个步骤,保证每个步骤变化时不会拥塞: 每条link预留[0,50%]的scrach空间保证至多分解一步;再有个算法得到最小步骤,在实际中,当10%时,需1-3步; 避免scratch浪费,分配给background

   switch支持的forwrding rule远小于其可选择的路径:动态分配算法使用了线性规划的思想

整体架构

    service:从该host出发的多条flow的集合,估计其下10秒需要的capacity  可实现自己的rate分配策略

    broker: 收集service的传输请求,分配rate比例,将信息传给controller,10秒后接受信息

    agent: 当topology变化时报告给controller;收集传输信息; update switch rules

    controller: computing serviceallocation 并forwarding plane configuraion; 当allocation变化时向 service发送信号,并等待T秒; 

    DC Center: service驻留的硬件部分

forwarding planeconfiguration

   使用 label-based forwarding方式,使用vlanId 作为label, 在source switch部分进行label赋值,其他switch读取label并根据rule完成传输;  

    每一个group table 保存 一组tunnel和传输的traffic及其ratio。对于每一个packet根据destination将其map到相应的group table

computing service allocation

    目标:根据优先级最大化使用率;同优先级保持公平;可扩展,预计支持100switch

    输入: allocation demand 和 tunnel path。 使用 15最短路径

    allocation LP: 

         对service 根据优先级、source-destination进行分组

         按照优先级,执行

            吞吐最大化:

               T步迭代:

                    bi= MCF(multi-commodity flow)   //约束是第i步的 rate bi 不大于 总容量 

            min-max fairness

    interactive service demand:

         基于前五分钟的平均值进行估计

    posting process

         处理 LP 的output,使其满足rule个数的约束

updating forward state

    目的:传输不停情况下,快速调整

    两种: 改变传输的流量分布; 改变可用的隧道

    改变流量: 在每天link上预留 scratch空间, 通过基于LP的算法,可以得到T步骤之内完成调节 ;对于预留的scracth空间可以传输background 数据

    改变隧道:得到G'的n个状态;计算每个状态可传输的service;service的传输速率。 增加G'下的tunnel;修改 traffice distribution ; 删除原有tunnel;按照G'中的tunnel速率传输   

用到的算法:

    k最短路径算法,

    动态调优技术

问题解答:

1. 下个时刻需要传多少数据?

       不同类型方法不同,如interactive是优先级最高,实时传输;common的估计其下10秒要的容量,并将其登记到broker,由broker在指定时间提交给controller。 background利用 scratch空闲capacity传输

2. 分配链路

       用的是MSF算法,有线性规划的思想,没看太懂

3. 如何保证deadline

       interactive不存在这个问题。common我的理解应该是利用时间规定实现, background好像没有deadline

  

0 0
原创粉丝点击