RadarURL
Skip to content
조회 수 22 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

오늘은 장황한 메일링이 될 것 같습니다. 어제 메일링을 작성하다 어디서 짤라야 하는지 애매해서 오늘까지 메일링을 가지고 왔습니다. 즉, 이틀 분량이 하루에 나가는군요. ^^

글 내용이 많으니까 천천히 읽으시면서 이해를 해 나가시기 바랍니다.

우리는 STP 개요를 학습했습니다. 오늘은 STP의 동작원리를 설명하려고 합니다. 초기 구성이 다음과 같이 되어 있다고 가정하겠습니다. 케이블은 현재 아무것도 연결되어 있지 않다고 가정합니다.
 

STP20.png

 



STP를 사용할 때 Switch는 자신의 대표 MAC-address를 VLAN 1의 MAC-address를 사용합니다. 각 3대의 Switch는 모두 자신의 Root라고 생각하고 있을테니 다음과 같은 BPDU를 만들겠군요.

■ SW1의 BPDU

 Root BID  32768.1111.1111.1111
 Cost  0
 SW1 BID  32768.1111.1111.1111


■ SW2의 BPDU

 Root BID  32768.2222.2222.2222
 Cost  0
 SW1 BID  32768.2222.2222.2222


■ SW3의 BPDU

 Root BID  32768.3333.3333.3333
 Cost  0
 SW1 BID  32768.3333.3333.3333


자, 여기서 SW2와 SW3를 연결합니다. 다음과 같이 연결하면 SW2와 SW3는 서로 자신의 BPDU를 상대방에게 전달하게 될겁니다.
 

STP21.png

 



자 상대방의 BPDU를 받았으니 자기들끼리 대장을 뽑아야겠군요.

SW2는 상대방의 BPDU를 받아보니 자기보다 안좋은 BID를 가지고 있군요. '내가 그냥 Root하면 되겠군!' 생각하며 SW3와 연결된 Port를 DP로 만들게 됩니다.

그런데, SW3는 이런 상대방이 나보다 더 좋은 BID를 가지고 있군요. 그런데, 다른 Port로 Root에 대하여 더 좋은 정보가 들어올지 모릅니다. 그래서 15초간 다음 단계를 진행하지 않고 기다리게 됩니다. 이것을 우리는 [Forwarding delay]라고 하며 Default로 15초입니다.

왜 기다려야 할까요? 다음과 같이 경우를 2가지로 나누어서 생각해 보죠.
1. 다른 Port로 Root로 가는 더 좋은 정보가 들어오는 경우 : 해당 Port는 [Block Port]가 됩니다.
2. 다른 Port로 Root로 가는 더 좋은 정보가 들어오지 않는 경우 : 해당 Port는 [Root Port]가 됩니다.

이렇게 다른데서 어떤 정보가 들어오냐에 따라 Port의 상태가 달라지기 때문에 타 Port에서 Root에 대한 정보가 들어오는지를 기다리는 것이랍니다. 자! 기다렸으니 SW3는 15초 후에 Root Port로 만들면 되겠군요.
우리는 이렇게 해당 Port로 어떤 Port로 만들어야 할지 정보를 수집하게 되는데 이 단계를 'Listening' 상태라고 이야기를 합니다. BPDU 정보를 듣는 시간이라는 의미인것 같군요.

이제 Packet을 Forwarding 해 볼까요? 흠... 이번에는 다른 문제가 기다리고 있군요. 지난주 마지막 시간에 학습했던 내용 기억하시나요?

만일 SW2에 있는 'PC1'과 SW3에 있는 'PC2'가 통신을 하고 있었다고 가정해 보시죠. SW3는 해당 'PC1'에 대해서 SW2 방향으로, SW2는 'PC2'에 대해서 SW3 방향으로 MAC-address를 등록하고 있었을 겁니다. 그런데, 다음과 같이 SW1과도 연결이 된다면 SW3는 SW2와 연결된 Port가 Block Port로 변경될 겁니다.
 

STP22.png

 



