분류없음2016.12.29 10:21

Last Update : 16.12.30

   * MMM으로는 기본 VIP 전환 시에, GARP 를 발생하여 Table 갱신이 되지는 않는 것으로 보입니다. 
     우선 조치할 수 있을만한 방법은 VIP에 대해서 VIP 전환 시점에 Source-Ping을 하던지,
     아니면 주기적으로 동일 대역 내에서 VIP에 PIng을 쳐서, 지속적으로 갱신을 해야 할 것 같습니다.
     주기적으로 VIP 전환 시 Ping을 체크하는 경우도 아래의 설정은 필요로 합니다.

     추가적으로 확인되는 사항은 업데이트 하도록 하겠습니다.

 



오랜만에 하는 포스팅은 Cisco ACI에 대한 관련 이슈 공유 내용입니다.

Bridge Domain에서의 기본 설정인 Hardware Proxy와 관련한 이슈 사항입니다.

앞으로 아마도 ACI에 대한 포스팅을 시작하게 될 듯 싶은 데... 우선 정리 포스팅 전에..

어쩌다보니.. 간단한 이슈 포스팅을 먼저하게 되었습니다 ^^;

물론 ACI 이외에도 기존처럼 다양한 포스팅 들도 함께 할 수 있도록 노력하겠습니다. ^^

즐거운 연말되세요!

 


Cisco ACI Bridge Domain 관련

 

○ 현상 

  ㆍ MySQL DB Clustering을 위한 MMM(Multi Master Replication Manager) 을 서버에서 사용 중.(Active-Standby)

  ㆍVIP가 Active 서버에서 Standby 서버로 전환될 경우에 정상적으로 통신이 되지 않음.

 

 

○ 확인 및 원인 분석

  ㆍACI 내에서 VIP에 대한 정보(IP/Mac Address)가 갱신되지 않음.

  ㆍMMM에서 VIP가 Active-Standby로 전환되면서, IP에 대한 MAC이 변경되었기 때문에 GARP를 보내서,

     Table이 갱신되어야 하나, 정상적으로 이뤄지지 않은 것으로 추정

  ㆍBridge Domain의 L2 Unknown Unicast 설정이 Hardware Proxy이고, ARP Flooding은 비활성화

  ㆍBridge Domain의 설정으로 GARP 패킷이 Drop되어서, 정상적으로 Table 갱신이 되지는 않는 것으로 추정.

 

 

○ 조치 및 결과

  ㆍBridge Domain의 ARP Flooding 설정을 활성화 상태로 변경 후, DB VIP가 Standby로 넘어감에 따라
     Table이 정상적으로 갱신되는 것을 확인

 

○ Bridge Domain 관련 내용 

  ㆍBridge Domain은 기존의 전통적인 네트워크의 VLAN 컨셉과 유사. Brocast와 Flooding Domain으로 동작 가능
       - 물론 관련 설정이 활성화 되어 있어야 하며, 완전하게 동일하지는 않음.

  ㆍBridge Domain의 Unknwon Unicast 프레임에 대해서, 아래의 2가지 모드로 동작 가능.

       - Optimized mode : Hardware Proxy

           Mapping Database 사용하여 처리

       - Flood mode : Flood

           Bridge Domain의 Multicast Tree를 이용해서 L2 Unknown unicast가 Flood됨.

  ㆍBridge Domain의 기본 L2 Unknown Unicast의 동작 방식은 Hardware Proxy임.

  ㆍBridge Domain의 ARP Flooding은 Default Disable 상태.  

  ㆍHardware Proxy의 기본동작은 L2 Unknown Unicast에 대해서 Spine으로 보내게 되고, Spine의 Mapping Database에

      해당 정보가 없을 경우, 패킷이 Drop 됨.

  

 

○ 정리하면..

ㆍDB서버에서 Active가 Standby로 Failover되면서, VIP가 DB2번기에서 올라오면서 GARP를 발생 시키는 데 기존 Hardware proxy/ARP Flooding Disable에서는 해당 패킷을 Drop시켜서 정상적으로 Table이 갱신되지 않았고, Hardware Proxy  설정을 Flood로 전환하게 되면, ARP Flooding이 같이 Enable되지만, 이 경우에는 해당 BD에 연결이 일시적으로 끊기기 때문에 (Test 시에 Ping 3개정도 빠짐), Hardware Proxy 설정은 유지한 채, ARP Flooding만 Enable로 변경 후, 정상 동작 확인

  

  

※ 참조 : Cisco Application Centric Infrastructure Release 2.0 Design Guide

 

 ARP Flooding
