SDN网络控件分离技术严格来说,控制平面与数据平面的分离并不是SDN独有的概念。从网络设备的角度来看,传统的路由器已经实现了控制平面和转发平面的分离,Route Engine(RE)负责控制平面,而Line Card(LC)则负责数据转发。然而,传统网络中,控制平面通常集成在每个设备中,设备之间缺乏协调和集中控制。SDN的目标是将整个网络的控制平面抽象出来,使得数据转发可以完全由设备独立完成,类似于将多个路由器的控制功能集中到一个控制器中,而线路卡则继续在本地负责数据转发,就像导航软件对交通的管理一样。
导航软件通过收集和分析交通信息,为驾驶员提供避堵建议,但最终的路径选择由驾驶员自行决定。这种分散式的路径决策可能导致新的拥堵,这不是我们期望的。通信网络中也面临类似的问题:
1. IP分组网络的基本原理是分散式路径决策。
2. 网络设备通过路由协议自主选择最佳路径,这种分散式控制导致了网络创新的困难和漫长的协议互通时间。
3. 网络架构具有很强的生存能力,但可控性受到限制。
4. 多厂商设备共存,新业务部署缓慢且对运维人员要求极高。
5. 需要对大量设备进行软件升级,增加了运维难度和成本。
6. 业务部署需要确保网络设备配置的一致性,增加了部署复杂性。
SDN(Software Defined Network)旨在通过软件定义的方式简化网络管理,提高网络业务的自动化和自治能力。其主要特点包括:
1. 集中控制:网络功能通过软件定义,支持业务自动化和自治。
2. 简化复杂度:向运维人员隐藏技术细节,降低运维成本。
3. 快速创新:支持快速部署新业务,提高业务创新速度。
4. 可编程性:允许在不修改物理网络的情况下通过软件调整网络行为。
在SDN架构中,数据平面负责数据分组的收集、处理和转发,其工作流程包括:
1. 通过链路操作收集数据分组。
2. 查询FIB表(由控制平面生成)以确定目的地址。
3. 当报文无法匹配现有规则时,将其发送给控制平面进行处理。
4. 使用硬件查表技术提高转发性能。
5. 通过标签交换解决城域网中可能出现的标签不一致问题。
SDN的数据控制分离体现在:
1. 逻辑集中控制与分散式数据转发。
2. 开放式接口的使用打破了传统网络设备商的垄断地位,但也面临巨大的市场阻力。
3. 数据控制分离可能导致网络控制节点的服务能力成为性能瓶颈,需要研究可扩展的控制架构。
4. 集中控制器需要确保网络状态的一致性,并迅速解决可能出现的不一致性问题。
5. 网络设备的可用性可能受到控制平面延迟的影响,需要确保控制平面的实时响应。
综上所述,SDN网络控件分离技术通过集中控制和分散式数据转发实现了网络功能的灵活性和可编程性,同时面临可扩展性、一致性和可用性等挑战。