Bridging and Switching
Summary
이더넷 유사 네트워크(이더넷, Ethernet over IP, IEEE 802.11의 AP 브리지 또는 브리지 모드, WDS, VLAN)는 MAC 브리지 기능을 사용하여 서로 연결될 수 있습니다. 브리지 기능은 서로 다른 LAN에 연결된 호스트를 단일 LAN에 연결된 것처럼 상호 연결할 수 있으며(EoIP를 사용하면 지리적으로 분산된 네트워크도 IP 네트워크 간 연결이 존재하는 경우 브리지될 수 있음), 이 경우 호스트들은 단일 LAN에 연결된 것처럼 작동합니다. 브리지은 투명하기 때문에 트레이서루트 목록에 나타나지 않으며, 브리지된 LAN에 연결된 호스트와 다른 LAN에 연결된 호스트를 구분할 수 있는 유틸리티는 없습니다. 그러나 LAN이 상호 연결된 방식에 따라 호스트 간의 지연 시간과 데이터 전송 속도가 달라질 수 있습니다.
복잡한 토폴로지에서 네트워크 루프가 발생할 수 있습니다(고의적이든 아니든). 특수한 처리 없이 루프는 네트워크가 정상적으로 작동하지 못하게 합니다. 이는 눈사태처럼 패킷이 급증하는 현상을 일으키기 때문입니다. 각 브리지는 루프를 방지하는 방법을 계산하는 알고리즘을 실행합니다. (R/M)STP는 브리지들이 서로 통신할 수 있도록 하여 루프가 없는 토폴로지를 협상할 수 있게 합니다. 루프를 형성할 수 있는 모든 대체 연결은 대기 상태로 전환되며, 주 연결이 실패할 경우 다른 연결이 그 자리를 대신할 수 있습니다. 이 알고리즘은 네트워크 토폴로지의 변경 사항에 대한 최신 정보를 모든 브리지에 전달하기 위해 구성 메시지(BPDU - Bridge Protocol Data Unit)를 주기적으로 교환합니다. (R/M)STP는 다른 브리지의 포트 차단 및 개방과 같은 네트워크 재구성 작업을 담당하는 루트 브리지를 선택합니다. 루트 브리지는 가장 낮은 브리지 ID를 가진 브리지입니다.
브리지 인터페이스 설정
여러 네트워크를 하나의 브리지로 결합하려면 브리지 인터페이스를 생성해야 합니다. 이후 원하는 모든 인터페이스를 해당 브리지의 포트를 설정해야 합니다. 기본적으로 브리지 MAC 주소는 브리지 포트 구성에 따라 자동으로 선택됩니다. 원하지 않는 MAC 주소 변경을 방지하려면 “auto-mac
”을 비활성화하고 “admin-mac
”을 사용하여 MAC 주소를 수동으로 지정하는 것이 권장됩니다.
하위 메뉴: /interface bridge
속성 | 설명 | |||||||||||||||||||||||||||
add-dhcp-option82 (yes | no; Default: no) |
DHCP 패킷에 DHCP Option-82 정보(에이전트 원격 ID 및 에이전트 회로 ID)를 추가할지 여부. Option-82를 지원하는 DHCP 서버와 함께 사용하여 IP 주소를 할당하고 정책을 구현할 수 있습니다. 이 속성은 |
|||||||||||||||||||||||||||
admin-mac (MAC address; Default: none) |
브리지의 고정 MAC 주소. 이 속성은 |
|||||||||||||||||||||||||||
ageing-time (time; Default: 00:05:00) | 호스트의 정보가 브리지 데이터베이스에 얼마나 오래 보관됩니다. | |||||||||||||||||||||||||||
arp (disabled | enabled | local-proxy-arp | proxy-arp | reply-only; Default: enabled) |
주소 해결 프로토콜 설정
|
|||||||||||||||||||||||||||
arp-timeout (auto | integer; Default: auto) |
ARP 테이블에 ARP 기록이 IP 주소로부터 패킷을 받지 않은 후 얼마나 오래 유지되는지입니다. 값 |
|||||||||||||||||||||||||||
auto-mac (yes | no; Default: yes) |
설정이 변경될 경우(예: 브리지에 새로운 포트를 추가할 경우), 브리지의 MAC 주소는 더 높은 우선순위의 주소 소스가 사용할 수 있게 될 때만 업데이트됩니다. 예를 들어, 브리지가 처음에 임의로 생성된 MAC 주소를 사용하다가 이더넷 인터페이스가 추가되면, MAC 주소는 가장 높은 우선순위(이 경우 이더넷 인터페이스)에 따라 업데이트됩니다. 브리지의 MAC 주소는 현재 MAC이 다른 브리지로 이동된 포트와 연결되어 있는 경우에도 업데이트됩니다. 현재 MAC 주소와 그 우선순위 수준은 저장되며 재부팅 후 재사용됩니다.
|
|||||||||||||||||||||||||||
comment (string; Default: ) | 인터페이스의 간략한 설명. | |||||||||||||||||||||||||||
dhcp-snooping (yes | no; Default: no) |
브리지에서 DHCP 스누핑을 활성화하거나 비활성화합니다. DHCP 스누핑 기능을 활성화하면 브리지의 fast-path가 비활성화되며, 이는 해당 브리지 통해 전송되는 연결의 fasttrack 기능을 영향을 미칩니다. |
|||||||||||||||||||||||||||
disabled (yes | no; Default: no) | 브리지의 사용 여부를 변경합니다. | |||||||||||||||||||||||||||
ether-type (0x9100 | 0x8100 | 0x88a8; Default: 0x8100) |
EtherType을 변경합니다. 이 EtherType은 패킷에 VLAN 태그가 있는지 판단하는 데 사용됩니다. EtherType이 일치하는 패킷은 태그가 지정된 패킷으로 간주됩니다. 이 속성은 |
|||||||||||||||||||||||||||
fast-forward (yes | no; Default: yes) | Fast Path의 특수하고 빠른 버전으로, 2개의 인터페이스를 갖춘 브리지에서만 작동합니다(기본적으로 새 브리지에만 활성화되어 있습니다). 자세한 내용은 Fast Forward 섹션에서 확인할 수 있습니다. | |||||||||||||||||||||||||||
forward-delay (time; Default: 00:00:15) | 브리지 인터페이스의 초기화 단계(즉, 라우터 시작 후 또는 인터페이스 활성화 후) 동안 브리지 인터페이스가 정상적으로 작동하기 전에 리스닝/러닝 상태에서 소요되는 시간. | |||||||||||||||||||||||||||
forward-reserved-addresses (yes | no: Default: no) |
IEEE 예약된 멀티캐스트 MAC 주소가 01:80:C2:00:00:0x 범위 내에 포함되어 있는지 여부. R/M/STP 표준을 준수하는 브리지에서는 이러한 패킷을 전달하지 않아야 합니다. 이 속성은 예약된 MAC 주소의 전달을 활성화하면 이러한 주소에 의존하는 특정 프로토콜에 영향을 줄 수 있습니다. 투명 브리징 설정(예: 긴 링크 확장, 브리지를 미디어 컨버터로 사용, 네트워크 분석 수행)과 같이 절대적으로 필요한 경우에만 전달을 활성화하는 것이 좋습니다. 다음은 RouterOS에서 사용되는 몇 가지 주목할 만한 MAC 주소 및 프로토콜입니다.
흐름 제어 MAC 주소 01:80:C2:00:00:01은 예외로, 브리지에 의해 전달되지 않습니다. |
|||||||||||||||||||||||||||
frame-types (admit-all | admit-only-untagged-and-priority-tagged | admit-only-vlan-tagged; Default: admit-all) |
브리지 포트에서 허용되는 프레임 유형을 지정합니다. 이 속성은 |
|||||||||||||||||||||||||||
igmp-snooping (yes | no; Default: no) | 브리지에서 멀티캐스트 트래픽이 모든 인터페이스로 과도하게 유입되는 것을 방지하기 위해 멀티캐스트 그룹 및 포트 학습을 활성화합니다. | |||||||||||||||||||||||||||
igmp-version (2 | 3; Default: 2) |
브리지 인터페이스가 IGMP 쿼리어로 작동할 때 IGMP 멤버십 쿼리가 생성될 IGMP 버전을 선택합니다. 이 속성은 |
|||||||||||||||||||||||||||
ingress-filtering (yes | no; Default: yes) |
VLAN 입력 필터링을 활성화하거나 비활성화합니다. 이 기능은 브리지 VLAN 테이블에 수신된 VLAN ID가 입력 포트에 속하는지 확인합니다. 기본적으로 브리지 VLAN 테이블에 존재하지 않는 VLAN은 전송(출력) 전에 드롭됩니다. 그러나 이 속성을 사용하면 패킷이 수신(입력) 시 드롭되도록 설정할 수 있습니다. 이 속성은 |
|||||||||||||||||||||||||||
l2mtu (read-only; Default: ) | L2MTU는 이 인터페이스를 통해 전송할 수 있는 MAC 헤더가 없는 프레임의 최대 크기를 나타냅니다. L2MTU 값은 브리지에 의해 자동으로 설정되며, 연결된 모든 브리지 포트 중 가장 낮은 L2MTU 값을 사용합니다. 이 값은 수동으로 변경할 수 없습니다. | |||||||||||||||||||||||||||
last-member-interval (time; Default: 1s) |
브리지 포트에 연결된 마지막 클라이언트가 멀티캐스트 그룹에서 구독을 해제하고 브리지가 활성 쿼리어로 작동 중일 때, 브리지는 다른 클라이언트가 여전히 구독 중인지 확인하기 위해 그룹별 IGMP/MLD 쿼리를 전송합니다. 이 설정은 이러한 쿼리의 응답 시간을 변경합니다. 특정 시간 기간( 브리지 포트가 fast-leave로 구성되어 있다면, 멀티캐스트 그룹은 쿼리를 전송하지 않고 즉시 제거됩니다. 이 속성은 |
|||||||||||||||||||||||||||
last-member-query-count (integer: 0..4294967295; Default: 2) |
|
|||||||||||||||||||||||||||
max-hops (integer: 6..40; Default: 20) |
MSTP가 활성화된 동일한 지역 내 네트워크에서 BPDU가 무시되기 전에 통과할 수 있는 브리지 수. 이 속성은 |
|||||||||||||||||||||||||||
max-learned-entries (integer: 0..4294967295 | auto | unlimited; Default: auto) |
브리지 인터페이스에서 학습할 수 있는 호스트의 최대 수를 설정합니다. 기본값은 특정 RAM 용량에 대한 기본값:
이 제한은 스위치 FDB 테이블의 하드웨어 제한이 아닌 브리지 인터페이스에 특정적으로 적용됩니다. 브리지 제한에 도달하더라도 스위치는 하드웨어 제한까지 호스트를 계속 학습하고 올바른 포워딩 결정을 내릴 수 있습니다. 그러나 이러한 추가 호스트는 “ 이 설정은 RouterOS 버전 7.16부터 사용할 수 있습니다. |
|||||||||||||||||||||||||||
max-message-age (time: 6s..40s; Default: 00:00:20) |
BPDU 패킷의 Max Age 값을 변경합니다. 이 값은 루트 브리지에 의해 전송됩니다. 루트 브리지는 Max Age가 |
|||||||||||||||||||||||||||
membership-interval (time; Default: 4m20s) |
다중 전송 데이터베이스(MDB)에 항목이 추가된 후 IGMP/MLD 멤버십 보고서가 브리지 포트에서 수신되지 않을 경우 해당 항목이 삭제되기까지의 시간입니다. 이 속성은 |
|||||||||||||||||||||||||||
mld-version (1 | 2; Default: 1) |
MLD 멤버십 쿼리가 생성될 MLD 버전을 선택합니다. 이 설정은 브리지 인터페이스가 MLD 쿼리어로 작동할 때 적용됩니다. 이 속성은 브리지에 활성 IPv6 주소가 있고, |
|||||||||||||||||||||||||||
mtu (integer; Default: auto) |
최대 전송 단위(MTU)는 기본적으로 브리지에서 자동으로 설정되며, 연결된 브리지 포트 중 가장 낮은 MTU 값을 사용합니다. 브리지에 포트 추가 전 기본 브리지 MTU 값은 1500입니다. MTU 값은 수동으로 설정할 수 있지만, 브리지 L2MTU 또는 연결된 브리지 포트 중 가장 낮은 L2MTU를 초과할 수 없습니다. 새로운 브리지 포트가 추가되고 해당 포트의 L2MTU가 브리지의 브리지에 VLAN 인터페이스를 추가할 때 VLAN이 기본값 1500보다 높은 MTU를 사용하는 경우, 브리지의 MTU를 수동으로 설정하는 것이 권장됩니다. |
|||||||||||||||||||||||||||
multicast-querier (yes | no; Default: no) |
멀티캐스트 쿼리어는 주기적으로 IGMP/MLD 일반 멤버십 쿼리를 생성하며, 이에 모든 IGMP/MLD 지원 장치는 IGMP/MLD 멤버십 보고서로 응답합니다. 일반적으로 PIM(멀티캐스트) 라우터나 IGMP 프록시가 이러한 쿼리를 생성합니다. 이 기능을 사용하면 IGMP/MLD 스누핑을 활성화한 브리지에서 IGMP/MLD 일반 멤버십 쿼리를 생성할 수 있습니다. 이 기능은 Layer 2 네트워크에 활성 쿼리어(PIM 라우터 또는 IGMP 프록시)가 없는 경우에 사용해야 합니다. Layer 2 네트워크에 멀티캐스트 쿼리어가 없으면 멀티캐스트 데이터베이스(MDB)가 업데이트되지 않으며, 학습된 항목이 시간 초과되어 IGMP/MLD 스누핑이 정상적으로 작동하지 않습니다. 태그가 없는 IGMP/MLD 일반 멤버십 쿼리만 생성됩니다. IGMP 쿼리는 IPv4 0.0.0.0 소스 주소로 전송되며, MLD 쿼리는 브리지 인터페이스의 IPv6 링크 로컬 주소로 전송됩니다. 외부 IGMP/MLD 쿼리어가 감지되면 브리지는 쿼리를 전송하지 않습니다(모니터링 값 이 속성은 |
|||||||||||||||||||||||||||
multicast-router (disabled | permanent | temporary-query; Default: temporary-query) |
멀티캐스트 라우터 포트는 멀티캐스트 라우터 또는 쿼리어가 연결된 포트입니다. 이 포트에서는 등록되지 않은 멀티캐스트 스트림과 IGMP/MLD 멤버십 보고서가 전송됩니다. 이 설정은 브리지 인터페이스 자체의 멀티캐스트 라우터 상태를 변경합니다. 이 속성은 다중 브로드캐스트 라우팅 또는 프록시링을 위해 다중 브로드캐스트 라우터 상태를 브리지 인터페이스에 전송하는 데 사용할 수 있습니다. 이 속성은
|
|||||||||||||||||||||||||||
name (text; Default: bridgeN) | 브리지 인터페이스 이름. | |||||||||||||||||||||||||||
port-cost-mode (long | short; Default: long) |
브리지드 포트에 대한 포트 경로 비용 및 내부 경로 비용 모드를 변경하며, 인터페이스 속도에 따라 자동으로 설정된 값을 사용합니다. 이 설정은 수동으로 구성된
결합된 인터페이스의 경우, 모든 결합된 멤버 포트 중에서 가장 높은 경로 비용이 적용되며, 이 값은 결합의 총 링크 속도에 영향을 받지 않습니다. 가상 인터페이스(예: VLAN, EoIP, VXLAN) 및 Wi-Fi, 무선, 60GHz 인터페이스의 경우, 장거리 모드에는 경로 비용 20,000이 할당되며, 단거리 모드에는 10이 할당됩니다. 동적으로 브리지된 인터페이스(예: Wi-Fi, 무선, PPP, VPLS)의 경우, 경로 비용은 장거리 모드에 20,000, 단거리 모드에 10으로 기본 설정됩니다. 그러나 인터페이스를 브리지에 동적으로 추가하는 서비스에 의해 수동으로 재설정될 수 있습니다. 예를 들어 CAPsMAN의 port monitor를 사용하여 적용된 경로 비용을 관찰할 수 있습니다. 이 속성은 |
|||||||||||||||||||||||||||
priority (integer: 0..65535 decimal format or 0x0000-0xffff hex format; Default: 32768 / 0x8000) |
브리지 우선순위는 R/STP에서 루트 브리지(root bridge)를 결정하는 데 사용되며, MSTP에서는 CIST 및 IST 지역 루트 브리지(regional root bridge)를 결정하는 데 사용됩니다. 이 속성은 |
|||||||||||||||||||||||||||
protocol-mode (none | rstp | stp | mstp; Default: rstp) |
스패닝 트리 프로토콜(STP) 또는 빠른 스패닝 트리 프로토콜(RSTP)을 선택하여 브리지된 LAN의 루프 없는 토폴로지를 보장합니다. RSTP는 토폴로지 변경 후 스패닝 트리 수렴 속도가 더 빠릅니다. MSTP를 선택하여 다중 VLAN 간 루프 없는 토폴로지를 보장합니다. 01:80:C2:00:00:0x 범위 내의 예약된 MAC 주소의 전달은 |
|||||||||||||||||||||||||||
pvid (integer: 1..4094; Default: 1) |
포트 VLAN ID(PVID)는 태그가 없는 입력 트래픽이 할당될 VLAN을 지정합니다. 이는 예를 들어 브리지 IP에서 전송되고 브리지 포트로 전송되는 프레임에 적용됩니다. 이 속성은 |
|||||||||||||||||||||||||||
querier-interval (time; Default: 4m15s) |
검출된 쿼리어 및 멀티캐스트 라우터 포트의 타임아웃 기간을 변경합니다. 이 속성은 |
|||||||||||||||||||||||||||
query-interval (time; Default: 2m5s) |
브리지 인터페이스가 IGMP/MLD 쿼리어로 작동할 때 IGMP/MLD 일반 멤버십 쿼리가 전송되는 간격을 변경합니다. 이 간격은 마지막 시작 쿼리가 전송된 시점부터 적용됩니다. 이 속성은 |
|||||||||||||||||||||||||||
query-response-interval (time; Default: 10s) |
브리지(bridge)가 IGMP/MLD 쿼리어(querier)로 활성화되어 있을 때 일반 IGMP/MLD 쿼리에 대한 응답 시간이 변경됩니다. 이 속성은 |
|||||||||||||||||||||||||||
region-name (text; Default: ) |
MSTP 지역 이름. 이 속성은 |
|||||||||||||||||||||||||||
region-revision (integer: 0..65535; Default: 0) |
MSTP 구성 버전 번호. 이 속성은 |
|||||||||||||||||||||||||||
startup-query-count (integer: 0..4294967295; Default: 2) |
브리지 인터페이스가 활성화되거나 활성 쿼리어 타임아웃 시 일반 IGMP/MLD 쿼리가 전송되어야 하는 횟수를 지정합니다. 이 속성은 |
|||||||||||||||||||||||||||
startup-query-interval (time; Default: 31s250ms) |
IGMP/MLD 일반 쿼리 간의 간격을 지정합니다. 이 속성은 |
|||||||||||||||||||||||||||
transmit-hold-count (integer: 1..10; Default: 6) | 포트 전송 상태 기계가 전송 속도를 제한하기 위해 사용하는 전송 대기 카운터. | |||||||||||||||||||||||||||
vlan-filtering (yes | no; Default: no) | 전역 브리지의 VLAN 기능을 활성화하거나 비활성화합니다. |
특정 속성을 변경하면 브리지의 모든 포트가 일시적으로 비활성화될 수 있습니다. 생산 환경에서 이러한 속성을 변경할 때는 모든 패킷이 일시적으로 드롭될 수 있으므로 반드시 고려해야 합니다. 이러한 속성에는 vlan-filtering
, protocol-mode
, igmp-snooping
, fast-forward
등이 포함됩니다.
예시
L2 패킷을 전달하는 브리지 인터페이스를 추가하고 활성화하려면:
[admin@MikroTik] > interface bridge add
[admin@MikroTik] > interface bridge print
Flags: X - disabled, R - running
0 R name="bridge1" mtu=auto actual-mtu=1500 l2mtu=65535 arp=enabled arp-timeout=auto mac-address=5E:D2:42:95:56:7F protocol-mode=rstp fast-forward=yes
igmp-snooping=no auto-mac=yes ageing-time=5m priority=0x8000 max-message-age=20s forward-delay=15s transmit-hold-count=6 vlan-filtering=no
dhcp-snooping=no
브리지 모니터링
브리지 인터페이스의 현재 상태를 모니터링하려면 monitor
명령어를 사용합니다.
하위 메뉴: /interface bridge monitor
속성 | 설명 |
bridge-id (priority.MAC address) | 로컬 브리지 식별자는 브리지 우선순위.브리지 MAC 주소 형식으로 구성됩니다. |
current-mac-address (MAC address) | 브리지의 현재 MAC 주소. |
designated-port-count (integer) | 지정된 브리지 포트 수. |
declared-vlan-ids (integer 1..4094) |
브리지 인터페이스에서 MVRP 프로토콜을 통해 설정된 VLAN. |
fast-forward (yes | no) | 브리지 fast-forward가 활성화되어 있는지 여부. |
igmp-querier (none | interface & IPv4 address) |
검출된 IGMP 쿼리어로부터 브리지 포트 및 소스 IP 주소를 표시합니다. 검출된 외부 IGMP 쿼리어만 표시되며, 로컬 브리지 IGMP 쿼리어(IGMP 프록시 및 PIM 포함)는 표시되지 않습니다. 모니터링 값은 |
mld-querier (none | interface & IPv6 address) |
검출된 MLD 쿼리어로부터 브리지 포트 및 소스 IPv6 주소를 표시합니다. 검출된 외부 MLD 쿼리어만 표시되며, 로컬 브리지 MLD 쿼리어는 표시되지 않습니다. 모니터링 값은 |
mst-config-digest (integer) | VLAN 매핑에서 MST 인스턴스 ID로 계산된 해시 값. |
multicast-router (yes | no) |
포트에 멀티캐스트 라우터가 감지되었는지 표시합니다. 모니터링 값은 |
port-count (integer) | 브리지 포트 수. |
regional-root-bridge-id (priority.MAC address) | 지역 루트 브리지 ID는 bridge-priority.bridge-MAC-address 형식으로 구성됩니다. 이 설정은 MSTP가 활성화된 경우에만 적용됩니다. |
registered-vlan-ids (integer 1..4094) |
브리지 인터페이스에 MVRP 프로토콜을 통해 등록된 VLANs. |
root-bridge (yes | no) | 스패닝 트리의 루트 브리지인지 여부를 표시합니다. |
root-bridge-id (priority.MAC address) | 루트 브리지 ID는 브리지 우선순위.브리지 MAC 주소 형식으로 구성됩니다. |
root-path-cost (integer) | 루트 브리지까지 경로의 총 코스트. |
root-port (name) | 루트 브리지에 연결된 포트. |
state (enabled | disabled) | 브리지의 state |
[admin@MikroTik] /interface/bridge monitor bridge1
state: enabled
current-mac-address: 2C:C8:1B:FF:92:F4
bridge-id: 0x1000.2C:C8:1B:FF:92:F4
root-bridge: yes
root-bridge-id: 0x1000.2C:C8:1B:FF:92:F4
regional-root-bridge-id: 0x1000.2C:C8:1B:FF:92:F4
root-path-cost: 0
root-port: none
port-count: 2
designated-port-count: 2
mst-config-digest: d2b171a8ad95f593c241fc33d419a88c
fast-forward: no
multicast-router: no
igmp-querier: none
mld-querier: none
declared-vlan-ids: 1
registered-vlan-ids: 1
스패닝 트리 프로토콜
RouterOS 브리지 인터페이스는 루프가 없고 중복된 토폴로지를 보장하기 위해 스패닝 트리 프로토콜을 실행할 수 있습니다. 소규모 네트워크에서 브리지 2개만 있는 경우 STP는 큰 이점을 제공하지 않지만, 대규모 네트워크에서는 적절히 구성된 STP가 매우 중요합니다. STP 관련 값을 기본값으로 두면 단일 브리지 고장 시 네트워크가 완전히 연결되지 않을 수 있습니다. 루프가 없고 중복된 토폴로지를 달성하려면 브리지 우선순위, 포트 경로 비용, 포트 우선순위를 적절히 설정해야 합니다.
RouterOS에서는 브리지 우선순위를 0에서 65535 사이의 임의의 값으로 설정할 수 있지만, IEEE 802.1W 표준은 브리지 우선순위가 4096 단위로 설정되어야 한다고 규정합니다. 이로 인해 해당 값을 지원하지 않는 장치 간 호환성 문제가 발생할 수 있습니다. 호환성 문제를 방지하려면 다음 우선순위만 사용하도록 권장됩니다: 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, 61440
STP에는 여러 변형이 있으며, 현재 RouterOS는 STP, RSTP, MSTP를 지원합니다. 필요에 따라 이 중 하나를 사용할 수 있으며, 일부 장치는 하드웨어 오프로딩을 통해 이러한 프로토콜 중 일부를 실행할 수 있습니다. 해당 장치가 이를 지원하는지에 대한 자세한 정보는 하드웨어 오프로딩 섹션에서 확인할 수 있습니다. STP는 구형이고 느린 프로토콜로 간주되며, 모든 네트워크 토폴로지에서 RSTP로 거의 완전히 대체되었습니다. RSTP는 STP와 하위 호환됩니다. VLAN에 의존하는 네트워크 토폴로지에서는 VLAN 인식 프로토콜이며 VLAN 그룹별 부하 분산 기능을 제공하는 MSTP를 사용하는 것이 권장됩니다. STP를 지원하는 네트워크를 설계할 때는 많은 고려 사항이 필요하며, 자세한 사례 연구는 Spanning Tree Protocol 기사에서 확인할 수 있습니다. RouterOS에서 protocol-mode
속성은 사용되는 STP 변형을 제어합니다.
RouterOS 브리지(RouterOS bridge)는 PVST 및 그 변형과 호환되지 않습니다. PVST BPDU(MAC 목적지 01:00:0C:CC:CC:CD)는 RouterOS 브리지에서 일반적인 멀티캐스트 패킷으로 처리됩니다. 간단히 말해, RouterOS 브리지/스위치 포워딩 논리를 거쳐 태그가 추가되거나 제거될 수 있습니다.
IEEE 802.1ad 표준에 따르면, IEEE 802.1Q를 준수하는 브리지에서 전송된 BPDU는 IEEE 802.1ad 브리지와 호환되지 않습니다. 이는 단일 Layer2 도메인 내 모든 브리지에서 동일한 브리지 VLAN 프로토콜을 사용해야 한다는 의미이며, 그렇지 않으면 (R/M)STP가 정상적으로 작동하지 않습니다.
포트별 STP
특정 상황에서 단일 또는 다중 포트에서 STP 기능을 제한하고 싶을 수 있습니다. 아래에는 다양한 사용 사례에 대한 예시가 있습니다.
기본 (R/M)STP 기능을 변경할 때는 STP 및 BPDU의 작동 원리를 이해했는지 확인하십시오. 잘못 구성된 (R/M)STP는 예상치 못한 동작을 유발할 수 있습니다.
엣지 포트 생성
브리지 포트를 에지 포트로 설정하면 BPDU를 전송하지 못하며 수신된 BPDU를 무시합니다:
/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=ether1 edge=yes
add bridge=bridge1 interface=ether2
수신된 BPDU가 드롭
브리지 필터 또는 NAT 규칙은 STP/RSTP/MSTP가 활성화된 브리지에서 BPDU의 특수 처리로 인해 BPDU를 드롭할 수 없습니다. 그러나 일부 스위치 칩에서는 ACL 규칙을 사용하여 특정 포트에서 수신된 BPDU를 드롭할 수 있습니다:
CRS3xx에서:
/interface ethernet switch rule
add dst-mac-address=01:80:C2:00:00:00/FF:FF:FF:FF:FF:FF new-dst-ports="" ports=ether1 switch=switch1
CRS1xx/CRS2xx에서 액세스 제어 목록(ACL)을 지원하는 경우:
/interface ethernet switch acl
add action=drop mac-dst-address=01:80:C2:00:00:00 src-ports=ether1
이 예시에서는 ether1 인터페이스에서 수신된 모든 BPDU가 삭제됩니다.
수신된 BPDU를 특정 포트에서 삭제하려면 해당 포트가 연결된 인터페이스에서 BPDU가 전송되지 않도록 반드시 방지해야 합니다. 루트 브리지는 항상 BPDU를 전송하며, 정상적인 상황에서는 더 우수한 BPDU(브리지 ID가 더 낮은 브리지에서 전송된 BPDU)를 기다리지만, 루트 브리지에서 지정된 브리지로 전환할 때는 새로운 루트 포트를 일시적으로 비활성화해야 합니다. 한쪽에서만 BPDU를 차단한 경우, 포트가 계속해서 플랩(flap) 상태가 됩니다.
BPDU 가드 활성화
이 예시에서 ether1이 BPDU를 수신하면 포트가 차단되며, 수동으로 재활성화해야 합니다.
/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=ether1 bpdu-guard=yes
add bridge=bridge1 interface=ether2
루트 가드 활성화
이 예시에서 ether1은 restricted-role=yes
로 구성되었습니다.이 설정은 해당 포트가 CIST 또는 어떤 MSTI의 루트 포트가 되는 것을 방지합니다. 이는 해당 포트의 최상위 스패닝 트리 우선순위 벡터와 무관합니다. 이러한 포트는 대체 포트(폐기 상태)로 선택되며, 더 우수한 BPDU를 계속 수신하는 한 해당 상태를 유지합니다. 더 이상 우수한 루트 경로를 감지하지 않으면 자동으로 포워딩 상태로 전환됩니다. 네트워크 관리자는 이 설정을 활성화하여 외부 브리지의 영향으로부터 활성 스패닝 트리를 보호할 수 있습니다.
/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=ether1 restricted-role=yes
add bridge=bridge1 interface=ether2
[admin@MikroTik] /interface/bridge/port monitor [find]
interface: ether1 ether2
status: in-bridge in-bridge
port-id: 0x80.1 0x80.2
role: alternate-port designated-port
edge-port: no yes
edge-port-discovery: yes yes
point-to-point-port: yes yes
external-fdb: no no
sending-rstp: yes yes
learning: no yes
forwarding: no yes
actual-path-cost: 2000 2000
internal-root-path-cost: 2000
designated-bridge-id: 0x7000.64:D1:54:C7:3A:6E
designated-internal-cost: 0 0
designated-port-id: 0x80.1 0x80.2
designated-remaining-hops: 20 20
tx-rx-bpdu: 2/363 4/1049
discard-transitions: 0 0
forward-transitions: 0 0
tx-rx-tc: 0/2 2/4
topology-changes: 0 1
last-topology-change: 34m53s
multicast-router: no yes
hw-offload-group: switch1 switch1
declared-vlan-ids:
registered-vlan-ids:
브리지 설정
브리지 설정 메뉴에서는 모든 브리지 인터페이스의 특정 기능을 제어하고 글로벌 브리지 카운터를 모니터링할 수 있습니다.
하위 메뉴: /interface bridge settings