If ARP flooding is disabled, a Layer 3 lookup occurs for the target IP address of the ARP packet. ARP behaves like a Layer 3 unicast packet until it reaches the destination leaf switch.
ARP flooding is required when you need Gratuitous ARP (GARP) requests to update host ARP caches or router ARP caches. This is the case when an IP address may have a different MAC address (for example, with clustering of failover of load balancers and firewalls).

 

.  

 

Bridge Domain 관련 설정

 

 

 

 

 

 

* Bridge Domain 설정에서 ARP Flooding 설정을 활성화하게 되면, L3 설정에 아래와 같은 설정이 가능.  

  우선 해당 설정까지는 하지 않은 상태였으나, MMM VIP가 전환되는 데에는 문제가 없었음.

  아래 설정은 어느 경우에 사용되는지는 추가로 확인 필요.

 

 

 

 

GARP

   - Source / Destination IP는 모두 패킷을 보내는 시스템 IP로 설정

   - Destination MAC은 Broadcast MAC 으로 설정 (ff:ff:ff:ff:ff:ff)

   - 일반적으로 GARP는 Request만 발생하고, Response는 발생하지 않음.

   - IP 충돌을 감지하거나, 다른 시스템의 ARP 테이블을 갱신하기 위해서 사용(특히나, Clustering Solution에서 Active가 전환되는 경우에 동일한 IP에 대한 Mac 주소가 변경되기  때문에 필요)

 

※ 참조 : https://wiki.wireshark.org/Gratuitous_ARP

Posted by 네떡지기

 

 


지난 OTV 7번째 포스팅과 살짝 순서가 바뀐 OTV 8번째 포스팅입니다.

앞으로 몇 번이 될지는 모르겠으나, 우선 OTV 관련 포스팅이 몇 번 더 올라갈 듯 싶습니다.

그렇다고 그 몇 번으로 OTV 완결이라는 것은 아니지만요. ^^;

그럼 한 분이라도 도움이 되시길 바라며...


 

Failure Isolation

   - 모든 LAN 확장 솔루션의 주요 요구 사항 중에 하나는 Remote Site 간의 resiliency, stability, scalability 등의 장점을 유지한 채,

     Layer 2 연결성을 Routed Transport Infrastructure을 통해서 제공하는 것이다.

   - OTV는 STP 분리 / Unknown Unicast 억제 / ARP 최적화 / Broadcast 정책 제어를 통해서 이 목표를 달성하고 있다.

 

 

STP Isolation

     -  OTV는 기본적으로 Overlay를 통해서 STP BPDU를 전송하지 않는다. 이는 별도의 BPDU Filtering과 같은 설정을 추가로 하지

       않아도 되는, 기본적인 동작 방식이다.  이를 통해 각 OTV Site는 STP Domain을 독립적으로 운용된다.

     -  STP Domain이 독립적으로 운용되기 떄문에 STP Control Plane에서 발생할 수 있는 문제점들은 Remote Site에 영향을 미치지

        못하게 된다. 하지만, 이러한 STP BPDU를 전송하지 않고 Transport Infrastructure를 통해 Layer 2를 확장함으로써 잠재적인

        end-to-end Loop 구조가 발생할 수 있게 된다. OTV에서 STP Frame을 전송하지 않으면서 이러한 end-to-end loop를 예방하기

        위한 내용은 추후에 Multi-Homing 부분에서 언급되게 된다.

                                                             ※ Multi-Homing은 다음 포스팅에서 다뤄지며, 추후 포스팅 시에 링크로 연결해 놓겠습니다.

 

Unknown Unicast Handling

     - OTV Control Protocol은 OTV edge Device들 간의 MAC-Address와 Destination의 IP Next hop에 대한 Mapping정보로

       MAC Address reachability 정보를 광고하게 된다. 결과적으로 기존에 Remote Site의 MAC Address로 통신이 가능하도록

       Mapping정보를 받게 되며, Overlay를 통한 Layer 2 Traffic은 OTV Device를 통하여 Routing을 하는 것처럼 동작한다.

     - OTV Edge device가 자신의 Mac Table에 존재하지 않는 Mac 주소를 목적지로 하는 Frame을 받으면(Unknown Unicast),

       Layer 2 Lookup을 하게 되고, Table에 없는 것을 확인하고 Layer Traffic을 Internal interface들로 Flooding하며,

       Overlay로는 전송하지 않는다.

       ※ 이는 비정상적인 Mac을 생성하여 DoS Attack을 하는 경우에 대한 문제를 예방할 수 있다.

     - Microsoft의 Network Load Balancing Services(NLBS)와 같은 Layer 2 Traffic에 대한 Flooding이 필요한 특정 Application을

       위해서 선택적으로 Flooding을 할 수 있도록 설정을 할 수 는 있다. 이러한 개별 MAC-Address를 Static하게 설정하여,

       Frame이 Drop되지 않고 모든 Remote OTV Edge Device로 Broadcast 하도록 하는 것처럼 Overlay를 통해서 Flooding 하는

      것은 매우 예외적으로 사용되는 설정이며, 기본 동작은 Unknown unicast에 대해서는 Drop된다고 보면 된다.

       ※ NX-OS Release 6.2(2)부터 이러한 선택적인 Unicast Flooding에 대한 DCI간의 Flooding을 지원한다.

 

 

