영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. 제 24 장 IEEE 802.1w RSTP 블로그 : net123.tistory.com - 1 - 저자김정우
IEEE 802.1w RSTP 본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. RSTP는 IEEE 802.1d STP 컨버전스에비해서포트이전이상당히빠른 STP를의미한다. IEEE 802.1d STP 컨버전스는경우에따라서 30초, 또는 50초인반면에 RSTP는토폴로지가변경되면, 즉각적으로반영되어 STP 컨버전스가신속하게처리된다. 단, RSTP에서도루트브리지선출과루트포트선정, 지정포트선정, 그리고대체포트를결정하는것은 IEEE 802.1d STP와동일하다. RSTP 포트선정과정 STP는대체포트가 Forwarding으로이전하기위해서 30초 (Listening, Learning), 또는 50초 (Max Age, Listening, Learning) 라는지연이발생되는데, 이는대체포트를바로 Forwarding으로이전할경우, 발생될수있는브리징루프를방지하기위해서이다. 그러나 RSTP는자신의 BPDU 정보가다른스위치보다선순위 BPDU이면, 자신의포트를지정포트임을알리는제안 (Proposal) BPDU를전송한다. 이를수신한상대방스위치포트는이를동의하기위해서동의 (Agreement) BPDU를전송하여, 자신의포트를루트포트로선정하여바로 Forwarding으로이전한다. 그럼동의 BPDU를수신한지정포트도자신의포트를 Forwarding으로이전하여동작한다. 결과적으로 STP에서는지정포트와루트포트가 30초, 또는 50초이후에 Forwarding으로이전했다면, RSTP는즉각적으로 Forwarding으로이전된다. RSTP BPDU 플래그 RSTP 가사용하는 BPDU 는 STP 와동일하다. 단, Protocol Version ID 에는 2 가설정되어있으며, [ 표 24-1] 과 같이 BPDU 플래그에 RSTP 를위한몇가지정보가추가되었다. [ 표 24-1] RSTP BPDU 플래그 비트번호 기능 내용 0 TC 토폴로지가변화된것을광고할때사용한다. 1 제안 BPDU를전송하는포트가지정포트로동작하겠다는것을광고할때사용한다. 2, 3 포트역할 00( 미정 ), 01( 대체포트 ), 10( 루트포트 ), 11( 지정포트 ) 4 학습 Learning 상태임를표기한다. 5 전송 Forwarding 상태임을표기한다. 6 동의 수신한제안 BPDU에대해서동의하여자신의포트가루트포트로동작하겠다는것을광고할때사용한다. 7 TCA 토폴로지변화를광고하는 TCN BPDU를수신했음을알릴때사용한다. RSTP에서는 TCN BPDU와 TCA 비트를사용하지않는다. 단, STP와호환성을위해서사용한다. 블로그 : net123.tistory.com - 2 - 저자김정우
영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. RSTP 에서사용하는 Cost 값 RSTP 에서사용하는 Cost 값은 [ 표 24-2] 와같다. 그러나 Cisco Catalyst 스위치에서는기존의 STP Cost 값을 그대로사용하고있다. [ 표 24-2] RSTP Cost 값 Bandwidth Cost 10Mbps 2,000,000 100Mbps 200,000 1Gbps 20,000 10Gbps 2,000 100Gbps 200 1Tbls 20 10Tbls 2 RSTP 포트유형과포트상태 RSTP 포트유형은 [ 표 24-3] 와루트포트, 지정포트, 대체포트, 백업포트및비활성화포트로구분된다. [ 표 24-3] RSTP 포트유형포트이름및상태내용비활성화포트스위치포트가비활성화된경우이다. 즉, shutdown 되었거나, BPDU (Disabled Port) Guard, Port-Security로인하여 Err-Disable 된상태를의미한다. 지정포트 STP의지정포트와동일하다. BPDU를전송하며, 각세그먼트마다 (Designated Port) 지정포트가한개씩존재해야하며, 포트는 Forwarding 상태이다. 루트포트 STP의루트포트와동일하다. BPDU를수신하며, 각세그먼트마다 (Root Port) 루트포트가한개씩존재해야하며, 포트는 Forwarding 상태이다. STP의대체포트와동일하다. 브리징루프를방지하기위해서포트대체포트가차단된상태이며, 링크장애가발생되면, 지정포트또는루트 (Alternate Port) 포트로전환되어 Forwarding 상태가된다. 자신이전송한 BPDU를다른포트를통해서수신할경우, 포트우백업포트선순위값이높은포트가백업포트로선정되며, 만약지정포트가 (Backup Port) 다운되면백업포트가바로지정포트로전환되어동작한다. STP의차단 (Blocking) 상태와동일하다. 스위치에서정보확인을실 Discarding 시하면, Discarding 용어대신, Blocking 용어로출력된다. STP의학습 (Learning) 상태와동일하다. 대신, STP처럼 Forward- Learning Delay 타이머 (15초) 를사용하지않고, 신속하게진행된다. Forwarding STP의전송 (Forwarding) 상태와동일하다. 블로그 : net123.tistory.com - 3 - 저자김정우
RSTP 링크유형 본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. RSTP 에서사용하는링크유형은다음과같다. [ 표 24-4] RSTP 링크유형 링크유형 내용 P2P Full-Duplex 모드로동작하는포트를의미한다. Shared Half-Duplex 모드로동작하는포트를의미한다. Link 상대방스위치도 RSTP로동작하는포트를의미한다. Edge PC, 서버, IP Phone과같이 STP와관계없는장비가연결된포트를의미한다. Peer RSTP가아닌, STP로동작하는스위치와연결된포트를의미한다. RSTP 모드설정 RSTP 를동작하기위해서는먼저스위치에 IEEE 802.1w RSTP 가지원되는지를확인해야한다. 만약, 2 대의스 위치중에한대가 IEEE 802.1d STP 만지원된다면, IEEE 802.1w RSTP 가동작하는스위치일지라도 IEEE 802.1d STP 만지원하는스위치와연결된포트는기본 STP 로동작하게된다. RSTP 모드설정은다음과같다. [ 예제 24-1] SW1~SW3 에서 RSTP 모드설정 SW1(config)#spanning-tree mode rapid-pvst SW2(config)#spanning-tree vlan 1 priority 4096 SW2(config)#spanning-tree mode rapid-pvst SW3(config)#spanning-tree vlan 1 priority 16384 SW3(config)#spanning-tree mode rapid-pvst 설정이완료되었다면, SW1 에서 RSTP 정보확인을실시하도록하자. [ 예제 24-2] SW1 에서확인한 RSTP 내용 show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 4097 Address 0018.ba36.0280 Cost 19 Port 26 (FastEthernet0/24) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec 블로그 : net123.tistory.com - 4 - 저자김정우
영리목적으로사용할경우저작권법제30조항에의거법적처벌을받을수있습니다. Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address 0019.e791.c280 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 Interface Role Sts Cost Prio.Nbr Type ---------------- ------ ----- --------- --------- -------------------------------- Fa0/20 Altn BLK 19 128.22 P2p Fa0/24 Root FWD 19 128.26 P2p RSTP 컨버전스확인 RSTP 환경에서링크장애가발생될경우, Blocking 상태인대체포트가 Forwarding 으로이전하는과정을알아 보도록하자. [ 그림 24-1] RSTP 토폴로지 1 구간에장애가발생할경우 장애가발생되면, STP 같은경우 SW1 F0/20 포트는 Listening à Learning à Forwarding 순으로진행하는 반면에, RSTP 는신속한컨버전스를실시하여즉각적으로 Forwarding 으로이전한다. 다음예제를통해서 RSTP 포트상태변화을알아보도록하자. 블로그 : net123.tistory.com - 5 - 저자김정우
영리목적으로사용할경우저작권법제30조항에의거법적처벌을받을수있습니다. [ 예제 24-3] SW1~SW3에서 RSTP 디버깅시작 debug spanning-tree events Spanning Tree event debugging is on SW2#debug spanning-tree events Spanning Tree event debugging is on SW3#debug spanning-tree events Spanning Tree event debugging is on [ 예제 24-4] SW2 F0/24 포트 shutdown 실시 SW2(config)#int fa0/24 SW2(config-if)#shutdown [ 예제 24-5] SW1에서확인한 RSTP 디버깅 21:26:29: RSTP(1): updt roles, root port Fa0/24 going down 21:26:29: RSTP(1): Fa0/20 is now root port 1 show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp ~ 중간생략 ~ Interface Role Sts Cost Prio.Nbr Type ---------------- ------ ----- --------- --------- -------------------------------- Fa0/20 2 Root FWD 19 128.22 P2p 1 SW2 F0/24 포트가 shutdown 되자마자루트포트로선정되어즉각 Forwarding 으로이전한다. 2 STP 정보확인결과, SW1 F0/20 포트가 Forwarding 상태인것을알수있다. 그럼다음 RSTP 포트변화를알아보기위해서 SW2 F0/24 를 no shutdown 하도록하자. [ 예제 24-6] SW2 F0/24 포트 no shutdown 실시 SW2(config)#int fa0/24 SW2(config-if)#no shutdown [ 예제 24-7] SW1과 SW2에서확인한 RSTP 디버깅 SW2(config-if)# 21:32:34: RSTP(1): initializing port Fa0/24 블로그 : net123.tistory.com - 6 - 저자김정우
영리목적으로사용할경우저작권법제30조항에의거법적처벌을받을수있습니다. 21:32:34: RSTP(1): Fa0/24 is now designated 1 21:32:34: RSTP(1): transmitting a proposal on Fa0/24 2 21:32:34: RSTP(1): received an agreement on Fa0/24 3 21:32:34: RSTP(1): initializing port Fa0/24 21:32:34: RSTP(1): Fa0/24 is now designated 4 21:32:34: RSTP(1): transmitting a proposal on Fa0/24 5 21:32:34: RSTP(1): updt roles, received superior bpdu on Fa0/24 6 21:32:34: RSTP(1): Fa0/24 is now root port 7 21:32:34: RSTP(1): Fa0/20 blocked by re-root 8 21:32:34: RSTP(1): synced Fa0/24 9 21:32:34: RSTP(1): Fa0/20 is now alternate 10 21:32:34: RSTP(1): transmitting an agreement on Fa0/24 as a response to a proposal 11 1 SW2 F0/24 포트가활성화가되면, 지정포트로간주한다. 2 SW2 F0/24 포트를이용하여제안 BPDU를전송한다. 3 SW2 F0/24 포트는상대방스위치 (SW1 F0/24) 로부터동의 BPDU를수신한다. 4 SW1 F0/24 포트가활성화가되면, 지정포트로간주한다. 5 SW1 F0/24 포트를이용하여제한 BPDU를전송한다. 6 SW1 F0/24 포트는상대방스위치 (SW2 : 루트브리지 ) 로부터선순위 BPDU를수신한다. 7 SW2로부터선순위 BPDU를수신했기때문에 SW1 F0/24 포트를루트포트로선정한다. 8 기존의루트포트인 SW1 F0/20 포트를차단한다. 9 새로운루트포트인 SW1 F0/24 포트도차단한다. 10 SW1 F0/20 포트를대체포트로선정한다. 11 SW1 F0/24 포트를이용하여 SW2에게동의 BPDU를전송하고, Forwarding 상태로전환한다. 2 구간에장애가발생할경우 장애가발생되면, STP 같은경우 SW1 F0/20 포트는 Blocking(Max Age 20 초 ) à Listening à Learning à Forwarding 순으로진행하는반면에, RSTP 는신속한컨버전스를실시하여즉각적으로 Forwarding 으로이전 한다. 다음예제를통해서 RSTP 포트상태변화을알아보도록하자. [ 예제 24-8] SW2 F0/22 포트 shutdown 실시 SW2(config)#int fa0/22 SW2(config-if)#shutdown [ 예제 23-9] SW1과 SW3에서확인한 RSTP 디버깅 SW3# 21:32:51: RSTP(1): updt roles, root port Fa0/22 going down 1 블로그 : net123.tistory.com - 7 - 저자김정우
영리목적으로사용할경우저작권법제30조항에의거법적처벌을받을수있습니다. 21:32:51: RSTP(1): we become the root bridge 2 21:32:51: RSTP(1): updt roles, received superior bpdu on Fa0/20 5 21:32:51: RSTP(1): Fa0/20 is now root port 6 21:32:51: RSTP(1): synced Fa0/20 7 21:32:51: RSTP(1): transmitting an agreement on Fa0/20 as a response to a proposal 9 21:32:51: RSTP(1): updt roles, received superior bpdu on Fa0/20 3 21:32:51: RSTP(1): Fa0/20 is now designated 4 21:32:51: RSTP(1): transmitting a proposal on Fa0/20 8 21:32:51: RSTP(1): received an agreement on Fa0/20 10 show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp ~ 중간생략 ~ Interface Role Sts Cost Prio.Nbr Type ---------------- ------ ----- --------- --------- -------------------------------- Fa0/20 11 Desg FWD 19 128.22 P2p Fa0/24 Root FWD 19 128.26 P2p 1 SW2 F0/22 포트를 shutdown 했기때문에, SW3 F0/22 포트 ( 루트포트 ) 도다운된다. 2 SW3은기존의루트브리지인 SW2으로부터 BPDU를수신하지못하기때문에, 자기자신이루트브리지라고간주하여, 후순위 BPDU를 SW1에게전송한다. 3 SW3으로부터후순위 BPDU를수신한 SW1은 SW2과 SW3 구간에장애가발생된것을알게된다. 4 토폴로지가변경되어 SW1 F0/20 포트는지정포트가되며, SW1은 SW3에게루트브리지가 SW2로설정된선순위 BPDU를전송한다. 5 SW3은 SW1이전송한선순위 BPDU를수신한다. 6 SW3은선순위 BPDU를수신한 F0/20 포트를루트포트로선정한다. 7 SW3 F0/20 포트를싱크시킨다. 8 SW1 F0/20 포트를지정포트로선정하겠다는제안 BPDU를 SW3에게전송한다. 9 SW3이 SW1에게동의 BPDU를전송한다. 10 SW1은 SW3으로부터동의 BPDU를수신하며, 이제 SW1과 SW3 F0/20 포트는모두 Forwarding으로이전한다. 블로그 : net123.tistory.com - 8 - 저자김정우
영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. 그럼다음 RSTP 포트변화를알아보기위해서 SW2 F0/22 를 no shutdown 하도록하자. [ 예제 24-10] SW2 F0/22 포트 no shutdown 실시 SW2(config)#int fa0/22 SW2(config-if)#no shutdown [ 예제 23-11] SW1, SW2, SW3에서확인한 RSTP 디버깅 SW3# 21:33:58: RSTP(1): initializing port Fa0/22 21:33:58: RSTP(1): Fa0/22 is now designated 1 21:33:58: RSTP(1): transmitting a proposal on Fa0/22 2 21:33:58: RSTP(1): updt roles, received superior bpdu on Fa0/22 3 21:33:58: RSTP(1): Fa0/22 is now root port 4 21:33:58: RSTP(1): Fa0/20 blocked by re-root 5 21:33:58: RSTP(1): synced Fa0/22 6 21:33:58: RSTP(1): Fa0/20 is now designated 7 21:33:58: RSTP(1): transmitting an agreement on Fa0/22 as a response to a proposal 8 21:33:58: RSTP(1): transmitting a proposal on Fa0/20 9 SW3# 21:34:00: RSTP(1): transmitting a proposal on Fa0/20 12 ~ 중간생략 ~ 21:34:28: RSTP(1): Fa0/20 fdwhile Expired 13 21:33:58: RSTP(1): updt roles, received superior bpdu on Fa0/20 10 21:33:58: RSTP(1): Fa0/20 is now alternate 11 SW2(config-if)# 21:33:58: RSTP(1): initializing port Fa0/22 21:33:58: RSTP(1): Fa0/22 is now designated 14 21:33:58: RSTP(1): transmitting a proposal on Fa0/22 15 21:33:58: RSTP(1): received an agreement on Fa0/22 15 1 SW3은 F0/24 포트가활성화가되면, 지정포트로간주한다. 2 SW3 F0/24 포트를지정포트로선정하겠다는제안 BPDU를 SW2에게전송한다. 3 SW3은 SW2로부터선순위 BPDU를수신한다. 4 SW2로부터선순위 BPDU를수신했기때문에 SW3 F0/22 포트를루트포트로선정한다. 5 기존의루트포트인 SW3 F0/20 포트를차단한다. 6 새로운루트포트인 SW3 F0/22 포트도차단한다. 7 SW3 F0/20 포트를지정포트로선정한다. 8 SW2로부터수신한제안 BPDU에대해서동의 BPDU를전송하고, 루트포트인 SW3 F0/22을 Forwarding 블로그 : net123.tistory.com - 9 - 저자김정우
영리목적으로사용할경우저작권법제30조항에의거법적처벌을받을수있습니다. 으로이전한다. 9 SW3 F0/20 포트를지정포트로선정하겠다는제안 BPDU를 SW1에게전송한다. 10 SW1은 SW3이전송한제안 BPDU를수신하며, 이 BPDU가선순위 BPDU인것을알게된다. 11 그렇기때문에 SW1 F0/20 포트는대체포트로선정되어, 차단상태로전환된다. 12 SW3은자신이전송한제안 BPDU에대한응답인동의 BPDU를 SW1로부터수신하지못하기때문에 15 초동안동의 BPDU를재전송한다. 그리고이기간동안에 SW3 F0/20 포트는차단상태로유지된다. 13 첫번째재전송이만료되면, SW3 F0/20 포트는차단상태에서 Learning으로이전한이후, 다시 15초동안동의 BPDU를재전송한다. 두번째재전송기간이만료되면, SW3 F0/20을 Forwarding으로이전한다. 14 SW2 F0/22 포트가활성화가되면, 지정포트로간주한다. 15 SW2 F0/22 포트를이용하여 SW3에게제안 BPDU를전송하고, SW3으로부터동의 BPDU를수신한다. 다음내용을알아보기위해서기본 STP 로전환하도록하자. [ 예제 24-12] SW1~SW3 에서기본 STP 모드설정 SW1(config)#spanning-tree mode pvst SW2(config)#spanning-tree mode pvst SW3(config)#spanning-tree mode pvst 블로그 : net123.tistory.com - 10 - 저자김정우