STP Port Role & State


STP는 BID(Priority + MAC)가 제일 낮은 Switch를 Root Bridge로 뽑고 , Loop가 생기는 Port 하나를 Blocking 시켜서 Loop를 막는다

 

1. Port 역할 선정

A. Root Port : Root Bridge가 아닌 Switch마다 1개 , Root까지 제일 가까운 Port

B. Designated Port : Segment(Link)마다 1개. Root Bridge의 Port는 전부 Designated Port 이다.

C. 나머지 Port는 Blocking(Non-designated) 상태가 된다.

 

* 비교순서 (Root Port , Designated Port 둘다 이 순서 대로 비교 한다)

① Root Path Cost가 낮은것

② 상대(Sender) BID가 낮은것

③ 상대(Sender) Port ID가 낮은것 [Port ID = Port Priority(기본 128) + Port 번호]

 

[대역폭 : STP Cost]

- 10 Mbps : 100

- 100 Mbps : 19

- 1 Gbps : 4

- 10 Gbps : 2

 

[Root Path Cost는 Root까지 가는동안 BPDU를 받는 Port의 Cost를 전부 더한값 이다.]

 

2. 예제

EX1) SW1 , SW2 , SW3를 삼각형으로 연결하고 Priority는 전부 기본값 , 모든 Link는 FastEthernet(Cost 19)이다

                     SW1 (Root Bridge)

        Fa0/1 [D]                    Fa0/2 [D]

              |                                   |

        Fa0/1 [R]                    Fa0/1 [R]

            SW2                               SW3

        Fa0/2 [D] ------------------ Fa0/2 [B]

[R : Root Port , D : Designated Port , B : Blocking]

[SW1 0011.1111.1111 , SW2 0022.2222.2222 , SW3 0033.3333.3333 , Priority 전부 32769]

A. Root Bridge : Priority가 전부 32769로 같으니까 MAC을 비교 한다 → SW1(0011.1111.1111)이 Root Bridge

B. Root Port : SW2 , SW3 둘다 Fa0/1(19)이 Fa0/2(19+19=38) 보다 낮아서 Fa0/1

C. Designated Port

   - SW1은 Root Bridge 라서 Fa0/1 , Fa0/2 둘다 Designated

   - SW2-SW3구간 : 둘다 Root Path Cost가 19로 같다 → BID 비교 → SW2(0022.2222.2222)가 더 낮아서 SW2 Fa0/2가 Designated

D. Blocking : 남은 SW3 Fa0/2가 Blocking 된다.

 

SW3#show spanning-tree

 

VLAN0001

  Spanning tree enabled protocol ieee

  Root ID    Priority    32769

             Address     0011.1111.1111

             Cost        19

             Port        1 (FastEthernet0/1)

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

 

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)

             Address     0033.3333.3333

             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

             Aging Time  300 sec

 

Interface           Role Sts Cost      Prio.Nbr Type

------------------- ---- --- --------- -------- --------------------------------

Fa0/1               Root FWD 19        128.1    P2p

Fa0/2               Altn BLK 19        128.2    P2p

 

[Blocking Port는 show spanning-tree에서 Altn BLK(Alternate)로 나온다.]

 

3. Port 상태 , Timer

 

- Blocking : BPDU - 수신만 , MAC 학습 - X , Data 전달 - X , 시간 - 최대 20초 (Max Age)

- Listening : BPDU - 송수신 , MAC 학습 - X , Data 전달 - X , 시간 - 15초 (Forward Delay)

- Learning : BPDU - 송수신 , MAC 학습 - O , Data 전달 - X , 시간 - 15초 (Forward Delay)

- Forwarding : BPDU - 송수신 , MAC 학습 - O , Data 전달 - O , 시간 - 없음

 

[Blocking에서 Forwarding 까지 최대 50초(20+15+15)가 걸린다. Link가 직접 끊긴걸 감지하면 Max Age를 안기다려서 30초 정도 걸린다]

 

4. PortFast / BPDU Guard

A. PortFast : PC 연결 Port에서 Listening , Learning을 건너 뛰고 바로 Forwarding으로 간다. PC를 켜고 30초 동안 통신이 안되는 문제(DHCP Timeout 같은거)를 해결할수 있다.

B. BPDU Guard : PortFast Port에서 BPDU를 받으면 Port를 err-disabled 시킨다. 누가 PC Port에 Switch를 연결해 버리면 Loop가 생길수 있기때문에 같이 쓰는게 좋다

 

