网络层:数据平面
目录
网络层概述
转发和路由
转发(Forwarding):数据平面的执行动作
路由(Routing):控制平面的路径决策
总结
路由器组成
输入端口
交换结构
输出端口
何时出现排队
分组调度
无优先级调度
有优先级调度
IP:Internet Protocol
数据报格式
分片
IPv4地址
层次编址
子网
特殊IP
转发
DHCP
NAT:网络地址转换
NAT穿越
IPv6
迁移
通用转发和SDN
SDN
通用转发
OpenFlow
网络层概述
网络层是计算机网络体系结构中负责跨网络端到端通信的关键层次,其核心使命是解决不同网络如何互联的问题,屏蔽底层物理网络(如以太网、WIFI、广域网)的差异,为传输层的segment 提供跨网络的端到端传递能力 。
网络层通过封装 - 解封装实现传输层段的传递:
- 发送端封装:传输层将应用数据分段为
segment后,交给网络层。网络层为其添加IP 头部,形成IP 数据报(segment 是数据报的数据部分)。 - 接收端解封装:目的主机的网络层收到 IP 数据报后,校验头部,然后剥离 IP 头,将内部的
segment交给传输层。
网络层协议运行在所有参与网络通信的设备上,但角色不同,主机负责端到端的封装和解封装,还会维护本地路由表,路由器不参与端到端通信的发起及终止,仅负责转发—— 接收 IP 数据报,检查目的 IP,查询转发表,将数据报从合适的接口转发出去。
因特网的网络层提供无连接、尽力而为的服务。发送数据报前,源和目的主机无需建立连接,每个数据报独立转发,路径可能不同。网络层不保证数据报的可靠到达(不确认、不重传),若网络拥塞或故障,数据报可能丢失、延迟或乱序(这些可靠性由上层的 TCP 负责保障)。
转发和路由
转发和路由是网络层的两大核心功能:转发是执行层的动作,负责将分组从入接口送到出接口;路由是决策层的逻辑,负责计算分组到达目的端的最优路径。
转发(Forwarding):数据平面的执行动作
转发是网络层数据平面的核心功能,指路由器将到达输入接口的分组,通过查询转发表,确定该分组的出接口和下一跳设备,转发到合适输出接口的实时操作。
以路由器为例,转发一个 IP 分组的步骤如下:
-
接收与解封装:路由器从输入接口接收链路层帧,校验帧的完整性,剥离帧头帧尾,提取出 IP 分组。
-
查找转发表:提取 IP 分组的目的 IP 地址,在转发表中执行最长前缀匹配:
- 转发表中存储目的网络前缀与出接口 + 下一跳的映射关系;
- 匹配时优先选择前缀最长的条目。

-
封装与发送:确定出接口后,路由器将 IP 分组重新封装成对应链路的帧格式,从出接口发送出去。
转发表是路由表的精简优化版,路由表包含冗余的路由策略、度量等信息,而转发表仅保留目的前缀 - 出接口 - 下一跳,并通过Trie 树、哈希表、TCAM等结构优化,以支持高速查找。
路由(Routing):控制平面的路径决策
路由是网络层控制平面的核心功能,指通过路由算法和协议,计算从源主机到目的主机的最优路径,并生成路由表的决策过程。
路由的核心算法与协议组成。路由选择算法定义最优路径的计算逻辑,路由选择协议负责设备间交换路由信息。
路由协议计算出的最优路径会被记录到路由表中。路由表的每条条目包含:目的网络前缀、下一跳 IP 地址、出接口、路由度量和路由来源。
总结
路由为转发提供规则,路由协议生成路由表,转发表基于路由表简化而来,转发完全依赖转发表的规则。同时转发验证路由的有效性,若转发时发现某路径频繁丢包,路由协议会重新计算路径,更新路由表和转发表。
转发是数据平面的即时动作,通过转发表和最长前缀匹配将分组从入接口送到出接口,核心是 快;路由是控制平面的决策过程,通过路由协议计算最优路径并生成路由表,核心是准。
路由器组成
路由器的硬件组件由输入 / 输出端口、交换结构、路由选择处理器构成:

输入端口
功能:接收外部链路的分组,执行物理层和数据链路层的处理。

- 物理层:解析电信号 / 光信号,还原为比特流;
- 数据链路层:解析链路层帧,校验 CRC,剥离帧头帧尾,提取 IP 分组;
- 初步转发决策:若分组的目的 IP 是本机,则交给路由处理器,否则送入交换结构。
交换结构
功能:连接输入端口和输出端口的内部网络,将分组从输入缓冲区传输到合适的输出端口,实现分组的高速交换,其运行速率通常是输入/输出链路的若干倍。

