프로필

내 사진
Joo Hoon Park AB , Male 190 / 88 Network Engineer

2010년 11월 30일 화요일

EAPS Shared-Port

   Shared-port ?
      두 개 이상의 Multi-Ring 구조에서 발생하는 
루프를 방지하는 기능이다.

   Shared-port 필요성 
      두 개 이상의 Multi-Ring 구조에서  
Common LinkFail시 발생할 수 있는  
Super-looping방지 하기위해서.

Shared-port 기본 구성

- Common Link로 연결된 스위치를 한쪽을 Controller로 두고,
   다른 한쪽을 Partner로 둔다.
- Controller와  Partner 사이의 Shared-port와 각 EAPS Domain
   연결하는 Segment Port로 둔다.
- ControllerPartnerSegment Port를 통해
SEGMENT_HEALTH_CHECK message를 주고 받아 
EAPS Domain Segment 상태를 확인한다.


Shared-port 동작 설명 : 
 SW2SW1사이의 Link Down 발생 시.


1. SW2SW1에서 Ring 1EAPS MasterSW3에게
   Ring1 구간에 Link Down을 알린다. (=Send alert)
2. SW3나머지 Ring1EAPS Transit Node에게 Ring1의 
   OPEN을 알리고, Secondary Portunblock 한다.
3. ControllerPartnerSW5SW4에서 Segment-Port
   RING에 이상이있다는것을 감지하고 DOWN상태로 변한다
    (, 세그먼트 포트가 완전 차단되는 것이 아니라 
    링크다운만 알고 있는 것(=Send alert))
4. Segment-PortDown가 되었을 때, ControllerSW4에서  
   TLS VLAN이 있을시 이를 Block시키지 않는다.


Shared-port 동작 설명 :

 Common Link Down 발생 시.
 

1. 각 EAPS Ring MasterSecondary portUnblock 된다.
2. 만일 별도의 Action이 없다면, 두 개 링을 지나는  
   TLS VLAN-ID으로 인해 Superloop이 발생.
3. Controller SW4에서 Superloop의 방지를 위해 
   한 Port에서 해당 TLS VLAN-IDBlock 시켜
   Superloop을 방지한다.


Shared-port 동작 설명 :  

SW2SW1사이의 Link Common Link Down 발생 시.


1. SW2SW1사이의 Link Down 으로 Controller/Partner에서  
    Segment Port Down으로 바뀜.
2. Controller/Partner 사이의 Common Link Down 발생.
3. Segment-PortDown일 때, ControllerSW4에서  
    TLS VLAN이 있을시 이를 Block 시키지 않는다.



Shared-port 적용 기준 :

- 한쪽은 반드시 Controller 반대편은 반드시 Partner로 설정.
- Common link 사이는 반드시 같은 Link-ID사용.
   ※만약 한 스위치에서 두 개의 EAPS Shared-Port를 적용 시
      각각 다른 Link-ID를 사용. 
- Master modeShared port를 설정할 경우 반드시 
   Primary port가 Shared-port로 설정.
   ※, EAPS MasterSecondary Port에는
      Shared-port를 설정할 수 없다.
- 한 스위치에서 두 개의 Partner 설정 또는 Controller/Partner를 
   하나씩 동시 사용 가능하다.
- 하나의 Switch에는 하나의 Controller
   설정할 수 있음. (CPU 소모가 많음) 
- EAPS가 실행중인 상태에서 Shared-port를 설정할 경우
   Partner에 먼저Shared-port를 설정.  




Shared-port 기본 설정 :

Shared-Port의 생성 및 삭제 
Create eaps shared-port <ports>
Delete eaps shared-port <ports>

Shared-Port mode의 설정
Configure eaps shared-port <ports> mode <Controller | partner>

Shared-Port Link-ID의 설정
Configure eaps shared-port <ports> link-id <id>

