VXLANチュートリアル

Transcription

��ンズアーキテクト大平 伸一Jan.20. 2016

Agenda VXLAN基本知識 VXLAN BridgingとRouting 標準化プロトコル VXLAN EVPN VXLAN EVPNの活用例 VXLAN EVPNのコンフィグ例 VXLAN 参考情報

VXLAN 基本知識

�要件 �要件SDNコントローラ �トの増大への対応L3ファブリック �ークの自動化 �び複雑性の削減フロントセグメント1 � VXLAN(L3 AN(L2 VNI)で管理 b ��て自動追従仮想

��L3 GWYL3 GWYL3 BoundarySpineSpineL2 FabricL3 FabricLeafL3 GWYL3 BoundaryAppAppOSOSVirtualPhysical L2ファブリック1. 処理2. 理を行うので拡張性に難あり3. . �フラッティングL3 GWYAppAppOSOSVirtualL3 GWYL3 GWYLeafPhysical L3 ファブリック1. ��2. る3. �4. ��的なファブリックを提供

レイヤ3 ファブリックの価値 L3ファブリックの利点 テナントの識別にVXLAN VNIを活用し効率的に管理 �ョンに対応 テナント間でIPアドレスの重複を許容 Leafでの分散 L3 ゲートウェイにより高い拡張性 �想化技術を導入可能 ��動化やリソース管理の最適化を実現

VXLANが可能にするものRack-Wide VM MobilityDC-Wide VM MobilityDCDCVLANVLANVLANPODPODPODPODVLANVXLAN

VXLANの用語サービス Virtual Network Instance (VNI)識別子 VN Identifier (VNID)NVE Network Virtualization EdgeVTEP VXLAN Tunnel �ンVTEPsEncapsulationEdge Device (NVE)Underlayネットワーク(IP網) Underlay ��ンEdge Devices (NVE)ホスト(エンドポイント) ネットワーク構成を意識しない �ック回避などはアンダーレイに依存

これまでのVXLANの特長 �クの分離 Underlay ネットワークの構成を意識しない �ボトルネック回避などはUnderlay に依存 PIM Multicast Routingで ��クが必要VTEPVTEPOverlay ネットワーク(L2)PIMPIMVXLAN トンネルUnderlay ネットワーク(IP網)IGP ダイナミックルーティングVTEP

これまでのVXLANの特長 BUMトラフィックやVTEP検出にマルチ キャストが必要 ル �VTEPやサーバ �ッティング ��の?VTEP CVTEP-AOverlayネットワーク(L2)MAC-AVXLAN nderlayでマルチキャスト配送VTEP-BMAC-B

VXLANのヘッダー構造 Virtual eXtensible Local Area Network (VXLAN) ��2セグメント �� (50 Byteのオーバーヘッド)RFC7348 ,Broadcom,Arista

VXLANのヘッダー構造OuterIP HeaderOuterMac HeaderVXLANHeaderUDP HeaderOriginal L2 FrameFCSFCS8 Bytes8 BytesFor next-hoptransport in theunderlay networkUDPDst PortUDP LengthCheck sum0x0000VXLANRRRR1RRRReservedVNIDReserved8UDPSrc. Port72OuterDst. IP16OuterSrc. IP16HeaderChecksumEther Type0x080016Protocol0x11VLAN IDTag4820 BytesIP HeaderMisc DataVLAN Type0x810048Src.MAC Addr.Dst.MAC Addr.14 Byte (4 bytes optional)16323216161616824248Source andDestination VTEPaddresses, allowingtransport across theunderlay IP network8Allows forpossible 16MsegmentsHash of the internal L2/L3/L4header of the original frame. Canbe used as entropy for betterECMP/LACP load sharingThe well known VXLANport 4789. Indicates aVXLAN packet

VXLAN は、Control Planeベースに発展!! 過去: VXLANよりほかの Overlay技術 現在: VXLANは拡張性のあるDC Fabric Data-Plane のみ (Multicast based Flood&Learn)Control-Plane, 有効なVTEP の検出, Multicast や Unicast (Ingress Replication)将来: VXLAN for DCI – DC間接続 DCI 向けに機能拡張 (ARP caching/suppress, マルチホーミング, �.)

VXLAN ロールプレーン VTEP, MAC 学習方法– マルチキャスト– ユニキャスト(EVPN or OVSDB)既存の VLAN との接続はどうする?データプレーン ユニキャストトラフィックの転送 BUM トラフィックの転送(Broadcast, Unknown Unicast,Multicast)VXLAN ��レイをどう作る?相互接続性?

VXLAN BridgingとRouting

VXLAN Gateway: Bridging と Routingの違いVXLAN to VLAN BridgingVXLAN 5001(L2 Gateway)Ingress VXLAN packet onOrange segmentVXLAN to VLAN Routing(L3 Gateway)Decap、RoutingVLAN 51VXLAN L2GatewayEgress is a tagged interface.Packetis routedVLAN52 to the new VLANVXLAN 5001Ingress VXLAN packet onOrange segmentVXLAN to VXLAN Routing(L3 Gateway)Decap, Routing, EncapEgress interface chosen(bridge may .1Q tag the packet)VXLANRouterDestination is in another segment.Packet is routed to the new segmentVXLAN 5001Ingress VXLAN packet onOrange segmentVXLAN 5002VXLANRouter

VXLAN L3 Gateway がないと ②VXLAN 5001 – VLAN 51 変換①VLAN 51 - VXLAN 5001 変換④VLAN 52 – VXLAN 5002 変換VTEPVXLANL2 GatewayVTEPVXLANL2 GatewayVTEPVXLANL2 GatewayVTEPVXLANL2 GatewayVTEP仮想スイッチ⑤ VXLANタグを取りVM B 1VXLAN 5001VMB192.168.2.2VXLAN 5002③Interface VLAN 51, VLAN 52でルーティング

VXLAN L3 Gateway があるとき ②VXLAN 5001 – VLAN 51 変換③ルーティングを実施④VLAN 52 – VXLAN 5002 変換①VLAN 51 - VXLAN 5001 変換VTEPVXLANL2 GatewayVTEPVXLANL2 GatewayVTEPVTEP仮想スイッチ⑤ VXLANタグを取りVM D 1VXLAN 5001VMB192.168.2.2VXLAN 5002VXLANL3 GatewayVTEPVXLANL3 Gateway

Asymmetric vs Symmetric IRBの違い(Integrated Route/Bridge) Asymmetric IRB Symmetric IRB ルーティング, ブリッジング は IngressVTEP で実施 Ingress, Egress VTEPの両方で ルーティング とブリッジングを実施 Egress VTEP では ブリッジング のみ Cisco Juniper, Alcatel LucentVRF VNILayer-2 VNIV3Layer-2 VNIV1Layer-2 VNIV3Layer-2 VNILayer-2 VNIV1

Asymmetric IRBAsymmetric Ingress ��実施 Egress VTEPではブリッジングのみを実施 Source VNIと Destination VNIの両方が、Ingress ��Ingress �となる。S-MAC: H-MAC-1D-MAC: H-MAC-2S-IP: H-IP-1D-IP: H-IP-2S-IP: VTEP-1D-IP: VTEP-4VNI: VNI-B1S-MAC: H-MAC-1D-MAC: H-MAC-2S-IP: H-IP-1D-IP: H-IP-2VNIAVNIBVTEP-1Host 1H-MAC-1H-IP-1VNI-AVNIAVTEP-2VTEP-3VNIBVTEP-4Host 2H-MAC-2H-IP-2VNI-BS-MAC: H-MAC-1D-MAC: H-MAC-2S-IP: H-IP-1D-IP: H-IP-22Egress ��ングする

VXLAN BGP Control PlaneAsymmetric IRBの場合 VTEP VNIメンバーシップ全てのVTEP ��となる。SVI 100SVI 200VTEPHost 1MAC1IP 1VLAN 100VXLAN 51001.2.SVI 100SVI 200SVI 100VTEPHost 2MAC2IP 2VLAN 100VXLAN 5100SVI 100SVI 200SVI 200VTEPVTEPHost 3MAC3IP 3VLAN 200VXLAN 52001つのVNIに属する全VTEPは、 ��化

Symmetric IRB Ingress VTEPと Egress VTEPの両方でルーティングが可能 Layer-3 VNI テナントVPNの識別子 テナントVRF毎に一つ VTEP Router MAC Ingress VTEP は、Layer-3 VNIへパケットをルーティング Egress VTEP は、宛先のLayer-2 VNIへパケットルーティング

Symmetric IRBIngress �なるS-IP: VTEP-1D-IP: VTEP-4VNI: L3 VNI1VNIAL3VNIVTEP-1Router MAC-1S-MAC: H-MAC-1D-MAC: H-MAC-2S-IP: H-IP-1D-IP: H-IP-22S-MAC: Router-MAC-1D-MAC: Router-MAC-4S-IP: H-IP-1D-IP: H-IP-2Host er MAC-4Host 2H-MAC-2H-IP-2VNI-BEgress VTEPは、L3 ティングするS-MAC: H-MAC-1D-MAC: H-MAC-2S-IP: H-IP-1D-IP: H-IP-2

VXLAN BGP Control PlaneSymmetric IRBの場合 VTEP する必要がない。SVI 100 VTEPHost 1MAC1IP 1VLAN 100VXLAN 51001.2.VTEPSVI 100Host 2MAC2IP 2VLAN 100VXLAN 5100VTEPVTEP SVI 200Host 3MAC3IP 3VLAN 200VXLAN 5200ARP および MAC 必要になるだけです。

Symmetric IRB vs Asymmetric IRBのまとめ Symmetric IRB ��使用を提供 Symmetric IRB �る Symmetric IRB �の相互接続: いくついかベンダーはAsymmetric IRBを実装 複数のベンダー間にて Symmetric � Ciscoは、すでにSymmetric IRBでNXOSやIOS-XRに実装済み

標準化プロトコルVXLAN EVPN

EVPN – Ethernet ��。L2(MAC)やL3(IP)の情報をEVPN �タプレーンEVPN MP-BGP - RFC 7432Multi-Protocol LabelSwitching (MPLS)RFC7432Provider Backbone Bridges(PBB)RFC76232015 / Feb2015 / SepNVO �技術(VXLAN, NVGRE, MPLS over GRE)Network VirtualizationOverlay (NVO)draft-sd-l2vpn-evpn-overlay

能(Ingress �バー認証)

VTEP ピアの学習方法VXLAN EVPN VTEP DiscoverRRVNIVTEP30000IP V1111V1VTEP1Host AMAC A / IP 0IP V2V2VNIVTEP30000IP V230001IP V2V3VTEP2Host BMAC B / IP BVTEP3VirtualSwitchHost CMAC C / IP CHost YMAC Y / IP Y

VTEP ピアの学習方法(つづき)VXLAN EVPN VTEP Discover3RRPeerVNIVTEPV230000IP V2V33000030001IP V3222V123V3PeerVNIVTEPV130000IP V1V33000030001IP V3V23VTEP1Host AMAC A / IP A3RRVTEP2PeerVNIVTEPV130000IP V1V230000IP V2BGP RRは各VTEPのVNI情報を集 �各VTEPは他のVTEPのVNI情報をHost C登録するMAC C / IP CHost BMAC B / IP BVirtualSwitchHost YMAC Y / IP Y

ホストアドレスの学習方法VXLAN EVPN HOST Route leaningRRMACVNINHseqMAC A30000IP NHseqMAC A30000IP V10VTEP211VNIV2VTEP1Host AMAC A / IP AMACMACVNINHseqMAC A30000IP V10V3Host BMAC B / IP BVTEP32VTEP1がBGP �イズHost CMAC C / IP CVirtualSwitchHost YMAC Y / IP Y

AN EVPN HOST Route leaningRRMACVNINHseqMAC A30000IP V3IP ��るHost AVTEP3はホストAの移動をMAC A / IP ートしBGPのRRにアドバタイズ6 る5VNIVNINHNHseqseqMAC AMAC A3000030000IP V3IP V110V2V14MACMACVTEP2MACVNINHseqMAC A30000IP V3IP V110V3Host BMAC B / IP BVTEP3VirtualSwitchHost CMAC C / IP CHost YMAC Y / IP Y

BUMトラフィックの扱い方UnderlaySMAC: MAC V1DMAC: hop-by-hopVXLAN/EVPN Ingress ReplicationSIP: IP V1DIP: IP V2PeerVNIVTEPMAC C, IP C30000IP V3V230000V2MAC Y, IP Y30001IP V3V33000030001V3ARP Request for IP BSrc MAC: MAC ADst MAC: FF:FF:FF:FF:FF:FFVXLAN VNID: 30000OverlayMAC, IPUDPRRRR“IP で送信ARP RequestSMAC: MAC ADMAC:FF:FF:FF:FF:FF:FF1UnderlaySMAC: MAC V1DMAC: hop-by-hopUDPVXLAN VNID: IPにV3OverlaySIP: IP V1DIP: IP V3ARP RequestVTEPV130000V1V33000030001V3ARP Request for IP BSrc MAC: MAC ADst MAC: FF:FF:FF:FF:FF:FFVTEP2VTEP1Host AMAC A / IP AVNIV22V1PeerVTEP3SMAC: MAC ADMAC: FF:FF:FF:FF:FF:FFPeerVNIVTEPV130000V1V230000V2ARP Request for IP BSrc MAC: MAC ADst MAC: FF:FF:FF:FF:FF:FFVirtualSwitchHost CMAC C / IP CHost YMAC Y / IP YHost BMAC B / IP Bサイレントホスト

EVPN Ingress ReplicationRRARP Response for IP BSrc MAC: MAC BDst MAC: MAC AMAC, IPVNINHMAC C, IP C30000IP V3V3MAC Y, IP Y30001IP V3V3MAC B, IP B30000IP V2V14Host AMAC A / IP ARR5MAC, IPVNINHMAC A, IP A30000IP V1MAC C, IP C30000IP V3MAC Y, IP Y30001IP V3V2ARP Response from IP BSrc MAC: MAC BDst MAC: MAC AVTEP2VTEP1V34 �録され、ARPリプライはVTEP1 N経由で他のVTEPにホストBの情報がア5 ドバタイズされる。MAC, IPVNINHMAC A, IP A30000V1IP V1MAC B, IP B30000IP V23Host BMAC B / IP BホストBからVTEP23 chHost CMAC C / IP CHost YMAC Y / IP Y

VXLAN EVPNの活用例

VXLAN EVPNでDCファブリックの構成Nexus9504BGP eReflectorNexus9504VXLAN ベースのファブリック外部ルータEVPN MP-BGP コントロールプレーンVTEP間でBGP �ルータ(VTF)SVI オープンなプロトコルVXLAN with ��供 ��を動的に実施 �トワークの自動化やIP Mobilityを実現

クラシックネットワークの相互接続 (Layer-2)Pod間の接続 ore(Layer-3)トPodの相互接続では、 EVPN �ることでFlood & Learnを防止するVXLAN/EVPNVNI 30000 ��eBGPせずともIngress Replication機能で代替え可能VVV ��ィックの特性やサイトの総数など) マルチホーミングにはvPC機能を活用 �のループは、他のPodに影響する37V

