路由选择算法
- 分类1:
- 全局式路由选择算法:LS
- 分散式路由选择算法:DV
- 分类2:
- 静态路由选择算法
- 动态路由选择算法
- 分类3
- 负载敏感算法
- 负载迟钝算法:RIP,OSPF,BGP
链路状态路由选择算法,LS
Dijkstra 算法
1 Initialization:
2 N’ = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
7
8 Loop
9 find w not in N’ such that D(w) is a minimum
10 add w to N’
11 update D(v) for all v adjacent to w and not in N’ :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N’
O(n2) algorithm requires O(nE) msgs
距离向量路由选择算法,DV
因特网中自治系统内部的路由选择:OSPF
每个 AS 需要:
- 知道经其他 AS 可达哪些目的地。
- 向 AS 中的所有路由器传播这些可达性信息。
- RIP: Routing Information Protocol.
- OSPF: Open Shortest Path First (IS-IS protocol essentially same as OSPF).
- IGRP: Interior Gateway Routing Protocol (Cisco proprietary for decades, until 2016).
因特网中自治系统间的路由选择:BGP
边界网关协议(Broder Gateway Protocol, BGP)为每个 AS 提供了进行以下工作的手段:
- 从相邻 AS 处获得子网可达性信息。
- 向本 AS 内部的所有路由器传播这些可达性信息 。
- 基于可达性信息和 AS 策略,决定到达子网的“好”路由 。
OSPF 与 BGP 的区别
OSPF是基于链路状况计算路由的;
BGP本身不会去计算路由,只会把其他协议生成的路由拿来用。
一个是生产路由的,一个是玩路由的。OSPF生产的方式很精密,保证无环路,但多业务支撑不行;BGP不生产,只做调度使用,所以业务支撑好,扩展属性让路由规划多了很多选择。
SDN 控制平面
Software defined networking (SDN)
- Data plane switches
- SDN controller (network OS)
- network-control apps
SDN是一种新兴的、控制与转发分离、并直接可编程的网络架构。
它的核心理念是,希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维。
其实说通俗一点,就是把“传统软硬件网络”给软件化、抽象化了。
简单来说,就是把现在复杂的传统网络设备全部对上层应用不可见。上层管理层,只需要像配置软件程序一样,对网络进行简单的部署,就能够让网络实现所需要的功能。不再需要和以前一样,一个一个去配置网络上所有节点的网络设备。
优点:
- 控制和转发分离
- SDN控制器进行统一管理
OpenFlow1.0 交换机规范:流表、安全通道和OpenFlow协议。流表负责数据包的高速查询和转发;此外交换机还需要通过一个安全通道与外部的控制器进行通信,这个安全通道上传输的是OpenFlow协议,它将负责传递控制器和交换机之间的管理和控制信息。
- OpenFLow 流表项结构:
- OpenFLow 流表项包头域: