当前位置: 首页 > 科技观察

B站接入层网络演进实践

时间:2023-03-13 04:35:58 科技观察

01网络设计背景1.1稳定性和可扩展性在设计任何网络结构时,网络稳定性和可扩展性是必须考虑的两个因素。丢包、拥塞、扩容决定了网络质量的上下限。任何级别的网络质量波动都会对视频直播点播业务的生产和消费产生最直接的影响。基于哔哩哔哩始终将用户体验放在首位的前提,在设计网络之前,需要充分调研网络的网络流量模型和业务需求。然后从设备选型、网络规划、技术应用、协议设计、生态演进等多个维度,制定并实施最符合当前哔哩哔哩用户需求的网络解决方案。1.2带宽和流量模式随着视频时代的到来,承载业务的数据中心规模也日益扩大,新增数据中心的服务器容量从几千台迅速增加到几万台.在传统的树形网络结构中,在网络结构和带宽容量方面,没有考虑到数据中心东西向流量的需求。大多数都是为了满足南北流量的大带宽应用而设计的。因此,虽然这种结构可以满足业务临时的应用场景。但由于各层上下行带宽收敛比高,如果后期需要扩展带宽,则需要升级各种网络部件,如扩展核心层的业务板和Fabric设备。同时,人工智能、大数据计算集群等线上线下主机应用产生了巨大的东西向流量。一些特定的应用和场景(比如多活改造)需要在集群之间进行大量的数据复制。传统的树形结构无法满足东西向大带宽需求。要么组网成本太高,要么无法实现,因为整个网络受限于商用物理设备的形式,比如设备端口密度等。1.3成本优化B站的网络基础设施CAPEX(CapitalExpenditure)在整体IT成本中占了很大比重。因此,技术团队通过优化单个网元的成本来改善这种现象。具体可以采用以下两种实现方式:统一所有网元,最好使用相同的硬件类型或相同的设备。在进行大宗采购的同时,引入多家网络设备供应商进行充分竞争,从而达到降低成本的目的。为了丰富厂商的多样性,有必要制定标准的网络参数要求。这一举措大大提高了厂商选择的灵活性,同时为白盒设备提供了基础技术指标。1.4高效运行随着网络设备数量的增加,网元故障的频率必然会增加。减少网络故障域是降低网络OPEX(OperationalExpenditure)的重要指标。网络中容易出现广播和单播风暴,影响网络的稳定性和可靠性。如何高效地运营和管理网络是一个热门话题。在网络设计之初,可以根据全路由设计缩小故障范围,将故障域设置在更小的网络范围内。在设计全路由时,尽量使用相同的路由协议(如BGP协议)来简化设备控制平面的复杂度,从而降低网络崩溃的概率。02B站接入层结构演进2.1DCNV1.0网络结构在B站DCNV1.0解决方案中,既有接入层,也有核心层广播域。如图1所示:图1DCNV1.0架构在堆叠方案中,将两台接入交换机虚拟成一台,作为冗余备份。稳定。Spine层也通过堆叠将两个核心网络设备虚拟化为一个。堆叠的好处是只有一个设备控制平面,两台交换机集中配置,减少了频繁登录不同设备的操作时间,从整体上简化了网络设备的管理成本;两台接入交换机的表项依靠堆叠心跳线同步。但是,堆叠方案逐渐暴露出组网方案和后期运维两个方面的风险。风险一:软件风险无论使用哪家厂商的设备,都不能保证软件系统没有bug。一旦出现bug,需要对设备软件进行补丁或软件版本升级。虽然有类似ISSU的技术可以实现不间断升级,但是ISSU的适用范围仅限于两个版本差异较小的情况,而在实践中,各厂商的无损升级技术高度复杂,升级风险大,成功率低,或多或少会引入额外的问题,导致升级过程中网络连接异常。此外,堆叠成员节点的个别升级会影响控制平面和网络稳定性。风险二:分裂风险当交换机之间互连的堆叠线路发生故障或异常时,会导致堆叠分裂。虽然不常见,但在实际操作中还是会遇到。历史上B站就发生过这样的案例。出现的问题是,分裂后相当于网络中出现了两台配置完全相同的交换机,造成网络配置冲突,最终导致堆叠系统承载的业务中断。面对这种分裂风险,当然有相应的解决方案,即一旦系统检测到分裂,就会DOWN除了堆叠端口、管理接口和管理员指定的例外端口以外的所有端口,以防止分裂。影响网络。这种方式虽然避免了网络中出现两台配置相同的交换机,但是代价是显而易见的。业务恢复操作变得复杂,远程恢复操作变得异常困难。基于以上两个风险点以及堆叠组网带来的其他隐患,目前B站数据中心接入层组网堆叠技术已经不再使用。2.2DCNV2.0网络结构为了解决堆叠方案的问题,团队于2019年初开始重新设计DCN网络结构,叶子接入层采用M-LAG技术(跨设备链路聚合组)替代原始的堆叠方法。spine层不再使用stacking,每个设备独立运行。同时,为了更好的冗余和提高带宽收敛比,Spine层增加了网络设备的数量。Spine-Leaf层运行EBGP路由协议,消除大二层网络带来的广播风暴风险。DCNV2.0网络结构如图2所示:图2DCNV2.0结构M-LAG(MultichassisLinkAggregationGroup)跨设备链路聚合组是跨设备链路聚合的一种机制,允许两台设备接入交换机在相同状态下与对接设备进行链路聚合协商,从而将链路可靠性从板级提升到设备级,形成双活系统。从被连接设备的角度来看,就好像与一个设备建立了链路聚合关系。与DCNV1.0架构相比,V2.0架构有效解决了交换机软件版本升级难的问题。两台接入交换机可独立升级,保证只有一台设备正常工作,对运行业务影响小。同时在接入层做了一些配置优化,比如配置Monitor联动设备的上下行端口,BGP路由协议配置优化等。相比V1.0时代,网络的稳定性和扩展性得到了提升提高了一个等级。但同时,DCNV2.0网络结构还存在以下问题:收敛比:指单个网络设备的上下行带宽之比。一般根据不同的业务应用设计不同的收敛比,很难做到1:1。收敛比。由此产生的运维问题是需要随时监控spine的上行带宽容量,当达到预定阈值时需要及时扩容。可扩展性:由于spine采用大功率模块化交换机,IDC机房包房扩容时,只需购买指定品牌即可。交换机的名片不利于扩展。另外,由于整个机箱的端口密度有限,也会限制整个DCN的规模扩展;大功率机柜:现有机箱交换机由于整机功率大,对机房环境要求严格,机房物理机柜、电力、空调都需要根据需要改造.引入额外成本支持,同时,改造后机房仍有可能出现局部过热现象;心跳线:虽然组网中的接入层由原来的堆叠升级为M-LAG技术组网,但同样是两台设备需要通过心跳线控制两台交换机同步数据,一直没有实现独立的接入层设备,仍然给设备升级和日常运维带来诸多挑战;OPEX&CAPEX高:盒式设备对软件特性要求高,限制了厂商设备选择的灵活性,不能充分引入竞争;维护多个芯片架构会增加测试、培训和维护的要求。基于上述M-LAG组网带来的相关问题,B站网络团队继续探索DCN网络结构,奋力寻找最新的DCN结构组网方案,并由此诞生了DCNV3.0网络B站结构亮相。03DCNV3.0网络架构2020年底,B站网络团队将与国内外互联网龙头企业及设备供应商广泛交流学习,着手研究新一代DCN盒式组网方案,并2021年年中完成DCNV3.0网络架构整体方案验证。并于2021Q3在新数据中心实施3.0网络架构。经过半年的灰度验证,全网稳定运行。目前该网络方案已在B站数据中心全面部署;DCN3.0网络结构如图3所示:图3DCNV3.0结构DCNV3.0网络结构描述:组网中相关名词解释:接入层交换机ASW(AccessSwitch),汇聚层交换机PSW(PolymerizesSwitch)、分布层交换机DSW(DistributeSwitch);POD内部的ASW/PSW/DSW网络设备采用同规格芯片(目前主流的Tomahawk3芯片),均为盒式开关,设备轻便,易于安装使用;包含4个PSW和64个ASW,PSW上下行带宽收敛比达到1:1,单POD支持64组机柜,单机柜接入20台服务器,单POD最大可支持1200台服务器规模;server25G接入在该场景下,单个Server-Pod包括8个PSW和64个ASW。在保持PSW上下行带宽收敛比1:1的同时,25G接入场景下单台POD服务器的规模和容量保持不变;可根据业务需求调整单个POD内的服务器规模,改变PSW的上下行收敛比,使单个Server-POD的容量更大,同时Server-POD的数量可以横向灵活扩展,支持整个机房的规模应用;直接利用现有普通机柜即可满足用电、空调等物理环境,避免局部过热;POD中的两个ASW为一组,中间没有心跳连接。两台设备完全独立,服务器接入层通过Bond接入,启用双发ARP特性,网络去栈;在网络成本方面,在相同的收敛比下,Capex的采购成本明显低于上一代网络,达到降本增效的目的;超大规模机房引入Cluster概念进行扩容,同时在机房内部增加一个SuperSpine平面,支持整个机房的规模扩容。3.1网络参数优化3.1.1ARP配置优化接入层ASW开启ARP代理功能,避免同一交换机下的服务器直接通过二层转发流量;接入层交换机ASW改变业务网段的VLANMAC地址,指定两个交换机在每个ASW上设置相同的MAC地址,用于向服务器转发流量;在接入层开启ASW,加快ARP超时设置。默认的ARP超时时间因制造商而异。在失败的情况下路由黑洞的可能性。3.1.2ASW风暴抑制接入层ASW下行服务器汇聚接口抑制二层广播转发/组播和二层未知单播转发,使全网无二层转发流量,全路由转发实现了。3.1.3LACP配置优化LACP,即LinkAggregationControlProtocol,全称:LinkAggregationControlProtocol;服务器默认使用BondMode4,部分场景存在BondMode0;ASW与服务器连接的聚合端口需要设置为相同的LACPSystemID,对端设备逻辑上认为收到的LACPDU报文是同一台设备发送的;ASW中的两个ASW设置了不同的LACPDeviceID,使得服务器看到的LACP成员端口号不同;由于某些业务的特殊性,为保证可靠性,服务器网卡工作在BondMode0,充分利用网卡带宽。3.1.4DHCP配置优化DHCP,即DynamicHostConfigurationProtocol,全称:DynamicHostConfigurationProtocol;ASW设备的DHCP请求开启option82特性,并将DHCPrelaysourceip设置为本地loopback地址,避免dhcpserver异常回包。3.1.5Hash配置优化B站DCN3.0网络结构中,由于DSW、PSW、ASW设备使用同一芯片,存在HASH极化风险,甚至二层链路时会加剧HASH极化捆绑使用的可能性。为了避免Hash极化,所有设备都配置了sip+dip+sport+dport的五元组负载分担模式,并调整了ASW、PSW、DSW设备的offset参数算法。3.1.6BGP配置优化全网运行EBGP路由协议,根据实际情况对不同路由类型进行优先级排序;根据不同的业务类型,为全网不同的路由条目设置Community属性;接入层ASW对32位主机启用ARP路由,通过BGP重新分发到网络中,并设置社区属性在DCN网络内传输;所有设备都启用BGP平衡功能,默认情况下流量通过ECMP进行负载平衡。3.1.7服务器网络配置服务器网卡默认工作在BondMode4,一些特殊场景工作在BondMode0;服务器重新编译ARP内核模块,使服务器的双网口支持发送ARP包的能力。不同的ASW同时学习服务器的ARP地址,形成流量负载分担能力;服务器接入层DOWN/UP时,监听网口UP后,加入bond,将服务器所有ARP同时批量发送到两个bond成员端口,同步ARP表项,解决一个-道路交通问题。3.1.8Failover配置优化当ASW所有上行接口down时,下行接入服务器检测不到,服务器会继续向故障接入交换机发送数据。全部丢弃,导致网络异常。使能ASW上下行接口的Monitor-Link功能可以避免该问题。当所有上游接口失效时,关闭下游接口。同时,在上行接口up时,下行接口也延迟up,为设备路由协议预留一定时间收敛,避免路由黑洞的发生。04未来展望B站网络团队本着稳定、高效的原则设计网络架构。底层物理网络通过物理线路、硬件设备和网络技术组成稳定可靠的DCN网络,为上层业务提供高效、快速的转发通道。底层机房基础设施,上行基础网络业务,需要解决业务需求快速变化与基础网络升级难之间永恒的矛盾。未来,基础网络将继续紧跟技术发展趋势,根据业务需求探索新的网络结构,为哔哩哔哩业务提供更加稳定、高效、可扩展性强的网络服务。作者:哔哩哔哩系统部网络团队负责哔哩哔哩数据中心网络的网络规划、设计、建设、运维和优化,为公司业务提供稳定可靠的网络服务。整个团队专注于数据中心内网、骨干网、负载均衡、传输网、虚拟化网络、国际化网络的实施与应用,并根据业务发展需求迭代更新底层基础网络设施。