스패닝 트리 배운 거 써먹기 - 직접 구성!!


※ 후니의 Cisco 네트워킹 캡쳐자료


- 루트 브리지, 루트 포트, 데지그네이티드 포트를 선출했다.


 브리지 ID를 가지고 루트 브리지를 선출하고, 루트 브리지와 가장 가까운 포트로 루트 포트를 선출했고, 각 세그먼트(링크)당 루트 브리지와 가장 가까운 것을 데지그네이트 포트로 뽑았다. 만약 이때 결정 되지 않으면 4단계의 우선순위 과정을 거쳐 선출된다.

 이때 루트 포트와 데지그네이티드 포트는 포워딩(Fowarding)으로 만들고, Non Des-ignated 포트는 블로킹(Blacking)으로 만들면 된다. 포워딩은 데이터 전송이 일어나는 상태, 블로킹은 BPDU 통신은 하되 전송은 불가능한 상태다.



※ 후니의 Cisco 네트워킹 캡쳐자료


- 위 그림은 5가지 상태변화를 끝내고 포워딩(Fowarding)과 블로킹(Blacking)으로 바뀐 브리지 모습이다.

- 한 곳에는 통신이 불가능하기 때문에 스위치 B와 스위치 C 사이의 링크는 끊어진다. 따라서 3대의 스위치가 서로 연결되어 있지만 실제로는 스위치 B와 스위치 C 사이가 끊어진 구성이 된다.

- 끊어져 있던 스위치 B와 스위치 C 사이의 링크는 스위치 A와 스위치 B 사이 또는 스위치 A와 스위치 C사이의 링크가 끊어질 경우 다시 살아난다.


※ 후니의 Cisco 네트워킹 캡쳐자료


- 이번에는 5대의 스위치가 서로 연결되어 있다. 각 스위치들은 서로 100Mbps로 연결되었고, 브리지 ID는 박스 안에 BID로 표시 되어있다. 스위치 C의 경우 Bridge Priority100으로 바꾸었고, 나머지 스위치의 Bridge Priority는 디폴트 값 32768 그대로다.

- 우선 브리지 ID를 가지고 루트 브리지를 선출, 루트 브리지를 제외한 나머지 모든 브리지에서 루트 포트를 선출, 세그먼트당 하나의 데지그네이티드 포트를 뽑는다.


※ 후니의 Cisco 네트워킹 캡쳐자료


BID 값이 가장 작은 스위치 C가 루트 브리지로 선출

나머지 브리지에서는 Root Path Cost(루트 브리지까지의 거리로 계산되는 값)를 가지고 루트 포트(R로 표시)를 하나씩 선출했다

이제 뽑힌 루트 포트와 데지그네이티드 포트는 포트의 상태가 포워딩으로 바뀌게 되고(중간에 리스닝과 러닝을 거친다) 여기서 선출되지 못한 Non Designated 포트는 블로킹 상태로 바뀐다.

- 블로킹 상태에서는 데이터 프레임의 전송이 이루어지지 않기 때문에 블로킹 포트가 있는 곳은 링크가 모두 끊어진다.

- 스패닝 트리 프로토콜은 루트 브리지가 어느 스위치가 되느냐에 따라 링크 구성이 달라진다.


※ 후니의 Cisco 네트워킹 캡쳐자료


- 5대의 스위치가 서로 연결되어 있다. 그런데 특이한 점은 스위치와 연결된 링크의 속도가 차이점이다. 기가비트와 패스트 이더넷으로 연결되어 있다. 따라서 Path Cost 값이 달라지게 된다.

- 1GbpsPath Cost4이고, 100MbpsPath Cost19. 각 스위치의 Bridge Priority는 디폴트 값 32768이 사용됬다.


※ 후니의 Cisco 네트워킹 캡쳐자료


먼저 루트 브리지는 각 스위치가 갖고 있는 브리지 ID를 비교해서 스위치 A가 루트 브리지가 되었다.

두 번째로 나머지 스위치에서 각각 한 개씩의 루트 포트를 선출하면 되는데 Root Path Cost값을 비교해야 한다. 이때 주의할 것은 기가로 연결된 곳은 ‘4’, 패스트 이더넷으로 연결된 곳은 ‘19’를 넣어주어야 한다는 것이다. 특히 스위치 D를 보면 루트 브리지로 바로 연결된 링크는 패스트 이더넷이기 때문에 기가 링크쪽 포트가 루트 포트로 선정된다.

루트 포트 선정이 완료되면 각 세그먼트 별로 데지그네이티드 포트를 선출하게 된다. 데지그네이티드 포트 역시 Root Path Cost를 비교하고 만약 Root Path Cost가 서로 같을 경우 4단계의 비교를 거쳐 우선순위를 결정하게 된다.

마지막으로 루트 포트와 데지그네이티드 포트는 포워딩으로, Non Designated 포트는 블로킹으로 변환시켜주면 된다.

속도가 느린 패스트 이더넷(100Mbps)쪽이 링크가 끊어졌다.

링크의 속도에 따라서도 크게 영향을 받는다.



스패닝 트리에 변화가 생기던 날


※ 후니의 Cisco 네트워킹 캡쳐자료


- 위 그림은 루트 브리지, 루트 포트, 데지그네이티드 포트 선정이 끝났고, 스위치 A와 스위치 B 사이의 링크와 스위치 A와 스위치 C 사이의 링크는 포워딩 상태가 되었다.

