资讯动态

万兆三层交换芯片RTL9303-CG数据手册关键设计解读

发布时间:2026/10/24 12:29:20 来源:尧图企业网站定制
简介RTL9303-CG 数据手册Rev.1.1-12018 年 6 月版面向万兆交换机硬件设计、底层驱动开发人员以及需要评估 Realtek 三层交换方案的网络设备研发者。文档系统给出这颗三层管理型 8 端口 10G 交换控制器的总体描述、特性列表、引脚定义、寄存器说明与电气时序参数涵盖 IP 路由、QoS 调度、VLAN 划分、ACL 安全、硬件校验和加速等模块可作为原理图设计、PCB 布线与时序核对的直接依据。压缩包仅含 1 个 PDF 文件约 2.45MB单文件即完整手册便于检索与离线查阅。目前已有 3590 人学习下载在万兆交换方案选型中具备一定参考价值。翻阅时可重点留意 10GBase-R 差分输出幅度、主 SPI 时序等修订条目以及卷首的 ESD 防护与使用声明。1. 一块芯片的数据手册为什么值得单独讲从8 个万兆口说起整理网络设备资料的时候常会翻到这样一个文件文件名是一串型号加 Datasheet打开是几百页引脚表和时序波形第一页还印着一行小字——保密仅限开发伙伴。RTL9303-CG 的这一份就是典型。它描述的是一颗三层管理型 8×10G 端口交换控制器8 个万兆口同时对外收发芯片自己完成 IP 路由不必再外挂一台路由器来做网段间的转发。多数人看到三层管理型10GbE 交换机这几个词会本能跳过觉得那是硬件工程师才关心的事。可只要你想弄明白一台万兆交换机凭什么能划 VLAN、能限速、能把两个网段连起来又不掉速答案就写在这类数据手册里。它是整台设备的说明书 契约别的文档都只是它的注解。2. 三层交换到底在交换什么二层转发与三层路由的分水岭2.1 二层转发只认门牌号不认街道二层交换机会在正常工作之前先维护一张表记录哪个 MAC 地址对应哪个端口。这张表里的条目不是厂商预置的而是交换机自己在收发过程中学出来的收到一个帧先把源 MAC 和收到它的端口记下来再看目的 MAC 有没有在表里。命中就从对应端口发出去没命中就向同 VLAN 内除入口外的所有端口泛洪一份。这个过程完全由硬件流水线完成一次哈希查找通常只要几十纳秒所以二层转发能做到线速端口跑多快它就转多快。打个比方二层转发像小区里的快递柜柜子只关心3 号楼 502不关心这个人是从哪条路走过来的也不关心他要去哪座城市。只要门牌号在册格口一开一关事情就办完了。也正因为只认门牌号它天然有一个盲区——它不知道网段这回事。192.168.10.5 和 192.168.20.5 在二层眼里就是两个普通 MAC 地址它没有理由把它们隔开也不负责把它们连起来。这个盲区决定了二层交换机的能力上限它能把一个广播域内的设备高速互联但广播域一旦大到几千台主机广播包和未知单播就会把带宽吃掉一大块。于是有了 VLAN也有了后面的三层。2.2 三层路由跨网段的那一跳到底发生在哪当一台主机发现目的 IP 不在自己所在的网段它不会去查 MAC 表而是把包发给默认网关。这个网关的 MAC 地址主机是用 ARP 问出来的包在二层上被送到网关那块网卡三层的事情才真正开始。网关查自己的路由表找到去往目的网段的下一跳和出接口把原来的二层帧头拆掉换上新的源 MAC自己的出接口 MAC和目的 MAC下一跳的 MAC再从另一个接口发出去。传统组网里这一跳是由一台独立路由器完成的。交换机在下面负责接入路由器在上面负责网段互通。这种交换机 路由器的组合用了很多年问题也很明确路由器的以太网口通常比交换机端口少、贵而且路由转发要靠 CPU 或专用转发引擎时延比二层交换高一个量级。当网络里存在几十上百个 VLAN 时所有跨 VLAN 的流量都要挤到那台路由器的一两个口上这条链路立刻成了瓶颈。三层交换机要解决的就是这个瓶颈把查路由表这件事也做到交换芯片里去。于是同一台设备既能做二层高速转发又能在 VLAN 之间做路由跨网段流量不用再出门绕一圈。2.3 为什么非要把路由塞进交换芯片关键在于一次路由多次交换这个老说法。第一个包到达时芯片还没有对应的转发信息于是把它送到 CPU由软件查路由表、做 ARP、决定出接口同时把结果写成一条硬件表项。从第二个包开始只要五元组源 IP、目的 IP、源端口、目的端口、协议能匹配上就直接走硬件快路径跟二层转发一样线速通过。CPU 只处理没见过的流量不参与见过的流量。RTL9303-CG 的数据手册里这一块单列在L3 UNICAST AND MULTICAST ROUTING之下分成 IP Unicast Routing 和 IP Multicast Routing 两部分。单播路由解决的是不同网段之间怎么通组播路由解决的是一路视频流怎么同时送给很多个接收者而不重复占用上行带宽——后者在有电视直播、视频会议、批量系统部署的网络里是刚需缺了它一份流复制 N 份上行口立刻被打满。用命令行来描述这件事最直观下面这几行是三层交换机最核心的配置骨架# 示意把两个万兆口划进不同网段并让交换芯片自己承担两者之间的路由 interface vlan 10 ip address 192.168.10.1 255.255.255.0 # 网段 A 的网关地址落在这颗交换芯片上 ! interface vlan 20 ip address 192.168.20.1 255.255.255.0 # 网段 B 的网关地址 ! ip routing # 三层转发的总开关不开则上面两条地址形同虚设interface vlan 10建的是一个三层接口业内常叫 SVI它把某个 VLAN 变成一个有 IP 的网段ip address给它指定网关地址和掩码掩码决定了这个网段能容纳多少台主机ip routing是总闸很多新手配完地址发现两个网段还是不通八成就是漏了这一行。这三条放在一起才构成一台三层交换机的最小可用形态。3. 8 个万兆口背后的账带宽、包转发率和一堆接口名字3.1 万兆口的账不能只算 80G8 个 10Gbps 端口直觉上就是 80Gbps。这个数字没错但它只是单向线速的理论值而且几乎不是实际组网里的瓶颈所在。真正决定一台万兆交换机能不能扛住的指标是包转发率单位是每秒多少百万包Mpps。原因很简单网络设备转发每一个包都要消耗一次查表、一次调度、一次缓冲写入的固定开销包越小同样带宽下包的个数越多开销就越大。按行业通用的算法一个 10GbE 端口在最小帧64 字节下的理论包转发率是这样算出来的# 10GbE 端口在 64 字节小包下的理论包转发率 line_rate 10 * 10**9 # 端口线速单位 bit/s frame_bits (64 8 12) * 8 # 64B 最小帧 8B 前导码 12B 帧间隙统一换算成 bit pps_per_port line_rate / frame_bits print(round(pps_per_port / 1e6, 2)) # 约 14.88单位 Mpps print(round(pps_per_port * 8 / 1e6, 1)) # 8 个口合计约 119 Mpps那两个额外的字节数不是凑数以太网帧在线上传输时前面要加 8 字节前导码用于时钟同步后面要留 12 字节帧间隙给接收方留出处理时间。这两段不写进抓包结果但确确实实占用了物理带宽。所以 64 字节小包的实际线速永远达不到标称带宽的 100%这也是为什么大包吞吐好看、小包一压就掉速的设备在测试里经常翻车。提示数据手册的 Features 章节会给出这颗芯片的交换容量与转发能力口径。看这类参数时先确认它是单向还是全双工合计两者的数字差一倍很容易被拿来当营销话术。3.2 接口不是一种每种接口在板子上对应什么把数据手册的引脚描述那几节摊开会发现端口这个词在这里被拆成了好几种完全不同的东西。搞混它们的代价往往是一版板子白打。10GBASE-R 是那 8 个万兆口的物理层形态走差分对、交流耦合通常直接接光模块。这一块在 Rev 1.1-1 里有一处改动值得单独提SDS 10GBASE-R 的 VTX-DIFFp-p 从 900mV 调整到了 1200mV。对硬件工程师来说这是会直接影响眼图余量和模块兼容性的参数属于看一眼就得回去改原理图的级别。SGMII 则是另一回事。它是一条 1.25Gbps 的串行链路常用来接千兆 PHY 或者做管理口、低速上行口。它和 10GBASE-R 在名字上都带串行差分但速率、编码方式、应用位置都不同这是初学者最容易搞混的一对。SPI 接口在这颗芯片上有两个方向。SPI Master 用来主动去读外部 Flash 或者配置外围器件SPI Slave 则是让外部主控来配置这颗芯片。Rev 1.1-1 的更新记录里专门提到了更新 master SPI 时序——时序这种事平时没人看一旦时序余量不够表现就是板子偶尔起不来属于典型的玄学故障排查起来极其消耗耐心。DDR3 SDRAM 接口挂内存存的是路由表、ACL 规则、统计计数和报文缓冲UART 是调试串口板子点不亮的时候第一眼就该看它有没有输出EJTAG 是 CPU 的调试接口GPIO 和 LED 接口负责面板灯、复位按键、风扇控制这类看起来不重要但少一个就不像产品的东西。还有一类容易被忽略配置引脚Pin Strapping。上电的一瞬间芯片会采样几个特定引脚的电平据此决定启动方式、时钟源、端口模式等。这些电平不是软件能改的只能靠板上的上下拉电阻定死。如果哪天遇到同一份固件在这块板子上能跑、在那块板子上不跑先别怀疑固件去核对这几个电阻。3.3 那些看不懂但出错就致命的章节引脚分配表、电气 AC/DC 特性、复位时序、ESD 防护这四块内容在数据手册里通常排在最前面或最后面读起来最枯燥出问题的时候也最要命。复位分两种。硬件复位是拉 RESET 引脚整颗芯片回到初始状态软件复位是写寄存器只重置指定模块不影响已经配置好的其他部分。做产品的时候两者都要用上电走硬件复位运行中出异常走软件复位能省掉一次整机断电。ESD 那一页的措辞通常很严肃因为它讲的是这产品会被静电打死而且这种损坏不在保修范围内。要求也写得很具体防静电工作台、接地腕带、拿芯片前先摸一下接地金属、焊接时用标注 ESD 安全的烙铁、在给原型板通电前先断开调试器。这些都是重复到让人麻木的步骤但真被静电打穿过一颗芯片往后每次上手都会老老实实做完。4. 管理型三个字到底管什么VLAN、ACL 和 QoS 的分工4.1 VLAN把一台物理交换机切成好几台VLAN 的本质是在二层帧里插一个 4 字节的标签802.1Q里面 12 位是 VLAN ID可用范围是 1 到 4094。带上标签的帧到了交换机芯片按 VID 查表决定往哪些端口发同一个 VID 的端口构成一个广播域跨 VID 的帧在二层上根本看不见彼此。于是一台 24 口交换机可以被切成办公网监控网访客网三个互不干扰的独立网络而不用买三台设备。Q-in-Q 是在这个标签外面再套一层标签。外层标签由运营商网络使用内层标签留给用户自己规划这样企业内部的 VLAN 编号就不会和运营商的冲突。数据手册里同时列了 IEEE 802.1Q 和 Q-in-Q说明这颗芯片面向的是需要接入多个客户或者多租户的场景。还有一组容易看漏的功能ingress 和 egress VLAN 转换。入口方向把收到的 VID 换成另一个出口方向再换一次。这在多交换机堆叠、或者把两套历史遗留的 VLAN 规划对接起来时特别好用——不用逐台改终端配置在边缘做一次标签翻译就行。4.2 PIE 和 ACL给每个包过一次安检PIE 是 Packet Inspection Engine 的缩写直译是包检查引擎。它做的事就是拿着规则表逐条比对每个进来的包源 MAC、目的 MAC、VLAN ID、源 IP、目的 IP、端口号、协议号这些字段的任意组合都可以作为条件。命中之后可以执行的动作不止放行/丢弃还包括重定向到某个端口、限速、镜像一份给监控口、以及给这条规则加一个计数器。这个计数器Log Counter是个很实用的东西。安全规则写完不知道有没有生效看计数器涨不涨就知道了网络里某类流量到底有多少加一条只计数不动作的规则就能量出来比抓包省事得多。为什么非要用硬件做因为 ACL 需要逐包匹配一台万兆设备每秒要过一千多万个包靠 CPU 一条条比对第一个包就超时了。芯片内的 PIE 是把规则预编译成硬件表项匹配和转发在同一个流水线里完成。# 示意只允许 192.168.10.0/24 访问其余源地址一律丢弃 access-list 100 permit ip 192.168.10.0 0.0.0.255 any access-list 100 deny ip any any interface vlan 10 ip access-group 100 in # in 表示在入口方向生效越早拦下越省后续资源第一行的0.0.0.255是通配符掩码写法与子网掩码相反0 表示这一位必须匹配255 表示这一位随便。第二行的deny ip any any是兜底规则没有它的话未匹配的流量默认放行整条 ACL 就等于没写。第三行把规则组挂到接口的入口方向——挂入口而不是出口是因为被丢弃的包根本不需要走一遍查表和调度。4.3 QoS堵车的时候谁先走QoS 不是某一个功能而是一条链路上的四个环节分类、标记、排队、调度。分类是看这个包属于谁——可以按端口、按 802.1p 优先级位、按 IP 里的 DSCP 值、也可以按 ACL 匹配结果。标记是给包打上一个内部优先级出口的时候还可以重标记Egress Packet Remarking把内部优先级翻译成对端认识的格式。排队是把不同优先级的包放进不同的队列调度则是决定这些队列按什么顺序往外发。调度算法里SP严格优先保证高优先级队列只要有包就先发代价是低优先级可能被饿死WRR加权轮询给每个队列一个权重按比例分配带宽公平但高优先级得不到绝对保证。实际设备通常混着用语音和数据放 SP剩下的按权重分。拥塞这一侧还有两个名字很唬人的机制。SRTCM/TRTCM 是三色标记器按承诺速率和峰值速率给包染上绿、黄、红三种颜色绿色放行、黄色降级、红色丢弃用一套温和的梯度代替要么全过要么全丢。SWRED 则是加权随机早检测在队列快满但还没满的时候就开始随机丢一小部分包让发送方提前降速避免队列彻底溢出后一次性丢掉一大片——后者对 TCP 流量的打击是灾难性的一丢就是全局重传。流控分全双工和半双工两套。全双工用 IEEE 802.3x 的 PAUSE 帧告诉对端先别发了半双工没有独立的控制通道只能靠碰撞式背压Jam Mode或者载波式背压Defer Mode间接示意。半双工在今天基本只剩历史意义但数据手册里仍然保留因为总有一些老设备还在跑。4.4 表项、计数和那颗内置 CPU一台交换机能被管理前提是它能被问出话来。MIB管理信息库就是这套问答的词典每个端口收了多少包、错了多少包、丢了多少包、当前协商到什么速率都在这套结构里。配合 SNMP、CLI 或者 Web 界面网络管理员不用蹲在机房里也能知道设备的状态。表访问Table Access和外部 PHY 寄存器访问是给软件留的两个后门。前者让 CPU 能读写 MAC 表、路由表、ACL 表这些硬件表项后者让芯片能通过 MDIO 之类的总线去配置外接的 PHY 芯片比如协商速率、读取光模块信息。RTL9303-CG 内部集成了一个 MIPS 34KC 级别的 CPU外加 SPI Flash 控制器和 DDR 内存控制器。这意味着它不需要外挂主控就能跑起一套完整的交换机系统固件放在 SPI Flash 里运行时数据放 DDR 里CPU 负责协议栈和管理面交换芯片负责数据面。NIC 和 CPU Tag 转发是这个分工的接口——特定的流量被打上标记送到 CPUCPU 处理完再送回去管理协议和转发数据就这样在同一条链路上共存。另外两个不起眼但越来越常见的能力是 OAM 和 EEE。OAM 用于链路故障检测和定位出问题时能告诉你是哪一段断了而不是只报一个不通EEE 是节能以太网链路空闲时降低功耗在端口多、常年开机的设备上省下来的电费不算少。5. 五个最容易混的概念搞错一个就会翻车5.1 二层交换和三层路由混为一谈易混点两者都是把一个包从 A 口送到 B 口看起来只是查的表不一样。为什么混很多设备的配置界面上二层和三层功能挨着放命令长得也像加上三层交换机这个名字本身就带交换机三个字。怎么区分看它改不改二层头。二层转发不改任何头部字段进什么样出什么样三层路由一定会改写源和目的 MAC因为跨网段之后原来的二层地址已经没有意义了。判断一台设备有没有真正做路由最直接的办法是看跨网段通信时 TTL 有没有减一。5.2 数据手册和参考设计、驱动源码混为一谈易混点都叫开发资料都从厂商那里拿。为什么混新手拿到资料包看到一堆 PDF 和代码很容易以为翻开数据手册就能找到怎么配 VLAN。怎么区分数据手册回答的是这颗芯片有什么、引脚怎么接、寄存器什么含义它描述的是硬件能力和边界参考设计回答的是板子该怎么画驱动和 SDK 回答的是软件怎么调。三者是三个层次数据手册永远不会告诉你业务该怎么配。5.3 10GBASE-R 和 SGMII 混为一谈易混点都是差分串行接口都接光模块或 PHY。为什么混名字里都带字母数字原理图上都画成一对差分线引脚描述里又挨得很近。怎么区分看速率和位置。10GBASE-R 跑 10Gbps对应那 8 个万兆口SGMII 跑 1.25Gbps通常出现在管理口、低速上行或者芯片之间的互联。速率差八倍接错了不是降速的问题是根本不通。5.4 VLAN 隔离和 ACL 混为一谈易混点两者都能实现这两拨人互相看不见。为什么混需求描述是一样的都是隔离而实现手段完全不同。怎么区分VLAN 是划范围划完之后两边在二层上就处于不同的广播域天然不通配置一次长期有效开销几乎为零ACL 是设关卡两边还在同一个广播域里只是每个包都要过一遍规则表规则越多开销越大。想清楚是永久分开还是临时管控选择就不难了。5.5 管理型交换机和网管软件混为一谈易混点都带管理两个字。为什么混采购清单上写管理型实际交付时又配了一套网管平台很容易让人觉得是一回事。怎么区分管理型说的是设备自身具备可配置、可监控、可诊断的能力这个能力来自芯片和固件网管软件是在这个能力之上做集中呈现和批量下发。设备本身不支持软件再强也问不出数据来。易混对一句话分辨二层 / 三层看是否改写二层头、TTL 是否减一数据手册 / 参考设计描述能力 / 描述实现10GBASE-R / SGMII10Gbps 万兆口 / 1.25Gbps 管理或互联VLAN / ACL划范围 / 设关卡管理型设备 / 网管软件能力来源 / 能力呈现6. 什么时候该翻这份手册什么时候翻它纯属浪费时间判断标准其实只有一条你要回答的问题是不是关于这颗芯片本身能做什么。该翻的场景很明确。做硬件选型或者原理图评审时引脚分配表、接口电平、复位时序、Pin Strapping 电阻这几块必须逐条核对任何一处对不上板子回来就是一堆飞线。做驱动移植或者底层调试时寄存器定义、表访问方式、CPU Tag 的格式这些只有手册里有网上搜不到也猜不出来。做故障定位时如果现象是某个万兆口协商不上小包一压就丢上电偶尔起不来手册里的电气特性、时序图和复位章节往往能直接给出方向。还有一种情况也值得翻想搞清楚一台设备的宣传参数到底是怎么算出来的比如标称的交换容量是单向还是双向、包转发率是按 64 字节还是按混合包长。不该翻的场景同样明确。业务配置类的问题——怎么划 VLAN、怎么写 ACL、怎么配链路聚合——数据手册一个字都不会提那是配置指南和命令手册的领域。协议原理类的问题比如 STP 为什么会环路、OSPF 怎么选路去看协议标准或者专门的教材手册只会告诉你支持 802.1D/1W/1S不会解释它是怎么收敛的。至于这个功能好不好用这套方案适不适合我的网络那属于设计与选型的判断任何一份手册都替代不了。你手上的问题该不该翻手册优先看哪部分这颗芯片能不能做 VLAN 间路由该翻L3 单播路由、PIE板子上某个差分对怎么接该翻引脚分配、10GBASE-R 电气特性上电不启动串口无输出该翻复位时序、Pin Strapping、UART怎么给某个端口限速不用翻配置指南STP 收敛慢是怎么回事不用翻协议标准设备标称的交换容量怎么算该翻Features 章节参数口径这套方案适不适合我的机房不用翻自己的需求和预算有一年做一块万兆板子原理图评审时觉得 Pin Strapping 那几个电阻反正有默认值就照参考设计抄了一遍没细看。样机回来第一批十块里有三块上电后串口一声不吭剩下七块正常。查了两天才发现其中一个配置引脚的上拉电阻选得偏大在低温环境下电平被判错芯片进了另一种启动模式。从那以后我每次拿到一份新的数据手册都先把复位时序和 Pin Strapping 那两页单独打印出来用荧光笔把每个引脚的上电电平、采样时刻、允许范围标一遍再拿去和原理图逐条对。这个习惯很笨但确实再没在这上面栽过跟头。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