7. 스패닝 트리의 재편성

  - 용어 학습

  (1) Hello Time

   - 루트 브리지가 얼마만에 한 번씩 헬로BPDU를 보내는지에 대한 시간

   - 루트 브리지는 자신에게 연결된 브리지들에게 헬로BPDU를 헬로타임(default 2초)마다 한 번씩 보낸다.

  (2) Max Age

   - 브리지들이 루트 브리지로부터 헬로패킷을 받지 못하면 맥스 에이지 시간동안 기다린 다음 스패닝 트리 구조 변경을 시작한다.

   - 즉, 맥스 에이지란 브리지들이 루트 브리지로부터 얼마 동안 헬로패킷을 받지 못했을 때 루트 브리지가 죽었다고 생각하고 새로운 스패닝 트리를 만들기 시작하는가에 대한 시간이다.

  (3) Forwarding Delay

   - 브리지 포트가 블로킹 상태에서 포워딩 상태로 넘어갈때까지 걸리는 시간

   - 블로킹 포트에서 리스닝 상태로 넘어간 포트는 포워딩 딜레이 시간 동안 기다린 다음 러닝 상태로 넘어가고, 러닝 상태에서 다시 포워딩 딜레이 시간동안 기다린 다음 포워딩 상태로 넘어가기 때문에 사실 블로킹에서 포워딩으로 넘어가는데 걸리는 시간은 포워딩 딜레이 시간의 두 배가 된다는 점이다.


  - 스패닝 트리의 재편성

   (1) 문제 발생


   (2) 문제 상황 인식

    - 루트 브리지의 헬로 패킷(매 2초) 전송

    - 2초 후에 스위치 C에 헬로 패킷이 전달 되지 않음

    - "아무일도 일어나지 않는다"

    - 맥스 에이지(Max Age : 20초)시간이 지난 후 스패닝 트리의 변경 시작


   (3) 상황 대처

    - 스위치 C는 E0 포트를 통해서 들어오던 헬로패킷을 받기를 포기

    - 스위치 B는 계속 루트 브리지로부터 헬로패킷을 수신 중

    - 스위치 B가 루트 포트(스위치 B의 E0 포트)를 통해 받은 헬로패킷을 다시 데지그네이티드 포트(스위치 B의 E1포트)를 통해 뿌리고 그 BPDU를 스위치 C의 E1 포트를 통해 받게 된다.

    - 스위치 C는 E1 포트를 루트 포트로 선정

    - 스위치 C의 E1 포트는 포워딩 상태로 넘어가고, E0 포트는 블로킹 상태로 넘어간다.

    - 이때, E1 포트는 바로 포워딩 상태로 넘어가는 것이 아니라 블로킹에서 리스닝, 리스닝 에서 러닝을 거쳐 포워딩 상태로 넘어간다.

    - 이 때문에 디폴트 포워딩 딜레이 타임의 2배인 30초가 추가로 필요하다. 


 * 정리

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

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

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

  4) Non Designated 포트로 블로킹 상태에 있던 스위치 C의 E1 포트를 루트 포트로 선정할 경우, 디폴트 포워딩 딜레이 시간인 15초를 먼저 리스닝 상태에서 기다리고, 다시 한 번 러닝 상태에서 15초를 추가로 기다린 다음 포워딩 상태로 넘어가게 된다.


 - 한 링크가 끊어 졌을 때 스패닝 트리 프로토콜을 이용해서 다른 경로를 살리는데 걸리는 시간이 대략 50초 정도 소요된다.

+ Recent posts