'VNI'에 해당되는 글 2건

  1. 2014.11.16 VXLAN - Part 3 [Arista VEOS로 VXLAN 구현 ]
  2. 2014.04.23 VXLAN - Part 1 (2)
분류없음2014.11.16 04:34

 

 


 Arista의 VEOS를 통한 VXLAN을 간단하게 구현해보는 VXLAN의 3번째 포스팅입니다.

오랜만에 올리는 VXLAN시리즈 포스팅이네요.

원래 3번째 포스팅은 좀 더 이론적인 부분을 다루기 위해서 작성하다가,

4번째 포스팅하려던 테스트가 먼저 정리가 되어서, 순서를 바꿔서 올려봅니다.

VXLAN을 구성하기 위한 VEOS의 간단한 Config에 대해서 먼저 알아보고,

해당 Config를 이용하여 단순한 랩을 통해서 이해해보시길 바랍니다.


 

○ VXLAN VTI 생성
switch(config)#interface vxlan 1

 

○ VNI와 VLAN 간의 Mapping
switch(config)#interface vxlan 1
switch(config-if-Vx1)#vxlan vlan 100 vni 100

○ VXLAN의 VNI 구분자

     - VNI는 1 ~ 16777215까지 사용 가능하나, Dotted 명령 사용 시 0.0.1 ~ 255.255.255 로 설정 가능.

switch(config)#vxlan vni notation dotted
switch(config-if-Vx1)#vxlan vlan 200 vni 10.10.200

 

○ VXLAN을 맺기 위한 Loopback IP 생성 및 Source로 설정
switch(config)#interface loopback 15
switch(config-if-Lo15)#ip address 10.25.25.3/24

 

switch(config)#interface vxlan 1
switch(config-if-Vx1)#vxlan source-interface loopback 15

 

○ Multicast Group 설정

 -
switch(config)#interface vxlan 1
switch(config-if-Vx1)#vxlan multicast-group 227.10.1.1

 

○ 기본 VXLAN UDP 포트(4789) 변경
switch(config)#interface vxlan 1
switch(config-if-Vx1)#vxlan udp-port 5500

 

○ Head End Replication (VXLAN을 통한 Broadcast / Unknown Unicast / Multicast Traffic을 전송하기 위함). (unicast? 맺는거?)
switch(config)#interface vxlan 1
switch(config-if-Vx1)#vxlan flood vtep 10.1.1.1 10.1.1.2

※ 특정 VLAN에 대하여 Head-End Replication 지정

switch(config-if-Vx1)#vxlan vlan 101-102 flood vtep 11.1.1.1 11.1.1.2 11.1.1.3

 

○ VXLAN Multicast Group 설정

switch(config)#interface vxlan 1
switch(config-if-Vx1)#vxlan multicast-group 227.10.1.1

 

 


Simple VXLAN Lab 구성 및 TEST 

 

 


 VEOS#1 설정

vlan 10
!
interface Ethernet1
   switchport access vlan 10
!
interface Ethernet2
   mtu 9000
   no switchport
   ip address 1.1.3.5/24
   ip pim sparse-mode

 

 

interface Loopback0
   ip address 10.1.1.1/24
!
interface Vlan10
   ip address 1.1.2.5/24
!
interface Vxlan1
   vxlan multicast-group 239.1.1.1
   vxlan source-interface Loopback0
   vxlan udp-port 4789
   vxlan vlan 10 vni 10
!
ip routing
!
ip multicast-routing

 

 

 

 VEOS#2 설정

vlan 10
!
interface Ethernet1
   switchport access vlan 10
!
interface Ethernet2
   mtu 9000
   no switchport
   ip address 1.1.3.6/24
   ip pim sparse-mode

 

 

interface Loopback0
   ip address 10.2.2.2/24
!
interface Vlan10
   ip address 1.1.2.9/24
!
interface Vxlan1
   vxlan multicast-group 239.1.1.1
   vxlan source-interface Loopback0
   vxlan udp-port 4789
   vxlan vlan 10 vni 10