ARP Optimization

     - ARP Optimization은 Transport Infrastructure를 통해서 흐르는 Traffic을 감소시키는 기능이다.

  

     - 동작 방식은 다음과 같다.

        Step 1. West Site의 Device가 IP A에 대한 Host의 Mac-Address를 확인하기 위해 ARP Request를 보낸다.

        Step 2. ARP Request는 OTV Overlay를 통해서 모든 Remote Site로 전송되어, IP A를 가지는 Host에서 ARP Reply를 보낸다.

        Step 3. West Site의 OTV Edge Device는 ARP Reply를 감지하고 이를 ARP Neighbor-Discovery(ND) Cache라고 부르는

                    Local Data Structure안에  (MAC, IP)를 Mapping한 정보를 저장한다.

        Step 4. 이후, West Site의 다른 Host가 IP A에 대한 ARP Request를 보내게 된다.

        Step 5. West Site OTV Edge Device는 IP A를 가진 Remote Host 대신에 Local에 저장해 놓은 정보를 대신 응답을 한다.

 

 

 

 

    - 하지만, 위와 같은 ARP caching 동작은 ARP와 CAM Table간의 Aging Timer의 차이로 인해서 Black-holing Traffic이

       발생할 수도 있다. 이는 위에서 다루었던 OTV에서의 Unknown Unicast를 Drop시키는 특징 때문이기도 한다.

        Step 1. West Site의 Device가 IP A에 대한 Host의 Mac-Address를 확인하기 위해 ARP Request를 보낸다.

        Step 2. ARP Request는 OTV Overlay를 통해서 모든 Remote Site로 전송되어, IP A를 가지는 Host에서 ARP Reply를 보낸다.

                    West Site의 OTV Edge Device는 ARP Reply를 감지하고 이를 ARP Neighbor-Discovery(ND) Cache라고 부르는

                    Local Data Structure안에  (MAC, IP)를 Mapping한 정보를 저장한다.

        Step 3. IP A의 Host가 East Site에서 CAM aging 만료로 인해서, East Site OTV Edge Device의 Table에서

                    IP A Host의 MAC이 사라지게 되고, 이는 OTV Update를 통해서 West Site OTV Edge Device로 전파되고,

                    마찬가지로 West Site OTV Edge Device의 CAM Table에서도 사라지게 된다.

                    하지만, ARP Cache는 이 때 영향을 받지 않기 때문에 그대로 유지되게 된다.

                    ※ 이 시나리오에서는 ARP aging Timer가 CAM aging Timer보다 크다고 가정한다.

         Step 4. West Site의 다른 Host에서 IP A로 트래픽을 전송하려고 할 때, ARP Cache를 보고 Unicast로 전송을 한다.

         Step 5. West Site OTV Edge Device에서는 해당 Unicast의 MAC이 이미 사라졌기 때문에, Unknown Unicast로 처리되어

                     전송되지 못하고 해당 Frame은 Drop되게 된다.

              

 

 

      - 따라서, OTV Edge Device의 ARP Aging Timer는 항상 CAM Table Aging Timer보다 낮게 설정해야 한다.

        N7K의 Default 값은 다음과 같다.

           ▷ OTV ARP aging-timer : 480 초                                  ▷ MAC aging-timer : 1800 초

        ※ 일반적으로 사용되는 OS 등에서도 ARP는 1800초 미만으로 설정되어 있기 때문에 사실 위와 같은 시나리오는 크게

            신경쓰지 않아도 무관하다.

       -  Host의 Default Gateway가 Nexus 7000이 아닌 경우에 ARP aging-timer를 MAC aging-timer보다 작게 하는 것은 중요하다.

 

 

Broadcast Policy Control

     - 위에서 언급된 ARP Optimization과 같이 Broadcast를 줄이기 위해서 Broadcast white-listing과 같은 추가적인 기능을 제공하여,

       Overlay를 통하여 Layer 2 Broadcast Traffic을 줄일 수 있다. 이에 대한 내용은 추후에 가용성 부분에서 다뤄질 예정이다.

     - NX-OS 6.2(2)부터 Dedicated Broadcast Group을 통해서 Broadcast Traffic에 대해서 별도의 Multicast 주소로 설정할 수 있다.

       이 기능은 Broadcast Traffic에 대한 별도의 QoS 정책을 필요로 하는 경우에 유용하다.

 

Posted by 네떡지기

티스토리 툴바