실례가 안된다면 닌텐도 스위치 하나만 사주십쇼
우선 STP가 작동하기 위해서는 Bridge ID와 Path Cost가 필요하다
브리지 아이디는 16비트의 브리지 우선순위 (Bridge Priority)와 48비트의 맥어드레스로 구성된다
브리지 우선순위는 16비트이기에 2^16 - 1 개 총 65535개를 사용할 수 있고 기본값은 중간값인 32768이 된다
말 그대로 장비와 장비를 이동하는데 드는 비용 죽 브리지가 얼마나 가까이, 그리고 빠르게 연결되어 있는지 판단하기 위한 값이다.
원래 SPT를 정의하고 있는 IEEE 802.ID에서는 이 값을 1000Mbps 장비 사이의 대역폭을 나눈값을 사용했다.
두 스위치가 10Mbps로 연결되어 있다고 하자. 1000 / 10은 100, 따라서 Path Cost는 100이다.
하지만 최근 속도가 기가로 올라가고 다양한 속도의 장비가 나오면서 cost가 소수점이 되는 문제가 발생하였고,
이에 IEEE에서는 Cost를 정수값으로 배정해주게 되었다.
SPT는 이 과정을 활용하여 어떤 링크를 살리고 어떤 링크를 대기시킬지 결정하는 방식이라 할 수 있다.
위의 과정에서 선정된 Root, Designated 포트를 제외하면 전부 대기상태로 돌리게 된다.
SPT는 BPUD라는 프레임을 이용하여 위의 정보들을 주고받고 이를 통해 결정을 내리게 된다.
BID를 비교해서 가장 작은 BID를 가진 브리지가 Root Bridge가 된다.
만약 A B C 세개의 브리지가 있다고 하자.
A = 32768.1111.1111.1111
B = 32768.2222.2222.2222
C = 32768.3333.3333.3333
이라고 하자. (Priority는 기본값)
이때 B C 만 켜서 통신을 시작하면 서로 BPUD를 보내서 정보를 교환한다.
둘은 이 과정에서 BID를 교환하게 되고 BID비교를 통해 B가 자신이 Root임을 확인한다.
이때 C는 B를 Root로 인식하고 자신의 BID를 B의 BID로 바꾸게 된다.
이제 A가 켜진다면 위와 동일한 과정을 거쳐서 A가 Root로 지정되고, BID가 A의 BID로 변경된다.
이제 루트브리지에 가장 가까운 루트포트를 뽑아야한다.
이 과정에서 우리는 Root Path Cost를 알아야한다.
문제설정 :
각 브리지는 100Mbps로 연결되어 있다.
포트는 E0, E1이 있다.
만약 ABC가 100Mbps로 연결되어 있다면, Cost는 전부 19이다. 따라서 각 E0 포트에서 Root의 cost는 19이다. 반대로 E1의 경우 19 + 19 38 이된다.
따라서 E0가 각 루트포트가 된다.
새그먼트당 하나씩의 DP를 가져야한다.
뽑는 규칙은 간단하다. 일단 더 작은 Root Path Cost를 우선시해서 뽑기 때문이다.
루트브리지의 포트의 경우 Cost는 전부 0이다. 따라서 Active 포트이면 무조건 DP가 된다
그 밖의 경우에는 위에서 적은 4단계를 통해 DP를 결정하게 된다.
1. 더 작은 Root BID의 경우, 둘다 BID가 A의 BID를 사용하기 때문에 비교가 불가능하다.
Path Cost역시 둘다 동일하게 사용한다.
Sender BID란 자기자신의 BID를 말한다. 즉 B 의 BID가 더 작다고 할수 있고, 이에 우리는 B 스위치의 E1 포트를 DP화 한다. 그리고 지정되지 않은 나머지 포트 (C의 E1)은 ND처리한다.
데이터전송, 맥주소 학습, BPUD 모두 가능하다
루트 브리지, 루트 포트, DP, ND 가 모두 설정되고 나면 정상적으로 네트워크가 작동하게 된다. 이때, 루트브리지는 2초마다 Hello BPUD를 DP를 통해 전달하고 Non-Root 브리지들은 이를 통해 루트가 정상작동중임을 파악한다.
만약 이 과정에 문제가 발생하면 루트브리지에 문제가 생겼음을 인지하고 남은 브리지들끼리 다시 루트를 설정한다.
HelloTime : 루트 브리지가 얼마에 한번씩 BPUD를 보내는지에 대한 시간
Max Age : 브리지들이 헬로타임을 받지 못하면 멕스 에이지 만큼 대기한 후, SPT를 재구성한다
Forwarding Delay : 브리지 포트가 블록킹 상태에서 포워딩 까지 넘어가기의 시간이다.
A B C 가 연결되어 있다고 할때
A C를 연결하던 링크가 절단되었다고 하자.
이때 2초후 C브리지는 HelloTime을 받지 못하고 이에 문제가 생겼음을 인지한다.
하지만 20초의 MaxAge가 있기에 그 시간만큼 더 대기한 후에 작동하게 된다.
C의 E1 브리지는 Blocking 상태이지만 BPUD는 가능한 상태이다. 따라서 BPUD를 새로이 받게 되고 이에 SPT를 변경하게 된다.
E1은 블로킹 상태에서 리슨, 런 상태를 거쳐 30초후 포워딩상태로 전환된다
802.1d Spanning Tree Protocol이 가장 표준이 되는 SPT 기법이다. 하지만 이는 1분이상의 시간이 소요된다. 따라서 이를 해결하기 위해 RSTP등의 다양한 해결책이 제시되고 있다.
맥 어드레스는 주소를 보고 포트 필터링을 지원함으로서 콜리전 도메인을 막는 역할을 한다.
이러한 맥 어드레스는 2가지 방식으로 저장된다
자동으로 맥 어드레스를 배우고 저장하는 과정이다. 앞서 설명했던것들처럼 맥 어드레스를 하나 배우고 테이블에 저장한다음, 300초(디폴트) 시간동안 사용되지 않으면 지워버리는 방식이다.
맥 어드레스를 직접 넣어서 지워지지않는 주소를 기록하는거시다.
브로드캐스트 영향이 점점 커지면서 라우터에 의한 네트워크 영역의 분류는 필수가 되었고, 이에 스위치의 능력으로는 더이상 구분할 수 없게되었다.
VLAN을 하나의 스위치를 여러개의 스위치처럼 사용할 수 있도록 해주는 기능이다.
회사에 본관, 별관 2개의 건물이 있고, 회사는 3개의 네트워크로 분산되어 있다고 하자.
만약 VLAN이 없다면 스위치를 본관 3개, 별관 3개를 설치하고 이를 통합연결하여야 네트워크가 구성이 될 것이다.
만약 가상랜이 지원된다면 건물 하나당 하나의 스위치로도 소통이 가능해진다.
VLAN은 각각의 스위치라고볼 수 있다.