SDN 下 高效率流量传输
inter-DC 间traffic,如果是delay的traffic,可以等other flow is low的时候
carry more traffic , 提供灵活的网络共享
全局协调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驻留的硬件部分
使用 label-based forwarding方式,使用vlanId 作为label, 在source switch部分进行label赋值,其他switch读取label并根据rule完成传输;
每一个group table 保存 一组tunnel和传输的traffic及其ratio。对于每一个packet根据destination将其map到相应的group table
目标:根据优先级最大化使用率;同优先级保持公平;可扩展,预计支持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个数的约束
目的:传输不停情况下,快速调整
两种: 改变传输的流量分布; 改变可用的隧道
改变流量: 在每天link上预留 scratch空间, 通过基于LP的算法,可以得到T步骤之内完成调节 ;对于预留的scracth空间可以传输background 数据
改变隧道:得到G'的n个状态;计算每个状态可传输的service;service的传输速率。 增加G'下的tunnel;修改 traffice distribution ; 删除原有tunnel;按照G'中的tunnel速率传输
k最短路径算法,
动态调优技术
不同类型方法不同,如interactive是优先级最高,实时传输;common的估计其下10秒要的容量,并将其登记到broker,由broker在指定时间提交给controller。 background利用 scratch空闲capacity传输
用的是MSF算法,有线性规划的思想,没看太懂
interactive不存在这个问题。common我的理解应该是利用时间规定实现, background好像没有deadline