VXLANネットワークの相互接続 (Layer-2)Pod間の接続 VXLAN/EVPNを持つVXLAN/EVPN Podの相互接続では、Core(Layer-3) Control-Planeドメイン (EVPN) は、iBGP/eBGPによって分離される ド-to-エンドで提供eBGP ��る �能 �対しIngress Replication (Unicast) VPNVNI 30000VNI 30000VViBGPVV ルート交換を確実にするのに共通の Route-Targetを使用する38VV

VXLANネットワークの相互接続 (Layer-3)Pod間の接続 �互接続では、 Control-Planeドメイン (EVPN)は、VXLA/EVPNVNI 99000iBGP/eBGPによって分離される Layer-3相互接続を用いて, Data-Plane カプセル化は分離される グリゲーションスイッチで実施V サイト間でTransit VNI(L3 VNI)が必要VVVVXLAN orVXLAN/EVPNVXLAN orVXLAN/EVPNVVNI 30000VNI 31000VVV これはLayer-2相互接続ではないV39V

VXLAN EVPNのコンフィグ例

VTEP (VXLAN Tunnel End-Point)を作るOverlayConfiguration Example# Features & Globalsfeature bgpfeature nv overlaynv overlay evpn# SpineVTEPの有効か (Leaf やBorderスイッチ上で必要)EVPN Control-Plane in BGPの有効化(S1)# Leaf (V1)interface nve1source-interface loopback0host-reachability protocol urce InterfaceとしてLoopbackを使用iBGPV1Host ed BGP configuration; would have 4 BGP peers (RR)IGP not shownV2

