本文主要是介绍<计算机网络自顶向下> 通用转发和SDM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
,网络层功能为例的数据平面和控制平面:
网络层功能:
转发——对于从某个端口到来的分组转发到合适的输出端口
路由——决定分组从源端到目标端的路径(依靠路由算法)
每个路由器的控制平面
- 每个路由器上都有实现路由算法元件(它们之间需要相互交互)-形成传统IP实现方式的控制平面
- 每台设备上既实现控制功能,又实现数据平面
- 控制功能分布式实现
- 路由表把这两种功能粘连
- 网络设备(中间盒)繁多(比如交换机、防火墙、NAT、IDS等等),需要不断增加需求和相应的网络设备,需要不同的设备去实现不同的网络层功能(每台设备集成了控制平面和数据平面的功能,控制平面分布式的实现了各种控制平面,升级和部署网络设备非常困难)
- 网络设备控制平面的实现方式特点
- 互联网的网络设备传统方式都是通过分布式·,每台设备的方法来实现数据平面和控制平面的功能
垂直集成:每台路由器或者其他网络设备,包括:
1. 硬件、在私有的操作系统
2. 互联网标准协议(IP,RIP,IS-IS,OSPE,BGP)的私有实现
3. 从上到下都由一个厂商提供(代价大,被设备上“绑架”)
每个设备都实现了数据平面和控制平面的事情(分布式实现) 设备基本上只能(分布式升级困难),按照固定方式工作,控制逻辑固化。不同的网络功能需要不同的中间盒 - (数据+控制平面)集成 --> (控制逻辑)分布 --> 固化
- 代价大,升级困难
- 管理困难
- 互联网的网络设备传统方式都是通过分布式·,每台设备的方法来实现数据平面和控制平面的功能
SDN:逻辑上集中的控制平面
- 定义:一个不同的(通常是远程)控制器和CA交互,控制器决定分组转发的逻辑(可编程)CA所在设备执行逻辑
- 每个路由器包含一个流表(被逻辑上集中的控制计算和分发)
- 原理:控制器集中化的实现,通过南向接口,把算出来的流表发给每个设备当中的一个控制代理,由代理把流标装在下来,流标装载到分组交换机以后,分组交换机对到来的分组匹配出来的流表之后的表象做相应的动作(可以匹配iP,MAC地址和一些其他的头部字段;动作有转发,block,泛洪,改变字段,有什么样的流表就可以做什么动作,所以编程流表就可以改变动作,网络就可编程可升级)分组交换机可以变得很便宜,都遵守南向接口可以支持多种网络操作系统,改变了垂直集成。
- 多功能:此时运营商只需要部署一种网络设备——分组交换机,通过下滑不同的流表,这个分组交换机可以表现为交换机,路由器,入侵检测系统,防火墙等等一些中间盒
- 设备之上:在这个控制器之上我们可以运行不同的网络操作系统和网络操作系统的应用
- 特点
- 根据流标对到来的分组动作
- 控制平面和数据平面分离,集中化
- 控制平面功能在数据交换设备之外实现
- 可编程控制
- 优势
- 业界生态开放而不是垄断,促进产业良好发展
- 集中式实现控制逻辑,网络管理容易
- 基于流表的匹配+行动的工作方式允许“可编程”的分组交换机
- SDN架构组成
- 数据平面交换机
- SDN控制器(网络OS)
- 网络控制应用
OpenFlow 数据平面抽象
- OpenFlow 是 SDN 中的一种通信协议,用于在网络控制器和数据转发设备之间进行通信。OpenFlow 定义了一组标准化的消息格式和协议操作,允许网络控制器向数据转发设备发送指令,并从数据转发设备收集网络流量和状态信息。
- 流:由分组(帧)头部字段所定义
- 通用转发:简单的分组处理机制
- 模式:将头部分组字段和流标进行匹配
- 行动:对于匹配上的分组,可以是丢弃、转发、修改、将匹配的分组发送给控制器
- 优先权Priority:两个表项匹配了优先选择某个action
- 计数器Counters:匹配表项该表项计数器+1
- 流表的表项结构
-
Rule(规则): 规则定义了数据包应该如何被处理。它包含了匹配字段和对应的操作。匹配字段用于确定数据包是否与该规则匹配,而操作定义了与匹配到的数据包相关的动作。规则基于设备配置或者管理者定义,通常具有一定的优先级,以确定当数据包匹配到多个规则时,应该采用哪个规则进行处理。
-
Action(操作): 操作定义了规则匹配成功后执行的动作。这些动作可以包括转发数据包到指定的端口、丢弃数据包、修改数据包头部信息等。操作通常是设备根据流表项执行的指令,以确定数据包的处理方式。
-
Stats(统计信息): 统计信息记录了匹配到流表项的数据包数量、数据包的平均大小等相关信息。这些统计信息对于网络性能分析、故障排除和优化网络规则非常有用。管理员可以根据统计信息来评估流量模式、识别异常行为并调整流表项以改善网络性能和安全性。
-
- 流表例子
- OpenFlow 抽象
- match+action:统一化各种网络设备提供的功能
这篇关于<计算机网络自顶向下> 通用转发和SDM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!