interface fastethernet 0/10

 spanning-tree portfast

 spanning-tree bpduguard enable

!

EIGRP Successor 와 Feasible Successor


EIGRP는 DUAL(Diffusing Update Algorithm)로 목적지마다 메인 경로랑 백업 경로를 미리 골라 둔다.

아래 구성에서 R1이 R3 LAN(13.13.3.0/24)으로 가는 경로는 R2를 거치는 FastEthernet 경로랑 R1-R3 Serial(T1) 직결 경로 2개가 있다.

[EIGRP Metric은 Bandwidth랑 Delay로 계산하고 값이 작을수록 좋은 경로 이다]

              13.13.12.0/24 13.13.23.0/24

R1---------------------R2---------------------R3

| |

+------------ Serial 13.13.13.0/24 ------------+

[R1-R2 , R2-R3 : FastEthernet / R1-R3 : Serial T1 1544Kbps (R1 Se0/0/0 .1 - .3 Se0/0/0 R3)]

[LAN : R1 13.13.1.0/24 , R2 13.13.2.0/24 , R3 13.13.3.0/24 (전부 Fa0/0) / 전부 EIGRP AS 100]

 

1. DUAL 용어

A. FD(Feasible Distance) : 내 Router에서 목적지 까지 전체 Metric

B. AD / RD(Advertised / Reported Distance) : 이웃 Router가 알려준 자기기준 Metric

C. Successor : FD가 제일 작은 경로 , Routing table에 올라간다.

D. Feasible Successor : Successor가 죽었을때 바로 쓸수 있는 백업 경로

E. Feasibility Condition : 백업 경로의 RD < Successor의 FD 일때만 Feasible Successor가 될수 있다.

[이 조건을 만족하면 Loop가 생길수 없는 경로라는 뜻 이다.]

 

2. 계산 예시

R2쪽 경로가 FD 33280으로 제일 작아서 Successor가 된다.

Serial 경로는 FD가 2172416으로 훨씬 크지만 R3가 알려준 RD 28160이 Successor FD 33280 보다 작아서 Feasible Successor가 된다

[Metric이 큰거랑 Feasible Successor가 되는건 상관 없고 RD만 비교한다.]

 

3. Topology Table 확인

 

R1#show ip eigrp topology

IP-EIGRP Topology Table for AS(100)/ID(13.13.13.1)

 

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

       r - reply Status, s - sia Status

 

P 13.13.1.0/24, 1 successors, FD is 28160

        via Connected, FastEthernet0/0

P 13.13.2.0/24, 1 successors, FD is 30720

        via 13.13.12.2 (30720/28160), FastEthernet0/1

P 13.13.3.0/24, 1 successors, FD is 33280

        via 13.13.12.2 (33280/30720), FastEthernet0/1

        via 13.13.13.3 (2172416/28160), Serial0/0/0

P 13.13.12.0/24, 1 successors, FD is 28160

        via Connected, FastEthernet0/1

P 13.13.13.0/24, 1 successors, FD is 2169856

        via Connected, Serial0/0/0

P 13.13.23.0/24, 1 successors, FD is 30720

        via 13.13.12.2 (30720/28160), FastEthernet0/1

        via 13.13.13.3 (2172416/28160), Serial0/0/0

 

(33280/30720)에서 앞이 FD , 뒤가 RD 이다.

13.13.3.0은 via가 2줄이라 Successor 1개 + Feasible Successor 1개다.

13.13.2.0은 R3쪽 경로의 RD가 30720으로 FD랑 똑같아서 Feasible Successor가 아니다. 그래서 via 13.13.12.2 하나만 보인다

[RD가 FD랑 같아도 조건 불만족 이다. 무조건 작아야 된다.]

 

4. Successor가 죽었을때

A. Feasible Successor가 있으면 Query 없이 바로 Routing table로 올라가서 수렴이 엄청빠르다.

B. 없으면 그 경로는 Active 상태가 되서 이웃들한테 Query를 보내고 Reply를 다 받을때까지 기다린다.

[Topology Table 맨앞 P는 Passive(정상) , A는 Active(경로 다시 찾는중) 이다.]

OSPF LSA Type


LSA(Link State Advertisement)는 OSPF Router끼리 주고 받는 Link정보 이다.
Area를 여러개로 나누면 LSA도 종류마다 만드는 Router랑 전달 범위가 달라진다
아래 그림은 R1(Area 1) - R2(ABR) - R3(Area 0 , ASBR) 구성에서 LSA가 퍼지는 범위다.
[ABR은 Area 0과 다른 Area를 연결하는 Router , ASBR은 외부 경로를 OSPF로 넣어주는 Router]


