Загружаем каталог…
Загружаем каталог…
스위치를 이중으로 연결해두면 한쪽 링크가 죽어도 통신이 이어져서 좋지만, L2에서는 이 이중화가 오히려 문제를 만듭니다. 바로 루프 예요. STP(Spanning Tree Protocol)는 브로드캐스트 도메인에서 발생하는 이 루프를 막아주는 프로토콜입니다. 그림처럼 스위치 4대를 사각형으로 연결하면 프레임이 빨간 화살표를 따라 계속 돌게 됩니다. L2 프레임에는 TTL이 없어서 한 번 루프에 빠지면 스스로 사라지지 않거든요. 그래서 두 가지 문제가 생겨요. 브로드캐스트 스톰 : 브로드캐스트 프레임이 루프를 돌며 계속 늘어나서 대역폭과 장비 CPU를 잡아먹습니다. MAC 러닝 중복 : 같은 출발지 MAC이 여러 포트에서 번갈아 학습되어 MAC 테이블이 계속 흔들립니다. STP는 링크를 물리적으로 끊는 대신 일부 포트를 논리적으로 막아서 루프 없는 트리 구조를 만듭니다. 평소엔 막아두고, 활성 링크가 죽으면 그 포트를 열어서 백업으로 씁니다. 스패닝 트리의 필수 조건 트리가 만들어지려면 아래 세 가지가 성립해야 합니다. 네트워크당 Root bridge 가 하나 있다. Root bridge가 아닌 모든 bridge는 Root port 를 하나씩 가진다. 세그먼트(링크)마다 Designated port 가 하나씩 있다. Root port는 Root bridge로 가는 가장 좋은 길 쪽 포트이고, Designated port는 각 링크에서 Root bridge 방향으로 프레임을 전달하는 포트입니다. 둘 중 어느 쪽도 못 된 포트는 막힙니다. Root bridge, Root port, Designated port는 어떻게 정해질까 스위치들은 기본값으로 2초마다 BPDU 를 주고받으면서 아래 순서로 우선순위를 비교합니다. 위 기준에서 결판이 나면 아래 기준은 보지 않아요. 누가 더 작은 Root BID 를 가지는가 Root bridge까지의 Path cost 가 누가 더 작은가 누구의 BID 가 더 낮은가 누구의 포트 ID 가 더 낮은가 BPDU는 이 정보를 주고받기 위한 프레임으로 Root BID, Root Path Cost, Sender BID, Port ID를 담고 있습니다. BID는 priority + MAC 주소 로 만들어집니다. priority가 낮은 쪽이 이기고, priority가 같으면 MAC이 낮은 쪽이 이깁니다. EOS의 기본 priority는 32768이고, Path cost는 링크 속도가 빠를수록 낮아요. 실습 vEOS13의 priority를 28672로 설정했습니다. 기본값(32768)보다 낮으니 vEOS13이 Root bridge로 선출됩니다. spanning-tree priority 28672 그림의 포트 역할(R은 Root port, D는 Designated port, A는 Alternate port)을 보면 이렇습니다. vEOS13 : Root bridge라서 모든 포트가 D입니다. vEOS14, vEOS15 : Root bridge와 직접 연결된 포트가 R이고, 반대쪽 포트는 D입니다. 오른쪽 아래 vEOS : Root bridge로 가는 경로가 vEOS14 쪽과 vEOS15 쪽, 두 개입니다. Root port는 하나만 가질 수 있어서 한 경로(Eth1)가 R이 되고, 나머지(Eth2)는 A로 막힙니다. 그림의 빨간 X가 막힌 지점이에요. 포트 상태 변화 STP 포트는 5가지 상태를 거칩니다. Disabled(비활성) : 포트에 문제가 있거나 shutdown된 상태입니다. Blocking(차단) : BPDU 수신만 하고 데이터 전송과 MAC 학습은 하지 않습니다. BPDU로 상태를 확인하면서 토폴로지 변화에 대비해요. Listening(청취) : Blocking 포트가 Root port나 Designated port로 선출되고 20초(max age)가 지나면 전환됩니다. 간접 링크 장애 기준이고, 직접 링크 장애라면 20초는 생략할 수 있어요. 아직 데이터 전송과 MAC 학습은 안 합니다. Learning(학습) : Listening 상태를 15초 유지하면 전환됩니다. 이때부터 MAC 정보를 받아서 MAC 테이블을 갱신하지만 데이터 전송은 아직입니다. Forwarding(전송) : Learning 상태를 15초 유지하면 전환됩니다. 이제부터 데이터 송수신이 가능해요. 어느 단계에 있든 차단 포트로 선정되면 바로 Blocking으로 가고, 포트가 shutdown되거나 문제가 생기면 Disabled로 넘어갑니다. 전부 거치면 20 + 15 + 15 = 50초 , 직접 링크 장애라서 max age 대기를 생략하면 30초 입니다. 그래서 총 convergence time이 30~50초예요. 알아두면 좋은 점 1. 위 타이머는 고전 STP(802.1D) 기준입니다. 장애가 나고 30~50초 동안 통신이 안 된다는 건 실무에서 꽤 깁니다. EOS는 rstp , mstp , rapid-pvst 모드를 지원하는데 모두 RSTP를 기반으로 해서 훨씬 빠르게 수렴해요. 그림에 나온 A(Alternate) 포트도 RSTP에서 쓰는 역할 이름입니다. 2. Root bridge는 직접 정해두는 게 좋습니다. priority를 건드리지 않으면 MAC이 가장 낮은 장비가 Root bridge가 되는데, 오래된 액세스 스위치가 될 수도 있어요. 이번 실습처럼 백본(코어) 스위치에 낮은 priority를 주는 게 일반적입니다. EOS에는 spanning-tree root primary (priority 8192), secondary (16384)처럼 편하게 지정하는 명령도 있습니다. 3. 확인 명령어 show spanning-tree show spanning-tree instance detail 앞의 명령은 Root bridge와 포트 역할을, 뒤의 명령은 Hello time(2초), Max Age(20초), Forward Delay(15초) 같은 타이머를 확인할 때 씁니다. 정리 STP는 L2 루프를 막기 위해 Root bridge를 하나 정하고, 나머지 스위치마다 Root port, 세그먼트마다 Designated port를 정해서 나머지 포트를 막는 프로토콜입니다. BPDU를 주고받으며 Root BID, Path cost, BID, 포트 ID 순으로 비교하고, 포트는 Blocking에서 Forwarding까지 최대 50초에 걸쳐 올라옵니다.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
[STP] STP 기본 개념. 스위치를 이중으로 연결해두면 한쪽 링크가 죽어도 통신이 이어져서 좋지만, L2에서는 이 이중화가 오히려 문제를 만듭니다. 바로 루프 예요. STP(Spanning Tree Protocol)는 브로드캐스트 도메인에서 발생하는 이 루프를 막아주는 프로토콜입니다. 그림처럼 스위치 4대를 사각형으로 연결하면 프레임이 빨간 화살표를 따라 계속 돌게 됩니다. L2 프레임에는 TTL이 없어서 한 번 루프에 빠지면 스스로 사라지지 않거든요. 그래서 두 가지 문제가 생겨요. 브로드캐스트 스톰 : 브로드캐스트 프레임이 루프를 돌며 계속 늘어나서 대역폭과 장비 CPU를 잡아먹습니다. MAC 러닝 중복 : 같은 출발지 MAC이 여러 포트에서 번갈아 학습되어 MAC 테이블이 계속 흔들립니다.…
Открыть источник