- 스위치 B와 스위치 C사이는 블로킹 상태가 되어 스패닝 트리 구성이 끝났다.

이때 루트 브리지는 매 2(디폴트 헬로타임)마다 헬로(Hello) BPDUNon Root Bridge로 전송하고 이 헬로 BPDU를 받은 Non Root Bridge 들은 이것을 자신의 데지그네이티드 포트를 통해 다시 전달한다.

- 여기서 Non Root Bridge들은 매 2초마다 들어오는 루트 브리지의 헬로패킷을 보면서 루트 브리지까지의 통신상태를 점검한다.

- 이때 만약 Non Root Bridge들이 지정된 시간 동안 헬로패킷을 받지 못하면 중간에 경로의 문제가 발생했다고 판단하고 스패닝 트리를 재편성하는 모드로 들어간다.


* Hello Time(헬로타임) : 루트 브리지가 얼마만에 헬로BPDU를 보내는지에 대한 시간이다. 루트 브리지는 자신에게 연결된 브리지들에게 헬로 BPDU를 헬로타임마다 한 번씩 보낸다. (디폴트 헬로타임 2)


* Max Age(맥스 에이지) : 브리지들이 루트 브리지로부터 헬로패킷을 받지 못하면 맥스 에이지 시간동안 기다린 다음 스패닝 트리 구조 변경을 시작한다. 맥스 에이지란 브리지들이 루트 브리지로부터 얼마 동안 헬로패킷을 받지 못했을 때 루트 브리지가 죽었다고 생각하고 새로운 스패닝 트리를 만들기 시작하는가에 대한 시간이다.


* Fowarding Delay(포워딩 딜레이) : 브리지 포트가 블로킹 상태에서 포워딩 상태로 넘어갈 때까지 걸리는 시간이다. 중요한 점은 블로킹 포트에서 리스닝 상태로 넘어간 포트는 포워딩 딜레이 시간 동안 기다린 다음 러닝 상태로 넘어가고, 러닝 상태에서 다시 포워딩 딜레이 시간 동안 기다린 다음 포워딩 상태로 넘어가기 때문에 블로킹에서 포워딩으로 넘어가는데 걸리는 시간은 포워딩 딜레이 시간의 두 배가 된다는 점이다.


※ 후니의 Cisco 네트워킹 캡쳐자료


- 스위치 A와 스위치 C 간의 링크가 문제가 생겼다.

 

스패닝 트리 재편성 과정


스위치 A와 스위치 C간의 링크가 끊어졌기 때문에 스위치 C는 루트 브리지로부터 헬로패킷을 받지 못한다.

이때 스위치 C 우선 2초마다 헬로패킷을 받지 못하더라도 맥스 에이지(Max Age) 시간이 지나지 않았기 때문에 루트 브리지 로부터 헬로패킷을 20(맥스 에이지 디폴트시간 20)동안 기다린다.

20초간 루트 브리지로부터 연락이 없자 스위치 CE0포트를 통해 들어오던 헬로패킷을 받기를 포기한다.

④ 그런데 이때 스위치 B는 아직 루트 브리지로부터 받고 있다. 스위치 B가 루트 포트(스위치 BE0 포트)를 통해 받은 헬로패킷을 다시 데지그네이티드 포트(스위치 BE1 포트)를 통해 뿌리고 그 BPDU를 스위치 CE1 포트를 통해 받는다.

스위치 CE1 포트는 블로킹 상태지만 BPDU를 받을수 있기 때문이다.


이제 스위치 CE1 포트를 루트 포트로 선정하게 된다. 루트 포트로 선정된 E1 포트는 곧 포워딩 상태로 넘어가고 E0 포트는 블로킹 상태로 넘어간다.

이때 스위치 CE1 포트는 바로 포워딩 상태로 넘어가지 않고, 블로킹에서 리스닝, 러닝을 거쳐 포워딩 상태로 넘어가기 때문에 디폴트 포워딩 딜레이 타임의 2배인 30초가 추가로 필요하게 된다.


※ 후니의 Cisco 네트워킹 캡쳐자료


정리

루트 브리지로부터 헬로패킷을 2초마다 받던 스위치 C에 헬로패킷이 들어오지 않는다.

스위치 C는 자신의 맥스 에이지 시간인 20초 동안 루트 브리지로부터 헬로패킷을 기다린다. 20초가 지나도 헬로패킷은 E0 포트를 통해 들어오지 않는다.

이제 스위치 C스위치 B에서 전달해 준 헬로패킷자신의 E1 포트로 받아들여 E1 포트를 루트 포트로 세팅한다.

Non Designated 포트로 블로킹 상태에 있던 스위치 CE1 포트를 루트 포트로 선정했지만 디폴트 포워딩 딜레이 시간인 15초를 먼저 리스닝, 러닝상태 15초를 추가로 기다린 후 데이터 전송이 가능한 포워딩 상태로 넘어간다. 이때 기존의 루트 포트로 포워딩 상태였던 스위치 CE0 포트는 블로킹 된다.




'Network books > 후니의 Cisco 네트워킹' 카테고리의 다른 글

5-0. 스패닝 트리  (0) 2018.11.05
4-3. 서브넷 마스크  (0) 2018.10.30
4-2. Looping(뺑뺑이)  (0) 2018.10.29
4-1. 스위치/브리지 기능  (0) 2018.10.29
4-0. 스위치의 시작과 브리지  (0) 2018.10.29
복사했습니다!