【編者的話】文系SDN撕X群(微信群,群主大貓貓)分享整理而成,分享者Arista服務工程師大貓貓分享的是VXLAN基礎知識包括VXLAN BRIDGING和VXLAN ROUTING。
分享嘉賓
--------------------------------------------------------------------------------------------------
嘉賓:大貓貓,Arista服務工程師,之前在JUNIPER工作九年,TAC和SE都做過,純網工。
分享正文
之前Arista在歐洲階段性的有ATF的類似技術論壇的會議, ARISTA TECHNICAL FORUM, 後來到了美國和APAC, 名字改了, 改為CLOUD BUILDER, 今年AMERICAS TEAM才正式開始搞, 從NYC開始, 到亞特蘭大, 再到WASHINGTON DC,這些TOPIC和PPT都是總部批準過, 可以公開的.
本次分享主要就講講VXLAN基礎知識, 包括VXLAN BRIDGING和VXLAN ROUTING, 另外再推點兒私貨(無恥臉….)
網絡架構方面, 其實相對簡單, 業界認可了L3 LEAF SPINE用IP CLOS FABRIC的設計, 基本上把二層流量限制在同一RACK内部,spine leaf之間的協議是跑EBGP,然後拿VXLAN BRIDGING打二層的洞, 主要是VXLAN/VLAN SCALABILITY, 兼顧VM的move。
CVX應該屬于廠家私有解決方案, 拿ARISTA EOS其中CVX軟件做CONTROLLER(拿個VM裝vEOS也行), 可以做VXLAN的MAC地址搬運, 集中管理, 狀态維護, 與NSX和NUAGE可以聯動, 還有OPENSTACK, 用ML2插件就行.目的是統一的, 就是維護MAC, VNI, HW VTEP這些的狀态信息。
無控制器的解決方案呢, 基礎架構就用VXLAN OVER IP CLOS FABRIC, 多宿主, 私有雲和管理服務, 然後控制平面MAC學習是CVX(私有控制器解決方案), 或HER或普通IP組播, EVPN方案在做, 但是說實話, 比起JUNIPER的EVPN解決方案, 時間上比較靠後.
以前, 早先是IP MCAST實現MAC地址和FRAME FLOODING功能, 說白了VTEP和一個IP組播組關聯/VNI, 然後BUM都通過IP MCAST方式轉發, 這個是支持第三方VTEP的. 後來, 簡單的做法, HER, HEADEND REPLICATION, BUM直接複制到REMOTE VTEP, 複制在INGRESS VTEP進行, 這個看起來很DUMB其實是最有效的, 就是得手工指定REMOTE VTEP FLOOD LIST. AGAIN, 這個是最有效率的, 也是現行的方法(你能有幾個REMOTE VTEP需要FLOOD? 再大的DC, REMOTE VTP也最多不超過三四個)
VXLAN BRIDGING,二層跨三層路由網絡, 允許端到端的LAYER 2 CONNECTIVITY
這是ARISTA的MLAG解決方案, 思科叫VPC, JUNIPER叫MCLAG, 是第一跳接入的 ACTIVE ACTIVE和冗餘解決方案
簡單說一下映射, 這個目前根據需求, 最普通的是一對一映射, 一個VLAN對應一個VNI, 這個映射隻本地配置有效, VLAN ID是帶不過去VXLAN tunnel的, 這裡有個靈活性就是VLAN翻譯, 本地VLAN 200可以翻譯到對端VLAN ID 300, 但VNI必須一緻, 這個是REQUIRED,對QINQ, 也就是VLAN STACKING, ARISTA目前操作的是外部S-TAG到VNI的映射,内部C-TAG直接是多個C-TAG放一個VNI裡.
實際應用就是單一的VXLAN P2P LINK可以把你指定的多個CUSTOMER VLAN都發過去.再一個, 就是再加上INGRESS PORT, 這個容易, 不說了, 好處就是單一VTEP裡沖突的VLAN可以映射到多個不同的VNI裡
L2相關控制平面的協議也就是STP, BPDU是不帶過去的. 所以, 每個VTEP的本地端口其實創建了多個STP DOMAIN, 這個沒辦法. 話說您都跨越L3 DOMAIN了耶 , 還非要放一個L2 STP DOMAIN幹嘛.
QoS, 目前是對OUTER FRAME的DSCP VALUE/802.1P進行操作, rewrite隻作用于INNER FRAME
TC-MAP是從OUTER FRAME的COS SETTING裡得來的.
QoS本身就是比較亂, 再有就是各家實現方法各有千秋, 沒必要細講. 比如思科自己家設備自己家SE都搞不清楚, 某款設備多種闆卡QOS啊隊列啊, 都不一緻. 所以, 多說無益.
跨地理位置DC互聯, VM MOBILITY, 大嘟嘟老說沒需求, 其實我看到的, 至少在美國東部投行, 還是真的很多的. Morgan Stanley, Goldman Sachs, Citi, Wells Fargo, Capital One甚至Fannie Mae, Freddi Mac都很多這種應用, 已經成為Data Center OPS engineer的日常.
第二類應用, 就是LEAF SPINE裡的一種二層服務, 就好比EVPN或者VPLS似的,說白了不管你物理位置在哪兒, 都能提供一個邏輯上的多級網絡,這個和早年JUNIPER提出的LSYS,LR組建分離式網絡的概念, 從某種角度來講有異曲同工之妙.說白了, 拿VNI當虛拟鍊路标識符來搞,反正一千六百萬呢, 多的是VNI
下面說說VXLAN ROUTING, 這東西吧其實跟VLAN ROUTING沒區别, 就看你是直接模式, 還是間接模式
概念性的東西, 大概來一把,你先在跑VXLAN的設備上起個SVI, 其實是多個SVI, 然後你VXLAN不就終結在這個VTEP上嗎, 就是多個VLAN 路由/VXLAN 路由......另外即使本地主機是直接物理連接, 也得支持VXLAN ROUTING (感覺這句是廢話, 你網段都不一樣, 肯定要路由的啊)
你本地指向一個L3 GW, 做了SVI, 然後遠程一台主機隻想一個L3 GW, 指向的是本地的L3 GW(對遠程主機來說, 本地的L3 GW=遠程的L3 GW), 然後你還是得在一台VTEP設備上跑倆SVI, 保證網關都指對了, 就好做路由了.
原理自己看圖, 我倒是覺得搞清楚什麼時候啟用路由更重要(destination mac = local L3 GW interface mac)
設備弱相關, 這裡涉及到RECIRCULATION, 我澄清一下, ARISTA所有設備包括T2平台, 都支持VXLAN ROUTING
原理我大概說一下: 1, 路由查找, 需要過一次ASIC; 2, VXLAN封裝, 需要過一次ASIC; 3, VXLAN解封裝, 需要過一次ASIC
大夥兒再看一下我上面3個圖, 每個圖分别對應一種情況:
- 第一種,要做路由, 然後路由完了做VXLAN 封裝,(這裡, 默認是過一次ASIC, 要麼VXLAN封裝或解封裝, 要麼路由), 如果說到RECIRCULATION那麼最少是過兩次ASIC.
- 第二種, 遠程主機先路由到本地主機, VTEP是遠程主機的L3 GW, 這裡, 先得解封裝VXLAN , 然後做路由
- 第三種, 比較複雜, 兩頭都是VNI的情況, 都得先VXLAN解封裝(完後還得再次封裝, 卧槽有毛病啊, 本地做路由能死啊???!!!) , 然後路由, 然後再做VXLAN封裝...
設備強相關, 個别平台如果需要做ALL PORTS Linerate VXLAN ROUTING的話, 需要DISABLE某些端口.
設備強相關.
這個圖比較亂, 我慢慢說,LEAF NODE通過MLAG執行本地的冗餘接入功能, 用VARP(類似思科GLBP的雙ACTIVE, 比HSRP, VRRP要好)提供L3 REDUNDANCY. DC核心的交換機呢, SPINE LAYER, 也起個VLAN , 也起個SVI, 然後VTEP(就是LEAF) 直接VXLAN BRIDGING(VXLAN SWITCHING) 到DC CORE, 說白了就是打一個二層通道到DC CORE讓DC CORE做VXLAN ROUTING , 這是DIRECT ROUTING MODEL, 直接路由模式.對某一個VNI, 一台LEAF和一台DC CORE(spine)特意給這個或多個主機開一個透明二層通道.把Ethernet frame放過去, 然後在SPINE上做路由
好壞分析, UNDERLAY OVERLAY分的層次清晰,VXLAN ROUTING在第一跳(for inter-rack routed traffic),缺點就是SPINE和LEAF都得配SVI(我個人挺煩這個的) , 完後LEAF上整出一堆ARP。
間接路由模式,LEAF NODE配一部分SVI, 共享VNI, 然後跑IGP,這個VNI就是專門打通本地多個VLAN和外部connectivity的,然後, SPINE也就是DC CORE, 隻配與SHARE VNI對應的VLAN的SVI接口.
好壞分析, 最煩suboptimal routing,好處就是通過這個VNI保證了南北向的對稱路由. 對了我說的次優路徑指的是tenant之間的.
最後一張圖, 本來是DEMO的一部分, 就當個小CASE, 不太熟悉的童鞋, 自己過一下PACKET FLOW流程吧.
-------------------------------------------------------------------------- SDN撕X群由Arista服務工程師大貓貓建立,群内彙集了一大批網工和SDN從業者,群内不定期有技術分享,感興趣加微信号wx928579866 ,或者tangahr邀請入群, 暗号是:SDN撕逼群。圍觀SDNers V.S. Networkers請一定加此群。
,