자, 이런 경우 지난주에 어떻게 해결을 했었죠? MAC-address aging-time을 300초에서 15초로 줄여서 15초 후에 제대로 경로를 잡을 수 있도록 했었죠? TCN을 통해서요. 처음 BPDU를 받을 때도 마찬가지입니다.

Listening 상태에서 MAC-address를 제대로 학습할 수 있는 상태로 변경이 되는데 이를 'Learning' 상태라고 이야기합니다. 이 상태도 다음 단계로 진행하기 위한 시간이기 때문에 Forwarding delay라고 이야기하고 Listening과 동일한 15초 값을 사용합니다. STP에서 이 Forwarding delay를 변경할 수 있는데, 안타깝게도 두 값은 항상 같이 변합니다.

그리고, 중요한 것은 Listening과 Learning 상태에서는 Frame을 받기는 하지만, 타 Port로 Forwarding을 하지 않기 때문에 통신이 불가능하게 되죠. 많은 분들이 경험을 해 보셨으리라 생각이 되는데, Switch를 사서 PC를 Port에 연결한다고 해서 바로 사용이 가능하지 않죠?

요즘 나오는 Switch들은 거의 대부분은 모든 Port에 STP가 enable되어 있습니다. 그래서, Switch에 PC를 연결하면 다음 단계를 수행하게 되죠!
 

STP23.png

 



즉, 30초가 지나야 통신이 가능하겠군요. 시스코 Switch의 경우 STP에 의해 통신이 불가능한 30초 동안 주황색으로 LED가 동작하다 정상적으로 Frame을 전송하는 단계가 되면 초록색 LED로 바뀌는 것을 확인할 수 있습니다.

그럼, 이번에는 Interface가 살아났을 때가 아니라 죽었을 때를 생각해 볼까요? 원래 STP라는 것이 이중화 구조에서 Looping을 막기 위한 것이였잖아요. 정상 경로가 죽었을 때, 백업이 되지 않는다면 아무런 의미가 없는 기술이겠죠? ^^

백업 경로를 사용하는 경우는 2가지로 생각해 볼 수 있습니다.

■ SW3의 Root Port가 죽었을 경우
 

STP24.png

 



Root Port가 죽었으니, 다른 Port를 Root Port로 만들어야겠군요. 그러면 SW3는 Listening 단계부터 진행을 하면 되겠군요. Listening → Learning → Forwarding 단계를 거치면 백업으로 넘어가는데 30초의 시간이 걸리게 됩니다. ^^ 쉽죠? 문제는 다음의 경우입니다.

■ SW2의 Root Port가 죽었을 경우
 

STP25.png

 



현재 SW2는 Root Port가 사라졌기 때문에 다른 경로를 통해 Root로 가는 BPDU를 받아야 합니다. 그런데, SW3가 현재 Block 상태군요. Block 상태에서는 타 Switch가 보내주는 BPDU를 받기는 하지만, 전송은 하지 않는다고 'STP 개요' 시간에 말씀을 드렸었죠? SW3가 BPDU를 보내줘야 하는데 Block 상태이니 BPDU를 보내주지 않아 SW2는 Root로 가는 다른 경로에 대한 정보를 받을 수 없습니다.

이런 경우 SW2는 Root가 죽었다고 생각을 하고 자기가 Root라고 떠들기 시작합니다. 이제는 SW3에게 자신이 Root라고 BPDU를 전송하겠군요. 하지만, SW3는 Block을 풀지 않습니다. 왜냐구요?

BPDU는 aging-time이 20초라고 말씀 드렸었죠? 20초가 지나야 BPDU는 사라진다는 말입니다. 그런데 SW2의 Root Port가 죽기 바로 전에 Root가 보낸 BPDU가 SW2를 통해 SW3로 전달되었을 겁니다.

SW3 입장에서 생각해 보세요. Root가 던진 BPDU가 두 경로를 통해 들어오면 Looping일 발생하기 때문에 한쪽을 Block Port로 만든것이잖아요. 그러면, Block Port 쪽으로는 Root의 BPDU가 들어오지 않는다는 확신이 있기 전에는 절대로 Block 상태를 풀지 않겠죠?

