반응형

[광고 누르면 오늘의 행운 상승!!]

데지그네이티드 포트 뽑기

데지그네이티드 포트를 뽑아야 스패닝 트리에서 어떤 포트를 풀어주고 어떤 포트를 막을지 결정된다. '세그먼트당 하나씩이 데지그네이티드 포트를 갖는다'가 세번째 규칙이다. 즉 브리지 네트워크에서 브리지와 브리지로 연결된(스위치와 스위치로 연결된 것도 포함) 세그먼트당 각각 한 개의 데지그네이티드 포트를 뽑아야 한다는 것이다.

그럼 무엇으로 데지그네이티드 포트를 뽑을까? 루트 브리지까지의 Path Cost, 즉 세그먼트 상에서 Root Path Cost를 서로 비교해서 더 작은 Root Path Cost를 가진 포트가 데지그네이티드 포트로 선출된다.

그림을 보면 이미 루트 브리지와 루트 포트는 찾았고 마지막으로 데지그네이티드 포트를 찾기 위해 각 포트별로 Root Path Cost를 구했다.

먼저 세그먼트 1을 보면 스위치A의 E0와 스위치B의 E0가 100Mbps로 연결되어있다. 이때 스위치A의 E0는 자기가 루트 브리지이기 때문에 당연히 Root Path Cost가 0이 된다. 또한 스위치B의 E0포트는 100Mbps로 루트 브리지와 연결되어 있기 때문에 19가 된다. 따라서 세그먼트 1에서는 스위치 A의 E0포트가 데지그네이티드 포트로 선출된다.

마찬가지로 계산해 보면 세그먼트 2에서도 역시 스위치 A의 E1포트가 데지그네이티드 포트로 선정된다. 루트 브리지의 모든 포트들(살아있는 액티브 포트)은 언제나 데지그네이티드 포트로 선정된다.

세그먼트 1,2는 선출이 끝났고 마지막으로 3의 선출이 남았다. 근데 세그먼트3에서는 서로 연결된 두 포트의 Root Path Cost가 같다. 이렇게 동점이 생겼을때는 4단계 원칙을 따진다.

  1. 누가 더 작은 Root BID를 가졌는가?
  2. 루트 브리지까지 Path Cost 값은 누가 더 작은가?
  3. 누구의 BID(Sender BID)가 더 낮은가?
  4. 누구의 포트 ID가 더 낮은가?

이 4단계를 통해 승자를 가린다. 스위치 B의 E1포트 대 스위치 C의 E1포트의 우선순위를 결정한다.

  1. 누가 더 작은 Root BID를 가졌는가? 여기서는 승부가 가려지지 않는다. 왜냐하면 스위치B나 C 둘 다 똑같은 루트 BID를 가졌기 때문

  2. 루트 브리지까지 Path Cost 값은 누가 더 작은가? 여기서도 Root Path Cost값이 같기 때문에 승부가 가려지지 않는다.

  3. 누구의 BID(Sender BID)가 더 낮은가? 스위치 B의 BID는 32768.2222.2222.2222이고, 스위치 C의 BID는 32768.3333.3333.3333이기 때문에 승자는 스위치 B이다. 즉 스위치 B의 E1포트가 데니그네이티드 포트로 선정된다.

  4. 누구의 포트 ID가 더 낮은가? 만약 승부가 나지 않았다면 포트 ID까지 비교해서 판단한다.

간단히 정리하면 루트 브리지 하나를 뽑아놓고 루트 브리지를 제외한 나머지 모든 브리지에서 루트 포트를 뽑고, 데지그네이티드 포트를 뽑은 후 마지막으로 나머지 포트는 Non Designated포트로 지정하면 된다.

스패닝 트리를 구성할 때도 5가지 상태를 거쳐야 한다.

Disabled

이 상태는 포트가 고장나서 사용할 수 없거나 네트워크관리자가 포트를 일부로 Shut Down 시켜놓은 상태이다.

  • 데이터전송 X
  • 맥어드레스 학습 X
  • BPDU 주고받기 X