layConfiguration Example# Features & Globalsfeature bgpfeature nv overlaynv overlay evpnEVPN Control-Plane in BGPの有効化(S1)# Spinerouter bgp 65500router-id 10.10.10.S1address-family ipv4 unicastaddress-family l2vpn evpnneighbor 10.10.10.0/24 remote-as 65500update-source loopback0address-family l2vpn evpnsend-community bothroute-reflector-client# Leaf (V1)router bgp 65500router-id 10.10.10.V1address-family ipv4 unicastneighbor 10.10.10.S1 remote-as 65500update-source loopback0address-family l2vpn evpnsend-community both*各BGPネイバー配下でL2VPN EVPNで有効化RRRRRRRRiBGPV1EVPN route attributesを配信するためにV3Extended BGPコミュニティを送信*Simplified BGP configuration; would have 4 BGP peers (RR)IGP not shownV2

VLAN to VXLANのマッピングを作るOverlay MT-Lite コンフィグレーションは、IEEE 802.1QVLAN ID からVXLAN �す VLAN �に行う ��ル識別子になる VNI �る 4k ��となる 4k �されるVLANethernetVLANMulti-Tenancy Lite (MT-Lite)VNIvxlanConfiguration Example MT-Lite (N9300/N5600)# Featuresfeature vn-segment-vlan-based# VLAN to VNI mapping (MT-Lite)vlan 43VLAN とLayer-2vn-segment 30000VNI マッピング# Activate Layer-2 VNI for EVPNevpnLayer2サービス向けにvni 30000 l2EVPN Control-Planeを有rd auto効化route-target import autoroute-target export autoユニキャストモード時は# Activate Layer-2 VNI on VTEPinterface nve1source-interface loopback0host-reachability protocol bgpmember vni 30000mcast-group rotocol bgp”を使うVTEP上でLayer2 VNIを有効化し、オプションで ARP代理応答を有効化

