R's Note

STP(Spanning-Tree Protocol) 본문

Network/기초

STP(Spanning-Tree Protocol)

Nenlin2 2015. 8. 17. 15:10

    STP(Spanning-Tree protocol)

    -> 목적 Loop방지(Ring 구조의 이중화시)

     

    Broadcast strom : Ring구조의 이중화시 Broadcast 계속적으로 루핑을 돌아 발생하는 현상.

     

    L2에서의 looping L3 Looping 차이 TTL값때문에

     L2에서는 무한루핑이 돌지만, L3에선 TTL 때문에 무한루프는 돌지 않는다.

     

    Tip : TTL(TimeToLive)값은 OS마다 달라서 TTL값만을 가지고도 OS 추측가능하다.하위 페이지 참조.

     

    PVST(PerVlanSpanningTree)

     : VLAN별로 STP 각각 돌리는 . VLAN 따라 경로를 조정함으로써 트래픽을 분산시킬 있음

     

    RSTP(Rapid SpanningTreeProtocol)

     : STP 개선한 방법. 동작에 따른 학습시간을 대폭 감소시킴. (2004 표준)

     

    MSTP(Multiple STP)

     : pvst 사용함에 따라 vlan 증가할수록 bpdu값에 의한 트래픽이 많아지기 때문에 이를 막기 위해 stp 그룹으로 묶어서 사용...!

     

    STP 주요 동작과정

    1. broadcast domain에서 root bridge(== root switch) 선정
    2. nonroot bridge(루트가 아닌 스위치)에서 각각 1개의 root port 선정
    3. segment(1개의 연결구간)마다 designated port 선정
    4. nondesignated Port 사용안함 처리.(Block처리)

     

    • root bridge : 루트 브릿지 (bridge-ID 가장 낮은 switch)
    • nonroot bridge : 루트 브릿지가 아닌 switch
    • root port : BPDU 수신하는 Port + root bridge 가장 가까운 port
    • designated port : BPDU 송신하는 Port
    • nondesignated port(blocking port) : 예비용 Port 통신 불가. BPDU만수신가능.

     

    BPDU(Bridge Protocol Data Unit) 종류

    1. Configuration BPDU (설정 BPDU)
    • 2초마다 교환
    • Root switch선출 Switchport 역활을 지정함.
    • 포함하고 있는 정보 (공통적으로 값이 작은 것이 좋다.)
      1. Bridge ID : Priority(기본값 32768)+MAC 주소
      2. PathCost : Link 연결속도 속도에 따라 IEEE 표준 정의된 테이블에 매칭됨. 해당 switch에서 Root Bridge까지의 누적 .
      3. Port ID : PortPriority(기본값 128).Port 번호 (ex 1번포트 128.1)
    1. TCN BPDU
    • 토폴로지내에 변경이 있을때 알리는 BPDU

     

    Root Bridge 선출기준

    • Bridge ID 가장 낮은 Switch 선출
    • root Bridge 변경 명령어

    config)#spanning-tree vlan (vlan번호) priority (priority 번호)

    Root Port 선출 기준

    1. Root bridge ID 가장 낮은 BPDU 수신한 Port (보통 같음 생략)
    2. Path cost 가장 작은 Port
    3. 인접 Switch(상대방) Bridge ID 가장 낮은 Port
    4. 인접 Switch(상대방) Port ID 가장 낮은 Port
    5. 자신의 Port ID 가장 낮은 Port (같은 switch끼리 link이중화 했을때만 발생)

    Designated Port 선출 기준

    1. Root Switch Port
    2. 가장 낮은 순위의 BPDU 수신한 Port (보통 같음 생략)
    3. Path cost 낮은 switch port
    4. (자신의)bridge id 낮은 port
    5. (자신의)Port ID 낮은 port

     

    • SPT 상태값
      1. Blocking State (차단된 시간 20) : 루핑방지용.
      2. Listening State (대기시간 15)
      3. Learning State (학습시간 15)
      4. Forwarding State (정상동작)
    • 컨버젼스 타임 (동작이 되는데까지의 따른 지연시간.)
    • STP 컨버젼스 타임
      • 직접 Link 단절 : 직접연결되어 있는 Port down 되었을 경우 (30) (Blocking state 생략)
      • 간접 Link 단절 : Blocking Time 가지기 때문에 50 소요.

     

    STP 경로 수정방법.

    1. Bridge-ID 변경

    config)#spanning-tree vlan (vlan_N) priority (변경값)

    (실제 스위치는 4096 배수로 변경해야함.)

    1. Path Cost 변경 분산. (1 방법보다 우선순위 높음)

    config-if)#spanning-tree vlan (vlan_N) cost (변경값)

    1. Port-ID 변경하여 분산

    config-if)#spanning-tree vlan (vlan_N) port-priority (변경값)

    (실제 스위치는 16 배수로 변경해야함.)

     

    원하는 root port 만들고 싶을때엔 해당 포트의 Path Cost 변경하거나

    해당 포트에 연결된 반대편 포트의 장비에서 Bridge-ID Port-ID 변경.

     

    STP 설정 시간

    Hello : 기본값 2 BPDU 신호 교환에 사용

    Max Age : 기본값 20 Blocking Time

    Forward Delay : 기본값 15 listening, learning 딜레이 사용

    ------

    • STP 동작하는데 있어 수렴시간을 감소시키는 방법.
      1. Portfast

    => PC, Server같은 EndDevice 연결되는 포트에 설정.

    Blocking, Listening, Learing 상태를 생략하고 바로 FWD상태로 변경.

    (config-if)#spanning-tree portfast

    1. Uplinkfast

    => 직접링크 단절시 30 FWD으로 변경된다.

    경우 uplinkfast 사용하게 되면 해당 30초를 생략가능하다.

    (주의사항 : block 있는 access switch에서 설정해줘야함.)

    (config)#spanning-tree uplinkfast

    1. Backbonefast

    => 간접링크 단절시 50 후에 FWD으로 변경된다.

    경우 backbonefast 적용하면 Max-age 20초를 생략할 있다.

    설정시 모든 Switch 설정해야 한다.

    (RLQ(RootLink쿼리) Root-switch 날려 생존여부를 확인한후 응답을 받아 기다리지 않고 전환함(BlockTime 생략됨.)

    (config)#spanning-tree backbonefast

    1. STP Timer 조정

    디폴트 값은 스위치 7대에 관해서 만든 .

     스위치 대수

    2

    3

    4

    5

    6

    7

    hello

    2

    2

    2

    2

    2

    2

    max-age

    10

    12

    14

    16

    18

    20

    fwd-delay

    7

    9

    10

    12

    13

    15

    config)#spanning-tree vlan 1 root primary diameter (스위치의 대수)

    config)#spanning-tree vlan 1 hello-time (hello-time)

    config)#spanning-tree vlan 1 max-age (max-age time)

    config)#spanning-tree vlan 1 forward-time (forward-time)


'Network > 기초' 카테고리의 다른 글

EtherChannel  (0) 2015.08.17
DHCP  (0) 2015.08.17
NAT(Network Address Translation)  (0) 2015.08.17
SVI,routing protocol  (0) 2015.08.17
DHCP  (0) 2015.03.26
Comments