STP
by 댄싱인더뭉라잇SPOF란?
위 그림과 같이 구성된 네트워크에서 스위치와 스위치간 연결된 링크를 살펴보자.
해당 링크가 죽으면 스위치를 건너가야 하는 통신은 불가능 해 질 것이다.
이렇게 하나의 구성요소의 실패가 전체 시스템이 중단되는 요소를 단일 실패점(SPOF)라고 부른다.
단일 실패점을 없애기 위해서 스위치간 링크를 이중화했다.
스위치간 링크를 이중화하게 되면서 루핑이 발생한다.
PC1이 브로드 캐스트를 보낸다고 생각해보자.
PC1에서 스위치로 전달된 브로드캐스트 트래픽은 2개의 링크를 통해서 우측 스위치로 전달된다.
우측 스위치는 받은 아래쪽 포트에서 받은 브로드 캐스트를 위쪽 포트로 다시 스위치에 전달한다.
왼쪽 스위치에서도 같은 일이 일어나게 된다.
이더넷 프레임은 TTL이 없기 때문에 네트워크에 의미없는 브로드캐스트 트래픽이 계속 순회한다.
이러한 현상을 루핑이라고 부르며 루핑을 자동으로 탐지하고 막아주는 프로토콜이 STP(스패닝트리 프로토콜)이다.
STP
STP는 루핑을 막기 위해서 연결된 스위치간 맥주소와 우선순위가 포함된 BPDU를 교환한다.
루트 브리지 선출
STP는 가장 먼저 루트 브리지(스위치)를 선출한다.
이때 Bridge ID(우선순위 + MAC)라는 값이 사용된다.
우선순위의 기본값은 32768이며 가장 낮은 Bridge ID 를가진 스위치가 루트브리지가 된다.
위 그림에서는 최상단에 있는 스위치가 루트브리지가 되는데, 우선순위가 모두 같고 MAC 주소가 제일 작기 때문이다.
루트 브리지의 포트
루트브리지가 선출되고 나면, 루트 브리지의 모든 포트를 Designated Port로 결정한다.
Designated Port는 STP에 의해 Block 되지 않는다.(장애 상황이 아니라면)
루트 포트 결정
루트브리지가 아닌 스위치에서 루트브리지로 가는 가장 작은 Cost 값을 가진 포트를 Root Port로 결정한다.
지금은 그림에서 가까워 보이는 곳을 선정했지만, 실제로는 인터페이스의 속도에따라서 Cost 값이 매겨지게 되고 Cost 값을 기반으로 루트 포트를 결정한다.
Root Port 또한 장애 상황이 아니라면 Block 되지 않는다.
ND 포트 결정
하나의 세그먼트에는 하나의 Designated Port가 존재해야한다.
BBB와 CCC가 연결된 링크에서 어떤 링크가 Designated Port가 되어야할까?
BBB의 Bridge ID가 더 낮은 값을 가지게 되기 때문에 CCC의 링크가 Non Designated Port(Alternative Port)가 된다.
CCC의 링크가 ND 포트가 되면서, 토폴로지 내부에 있는 루핑이 사라지게 되었다.
포트 생명주기
스위치에 케이블이 연결되면 각 포트는 아래와 같은 상태를 거치게 된다.
- Listening: BPDU만 주고 받으며 MAC 주소를 학습 할 수 없는 상태
- Learning: BPDU를 주고 받으며 MAC 주소를 학습할 수 있는 상태
- Forwarding: 데이터를 주고 받을 수 있는 상태
STP 동작 살펴보기
위와 같은 구성에서 스패닝 트리가 어떻게 구성되는지 살펴보겠다.
1번 스위치의 MAC 주소가 가장 낮기 때문에 루트브리지로 선출되었고 스위치의 모든 포트가 Designated Port가 되었으며 시간이 지나 Forwarding 상태에 도달 했음을 알 수 있다.
2번 스위치는 루트브리지가 아니고 FastEthernet1/0이 루트포트로 선출되었다.
FastEthernet1/1은 Designate Port로 선출되어 모든 포트가 Forwarding 상태에 있음을 확인 할 수 있다.
3번 스위치 역시 루트브리지가 아니기 때문에 루트 포트를 선출했다.
3번 스위치는 루핑을 막기 위해서 FastEthernet1/1을 block 시킨 것을 볼 수 있다.
'Network' 카테고리의 다른 글
RSTP (0) | 2024.07.07 |
---|---|
STP Toplogy Change Notification(TCN) (0) | 2024.07.06 |
Q in Q Tunneling (0) | 2024.07.06 |
VTP (0) | 2024.07.06 |
802.1Q 캡슐화와 트렁크, DTP 설정 (0) | 2024.07.06 |
블로그의 정보
인프라공방
댄싱인더뭉라잇