- 共享内存交换:所有输入端口的分组先存入共享内存池,输出端口从内存中读取分组并转发。输入 / 输出端口通过 内存读写完成数据交换。但内存带宽成为瓶颈,所有端口共享同一块内存,当多端口同时读写时,内存带宽会被耗尽,导致转发延迟增加甚至丢包。吞吐量受限于内存读写速度,不适合超高速场景。
- 总线交换:所有输入 / 输出端口共享一条总线,分组通过总线从输入端口传输到输出端口。总线是数据交换的唯一通道,导致其总线带宽竞争严重:多输入端口同时向总线发送分组时,会因总线争用产生阻塞,吞吐量受限于总线带宽。扩展性差,端口数增加会进一步加剧带宽瓶颈。
- 交叉矩阵交换:由交叉开关矩阵组成(输入端口与输出端口之间通过开关直接连接)。每个输入端口可通过独立的开关路径,直接连接到任意空闲的输出端口,实现并行无阻塞交换。其带宽高、无阻塞,只要输出端口空闲,输入端口可直接通过交叉开关转发,支持多分组并行交换(吞吐量≈所有端口带宽之和)。性能极强,适合超高速、大流量场景。但其结构复杂,硬件成本高(交叉开关数量随端口数呈平方级增长)且设计与实现难度大,仅适用于高端设备。

输出端口
功能:接收交换结构的分组,执行数据链路层封装和物理层发送。

- 数据链路层:为 IP 分组添加链路层帧头(如以太网帧头,包含下一跳的 MAC 地址);
- 物理层:将帧转换为电信号 / 光信号,从物理接口发送;
- 队列管理:若出接口带宽不足,分组会在输出队列中等待,此时需通过调度算法避免拥塞。
何时出现排队
在路由器或交换机中,排队主要发生在输出端口,当多个输入的分组竞争同一输出端口的带宽或资源,且输出端口无法即时处理所有分组时,就会出现排队。


多少缓存才够用?
实际网络中,流量并非恒定,而是具有突发性(如 TCP 的 “慢启动 - 拥塞避免” 导致的流量波动)。因此,缓存需在 BDP 基础上增加 1.5~2 倍,以应对突发流量峰值。
缓存越大,丢包率越低,但分组的排队延迟会显著增加(分组在缓存中等待的时间变长)。因此,需在丢包率和延迟之间做权衡。
所以缓存够用的标准是在满足业务丢包率和延迟需求的前提下,至少容纳链路的带宽延迟积,并考虑流量突发性。
分组调度
分组调度是路由器、交换机等网络设备在输出端口队列中,决定哪些分组先被转发、哪些后被转发的核心机制,直接影响网络的延迟、抖动、吞吐量和服务质量(QoS)。其本质是通过算法对排队的分组进行排序与选择,以满足不同业务的差异化需求。
根据目标不同,分组调度算法可分为无优先级调度(平等对待所有分组)和有优先级调度(区分分组重要性)两大类,以下是主流算法:
无优先级调度
这类算法不区分分组的来源或类型,仅按到达顺序或公平原则转发,适合对 QoS 要求低的场景,如普通数据传输。


有优先级调度
这类算法为分组标记优先级,高优先级分组优先转发,适合需要保障关键业务的场景。


IP:Internet Protocol

数据报格式

核心字段及功能:
| 字段 | 作用 |
|---|---|
| IP 协议版本号(ver) | 标识 IP 版本,用于设备解析数据报格式。 |
| 头部长度(head len) | 以 4 字节为单位,指示 IP 头部长度(因可选字段存在,头部长度可变)。 |
| 数据类型(type of service) | 标记 QoS 需求,指导网络对数据报的处理优先级。 |
| 数据报总长(length) | 表示整个 IP 数据报(头部 + 数据)的总字节数,最大值为 65535 字节。 |
| 分片相关(标识符、标志、片偏移) | 当数据报超过链路 MTU 时,用于分片与重组,确保接收端能还原原始数据报。 |
| 生存时间(TTL) | 每经一个路由器减 1,为 0 则丢弃数据报,防止其在网络中无限循环。 |
| 上层协议(upper layer) | 标识承载的上层协议,使目的主机能交付给对应上层实体。 |
| 头部校验和 | 校验 IP 头部完整性,防止传输中头部被篡改。 |
| 源 / 目的 IP 地址 | 标识数据报的源和目的主机,是 IP 寻址的核心。 |
| 可选字段(Options) | 可选扩展字段(如记录路由、时间戳),增强 IP 功能但增加头部长度。 |
| 数据(data) | 承载上层数据。 |
分片
IP 分片是 IP 协议为适应不同链路最大传输单元(MTU)差异而设计的机制。
当 IP 数据报的总长度超过出接口的 MTU时,将其分割为多个分片进行传输。若数据报超过链路 MTU 且不分片,路由器会直接丢弃该数据报,导致通信失败。
| 字段 | 长度 | 作用 |
|---|---|---|
| 标识符(Identification) | 16 位 | 唯一标识属于同一原始数据报的所有分片(同一数据报的分片标识符相同)。 |
| 标志(Flags) | 3 位 | - 第 1 位(DF): - 第 2 位(MF): |
| 片偏移(Fragment Offset) | 13 位 | 以8 字节为单位,指示该分片在原始数据报中的相对位置,用于重组。 |