Blocking

스위치를 맨 처음 켜거나 Disabled되어 있는 포트를 관리자가 다시 살렸을 때 그 포트는 블로킹 상태로 들어간다. 이 상태에서는 데이터 전송은 되지 않고 오직 BPDU만 주고받을 수 있다. (맨 처음 스위치가 켜지면 서로 BPDU를 주고받으면서 루트 브리지를 뽑고, 루트 포트를 뽑고, 데지그네이티드 포트를 뽑고, Non Designated 포트를 뽑는다. 이 과정이 블로킹 상태에서 일어난다.

  • 데이터전송 X
  • 맥어드레스 학습 X
  • BPDU 주고받기 O

Listening

블로킹 상태에 있던 스위치 포트가 루트 포트나 데지그네이티드 포트로 선정되면 포트는 바로 리스닝 상태로 넘어간다. 물론 리스닝 상태에 있던 포트도 네트워크에 새로운 스위치가 접속했거나 브리지나 스위치의 구성값이 바뀌면 루트 포트나 데니그네이티드 포트에서 Non Designated 포트로 상황이 변할 수도 있다. 그렇게 되면 다시 블로킹 상태로 돌아간다.

  • 데이터전송 X
  • 맥어드레스 학습 X
  • BPDU 주고받기 O

Learning

리스닝 상태에 있던 스위치 포트가 포워딩 딜레이(Forwarding Dealy) 디폴트 시간인 15초 동안 그 상태를 계속 유지하면 리스닝 상태는 러닝 상태로 넘어간다. 러닝 상태에서야 비로소 맥 어드레스를 배워 맥 어드레스 테이블을 만들게 된다.

  • 데이터전송 X
  • 맥어드레스 학습 O
  • BPDU 주고받기 O

Forwarding

스위치 포트가 러닝 상태에서 다른 상태로 넘어가지 않고(이는 루트 포트나 데지그네이티드 포트에서 Non Designated 포트로 바뀌지 않았다는 뜻) 다시 포워딩 딜레이 디폴트 시간인 15초 동안 그 상태를 계속 유지하면 러닝 상태에서 포워딩 상태로 넘어가게 된다. 포워딩 상태가 되어야스위치 포트는 드디어 데이터 프레임을 주고받을 수 있게 된다. 즉 블로킹 상태에 있던 포트가 리스닝과 러닝을 거쳐 포워딩 상태로 오려면 디폴트 포워딩 딜레이인 15초가 2번 지난 30초가 소요된다.

  • 데이터전송 O
  • 맥어드레스 학습 O 계속 배워 브리지 테이블을 만든다.
  • BPDU 주고받기 O

이렇게 5가지 상태 변화를 통해 스위치나 브리지는 링크를 막기도 하고 열기도 하면서 스패닝 트리를 만든다. 스패닝 트리 프로토콜이라는 것이 사실은 한 곳에서 다른 곳으로 가는 경로가 여러 개일 때 한 개의 경로만을 남겨두고 다 끊었다가 그 경로에 문제가 생겼을 때 경로를 하나하나 살리는 것다. 이것이 바로 포트의 변화를 통해서 일어난다.

리스닝,러닝,포워딩 상태에서 다시 블로킹 상태로 화살표가 있는걸 볼 수 있다. 이는 리스닝, 러닝, 포워딩 상태에 있던 포트도 루트 포트나 데지그네이티드 포트에서 탈락되면(즉 자기보다 더 센 포트가 나타나 밀리면)바로 블로킹 상태로 넘어갈 수 있다는 뜻입니다. 또 모든 포트에서 Disable 상태 쪽으로 화살표가 있는 것은 포트가 어떤 상태에 있든지 사용자에 의한 ShutDown 명령이나 포트의 고장으로 인해 언제라도 Disable 상태로 변할 수 있다는 의미다.

반응형

+ Recent posts