오버레이 네트워크에서 NSX-T Data Center는 L3 도메인의 VLAN 간 트래픽 라우팅을 지원합니다. 라우팅 중에 VDR(가상 분산 라우터)은 VLAN ID를 사용하여 VLAN 서브넷 간에 패킷을 라우팅합니다.

VLAN 간 라우팅을 사용하면 VM당 사용할 수 있는 10개의 vNIC 제한이 해소됩니다. NSX-T Data Center에서 VLAN 간 라우팅을 지원하므로 네트워킹 서비스마다 다른 여러 VLAN 하위 인터페이스를 vNIC에서 생성하고 사용할 수 있습니다. 예를 들어, VM의 한 vNIC를 여러 하위 인터페이스로 나눌 수 있습니다. 각 하위 인터페이스는 SNMP 또는 DHCP와 같은 네트워킹 서비스를 호스팅할 수 있는 서브넷에 속합니다. 예를 들어 VLAN 간 라우팅을 사용하는 경우 VLAN-10의 하위 인터페이스는 VLAN-10 또는 다른 VLAN의 하위 인터페이스에 연결될 수 있습니다.

VM의 각 vNIC는 태그 없는 패킷을 관리하는 상위 논리적 포트를 통해 N-VDS에 연결됩니다.

하위 인터페이스를 생성하려면 향상된 N-VDS 스위치에서 절차에 설명된 API 호출을 사용하여 연결된 VIF에서 API를 사용하여 하위 포트를 생성합니다. VLAN ID로 태그가 지정된 하위 인터페이스는 새 논리적 스위치에 연결됩니다. 예를 들어, VLAN10은 논리적 스위치 LS-VLAN-10에 연결됩니다. VLAN10의 모든 하위 인터페이스를 LS-VLAN-10에 연결해야 합니다. 하위 인터페이스의 VLAN ID와 연결된 논리적 스위치 사이의 이 일대일 매핑은 중요한 사전 요구 사항입니다. 예를 들어 VLAN20이 있는 하위 포트를 VLAN-10에 매핑된 논리적 스위치 LS-VLAN-10에 추가하면 VLAN 사이의 패킷 라우팅이 작동하지 않게 됩니다. 이러한 구성 오류는 VLAN 간 라우팅이 작동하지 않게 합니다.

NSX-T Data Center 3.2.2부터 논리적 포트 proton API가 해당 세그먼트 포트 정책 API로 대체됩니다.

사전 요구 사항

  • VLAN 하위 인터페이스를 논리적 스위치에 연결하기 전에 논리적 스위치에 다른 VLAN 하위 인터페이스와의 다른 연결이 없는지 확인합니다. 불일치 상황이 발생하면 오버레이 네트워크의 VLAN 간 라우팅이 작동하지 않을 수 있습니다.

  • 호스트가 ESXi v 6.7 U2 이상 버전을 실행하는지 확인합니다.

프로시저

  1. vNIC에 대한 하위 인터페이스를 생성하려면 vNIC가 상위 포트로 업데이트되었는지 확인합니다. 다음 REST API 호출을 수행합니다.
    PATCH https://<nsx-mgr-ip>/policy/api/v1/infra/segments/<Segment to which vNIC is connected>/ports/<Seg-Port-vNIC>
    {
       "attachment": {
         "id": "<Attachment UUID of the vNIC>",
         "type": "PARENT"
      },
       "admin_state": "UP",
       "resource_type": "SegmentPort",
       "display_name": "parentport"
    }
    }
    논리적 스위치에 해당 세그먼트가 없는 경우 다음과 같은 REST API 호출(논리적 포트 proton API)을 수행할 수 있습니다.
    PUT https://<nsx-mgr-ip>/api/v1/logical-ports/<Logical-Port UUID-of-the-vNIC>
    {
      "resource_type" : "LogicalPort",
      "display_name" : "parentport",
      "attachment" : {
        "attachment_type" : "VIF",
        "context" : {
          "resource_type" : "VifAttachmentContext",
          "vif_type": "PARENT"
        },
        "id" : "<Attachment UUID of the vNIC>"   
      },
      "admin_state" : "UP",
      "logical_switch_id" : "UUID of Logical Switch to which the vNIC is connected",  
      "_revision" : 0
    }
  2. VM의 하위 인터페이스에 연결된 N-VDS의 상위 vNIC 포트에 대한 하위 포트를 생성하려면 다음 API 호출을 수행합니다.
    참고: API 호출을 수행하기 전에 하위 포트를 VM의 하위 인터페이스에 연결하기 위한 세그먼트가 있는지 확인합니다.
    PUT https://<nsx-mgr-ip>/policy/api/v1/infra/segments/<Segment to which child port is connected>/ports/<Child-port>
    {
       "attachment": {
         "id": "<Attachment UUID of the CHILD port>",
         "type": "CHILD",
         "context_id": "<Attachment UUID of the PARENT port from Step 1>",
         "traffic_tag": <VLAN ID>,
         "app_id": "<ID of the attachment>", ==> display id(can be any string). Must be unique.
      },
       "address_bindings": [
        {
           "ip_address": "<IP address to the corresponding VLAN>",
           "mac_address": "<vNIC MAC Address>",
           "vlan_id": <VLAN ID>
        }
      ],
       "admin_state": "UP",
       "resource_type": "SegmentPort",
       "display_name": "<Name of the Child PORT>"
    }
    
    논리적 스위치에 해당 세그먼트가 없는 경우 다음과 같은 REST API 호출(논리적 포트 proton API)을 수행할 수 있습니다.
    POST https://<nsx-mgr-ip>/api/v1/logical-ports/
    {
      "resource_type" : "LogicalPort",
      "display_name" : "<Name of the Child PORT>",   
      "attachment" : {
        "attachment_type" : "VIF",
        "context" : {
          "resource_type" : "VifAttachmentContext",
          "parent_vif_id" : "<UUID of the PARENT port from Step 1>",     
          "traffic_tag" : <VLAN ID>,    
          "app_id" : "<ID of the attachment>",  ==> display id(can give any string). Must be unique.
          "vif_type" : "CHILD"
        },
       "id" : "<ID of the CHILD port>"  
      },
      
      "logical_switch_id" : "<UUID of the Logical switch(not the PARENT PORT's logical switch) to which Child port would be connected to>",         
      "address_bindings" : [ { "mac_address" : "<vNIC MAC address>", "ip_address" : "<IP address to the corresponding VLAN>", "vlan" : <VLAN ID> } ],       
      "admin_state" : "UP"
    }

결과

NSX-T Data Center는 VM에 하위 인터페이스를 생성합니다.