VXLAN 参考情報

Cisco VXLAN EVPN サポートOS情報ASR9000: IOS-XR 5.2.0以降Nexus9300/9500: NX-OS 7.0(3)I2(1)以降Nexus7000/7700: NX-OS 7.2(0)D1(1)以降(F3 モジュールが必要)Nexus5600: NX-OS 7.3 (2016年Q1リリース予定)

Cisco VXLAN Multicast サポートOS情報ASR9000: IOS-XR 5.2.0以降ASR1000: IOS-XE 3.13S以降Nexus9300/9500: NX-OS 7.0(3)I2(1)以降Nexus7000/7700: NX-OS 7.2(0)D1(1)以降(F3 モジュールが必要)Nexus5600: NX-OS 7.1(0)N1(1a) 以降Nexus3100: NX-OS 7.0(3)I2(1)以降

Linux 環境におけるVXLANの実装Linux Kernel 3.7から、VXLAN Multicast モードをサポートRed Hat はiproute2, ��ルするVNI:30010 vxlanデバイスを作成例 ip link add vxlan0 type vxlan id 30010 group 239.1.1.1 dev eth1ip link add vxlan1 type vxlan id 30020 group 239.1.1.1 dev eth1ip link set up vxlan0ip link set up ��との接続するためには、VXLAN UDPポート番号がLinux kernel �更する

参考情報 RFC 7432 - BGP MPLS-based Ethernet vpn-11 IETF Draft - Network virtualization overlay solution with vpn-overlay-00 IETF Draft - Integrated routing and bridging in vpn-inter-subnet-forwarding-00 IETF Draft - IP prefix advertisement in pn-evpn-prefix-advertisement-02 RFC 4271 - Border Gateway Protocol 4 (BGP-4):https://tools.ietf.org/html/rfc4271 RFC 4760 - Multiprotocol extensions for BGP-4:https://tools.ietf.org/html/rfc4760 RFC 4364 - BGP/MPLS IP VPNs:https://tools.ietf.org/html/rfc4364

Cisco,VMWare,Citrix,Redhat,Broadcom,Arista . FCS Outer Mac Header Outer IP Header UDP Header VXLAN . VXLAN Gateway: Bridging と Routingの違い . Asymmetric vs Symmetric IRBの違い (Integrated Route/Bridge)