!
ip routing
!
ip multicast-routing

 

 

 


 

 

VXLAN Interface 확인

VEOS1#sh int vxlan 1
Vxlan1 is up, line protocol is up (connected)
  Hardware is Vxlan
  Source interface is Loopback0 and is active with 10.1.1.1
  Replication/Flood Mode is multicast
  Inactive Vxlan Configuration:
    Multicast group address is 239.1.1.1
  Static vlan to vni mapping is
    [10, 10]        

 

 

VXLAN Address Table 확인

VEOS1#sh vxlan address-table
          Vxlan Mac Address Table
------------------------------------------------------------------------------------------

Vlan  Mac Address     Type             Prt    Vtep           Moves   Last Move
----  -----------               ----               ---     ----             -----       ---------
  10  000c.2925.2a9c  DYNAMIC  Vx1  10.2.2.2     1           1:17:48 ago
Total Remote Mac Addresses for this criterion: 1        

 

 

 

 VXLAN MAC 정보 확인

 

 

VEOS#1번기 VXLAN Address Table(상단 표에서 참조)의  '000c.2925.2a9c'의 MAC이 상대편 VTEP 내부의 서버 1.1.2.10의

실제 Mac Address임을 확인할 수 있다. 

 

 

 

Posted by 네떡지기

Last Update : 2014.04.28


 

새롭게 지난 주말부터 정리를 시작한 VXLAN입니다.

수정이 필요한 부분은 말씀해주시면, 확인 후 수정하도록 하겠습니다.


 

 

VXLAN

  물리적인 환경의 제약이 없이 Layer 2 Segment를 확장한다.

  〮 VM 이동 후에도 기존 IP 주소를 지속적으로 사용.

  표준화된 방법으로 Overlay를 구성할 수 있게하여,  다양한 Vendor들의 Ecosystem을 구축할 수 있음.

    ※ Cisco,Vmware, F5, Broadcom, Brocade, Arista etc

  기존 Layer 212bitVLAN ID4094 VLAN지원, VXLAN24bitVNID1600만개의 VXLAN을 지원한다.

  기존 Layer2 VLANSTP 사용하여 Loop방지를 하기 때문에 Blocking 등으로 인해 미사용하는 구간이 발생한다.

    반면에 VXLANLayer 3 기반의 RoutingECMP, Link Aggregation 프로토콜로 모든 경로를 다 사용할 수 있다.

  MAC in IP/UDP 방식으로 Encapsulation. (캡슐화 역할을 vSwitch에서 제공)

      - Encapsulation을 vSwitch(Software VTEP)에서 뿐만 아니라, Physical Switch(Hardware VTEP)에서도 제공할 수도 있으며,

        이 둘 간에는 상호 연동/호환이 가능하다.

 Multicast 기반으로 Tunneling을 하기 때문에 기존 Network망에서의 별도의 구성이 필요 없다.

 50ByteOverhead 발생. 향후 160Byte까지 확장 고려로, MTU1660Byte로 고려해야 하며 Jumbo Frame 설정 권고

 Multicast(IGMP /PIM)이 지원이 되야하고, Layer 3 Routing Protocol이 동작하고 있는 Network Infrastructure여야 한다

      - EncapsulationPhysical Switch에서 제공해도 되지만, 이 경우에는 VXLAN 구간의 모든 Physical 구간에 VXLAN

       지원하는 Physical Switch가 필요로 하게 되어, 해당 장비의 종속성을 띄게 된다.

 

 

VXLAN 사용 이유

 가상화 환경에서는 VM별로 vNIC을 사용하기 때문에 다수의 MAC Address가 생성되게 된고, 이로 인해 단일 Layer2

   Domain에서 Table 관리의 한계가 올 수 있음.

     VXLAN으로 모든 MAC AddressSwitch에서 가지지 않고, vSwitch에서만 소유하도록 함.

    ※ Core Network에서의 Mac Address 확장성 이슈 해결

 〮 VXLANEnd-Point Device에서만 제공 가능하여도 가능하기 때문에 보다 Vendor에 유연성을 제공한다.

 

 

 