分片实现异构网络互联互通,适应不同 MTU 的链路,且无需源主机提前感知路径 MTU。但是其增加了网络开销(总字节增加)。重组开销大,目的主机需缓存所有分片,直到收到最后一个分片。若分片丢失,整个数据报会被丢弃。同时也增加了安全风险(分片攻击)。
IPv4地址
路由器和主机通过接口连入网络,路由器需多个接口,每个接口关联一个全球唯一的IP 地址,其 IP 地址由所属子网决定。
层次编址
层次编址是IP 地址设计的核心思想,将 IP 地址按全球→区域→本地的层级结构划分,通过上层聚合、下层细分的方式,实现地址的高效管理、路由的简化和网络的规模化扩展。让每个 IP 地址既能标识大范围归属,又能定位具体设备。
层次编址的核心是将 32 位 IP 地址划分为网络前缀和主机标识(标识子网内具体设备)两部分,且网络前缀本身也按层级细分(上层和下层)。
核心关键机制:路由聚合与最长匹配原则
1. 路由聚合:减少路由表条目
由于地址按层级连续分配,上层路由器可将多个下层子网合并为一个聚合路由,大幅减少路由表记录。
例如某企业有 3 个子网192.168.1.0/24、192.168.2.0/24、192.168.3.0/24,它们的网络前缀前 22 位相同,因此可聚合为192.168.0.0/22(覆盖192.168.0.0~192.168.3.255)。使得原本需要 3 条路由记录,聚合后只需 1 条,骨干网路由器的路由表条目可从百万级压缩到万级,极大提升转发效率。
2. 最长匹配原则:确保路由精准
当路由表中同时存在聚合路由和明细子网路由时,路由器会优先选择网络前缀最长(掩码最大) 的路由,保证数据包准确到达目标子网。
例如路由表中有两条路由:192.168.0.0/22(聚合路由)和192.168.1.0/24(明细路由)。当目标 IP 为192.168.1.10时,路由器会匹配/24的明细路由(前缀更长),而非/22的聚合路由,确保数据包准确转发到192.168.1.0/24子网。
子网
分类编址是IPv4 早期的地址分配机制,将 32 位 IP 地址按网络位 + 主机位的固定比例划分为 A、B、C、D、E 五类,用于区分不同规模的网络。其核心是通过 IP 地址的前几位二进制特征,强制规定每类地址的网络位长度和主机位长度:

分类编址的固定比例划分导致了严重的地址浪费、广播域过大和灵活性缺失,最终被更灵活的子网划分和 CIDR 取代。
子网是从一个大 IP 网络中划分出的逻辑独立单元,拥有自己的网络地址、主机地址范围和广播地址。子网的地址范围由子网掩码(或 CIDR 前缀) 严格定义,子网的规模可通过调整主机位位数灵活定制,不同子网的设备无法直接通信,必须通过路由器转发。

为了确定子网,分开主机和路由器的每个接口,产生几个隔离的网络岛,使用接口端接这些隔离的网络的端点。这些隔离的网络中的每一个都叫作一个子网。


特殊IP
在 IPv4 中,有多种具有特殊用途的 IP 地址,它们不用于常规的端到端通信,而是承担网络测试、管理、隔离等特定功能。