즉, 마지막 받은 Root의 BPDU가 사라져야 Block을 풀 것이라는 말입니다. 그 시간이 20초나 걸리죠!
그래서, SW3는 Block을 풀기까지 다음과 같은 과정을 거칩니다.
 

STP26.png

 



무려 50초가 걸리는군요. 현대 Network에서 백업이 되는데 30 ~ 50초가 걸린다는 것은 너무 큰 문제겠죠?
다음주에는 'PVST+'와 'RSTP'에 대해 학습하도록 하겠습니다.

항상 어떻게 설명을 드리는 것이 조금이라도 쉽게 설명하는 것일까를 연구합니다. 좋은 의견 있으시면 언제든지 편하게 연락주시고요, 저희도 컨설팅과 강의때문에 시간없다고 핑계를 대기는 하지만 최선을 다하겠다고 약속드리겠습니다.

변하지 않는 것만큼 믿음을 주는건 없다고 생각합니다. 저희가 메일링에 대해 점점 신경을 쓰지 않고 있다고 생각하지 말아주세요. 카페와 메일링은 저희의 최대 마케팅 수단입니다. ^^
보다 나은 정보를 위해 노력하고 있다는것만 믿어주시면 됩니다.
감사합니다.
 

출처 : http://4network.tistory.com/entry/STPSpanning-Tree-Protocol-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC

 

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
23 STP (스패닝 트리 프로토콜) JAESOO 2017.11.14 35
22 [스위치] 스패닝 트리 ( STP - Spanning Tree Protocol ) JAESOO 2017.11.10 23
» STP(Spanning-Tree Protocol) 동작원리 JAESOO 2017.11.08 22
20 H514G 모뎀 대신 사용가능한 허브 iptime H5005-IGMP JAESOO 2015.08.28 1266
19 케이블 교체 공사없이 제공되는 기가급 (300~500Mbps) 인터넷 서비스란? JAESOO 2015.08.28 712
18 [네트워크 트러블 슈팅 ④] 네트워크 장비별 트러블 슈팅 JAESOO 2015.06.15 718
17 백본스위치(backbone switch)란? JAESOO 2015.06.15 3826
16 Cisco L3 이중화 - 2. 장애 시나리오 및 테스트 JAESOO 2015.06.15 1108
15 [White Paper] 업무연속성과 해재복구 계획 수립 JAESOO 2015.06.15 181
14 Switch , VLAN , VTP JAESOO 2015.06.15 357
13 Switch의 Loop방지기술 - STP JAESOO 2015.06.15 344
12 Router 와 L3 Switch의 차이 JAESOO 2015.04.16 958
11 스위치 성능인 PPS(Packet per Sec, 초당 처리 가능한 최대 패킷 수) 계산법 JAESOO 2014.11.27 599
10 PPS(Packet per Sec, 초당 처리 가능한 최대 패킷 수) 계산법 JAESOO 2014.11.27 2102
9 [Switch 기능] STP, RSTP, MSTP에 관해서… JAESOO 2014.10.21 1179
8 네트워크 장비 L2 · L3 · L4 · L7 JAESOO 2014.10.20 1141
7 STP보호기술 2 - BPDU Filtering 와 Loop Guard JaeSoo 2014.03.24 861
6 STP보호기술 1 - BPDU Guard 와 Root Guard JaeSoo 2014.03.24 799
5 loop방지 및 STP 보호기술 (Spanning tree) JaeSoo 2014.03.24 837
4 CISCO 2960G 에 port mirroring 설정하기 JaeSoo 2014.03.21 3206
Board Pagination Prev 1 2 Next
/ 2

PageViews   Today : 373   Yesterday : 1,916   Total : 19,372,987  /  Counter Status   Today : 84   Yesterday : 502   Total : 1,296,471
Site Info   Member : 67  /  Total documents : 1,221   New documents : 0  /  Total comments : 21

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소