VXLAN 구성 요소

  〮 VXLAN Segment

     - L2 / L3 환경에서의 VM간의 L2 환경을 구현한 Network 범위

     - VXLAN Layer 2 overlay network over which VMs communicate

  VXLAN Overlay Network

     - VXLAN segmentL2/L3 네트워크에서 구현

     - another term for VXLAN Segment

  VNI (VXLAN Network Identifier)

     - VXLAN Segment ID

  VXLAN Gateway

     - VXLANNon-VXLAN간의 트래픽 전송

     - an entity which forwards traffic between VXLAN and non-VXLAN environments

  VTEP (VXLAN Tunnel End Point)

     - VXLAN의 터널 지원하는 End Device.  vSwitch.

     - Local Host와 연결된 InterfaceVXLANEncapsulation/De-capsulation을 역할을 Core와 연결된 IP Interface가 있다.

     - VXLAN Tunnel End Point - an entity which originates and/or terminates VXLAN tunnels

 

 

VXLAN Header

 

 


 

 Flag (8bits)

 유효한 VXLAN Network ID(VNI) 설정된 경우 1로 설정되며, 나머지 7bit Reserved Filed0으로 설정하여 전송하며

   수신 시에는 해당 bit는 무시한다.  [ RRRR1RRR ]

 

VNI (VXLAN Segmemnt Identifier) (24bits)

 〮 VXLAN Overlay Network에 대한 식별자이며, VM들은 동일한 VXLAN Overlay에 있어야 통신이 가능하다.

 〮 VM은 서로 다른 VXLAN Overlay Networks 간에는 통신할 수 없다.

 〮 1600만개의 Segmaent가 동작하도록 허용.

 

Reserved (24bits & 8bits)

 〮 Reserved Filed0으로 설정하여 전송하며 수신 시에는 해당 bit는 무시한다.

 

 

 

Source Port (16bits)

 〮 UDP Source Port는 내부 PacketFiledHash하여 계산하는 것을 권고하는 데, 예를 들어 내부 PacketHeader

   Hash하는 것이다. 이것은 VXLAN overlay를 통한 VM간의 ECMP/Load balancing을 할 수 있게 한다.

 〮 UDP Source PortDynamic/Private Port의 범위인 49152-65535[RFC 6335]의 값이 나오도록 하는 것이 좋다

 

VXLAN Port (16bits)

〮 IANAVXLAN UDP Port4789를 지정하였으며, 이는 Destination UDP Port로 사용된다. (Vendor에 따라 다를 수 있다)

 

UDP Length(16bits)

 

CheckSum (16bits)

 UDP Checksum field0으로 전송되어야 하며, 0으로 전송된 경우에 Decapsulation된다.

   만약 0 아닌 Checksum 값이 확인이 되는 경우에는 Drop되게 된다.

 

 

 

IP Header (72bits)

 Version / IHL / Type of Service / Total Length / Identification / Flags / Fragment Offset / Time to Live

 

Protocol (8bits)

 0x11(17) = UDP packet

 

Header Checksum (16bits)

 

Source IP  (32bits)

 〮 VTEPSource IP로 설정

 

Destination IP (32bits)

 〮 DestinationVTEP IP Address로 설정.

 unknown unicast 혹은 Broadcast/Multicast Address의 경우에는 Multicast Group을 사용하여 전송한다.

 

 

Destination MAC Address (48bits)

 동일한 Subnet 경우에는 Destination VTEPMAC Address로 설정.

 다른 Subnet인 경우에는 Router와 같은 Next Hop DeviceMAC Address로 설정

 

Source MAC Address (48bits)

 〮 Source VTEP MAC address

 

VLAN (16bits)

 VXLAN 구현을 위한 옵션이며, Default로는 802.1Q Ethertype 0x8100과 연관된 VLAN ID Tag로 설정된다.

 

Ethertype (16bits)

 0x0800

 

 

 

Posted by 네떡지기

티스토리 툴바