| 地址类型 | 二进制特征 / 格式 | 用途与含义 |
|---|---|---|
| 全 0 地址(0.0.0.0) | 00000000.00000000.00000000.00000000 | 表示未指定地址或默认路由,如主机未分配 IP 时的临时标识、路由表的默认出口。 |
| 网络内主机地址 | 网络位全 0,主机位非 0 | 属于某网络的主机 IP,用于子网内设备的逻辑标识,实现同一子网内的端到端通信。 |
| 本地网络广播地址 | 主机位全 1(如255.255.255.255) | 用于本地子网内的广播通信(如 ARP 请求、DHCP 发现),数据包仅在本子网内传播,不被路由器转发。 |
| 远程网络广播地址 | 网络位 + 主机位全 1 | 理论上用于跨子网广播,但实际中因路由策略限制极少使用,主要体现广播域的概念。 |
| 回环地址(127.0.0.0/8) | 以127开头(如127.0.0.1) | 用于本地主机的测试与调试,发送到该地址的数据包不会离开本机,常用于网卡驱动、本地服务的连通性验证。 |
内网(专用)IP 地址(IPv4 私有 IP 地址),是 IP 地址空间中专门预留的部分,仅供局域网使用,不会作为公网地址分配,因此与互联网上的公网 IP 完全不重复,仅在局部网络中标识设备,对外网无意义。互联网中的路由器不会转发目标地址为专用 IP 的数据包,确保其仅在局域网内生效。
| 类别 | 地址范围 | 子网掩码 | 典型应用场景 |
|---|---|---|---|
| Class A | 10.0.0.0~10.255.255.255 | 255.0.0.0 | 大型企业内网、运营商内部网络 |
| Class B | 172.16.0.0~172.31.255.255 | 255.255.0.0 | 中型企业、校园网 |
| Class C | 192.168.0.0~192.168.255.255 | 255.255.255.0 | 家庭 WiFi、小型办公室网络 |
转发

DHCP
主机获取 IP 地址主要有静态分配和动态分配两种方式:
- 静态分配(手动设置)由网络管理员手动为设备指定固定 IP 地址,适用于需要长期保持 IP 不变的场景。
- 动态分配(自动获取)由网络中的DHCP 服务器自动分配 IP 地址。
- 公网 IP 的获取。
DHCP(动态主机配置协议,Dynamic Host Configuration Protocol)是一种自动为网络设备分配 IP 地址及相关网络参数的协议,核心作用是简化网络配置、减少手动操作错误。
在没有 DHCP 的情况下,设备接入网络需要手动设置 IP 地址、子网掩码、网关、DNS 等参数,存在效率低、易冲突等问题。DHCP 通过自动分配 + 集中管理,完美解决了这些问题。
核心组件
- DHCP 服务器:负责分配 IP 地址的设备(通常是路由器、交换机或专门的服务器),内置一个地址池(可分配的 IP 范围)。
- DHCP 客户端:需要获取 IP 的设备。
- 网络参数:除 IP 地址外,DHCP 还会自动分配子网掩码、网关、DNS 服务器地址等,确保设备能正常通信。

设备接入网络后,通过以下 4 个步骤获取 IP,简称DORA:
- 1. 发现(Discover):客户端刚接入网络时,还没有 IP 地址,会通过广播发送一个DHCP Discover报文
- 2. 提供(Offer):DHCP 服务器收到广播后,从自己的地址池中挑选一个未分配的 IP,并通过广播发送DHCP Offer报文回应,内容包括:拟分配的 IP 地址、子网掩码、网关、DNS、IP 的租期等。
- 3. 请求(Request):如果网络中有多个 DHCP 服务器,客户端可能收到多个 Offer,此时会选择第一个收到的,然后通过广播发送DHCP Request报文。
- 4. 确认(Acknowledge):被选中的 DHCP 服务器收到Request” 后,通过广播发送 DHCP Acknowledge报文,正式确认将该 IP 分配给客户端,并再次告知子网掩码、网关等参数。客户端收到后,就可以使用这个 IP 接入网络了。

NAT:网络地址转换
NAT是解决IPv4 地址短缺、实现内网设备共享公网 IP 访问互联网的核心技术。
IPv4 公网地址有限(全球约 43 亿个),无法为每个设备分配独立公网 IP。NAT 对内局域网内设备使用私有 IP,这些地址仅在局域网内有效,不对外网路由。对外通过 NAT 设备(如路由器)将私有 IP转换为公网 IP,实现多设备共享一个或多个公网 IP 访问互联网。
NAT 设备会维护一张转换表,记录 私有IP + 端口与公网 IP +端口的对应关系,实现地址 + 端口的双向通信:
- 出站(内网→外网):内网设备发送数据包时,NAT 设备将 源 IP(私有 IP)替换为 公网 IP,并为该连接分配一个临时端口,然后转发到外网。
- 入站(外网→内网):外网返回的数据包到达 NAT 设备后,设备根据 公网 IP + 端口 在转换表中找到对应的 私有 IP + 端口,将 目标 IP 替换为私有 IP,转发到内网设备。

