4. 以太网基础与数据中心网络协议栈
数据中心网络并不是“把交换机连起来就能通”的简单堆叠,而是一套从二层到三层、从单链路到多路径、从静态配置到动态路由的完整协议栈。理解这套栈的关键,是把它看成一条自下而上的“封装—转发—选路—收敛”链路:主机发出的以太网帧先经过二层交换和VLAN隔离,再通过链路聚合获得带宽与冗余,随后由三层路由完成跨网段转发,最终由OSPF和BGP在Spine-Leaf拓扑中交换可达性信息。本节围绕这条链路,逐层说明各协议在数据中心中的真实作用、典型参数与配置要点。
二层交换与VLAN:先划清广播域,再谈转发
二层交换的核心是MAC地址表。交换机收到帧后,记录源MAC与入端口,再根据目的MAC查表转发;查不到就泛洪。在数据中心里,一个Leaf下可能挂载几十台服务器,若所有端口同属一个广播域,ARP广播和未知单播会迅速消耗带宽。因此VLAN成为第一道隔离手段:每个VLAN是一个独立广播域,不同VLAN之间必须经过三层设备才能通信。
实际部署中,服务器接入端口通常配置为Access模式,只属于一个VLAN;Leaf与Spine之间的上行链路则配置为Trunk模式,允许携带多个VLAN标签。例如将Web服务器放入VLAN 10、数据库放入VLAN 20、存储流量放入VLAN 30,网段分别规划为10.10.10.0/24、10.10.20.0/24、10.10.30.0/24。这样即使某台服务器产生广播风暴,影响也被限制在单个VLAN内。需要强调的是,VLAN只是隔离手段,不是安全边界;跨VLAN访问仍需ACL或防火墙策略控制。
链路聚合:把多条物理链路变成一条逻辑链路
Leaf与Spine之间通常不会只拉一条线。链路聚合(LACP,IEEE 802.3ad)把多条物理链路绑定为一个逻辑接口,既提升带宽,又提供链路级冗余。以4条25G链路聚合为例,逻辑接口带宽为100G;若其中一条断开,流量自动切换到剩余链路,业务不中断。
配置时需注意三点:第一,聚合两端必须使用相同的速率、双工模式和VLAN模式;第二,LACP模式建议使用active,由两端主动协商;第三,哈希算法决定流量如何分布到各成员链路。常见哈希因子包括源/目的MAC、源/目的IP和源/目的端口。若只按源MAC哈希,单台服务器的大流量可能只走一条链路,导致聚合带宽无法充分利用。因此数据中心常采用“源IP+目的IP+源端口+目的端口”的五元组哈希,使不同TCP流均匀分布。
interface Ethernet1/1-4
description Leaf-to-Spine
channel-group 10 mode active
interface port-channel10
switchport mode trunk
switchport trunk allowed vlan 10,20,30
lacp rate fast
三层路由:从VLAN间转发到Spine-Leaf路由
当VLAN划分完成后,跨VLAN通信必须经过三层路由。传统做法是把VLAN网关放在核心交换机上,但数据中心更常用分布式网关:每台Leaf都作为其下挂VLAN的网关,服务器跨Leaf通信时由源Leaf直接路由到目的Leaf,避免绕行核心。以VLAN 10网关10.10.10.1/24为例,Leaf上配置SVI接口后,主机ARP请求网关,Leaf回应自身MAC,随后按路由表转发。
在Spine-Leaf架构中,Leaf与Spine之间通常运行三层路由,形成ECMP(等价多路径)。例如Leaf1到Leaf2存在两条等价路径,分别经Spine1和Spine2,流量按五元组哈希分摊到两条路径。这样既提升带宽,又在一台Spine故障时自动切换。判断ECMP是否生效,可查看路由表中同一目的网段是否出现多个下一跳,且权重相同。
OSPF与BGP:数据中心里的分工与配合
OSPF是链路状态协议,适合中小规模、层次清晰的网络。它通过Hello包建立邻居,交换LSA形成链路状态数据库,再用SPF算法计算最短路径。数据中心里OSPF常用于Underlay网络:Leaf与Spine之间建立OSPF邻居,快速收敛链路故障。典型参数包括Hello 10秒、Dead 40秒,若使用BFD可将故障检测缩短到毫秒级。
BGP是路径矢量协议,更适合大规模、策略灵活的场景。在数据中心中,BGP常用于Overlay网络(如VXLAN EVPN),Leaf作为VTEP通过BGP EVPN交换MAC/IP可达性信息;也可用于Underlay,通过eBGP在Spine与Leaf之间传递路由。BGP的选路属性丰富,如Local Preference、AS Path、MED,便于实现流量工程。例如希望Leaf1优先经Spine1上行,可在Spine1上设置更高的Local Preference。
OSPF与BGP并非互斥。常见做法是Underlay用OSPF或eBGP保证底层可达,Overlay用BGP EVPN传递租户路由。选择依据是规模与策略需求:小型网络可用OSPF简化配置;大型多租户网络则倾向BGP EVPN,以获得更好的扩展性和策略控制。
协议栈协同:一个跨Leaf通信的完整过程
假设服务器A位于Leaf1的VLAN 10(10.10.10.10),服务器B位于Leaf2的VLAN 20(10.10.20.20)。A向B发送数据时,过程如下:A发现目的IP不在本网段,将帧发给网关(Leaf1的SVI MAC);Leaf1查路由表,发现10.10.20.0/24经Spine1或Spine2可达,按ECMP哈希选择一条路径;Spine收到后继续转发到Leaf2;Leaf2作为VLAN 20网关,将帧送达B。若Leaf1与Spine1之间的链路故障,OSPF或BFD在毫秒级检测到,路由表重新计算,流量切换到Spine2,业务仅出现极短抖动。
这一过程说明:二层提供接入与隔离,链路聚合提供带宽与冗余,三层路由提供跨网段转发,OSPF/BGP提供动态可达性与收敛。四者缺一不可。实际排障时,可按“先看MAC表、再看VLAN、再看聚合状态、再看路由表、最后看邻居状态”的顺序逐层定位,避免在错误层次反复排查。