前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >datacenter network architecture

datacenter network architecture

作者头像
惠伟
发布2021-02-24 11:28:13
6480
发布2021-02-24 11:28:13
举报
文章被收录于专栏:虚拟化笔记虚拟化笔记

想写两篇文章,一是《数据中心网络体系结构》,二是《交换机体系结构和pipeline》,写这主要是为总结和回顾,好帮我们解决云计算碰到的问题,比如云计算环境overlay和underlay网络怎么设计,软件交换机可以借鉴那些硬件交换机的特性,软件的转发流程怎么设计等等。

这篇算是《数据中心网络体系结构》,主要回顾二三层转发原理,分析一下数据中心网络结构从access-aggregation-core到spine-leaf的演进原因。

方案级别的演进包含着很多配套技术,而且这些技术是相互交织在一起的,技术之间互相促进,实现了螺旋式发展,最终发展到一个成熟可落地的程度就是一种方案了。当然不管多么高大上的技术都是由基本的技术发展而来的,大卸八块之后都是一些基础的技术,所以基础技术一定要扎实。

二层转发

根据MAC来查MAC表转发,MAC表是学习来的,报文来了学习源MAC,后续如果有目的MAC是这个源MAC的报文来那么就从学习到的这个端口发送出去,这点很不安全,一个终端想接收别人的报文,那么冒充别人发送一个报文就能把别人的报文引过来。

广播,报文来了如果还没有学习到这个目的MAC或者是广播MAC,那么就从所有端口发送出去,如果有终端干坏事,一直发送广播MAC的报文把交换机都能搞瘫痪。

STP防环路和阻断,每一跳包头是不变的,如果出现了环路那么报文就真正的一直环下去了,除非有高端的环路检测方法。

二层转发,MAC学习来说不安全,广播和防环路方面来说故障影响比较大,用vlan隔离一下是不是能好很多,把相同安全级别的设备放一个vlan下,同时能减少广播和环路的影响范围,如果要跨vlan转发就用三层转发。二层转发还存在的问题就是为了防环路,交换机把一些端口shutdown了,导致链路利用率比较低,STP全局只有一根树,首先选举一个交换机为树根,其它交换机都以这个交换机为树根进行计算,如果一条链路DOWN了,STP收敛很慢。但二层是一种非常高效和省事的转发技术,不修改报文头,接入时不需要进行MAC配置和规则,迁移也不需要改变MAC地址。

三层转发

根据目的IP来查路由表来转发,路由表是路由协议配置,路由器之间建立邻居关系,同步路由,所有路由器都以自己为根进行SPT最短路径生成树计算,只站在自己的角度考虑问题,同时支持ECMP等价路由,路由协议就安全很多,邻居之间要互相进行认证,认证通过了才能进行协议报文交互和路由通告。

三层报文头有个TTL,进行三层转发时TTL要减一,即使三层出现了环路,有TTL在报文也并不会一直环下去。

做完三层转发还要做二层转发,三层的下一跳其实是二层转发到达的,所以三层转发时每一跳都要修改二层头,修改二层头时用ARP获取下一跳IP对应的目的MAC,源IP和目的IP保持不变,源MAC修改成自己,目的MAC修改成下一跳的MAC。

三层转发的问题就是要规划IP地址,IP有ABCD类,公网和私网地址,有网段和掩码,规划复杂,相比二层转发效率也低。

二三层转发

如果一台设备同时支持二层和三层转发,一个报文来了怎么决定是进行二层转发还是三层转发呢,这个设备也有自己的MAC地址和IP地址,如果报文的目的MAC地址是自己的,那么它就再看IP地址,如果不是自己的就进行三层转发,如果是自己的就自己把这个报文消化了,如果报文的目的MAC不是自己的,那么就进行二层转发。

access-aggregation-core

借用cisco的这张图,用我自己的话说一上,可以看原文《Cisco Data Center Spine-and-Leaf Architecture: Design Overview》,写的特别多,大厂技术积累厚理解深。

广播域不能太大,二三层分界放在aggregation上,一个pod一个子网。

南北流量大,每一层向下和向上接口转发能力是不一样的,firewall和lb在agrregation上。

