토폴로지 변화와 STP

STP와 토폴로지 변화


STP가 완성되면 그것으로 끝이 아닙니다.


완성된 토폴로지에서 링크가 장애가 생길수도 있고 새로운 스위치가 추가되거나 제거되어


토폴로지가 변화될 수 있습니다.


토폴로지가 변화하면 STP는 정해진 절차에 따라 토폴로지 변경을 알리고 포트상태를 변화하여


다시 새로운 STP토폴로지를 짜게 되는데 이번 포스팅에서는 이 과정을 이야기 해보도록 하겠습니다.






먼저 STP에서의 포트상태에 대해서 이야기 해보겠습니다.


포트상태는 총 5가지가 있습니다.


차단상태(block), 청취상태(listening), 학습상태(learning), 전송상태(forwarding), 비활성상태(disabled)




1. 차단상태


차단상태는 데이터프레임은 수신하지 않으며 대신 상대포트로부터의 BPDU는 수신하는 상태입니다.


인터페이스가 대체포트가 되면 차단상태로 변경되며 아래의경우에는 청취상태로 변경됩니다.


1) 상대포트로부터 맥스 에이지 기간동안 BPDU를 받지 못했을 때


2) 상대포트로부터 맥스 에이지 기간동안 후순위 BPDU를 받았을 때


여기서 후순위 BPDU란 설정BPDU를 이야기하는데 기존 루트스위치에서 전송하는 BPDU보다


낮은 우선순위의(값이 높은) 루트브리지ID를 가지고 있는 BPDU를 이야기합니다. 





2. 청취상태


인터페이스를 STP 전송상태로 변경하기 위해 거치는 단계입니다.


새로운 링크가 연결되고 포트의 역할이 루트포트이거나 지정포트이면 우선 청취상태로 변경딘다.


청취상태에서 전송 지연시간동안 토폴로지 변화가 없다면 학습상태로 변경된다.




3. 학습상태


전송상태로 가기 위해 거치는 단계입니다.


포트가 청취상태에서 학습상태로 변경되면 MAC 주소 테이블을 채우기 시작합니다.


역시 전송지연 시간동안 토폴로지 변화가 없다면 전송상태로 변경됩니다.





4. 전송상태


전송상태가 되면 정상적인 프레임을 송수신하게 된다.





5. 비활성상태


DOWN상태에 있는 포트는 모두 비활성상태가 된다. 설정사항이 잘못된 경우에도 비활성 상태가 된다.


비활성상태에서는 이용자 프레임과 BPDU모두 송수신하지 않는다.




이상의 5가지 상태가 있습니다.


일반적으로 STP토폴로지가 연결되면 청취->학습->전송상태로 변경되며 전송지연시간은 토폴로지 변경이 일시적인 경우가 있기 때문에 존재한다고 보시면 됩니다.




MAC address table과 STP


이전 포스팅에서 ARP와 MAC address table에 대해서 이야기 한 적이 있었습니다.


STP도 이와 연관되어 있는데요, 설명을 드리기 위해 교재에 있는 그림을 인용해서 예를 들겠습니다.





이런 토폴로지가 있다고 가정해봅니다.


SW4의 F0/2번 포트가 대체포트인가 보네요.


이 상황에서 PC3에서 PC4로 핑을 때리면 그림과 같이 통신이 되겠죠?


이 상황에서 SW1과 SW2가 연결되 링크가 장애가 생겨서 단선이 된다면..








SW4의 대체포트는 루트포트로 변경될 것이고 SW2의 F0/2가 루트포트가 되고 그림과 같이


라인이 연결될 것입니다. (SW3의 맥 테이블도 변경되야 하는데 빼먹었네요. 죄송합니다.)


이 상황에서 MAC address table도 변경되게 되는데요


만약 MAC address table이 변경되지 않는다면 STP토폴로지가 제대로 변화하였어도 PC3과 PC4는 통신이 되지 않았을 겁니다.


따라서 토폴로지가 변경되게 되면 MAC 주소 테이블도 변경되어야 하며 이를 위해 스위치들은 다음과 같이 동작합니다.


1) 토폴로지가 변경되면 각 스위치들(SW1, SW2)은 TCN BPDU를 루트스위치에게 전송하게 됩니다


   TCN BPDU의 내용은 단순이 토폴로지가 변경되었다라는 내용만 담고 있습니다.


2) 중간에 루트스위치가 아닌것이 있다면 (SW3, SW4) 이를 루트스위치까지 전달합니다.


   TCN BPDU를 수신한 스위치들은 TCA를 이용하여 수신을 확인하게 됩니다.


3) TCN BPDU를 통해 네트워크 어딘가 토폴로지가 변화되었다는 것을 루트스위치가 알게되면


   루트스위치는 설정 BPDU의 플래그 필드중 TC 비트를 0x01로 설정한 후, 다른 스위치들에게 토폴로지가

   변경됐다는 것을 알리게됩니다.


4) 이 TC비트를 수신한 스위치들은 토폴로지가 변화되었다는 것을 감지하여 MAC 주소 테이블의 에이징타임을 기본 300    초에서 15초로 변경하게 됩니다.


   이 15초동안 MAC 주소 테이블에 연결되지 않은 MAC들은 MAC 주소 테이블에서 삭제됩니다.


   이 과정을 통해 토폴로지 변화시 MAC 주소 테이블도 유동적으로 변화된다는 것을 기억하시기 바랍니다.

댓글

이 블로그의 인기 게시물

ping 일반오류 (General failure)를 고쳐보자

Windows 10. 공유폴더 쉽게 삭제하기 (feat. CMD)

Piolink TiFront Switch password recovery (파이오링크 스위치 비밀번호 초기화)