Segment Port를 통해 Default3초 동SEGMENT_HEALTH_CHECK 
메시지를 받지 못하는 경우 Action 지정. 디폴트로 send-alert 동작.
Configure eaps shared-port <ports> segment-timeout 
expiry-action [segment-down | send-alert]



Shared-port Lab :
<기본 구성도>
LAB1> 위의 구성도를 구성해 설정 후 각 링의 
          Blocking Point를 확인한다.
LAB2> RING 1SW2 – SW1의 링크를 끊고 다시  
          Blocking Point를 확인하고    
          SW4 SW5에서 Shared Port 상태를 확인한다.
LAB3> 이번엔 Common PortSW4-SW5의 링크를 끊고  
          Super looping이 방지되는지 확인한다.
LAB4> 위의2, 3번의 두 링크를 동시에 끊은 뒤, 포트상태를 확인한다.


LAB 1. 설정 및 링의 Blocking  Point를 확인한다.







LAB 2. RING 1SW2 – SW1의 링크 DOWN
- RING 1SW2 – SW1의 링크를 끊고,
  다시 Blocking Point를 확인하고, 
  SW4 SW5에서 Shared Port 상태를 확인한다.






LAB 3. Common Link Down  






 






- 이번엔 Common LinkSW4-SW5의 링크를 끊고,  
   Super loop 방지되는지 확인한다.




LAB 4. SW2 – SW1의 링크 Common Link Down 
- 이번엔 SW2 – SW1의 링크 Common Link를 동시에 끊은 뒤,
   상태를 확인한다.

2010년 11월 28일 일요일

EAPS (Ethernet Automatic Protection Switching)

EAPS 개요
Ethernet Ring 구조Layer2스위치들의 링크를
     보호하기 위한 프로토콜. , 루핑방지 프로토콜.
STP와 유사하지만 더나은 기능 제공.
     - Convergence(복구)시간 :1초미만(<50ms)이 소요되며
                                       (참고 : STP 60), VLAN Domain별로 
                                       별도의 Ring을 구성할 수있다.
  Ring내의 Node들은 하나의 Master Node와 나머지  
      Transit Node 기본 구성되어짐.
   Node에는 Primary PortSecondary Port의 두 개의  
      Ring Port가 설정되어진다.
   Ring 내의 모든 Node에는 Protect VLANControl VLAN이 
    설정 되어진다.
      - Protect VLAN: 실질적인 Data Traffic이 전달되는 
     통로 역할을 한다.
      - Control VLAN: 오직 EAPS Message를 전달하기 위해 
     사용되어진다.
   Master Switch에서 Secondary Port로 설정되어진 Interface 
     Data Traffic이 논리적으로 Blocking 되어진다.      
      - Control VLAN내의 EAPS Control Traffic은 예외
      (STP의 BPDU와 같은 개념) 
   Ring이 완벽한 상태라면, Master SwitchProtect VLAN 내의 
      Secondary Port는 Block 상태를 유지한다.


EAPS 동작설명

설정된 Master Node는 지정된 Primary Port를 통하여 
  Hello Packet을 전송    
-> Secondary Port를 통해 해당 Packet수신시 Loop구조를 
    인식하며 Secondary Port로 수신되는 Protect VLAN 
    TrafficBlocking하게 된다.


EAPS Fault Detection (장애 발견)
   ※ 장애발생시 Detection방법에는 두가지가 있다.


1. Polling
- MasterControl VLAN을 통해 지정된 Hellotime(milliseconds) 
  마다 “Health”Packet보내고, 그것을 Secondary Port
  (Control VLAN은 PortBlock되어있지 않음)받을 것 이다.
- MasterHealth Packet을 받으면, Fail timerReset 한 후
  Complete State로 유지된다.
- Master가 기본 설정되어 있는 Failtime내에 Health Packet을 
 받지 못한다면, Failed State로되고, 논리적으로 Block 되어있던 
  Protect VLANSecondary Port를 Open하여 Data Traffic
 흐르게 한다. 또한 FDBFlush하, Control VLAN을 통해  
  Ring 내의 모든 Transit Node들에게 “Flush FDB” Message를 보낸다.
