一、概述
1、传统路由器中,控制平面功能和数据平面功能在一起实现,在路由器中作为统一的整体。但SDN将数据平面和控制平面之间做了明确的分割,在一台控制服务器中实现了控制平面功能,它与路由器的转发组件分开并远离。
2、转发表的确是数据平面和控制平面的粘合剂,本篇主要研究控制平面对于转发表是如何计算维护和安装的。这种控制可以分为:每路由器控制、逻辑集中控制(SDN)。
3、这两种控制的差异主要是路由器上的控制代理(CA),前者的CA在路由器之间通信且计算他们转发表的值,后者的CA则不参与计算,只负责与控制服务器通信。实际上,后者的逻辑集中式正得到越来越多的应用。
二、路由选择
路由选择算法就是用网络链路知识计算找到一条定义良好的路由器序列(路径、路由),使得分组从发送主机到接受主机跨越网络“旅行”。
1、路由选择算法的分类
1、集中式路由选择算法:用完整性全局性的网络知识作为输入,计算出从源到目的地之间的最低开销路径。集中式算法拥有关于连通性和链路开销方面的完整信息。也被成为链路状态算法(LS)。
2、分散式路由选择算法:每个节点只有与其直接向联链路的开销知识,通过迭代的分布式方式逐渐计算出最低开销路径。也被成为距离向量算法(DV)。它天然地更适合路由器直接交互的控制平面。
3、根据路由变化快慢可以分为:静态/动态路由选择算法。根据链路开销是否会反映出当前链路的拥塞水平可以分为:负载敏感/负载迟钝的路由选择算法。
2、路由选择算法
算法核心: B e l l m a n − F o r d Bellman-Ford Bellman−Ford方程: d x ( y ) = m i n { c ( x , v ) + d v ( y ) } d_x(y)=min\{c(x,v)+d_v(y)\}