NAT穿越
NAT 穿越指的是两个位于不同 NAT 设备后的内网设备,试图直接建立通信连接时遇到的困难。
NAT 的核心功能是隐藏内网 IP,用公网 IP 代理通信,但这也导致了一个矛盾:
- NAT 对外屏蔽内网信息:内网设备的私有 IP不会被外网看到,外网只能看到 NAT 设备的公网 IP。
- NAT 的单向连接特性:NAT 的转换表通常是基于内网主动发起连接建立的。如果外网设备主动向内网设备发送数据,NAT 设备会因为转换表中没有对应记录而直接丢弃数据包(视为非法流量)。
当两个设备都在 NAT 后面时,双方都处于被 NAT 屏蔽的状态,彼此不知道对方的内网 IP,且各自的 NAT 设备会拦截对方主动发来的连接请求 —— 这就是 NAT 穿越问题的根源。
并且NAT 的设计与网络端到端原则存在冲突:
- 端到端原则:网络的复杂性应放在边缘设备(如主机),中间设备仅做简单转发,这样数据可在两端直接通信,无需中转和特殊处理。
- NAT 的越层处理:路由器本应只处理第 3 层(网络层,IP 地址),但 NAT 为了实现地址转换,额外处理了第 4 层(传输层,端口号),打破了分层职责的设计,因此被认为违反了端到端原则。
NAT 会阻碍外网设备主动连接内网设备,因此依赖双向通信的 P2P 应用需要专门设计NAT 穿越机制,利用UPnP/STUN/TURN等协议自动打通 NAT 映射,或手动配置端口转发。
NAT 的核心驱动力是 IPv4 地址不足,而IPv6 的海量地址空间(约 3.4×10³⁸个地址) 可从根本上解决地址短缺问题,无需再依赖 NAT 节省公网 IP。
IPv6
IPv4 采用 32 位地址,总容量约 43 亿个。随着物联网设备、移动终端、云服务的爆发式增长,IPv4 地址在 2011 年已基本耗尽(IANA 分配完最后一批地址)。IPv6 采用128 位地址,总容量约 3.4*10^38个 —— 这个数量级意味着给地球上每一粒沙子分配 thousands 个 IP 地址都绰绰有余,从根本上消除了地址短缺的隐患。

IPv6 报头固定为 40 字节,包含 8 个核心字段,每个字段都有明确的设计意图:
| 字段 | 长度(位) | 功能与设计逻辑 |
|---|---|---|
| 版本(Version) | 4 | 固定为6,标识 IPv6 协议。 |
| 流量类别(Traffic Class) | 8 | 类似 IPv4 的差分服务,用于标记流量的优先级。 |
| 流标签(Flow Label) | 20 | 标识需要特殊处理的数据流(如实时通信),实现 QoS 区分。 |
| 有效载荷长度(Payload Length) | 16 | 表示除报头外的数据包长度(最大 65535 字节)。 |
| 下一个报头(Next Header) | 8 | 标识后续报头的类型,替代 IPv4 的协议字段,并支持扩展报头(按需加载)。 |
| 跳数限制(Hop Limit) | 8 | 即原 IPv4 的 TTL,每经过一个路由器减 1,为 0 时丢弃。 |
| 源地址(Source Address) | 128 | 发送方的 IPv6 地址(128 位)。 |
| 目的地址(Destination Address) | 128 | 接收方的 IPv6 地址(128 位)。 |
固定长度的报头让路由器可快速解析,扩展报头则按需加载。IPv4 的选项字段直接嵌入 IP 报头,导致报头长度不固定,路由器解析时需处理大量冗余逻辑,增加转发延迟。IPv6 将选项重构为扩展报头,通过Next Header字段标识是否存在扩展报头及类型。
IPv6 对报头结构的改造,核心是简化路由器负担,提升转发效率:
- TTL → 跳数限制(Hop Limit):IPv4 中TTL以秒为单位,但实际网络中路由器转发是按跳数计算,语义模糊且易出错。IPv6 将其改为跳数限制,每经过一个路由器减 1,为 0 时丢弃数据包,逻辑更直观,也避免了时间换算的开销。
- 移除头部校验和(Checksum):IPv4 报头的校验和需在每一跳路由器上重新计算(因为 TTL 等字段会变化),这对路由器是不小的性能负担。IPv6 直接移除报头校验和,将完整性校验的责任交给上层协议(如 TCP/UDP)或IPSec(IPv6 原生支持的安全协议),大幅降低路由器的计算开销,提升转发速度。
- 分片机制优化:仅源端分片:IPv4 中,路由器若发现数据包超过链路 MTU,会主动分片,这导致中间设备需要处理分片→重组的复杂逻辑。IPv6 规定仅源设备可分片,中间路由器遇到超大包时直接丢弃,并发送 ICMPv6 错误消息通知源端。这种设计让分片 - 重组仅在通信端点进行,简化了路由器功能,提升了全网转发效率。
- IPv6 报头新增流标签字段,用于标识具有相同服务需求的数据流(如高清视频流、实时游戏流)。网络设备可根据流标签,对不同类型的流量进行优先级调度、带宽预留 ,实现原生的 QoS服务质量区分。对比 IPv4,若要实现类似功能需依赖DSCP(差分服务代码点)或第三方协议扩展,IPv6 的原生支持更高效、更易部署,满足差异化业务需求。
迁移
不是所有的路由器都能同时进行升级,并且在IPv4和IPv6路由器混用时,网络该如何运转。
网络隧道是一种封装 - 传输 - 解封装的技术:将一种网络协议的数据包作为有效载荷,封装到另一种网络协议的数据包中,通过外层网络传输后,再解封装取出内层数据包。其核心目的是实现不同协议网络的互通 或绕过网络限制。