为了高可用性,aggregation两台交换机IRF堆叠,主机双上行跨交换机聚合。

spine-leaf

计算虚拟化来了,迁移要求是二层,网络就是大二层,不能用access-aggregation-core按pod划分,否则虚拟机迁移不让另一个pod了。虚拟机太多了,mac太多,aggregation的mac表承受不住。虚拟机出现了,业务分布式化了,流量模型发生了变化,虚拟机之间流量占了大头,东西流量大于南北流量了。

大二层要求三层上移,网络就能这样了,问题是同一aggregation下的两台物理机通信只要经过一个交换机,不同aggregation下的两台物理机通信要经过三台交换机,而且core承受的流量太大,干脆变两层得了。

二层网络就spine-leaf结构,东西向流量大,Clos network,接口转发能力都一样了,容易扩展,路径等长时延可控制,结构简单容易大规模扩张。N-1节点同时给第N个节点发流量,搞N-1个spine节点,ECMP技术要成熟。

还剩下一个问题就是MAC太多,那封装MAC,MAC in Mac,spine交换机不再学习虚拟机的MAC地址,二层转发用ECMP,这样spine上的流量就能分担开,广播太多,leaf主动学习MAC,leaf之间同步MAC然后给host代答,还是靠vlan隔离,如trill技术,trill还有复杂的BUM控制。

公有云网络需求,一是隔离,二是自定义IP,三是子网互通,四是和外网互通。

首先vlan只有4094个,用vlan隔离数量不够,MAC in MAC,spine是二层转发,如果spine不用支持trill,spine用stp,spine成环了怎么办?spine链路都能利用上?如果spine支持trill,那不是浪费,spine其实不用encap/decap trill,只要leaf能encap/decap就行了,怎么看trill都不合适用于公有去上。

个人理解封装技术就是overlay/underlay技术,overlay和underlay独立演进,要求overlay二层互通,underlay只要通就,MAC in MAC就是要求underlay二层互通,MAC in IP就是要求underlay三层互通,显然underlay三层互通比较好,支持的规模大,ECMP技术成熟,甚至能达到跨DC互通,跨DC迁移或者说互通一定好吗?trill+otv和vxlan+otv有什么区别?

用的多的封装技术就是VXLAN,overlay二层互助,underlay三层互通就行了。VXLAN和VPLS有什么区别?VPLS有没有EVPN这样的控制面?可能VXLAN更适用于DC,VPLS用于运营商给企业不同站点实现二层VPN吧。

再说剩下三个需求,二是自定义IP,三是子网互通,四是和外网互通。

vxlan能地址重叠是因为三层路由表也用VRF隔离,那么vlan和trill能不能也用VRF隔离一下实现地址重叠,是可以的。传统上三层一般在上层转发能力强大的设备上,但spin-leaf结构中南北向流量小,三层可以下放到leaf,有一个leaf节点可以当作三层boader向外发布和引进路由,三层在boader上也可以多活,三层放在leaf后,spine节点就更简单了,专心干三层转发就行。因为用了Clos network,二层转发实现了non-blocking转发,三层转发还要走网关节点,租户自定义网段,不想让三层成为瓶颈,三层分布式网关。

主机overlay和网络overlay

上面说的都是网络overlay,就是把encap/decap功能放在接入交换机上,主机overlay把encap/decap功能放在物理机上。

不同交换机厂商的交换机配置接口都不同,有了netconf或者openflow能好一点,但port和vlan配置这些总觉得还是不一样,接口调用是同步还是异步,交换机连接断开后数据怎么平滑,都不好搞。

同一DC有上云和不上云的业务,再考虑到网管对地址的规划,交换机数量庞大,必须统一配置和管理,显然主机overlay更好。

主机overlay的问题就是encap/decap耗费cpu资源,网络overlay的性能更好。

总结

一个技术要成熟天时地利人和少一不可,一个技术的成败可能就在于一些细微的差异,一定要考虑到兼容升级投入产出,随便一个方面有问题可能就导致上不了生产环境,从而不成大规模推广。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二层转发
  • 三层转发
  • 二三层转发
  • access-aggregation-core
  • spine-leaf
  • 主机overlay和网络overlay
  • 总结
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档