'

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Study29]VLAN STP
    FISA 2026. 2. 23. 18:06

     

    1) STP가 뭔데?

    스위치/브리지 기반 이더넷 네트워크에서 Looping이 생기면 네트워크가 그냥 느려지는 정도가 아니라 망가져요.
    STP는 이 루프를 감지하고, 일부 포트를 Blocking해서 루프가 없는 트리 구조로 만들어주는 프로토콜입니다.

    루프가 생기면 대표적으로 이런 문제가 터져요.

     

    1. Broadcast Storm: 브로드캐스트 프레임이 루프를 타고 무한 증식

    2. MAC Address Table 불안정: 동일 MAC이 다른 포트에서 번갈아 학습

    3. 이중 Frame 수신: 동일 프레임이 중복으로 들어옴

    확인은 보통 이걸로 합니다.

    show spanning-tree

    2) STP 종류 

    - CST: 전체 스패닝트리를 1개로 운영 

    - RSTP: STP 개선 버전 

    - PVST / Rapid-PVST(RPVST): VLAN마다 스패닝트리를 따로 운영 

    - MSTP: 여러 VLAN을 묶어서 몇 개의 스패닝트리 인스턴스로 운영

     

    오늘 실습은 거의 rapid-pvst 기반으로 이해하면 됩니다.

    STP 모드를 변경하는 방법은
     
    conf t
    
    spanning-tree mode rapid-pvst
     
     

    3) PortFast / Forward Delay

    PC를 스위치에 꽂았는데 바로 통신이 안 되고 몇 초 기다려야 합니다. 바로  STP의 상태 전이(listening/learning) 때문에 생기는 지연입니다.
    이 지연을 줄여주는 게 PortFast입니다

    int range fa0/1-20
    spanning-tree portfast
     
     
    물론 스위치의 포트 여러개중에서, 진짜로 단말 PC를 꼽을 포트에만 설정 해 주는게 중요합니다.
    스위치꼽을건데 이거해주면 안돼요

    4) Root Bridge

    STP는 루트 브릿지를 뽑고, 그 루트를 기준으로 모든 스위치가 “가장 좋은 길”을 계산합니다.

    만약 직접 루트 브릿지를 설정하려고 하면

    spanning-tree vlan 1 priority 4096

     

    을해줍니다.
     
    벗, 0을 하시면 나중에 더 낮은 걸 설정해야할 때 다바꿔야하므로 설정하지 않도록 해야합니다.
     
     
     

    루트 브릿지 선정 기준은 다음과 같습니다.

    1) 루트는 VLAN의 게이트웨이가 있는 디스트/코어

    - VLAN10의 SVI(게이트웨이)가 Dist1에 있으면 → VLAN10 Root = Dist1

    - 게이트웨이가 분산되어 있으면(HSRP/VRRP 등) → Active 게이트웨이 쪽을 Root로 맞추는 설계를 자주 합니다.

     

    2) Secondary 루트는 반드시 짝 디스트/코어

    Dist1 장애 시 Root가 Access로 내려가면 장애 범위/수렴이 커짐 그래서 Dist2를 Secondary로 고정

     

    3) Access는 루트가 절대 되지 않게 “높게” 설정

    액세스에서 루트 되면 경로가 꼬이고 운영이 지옥 됩니다.

     


    5) 실습 1: VLAN + Trunk + PVSTP(Rapid-PVST) 루트 분리

    네트워크 디폴트 게이트웨이는 이렇게 가정했습니다.

    - VLAN 10 → 192.168.0.0/24

    - VLAN 20 → 192.168.1.0/24

     

     

    VLAN10은 SW-01이 루트

    VLAN20은 SW-03이 루트

     

    1. 스위치 연결
    2. STP 확인
    3. PortFast
    4. PC 연결
    5. VLAN & Trunk
    6. rapid-pvst 적용 + VLAN별 루트 지정

    스위치별 설정 요약

    SW-01

    enable
    conf t
    spanning-tree mode rapid-pvst
    spanning-tree vlan 10 root primary
    
    vlan 10
    vlan 20
    
    interface range fa0/1-2
    spanning-tree portfast
    exit
    
    int fa0/1
    switchport access vlan 10
    int fa0/2
    switchport access vlan 20
    
    interface range fa0/11-12
    switchport mode trunk
    end
     
     
     

    SW-02

    enable
    conf t
    spanning-tree mode rapid-pvst
    
    vlan 10
    vlan 20
    
    interface range fa0/1-2
    spanning-tree portfast
    exit
    
    int fa0/1
    switchport access vlan 10
    int fa0/2
    switchport access vlan 20
    
    interface range fa0/11, fa0/13
    switchport mode trunk
    end
     

    SW-03

    enable
    conf t
    spanning-tree mode rapid-pvst
    spanning-tree vlan 20 root primary
    
    vlan 10
    vlan 20
    
    interface range fa0/1-2
    spanning-tree portfast
    exit
    
    int fa0/1
    switchport access vlan 10
    int fa0/2
    switchport access vlan 20
    
    interface range fa0/12-13
    switchport mode trunk
    end
     
     
     

    확인 명령어:

    show vlan
    show interface trunk
    show spanning-tree vlan 10
    show spanning-tree vlan 20
     
     

    여기까지는 결론적으로 같은 VLAN/같은 서브넷끼리 통신되는 상태입니다.


    6) 다른 서브넷(VLAN10 ↔ VLAN20) 통신하려면?

    스위치(L2)는 VLAN을 나눌 뿐이고, 서로 다른 서브넷은 라우팅이 필요입니다.
    즉, VLAN10(192.168.0.0/24) ↔ VLAN20(192.168.1.0/24)은 라우터(L3)를 거쳐야 합니다.

    라우터 물리 인터페이스 2개로 라우팅


    conf t
    interface gi0/0
    ip address 192.168.0.1 255.255.255.0
    no shutdown

    interface gi0/2
    ip address 192.168.1.1 255.255.255.0
    no shutdown
    end
     
     

    근데 VLAN이 늘수록 라우터 인터페이스가 계속 필요해집니다... 이는 비효율로 이어지죠


    7) 그래서 나온 게 Router-on-a-Stick(서브 인터페이스)

    “트렁크 링크 한 가닥으로 VLAN 여러 개를 라우터가 읽게 하자”
    → 라우터에서 서브 인터페이스 + dot1Q 태깅으로 VLAN을 구분하기로 합니다.

    interface gigabitEthernet 0/0.20
    encapsulation dot1Q 20
    ip address 192.168.1.1 255.255.255.0
    no shutdown
     

    요즘은 L3 스위치(MLS)가 흔해서, 실무에선 이걸 꼭 쓰진 않지만 개념적으론 필요하긴 하다고 하네요


    8) Blocking 상태를 “없애는” 게 아니라 “제어”하는 방법: LACP(EtherChannel)

    루프가 생기면 STP는 일부 링크를 Blocking합니다
    그런데 링크를 여러 가닥 깔아놓고 하나가 막혀버리면 낭비가 크겠죠??

     

    여기서 LACP(EtherChannel)가 등장합니다.

     

    1. 여러 물리 포트를 하나의 논리 포트(Port-channel)로 묶음

    STP 입장에서는 “링크 1개”로 보이니까 루프로 판단해서 막을 이유가 줄고, 동시에 대역폭도 묶여서 늘어나게됩니다.

    채널 그룹 구성 (active 권장)

    conf t
    interface range fa0/1-4
    channel-group 1 mode active
    end
     
     

    확인:

    show etherchannel summary
    show spanning-tree

    중요 포인트: 트렁크 설정은 물리 포트가 아니라 Port-channel에 합니다.

     
    conf t
    interface port-channel 1
    switchport mode trunk
    end

    9) L3 스위치(MLS)로 Inter-VLAN Routing

    요즘은 라우터 대신 L3 스위치에서 VLAN 간 라우팅을 많이 합니다.

     


    1. VLAN 인터페이스(SVI)에 IP를 준다.

    interface vlan 20
    ip address 192.168.1.1 255.255.255.0
    no shutdown

     

     2. 단말 포트에 VLAN을 붙인다.

    interface gigabitEthernet 1/0/1
    switchport access vlan 10
    
    interface gigabitEthernet 1/0/2
    switchport access vlan 20

    제일 중요한 점 : ip routing을 켜야 라우팅 테이블이 생기고 VLAN 간 통신이 됩니다

    ip routing
     

    이거 안 하면 L3 스위치인데 L2처럼만 동작해서 VLAN 간 통신이 안 된다.


    10) 트렁크 명령 차이: 3560 vs 3650

    3560 계열은 trunk encapsulation을 명시해줘야 trunk가 동작하는 경우가 많습니다.

    switchport trunk encapsulation dot1q
    switchport mode trunk
     
     
     

    3650 계열은 대부분 바로 trunk 모드가 잡힙니다.

    switchport mode trunk
    728x90

    댓글

Designed by Tistory.
티스토리 친구하기