假设需在 IPv4 公网上传输 IPv6 数据包,封装阶段发送端将IPv6 数据包作为有效载荷,添加IPv4 头部,形成IPv4 头部 + IPv6 数据包的双层结构。在传输阶段,封装后的数据包通过 IPv4 网络传输,此时 IPv4 网络仅将其视为普通 IPv4 数据包转发,无需理解内部的 IPv6 内容。解封装阶段接收端收到数据包后,移除外层 IPv4 头部,取出内部的 IPv6 数据包,继续按 IPv6 协议处理。
外层封装增加数据包头部长度,可能降低传输效率,且隧道端点单点故障会导致整个通道中断,部分隧道需手动配置两端参数,部署门槛较高。
通用转发和SDN
SDN
传统网络中,路由器、交换机的控制平面和数据平面是紧耦合在硬件设备中的,导致网络配置、故障排除复杂、扩展困难。
此外,除路由器、交换机外,网络中存在种类繁多的中间盒设备,每种设备对应特定网络功能,这种每种功能依赖专用设备的模式,带来了显著的运维与扩展瓶颈。
这些痛点正是网络功能虚拟化(NFV) 技术诞生的核心驱动力。
编辑
路由决策采用分布式路由协议,每台设备独立交换路由信息、计算最优路径,生成本地转发表。转发设备基于硬件转发表执行IP 最长前缀匹配,将数据包从入接口转发到出接口,转发规则由硬件固化,灵活性差。

SDN方法将控制平面从硬件中剥离,由集中式 SDN 控制器承担网络管理。SDN 采用三层逻辑架构,各层分工明确且通过标准化接口交互:

每个路由器都包含一个流表,定义了路由器的匹配+行动规则,被逻辑上集中的控制器计算和分发。



通用转发
通用转发是一种高度灵活、可编程的数据包转发机制,核心是打破传统基于固定协议的转发限制,支持根据任意数据包字段进行匹配,并执行自定义处理动作。它是SDN和可编程网络的核心技术之一。
字段匹配 + 动作执行这种模型的关键是可编程,转发规则不再由设备硬件或固定协议固化,而是可以通过软件动态定义、更新,从而适配复杂多变的网络需求。
OpenFlow
OpenFlow 是SDN的核心南向协议,用于实现 SDN 控制器与数据平面设备的通信,其核心是流表,数据平面设备通过流表存储转发规则,由 SDN 控制器集中下发和管理。


OpenFlow 通过匹配特定字段 + 执行自定义动作的统一模型,将路由器、交换机、防火墙、NAT 等不同网络设备的功能标准化。无论设备功能多复杂,都可拆解为哪些字段需要匹配和匹配后执行什么操作两个核心环节,从而实现协议无关、设备无关的可编程转发。
目前几乎所有的网络设备都可以在这个匹配 + 行动模式框架进行描述,具体化为各种网络设备包括未来的网络设备。
😼😼😼.