1. LSA Type

- Type 1 : 이름 - Router LSA , 만드는 Router - 모든 Router , 전달 범위 - 해당 Area 안 , 내용 - 자기 Link 정보
- Type 2 : 이름 - Network LSA , 만드는 Router - DR , 전달 범위 - 해당 Area 안 , 내용 - Multi-access 구간에 붙어있는 Router 목록
- Type 3 : 이름 - Summary LSA , 만드는 Router - ABR , 전달 범위 - 다른 Area로 , 내용 - 다른 Area의 네트워크 정보
- Type 4 : 이름 - ASBR Summary LSA , 만드는 Router - ABR , 전달 범위 - 다른 Area로 , 내용 - ASBR 위치
- Type 5 : 이름 - AS External LSA , 만드는 Router - ASBR , 전달 범위 - OSPF 전체 (Stub 계열 제외) , 내용 - 외부 경로
- Type 7 : 이름 - NSSA External LSA , 만드는 Router - NSSA 안의 ASBR , 전달 범위 - NSSA 안 , 내용 - 외부 경로 (ABR에서 Type 5로 변환)

[Type 4가 필요한 이유 : Type 5에는 외부 경로랑 ASBR 정보만 있고 다른 Area에 있는 Router는 ASBR이 어디있는지 모른다. 그래서 ABR이 ASBR까지 가는 경로를 Type 4로 알려주는거다.]

2. Area 종류

- Normal (기본) : 막는 LSA - 없음 , 특징 - 모든 LSA 허용
- Stub : 막는 LSA - Type 4 , 5 , 특징 - 외부 경로 대신 ABR이 Default Route(Type 3)를 내려준다
- Totally Stubby : 막는 LSA - Type 3 , 4 , 5 , 특징 - Default Route 하나만 받는다 [Cisco 전용]
- NSSA : 막는 LSA - Type 4 , 5 , 특징 - Area 안에 ASBR이 있을 때 Type 7 사용

[Area 0은 Stub로 만들수 없고 , Stub Area 안에는 ASBR이 있으면 안된다. 그래서 ASBR이 필요하면 NSSA를 쓴다]

3. LSDB 확인
R3가 200.200.200.0/24를 Redistribute 하고 있는 상태에서 Area 1에 있는 R1의 LSDB를 보면 아래처럼 나온다.

R1#show ip ospf database

            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Router Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum Link count
1.1.1.1         1.1.1.1         412         0x80000003 0x00A4C1 2
2.2.2.2         2.2.2.2         405         0x80000002 0x003B7E 1

                Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
13.13.12.2      2.2.2.2         405         0x80000001 0x00D25A

                Summary Net Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
13.13.2.0       2.2.2.2         450         0x80000001 0x00F1E8
13.13.3.0       2.2.2.2         381         0x80000001 0x00E2F2
13.13.23.0      2.2.2.2         450         0x80000001 0x0063A1

                Summary ASB Link States (Area 1)

Link ID         ADV Router      Age         Seq#       Checksum
3.3.3.3         2.2.2.2         126         0x80000001 0x00B4D3

                Type-5 AS External Link States

Link ID         ADV Router      Age         Seq#       Checksum Tag
200.200.200.0   3.3.3.3         131         0x80000001 0x00C69B 0

[Router Link States(Type 1)에서 R1 Link count가 2인 이유는 Fa0/0(Stub 네트워크) , Fa0/1(Transit 네트워크) 2개 라서다.]
[Summary Net Link States가 Type 3 , Summary ASB Link States에 3.3.3.3이 있는게 Type 4 이다. R2(ABR)가 R3(ASBR) 위치를 Area 1에 알려준 것]

4. Totally Stubby 적용
EX1) Area 1을 Totally Stubby로 바꾼다.

# R1
router ospf 1
 area 1 stub
!
# R2
router ospf 1
 area 1 stub no-summary
!

R1#show ip route ospf
O*IA 0.0.0.0/0 [110/2] via 13.13.12.2, 00:00:12, FastEthernet0/1

Type 3 , 4 , 5가 전부 막혀서 Default Route 하나만 남는다.
Cost 2는 ABR가 내려주는 Default Route Cost 1 + R1→R2 Cost 1 이다.
[no-summary는 ABR에만 넣으면 되고 R1에는 area 1 stub만 넣어도 된다.]

+ Recent posts