->그럼 다시 Protect VLANSecondary Port를 논리적으로 Block하고  
     Ring 내 모든 Transit Node“FDB Flush Message”보낸다.
2. Trap Message
- 어떤 Transit nodeRing ports들 중 Down이 발생한다면,  
 즉시 Control VLAN내 유용한 Port통해 Master Node로 
  “Link-Down” Message를 보낸다. (Send Alert)
- Master Node가 이 Message을 받는 순간 Failed State로 되고
  Polling의 경우와 동일 상태로 논리적으로 block되어있던  
  Secondary PortOpen한다.


EAPS Fault Restoration (장애 복구)
 - Master NodePrimary Port를 통해 지속적으로
   “Health Message” 보낸다.
 - Ring의 상태가 Fail된 상태 동안은 MasterFail Timer 
   Timing out으로 유지하고, Master NodeFailed State유지된다
 - 장애 복구 시 Master NodeControl VLANSecondary Port
   “Health Message”를 받고 그 Ring은 복구 되어진 것으로 판단한다.
- 그럼 다시 Protect VLANSecondary Port를 논리적으로 Block하고 
   Ring 내 모든 Transit Node“FDB Flush Message”보내 
  복구사실을 알린다.
Preventing a transitory loop restoration

•  전의 항목까지의 체제에서 Transit NodePort가 복구되는  
  순간부터 Master Node가 그 Ring이 Complete한 것을 
  인식할 때까지 시스템에 일시적인 Loop가 발생 될 수 있다.
   ->이것은 Port가 복구되어 Data Traffic을 흐르는 순간  
       Master Node의 Secondary Port는 여전히 Open되어있기 
     때문이다.
•  Ring 내에 이 일시적인 Loop 발생을 방지하기 위해  
   Transit NodeLink Up을 인식하는 순간 그 Port를 일시적인
   Block state둔다.
  -> 일시적인 PortTemp Blocked Port라고 하고,
        상태는 PREFORWARDING으유지된다.
•  Master Node로부터 “Flush FDB Message”받는 순간 FDB 
   Flush 후 PREFORWARDING 상태의 PortOpen한다.


EAPS 용어 설명


EAPS 기본 설정
# create eaps <name> /eaps 도메인 생성 및 도메인 이름 지정
# config eaps <name> mode <master | transit
   /eaps 모드설정(마스터, 트랜짓 설정)
# config eaps <name> hellotime <seconds>   
   /eaps 헬로타임값 설정(즉, 헬로주기설정)
# config eaps <name> failtime <seconds>   
   /eaps fail타임값 설정
   ※ failtime값은 hellotime값보다 커야하며, 기본으로
       hellotime값은 1, failtime값은 3초이다.
# config eaps <name> failtime expiry-action 
   <open-secondary-port | send-alert>
   ※ failtime이 만료되었을때 transit스위치는 send-alert으로,
     masteropen-secondary-port로 설정한다.
# config eaps <name> <primary | secondary
   port <port number>
   /primary, secondary 포트설정
# config eaps <name> add control vlan <vlan_name>
   /control vlan eaps 메세지만 주고받는 용도
# config vlan <name> qosprofile qp8
   /control vlan의 전송우선순위를 가장 높이기위해 사용
   ※ 빠른 복구와 빠른 수렴을 위하여 Control vlan의 
      우선순위를 높여야한다.
# config eaps <name> add protect vlan <vlan_name>
   /직접적인 데이터 운반하는 protect vlan 설정
# config eaps fast-convergence <off/on>  
   /빠른 복구 사용여부 결정
# enable eaps  /eaps 활성
# enable eaps <domain_name/eaps 도메인 활성


EAPS LAB

     
                                         < Test 결과>