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
속성 | 설명 |
use-ip-firewall (yes | no; Default: no) |
브리지된 트래픽을 IP/IPv6 방화벽으로 직접 전송합니다(IP/IPv6 라우팅의 prerouting, forward, 및 postrouting 섹션 참조. 자세한 내용은 패킷 흐름 기사 참조). 다음은 이 설정을 활성화하여 특정 작업을 수행할 수 있는 몇 가지 사용 사례입니다:
라우팅된 트래픽(브리지에 생성된 VLAN 인터페이스(예: /interface/vlan)에서 오는 트래픽 포함)은 이미 IP 방화벽에 의해 처리됩니다. 이러한 경우 이 설정을 활성화해도 추가 효과가 없습니다. |
use-ip-firewall-for-pppoe (yes | no; Default: no) |
암호화되지 않은 PPPoE 캡슐화 트래픽을 직접 브리지하여 IP/IPv6 방화벽으로 전송합니다. 이 설정은 |
use-ip-firewall-for-vlan (yes | no; Default: no) |
VLAN 태그가 지정된 트래픽을 IP/IPv6 방화벽으로 직접 브리지합니다. 이 속성은 IP/IPv6 방화벽을 사용하고 VLAN 필터링이 활성화되어 있으며 (VLAN 태그 처리가 포함됨) 이 설정이 활성화되고 VLAN 인터페이스 간에 패킷이 라우팅될 때(예: /interface/vlan), IP 방화벽의 prerouting 체인에 있는 |
allow-fast-path (yes | no; Default: yes) | 전역적으로 브리지 Fast Path를 활성화할지 여부. |
bridge-fast-path-active (yes | no; Default: ) | 브리지의 Fast Path가 전역적으로 활성화되어 있는지 여부를 표시합니다. 각 브리지 인터페이스별 Fast Path 상태는 표시되지 않습니다. |
bridge-fast-path-packets (integer; Default: ) | 브리지 Fast Path를 통해 전달된 패킷 수를 표시합니다. |
bridge-fast-path-bytes (integer; Default: ) | 브리지 Fast Path를 통해 전달된 바이트 수를 표시합니다. |
bridge-fast-forward-packets (integer; Default: ) | 브리지 Fast Forward를 통해 전달된 패킷 수를 표시합니다. |
bridge-fast-forward-bytes (integer; Default: ) | 브리지 Fast Forward를 통해 전달된 바이트 수를 표시합니다. |
브리지에 의해 전달되는 트래픽에 Simple Queues 또는 글로벌 Queue Trees를 할당하려면 use-ip-firewall
속성을 활성화해야 합니다. 이 속성을 사용하지 않으면 브리지 트래픽은 postrouting 체인에 도달하지 않으며, Simple Queues 및 글로벌 Queue Trees는 postrouting 체인에서 작동합니다. 브리지에서 VLAN 또는 PPPoE 트래픽에 Simple Queues 또는 글로벌 Queue Trees를 할당하려면 해당 속성도 활성화해야 합니다.
포트 설정
포트 서브 메뉴는 특정 브리지에 인터페이스를 추가하는 데 사용됩니다.
서브 메뉴: /interface bridge port
속성 | 설명 |
auto-isolate (yes | no; Default: no) | 이 기능이 활성화되면, 인접 브리지로부터 BPDU가 수신되지 않을 경우 포트가 디스카딩 상태에서 포워딩 상태로 전환되지 않습니다. 포트는 BPDU가 수신될 때만 포워딩 상태로 전환됩니다. 이 속성은 프로토콜 모드가 rstp 또는 mstp로 설정되고 edge가 no로 설정되었을 때만 적용됩니다. |
bpdu-guard (yes | no; Default: no) |
포트에서 BPDU Guard 기능을 활성화하거나 비활성화합니다. 이 기능은 포트가 BPDU를 수신하면 해당 포트를 비활성화 상태로 전환하며, BPDU를 수신한 경우 포트를 수동으로 비활성화 및 활성화해야 합니다. 브리지의 BPDU 관련 공격을 방지하기 위해 사용해야 합니다. 이 속성은 |
bridge (name; Default: none) | 각 인터페이스가 그룹화되어 있는 브리지 인터페이스. |
broadcast-flood (yes | no; Default: yes) |
브리지 기능이 활성화되면 브리지 출력 포트에 모든 브로드캐스트 트래픽을 전송합니다. 비활성화되면 출력 포트에서 브로드캐스트 트래픽을 차단합니다. 출력 포트에서 모든 브로드캐스트 트래픽을 필터링하는 데 사용할 수 있습니다. 브로드캐스트 트래픽은 목적지 MAC 주소로 FF:FF:FF:FF:FF:FF를 사용하는 트래픽으로 간주되며, 이 트래픽은 DHCP, ARP, NDP, BOOTP(Netinstall) 등 많은 프로토콜에 필수적입니다. 이 옵션은 CPU로의 트래픽 홍수를 제한하지 않습니다. |
edge (auto | no | no-discover | yes | yes-discover; Default: auto) |
포트의 역할을 에지 포트 또는 비에지 포트로 설정하거나 에지 탐색을 활성화합니다. 에지 포트는 다른 브리지와 연결되지 않은 LAN에 연결됩니다. 에지 포트는 STP에서 학습 및 청취 단계를 건너뛰고 직접 전달 상태로 전환됩니다. 이로 인해 STP 초기화 시간이 단축됩니다. 포트가 엣지 포트 탐지를 활성화한 경우, 브리지가 엣지 포트로 들어오는 BPDU를 감지하면 해당 포트는 비엣지 포트로 전환됩니다. 이 속성은
|
fast-leave (yes | no; Default: no) |
브리지 포트에서 IGMP/MLD 빠른 이탈 기능을 활성화합니다. 브리지는 IGMP/MLD 이탈 메시지를 수신하면 해당 브리지 포트로의 멀티캐스트 트래픽 전달을 중단합니다. 이 속성은 |
frame-types (admit-all | admit-only-untagged-and-priority-tagged | admit-only-vlan-tagged; Default: admit-all) |
브리지 포트에서 허용되는 인그레스 프레임 유형을 지정합니다. 이 속성은 |
ingress-filtering (yes | no; Default: yes) |
VLAN 입력 필터링을 활성화하거나 비활성화합니다. 이 기능은 브리지 VLAN 테이블에 수신된 VLAN ID와 일치하는 입력 포트가 있는지 확인합니다. |
learn (auto | no | yes; Default: auto) |
브리지 포트에서 MAC 학습 동작 변경
|
multicast-router (disabled | permanent | temporary-query; Default: temporary-query) |
멀티캐스트 라우터 포트는 멀티캐스트 라우터 또는 쿼리어가 연결된 포트입니다. 이 포트에서는 등록되지 않은 멀티캐스트 스트림과 IGMP/MLD 멤버십 보고서가 전송됩니다. 이 설정은 브리지 포트에 대한 멀티캐스트 라우터의 상태를 변경합니다. 이 속성은 특정 브리지 포트에 IGMP/MLD 멤버십 보고서를 전송하여 추가 멀티캐스트 라우팅 또는 프록시링을 수행하기 위해 사용할 수 있습니다. 이 속성은
|
horizon (integer 0..429496729; Default: none) |
split horizon bridging을 사용하여 브리지링 루프를 방지합니다. 포트 그룹에 동일한 값을 설정하여 해당 포트가 동일한 수평선 값을 가진 포트에 데이터를 전송하지 않도록 합니다. 분할 수평선은 하드웨어 오프로딩을 비활성화하는 소프트웨어 기능입니다. |
hw (yes | no; Default: yes) | HW 오프로딩이 가능한 인터페이스에서 하드웨어 오프로딩을 활성화하거나 비활성화할 수 있습니다. EoIP 또는 VLAN과 같은 소프트웨어 인터페이스에서는 이 설정은 무시되며 효과가 없습니다. 특정 브리지 또는 포트 기능은 HW 오프로딩을 자동으로 비활성화할 수 있습니다. print 명령어를 사용하여 “H” 플래그가 활성화되어 있는지 확인하십시오. |
internal-path-cost (integer: 1..200000000; Default: ) |
MSTI0 인터페이스 내 지역 내 경로 비용. 수동으로 구성되지 않은 경우 브리지는 인터페이스 속도와
내부 경로 코스트를 확인하려면 port monitor를 사용하세요. |
interface (name; Default: none) |
인터페이스 이름 또는 인터페이스 목록.
|
path-cost (integer: 1..200000000; Default: ) |
인터페이스까지의 경로 비용으로, STP 및 RSTP에서 최상의 경로를 결정하는 데 사용되며, MSTP에서는 지역 간 최상의 경로를 결정하는 데 사용됩니다. 수동으로 구성되지 않은 경우 브리지는 인터페이스 속도와 port monitor를 사용하여 적용된 경로 비용을 관찰할 수 있습니다. |
point-to-point (auto | yes | no; Default: auto) |
브리지 포트가 브리지와 포인트-투-포인트 링크를 통해 연결되어 있는지 여부를 지정합니다. 이 설정은 링크 장애 시 더 빠른 수렴을 위해 사용됩니다. 이 속성을
|
priority (integer: 0..240; Default: 128) | STP가 루트 포트를 결정하는 데 사용하는 인터페이스의 우선순위, MSTP가 지역 간 루트 포트를 결정하는 데 사용하는 인터페이스의 우선순위. |
pvid (integer 1..4094; Default: 1) |
포트 VLAN ID(PVID)는 태그가 없는 입력 트래픽이 할당될 VLAN을 지정합니다. 이 속성은 |
restricted-role (yes | no; Default: no) |
포트에 대한 제한된 역할을 활성화하거나 비활성화합니다. 활성화되면 해당 포트가 CIST 또는 어떤 MSTI의 루트 포트로 지정되지 않도록 방지합니다. 이 경우 해당 포트는 최상의 스패닝 트리 우선순위 벡터와 무관하게 대체 포트(디스카딩 상태)로 선택되며, 더 우수한 BPDU를 계속 수신하는 한 해당 상태를 유지합니다. 더 우수한 루트 경로를 감지하지 못하면 자동으로 포워딩 상태로 전환됩니다. 네트워크 관리자는 외부 브리지의 영향으로부터 활성 스패닝 트리를 보호하기 위해 이 설정을 활성화할 수 있습니다. 이 기능은 루트 가드 또는 루트 보호라고도 알려져 있습니다. 이 속성은 |
restricted-tcn (yes | no; Default: no) |
포트에서 토폴로지 변경 알림(TCN) 처리를 활성화하거나 비활성화합니다. 활성화되면 해당 포트는 수신한 토폴로지 변경 알림을 다른 포트에 전달하지 않으며, 해당 포트 자체에 의해 발생한 변경 사항도 다른 포트에 토폴로지 변경 알림을 전송하지 않습니다. 이 매개변수는 기본적으로 비활성화되어 있습니다. 네트워크 관리자가 외부 브리지로 인해 로컬 네트워크에서 MAC 주소 플러싱이 발생하지 않도록 설정할 수 있습니다. 이 속성은 |
tag-stacking (yes | no; Default: no) |
모든 패킷을 태그가 없는 패킷으로 처리합니다. 입력 포트에 도착한 패킷은 기존 VLAN 태그가 있더라도 다른 VLAN 태그로 태그가 지정되며, 패킷은 |
trusted (yes | no; Default: no) |
이 기능이 활성화되면 이 포트를 통해 DHCP 패킷을 DHCP 서버로 전달할 수 있습니다. 주로 사용자가 악의적인 정보를 제공할 수 있는 무단 서버를 제한하는 데 사용됩니다. 이 속성은 |
unknown-multicast-flood (yes | no; Default: yes) |
브리지 포트에서 멀티캐스트 플러드 옵션을 변경합니다. 이 설정은 출력 트래픽만 제어합니다. 활성화되면 브리지는 지정된 브리지 포트로 멀티캐스트 패킷의 플러딩을 허용하지만, 비활성화되면 지정된 브리지 포트로의 멀티캐스트 트래픽 플러딩을 제한합니다. 이 설정은 모든 멀티캐스트 트래픽에 적용되며, 이는 IP, IPv4, IPv6 및 링크 로컬 멀티캐스트 범위(예: 224.0.0.0/24 및 ff02::1)를 포함합니다. 참고: 이 설정을 |
unknown-unicast-flood (yes | no; Default: yes) | 브리지 포트에서 알 수 없는 유니캐스트 플러드 옵션을 변경하며, 출력 트래픽만 제어합니다. 이 옵션이 활성화되면 브리지는 지정된 브리지 포트로 알 수 없는 유니캐스트 패킷의 플러딩을 허용하지만, 비활성화되면 지정된 브리지 포트로 알 수 없는 유니캐스트 트래픽의 플러딩을 제한합니다. 호스트 테이블에 MAC 주소가 학습되지 않은 경우 해당 트래픽은 알 수 없는 유니캐스트 트래픽으로 간주되어 모든 포트로 플러딩됩니다. MAC 주소는 브리지 포트에서 패킷을 수신하고 소스 MAC 주소가 브리지 호스트 테이블에 추가될 때 학습됩니다. 브리지 포트에서 최소 한 개의 패킷을 수신해야 MAC 주소를 학습할 수 있으므로, MAC 주소가 학습될 때까지 패킷이 드롭되지 않도록 정적 브리지 호스트 항목을 사용하는 것이 권장됩니다. |
RouterOS는 브리지당 최대 1024개의 브리지드 인터페이스를 처리할 수 있습니다. 이 제한은 고정되어 있으며 변경할 수 없습니다. 브리지 포트로서 더 많은 인터페이스를 추가하려고 시도하면 예상치 못한 동작이 발생할 수 있습니다.
예시
이미 생성된 bridge1 인터페이스에 ether1과 ether2를 그룹화합니다.
[admin@MikroTik] /interface bridge port add bridge=bridge1 interface=ether1
[admin@MikroTik] /interface bridge port add bridge=bridge1 interface=ether2
[admin@MikroTik] /interface bridge port print
Flags: X - disabled, I - inactive, D - dynamic, H - hw-offload
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
0 ether1 bridge1 yes 100 0x80 10 10 none
1 ether2 bridge1 yes 200 0x80 10 10 none
인터페이스 목록
RouterOS v6.41부터 인터페이스 목록을 브리지 포트에 추가하고 정렬할 수 있습니다. 인터페이스 목록은 더 간단한 방화벽 규칙을 생성하는 데 유용합니다. 아래는 브리지에 인터페이스 목록을 추가하는 예시입니다:
/interface list
add name=LAN1
add name=LAN2
/interface list member
add interface=ether1 list=LAN1
add interface=ether2 list=LAN1
add interface=ether3 list=LAN2
add interface=ether4 list=LAN2
/interface bridge port
add bridge=bridge1 interface=LAN1
add bridge=bridge1 interface=LAN2
인터페이스 목록에서 브리지에 추가된 포트들은 동적 포트로서 표시됩니다:
[admin@MikroTik] /interface bridge port> pr
Flags: X - disabled, I - inactive, D - dynamic, H - hw-offload
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
0 LAN1 bridge1 yes 1 0x80 10 10 none
1 D ether1 bridge1 yes 1 0x80 10 10 none
2 D ether2 bridge1 yes 1 0x80 10 10 none
3 LAN2 bridge1 yes 1 0x80 10 10 none
4 D ether3 bridge1 yes 1 0x80 10 10 none
5 D ether4 bridge1 yes 1 0x80 10 10 none
목록이 표시되는 순서를 정렬하는 것도 가능합니다. 이는 move
명령어를 사용하여 수행할 수 있습니다. 다음은 인터페이스 목록을 정렬하는 예시입니다:
[admin@MikroTik] > /interface bridge port move 3 0
[admin@MikroTik] > /interface bridge port print
Flags: X - disabled, I - inactive, D - dynamic, H - hw-offload
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
0 LAN2 bridge1 yes 1 0x80 10 10 none
1 D ether3 bridge1 yes 1 0x80 10 10 none
2 D ether4 bridge1 yes 1 0x80 10 10 none
3 LAN1 bridge1 yes 1 0x80 10 10 none
4 D ether1 bridge1 yes 1 0x80 10 10 none
5 D ether2 bridge1 yes 1 0x80 10 10 none
VLAN 테이블의 인터페이스 목록
RouterOS 버전 7.17부터는 브리지 VLAN 테이블의 tagged
및 untagged
속성에 인터페이스 목록을 사용할 수 있습니다. 이 변경 사항은 각 브리지 VLAN 항목을 개별적으로 업데이트하는 대신 인터페이스 목록 멤버를 수정하는 것만으로 포트에 대한 VLAN 할당을 더 유연하게 할 수 있도록 합니다.
tagged
및 untagged
설정에 서로 다른 인터페이스 목록이 지정되어 있고, 인터페이스 멤버 간 중복이 있는 경우, untagged
목록이 우선 적용됩니다. 현재 인터페이스 구성은 current-tagged
및 current-untagged
속성을 사용하여 print
명령어로 확인할 수 있습니다.
아래는 기존 인터페이스 목록에 새로운 인터페이스를 추가한 예시입니다. 이 예시에서는 해당 메뉴의 설정을 직접 변경하지 않고도 브리지 포트 및 VLAN 테이블이 자동으로 업데이트되는 방식을 보여줍니다.
/interface list
add name=vlan10_untagged
add name=vlan20_untagged
add name=vlan_tagged
/interface list member
add interface=ether2 list=vlan10_untagged
add interface=ether3 list=vlan10_untagged
add interface=ether4 list=vlan20_untagged
add interface=sfp-sfpplus1 list=vlan_tagged
/interface bridge
add frame-types=admit-only-vlan-tagged name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=vlan10_untagged pvid=10
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=vlan20_untagged pvid=20
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=vlan_tagged
/interface bridge vlan
add bridge=bridge1 tagged=vlan_tagged vlan-ids=10
add bridge=bridge1 tagged=vlan_tagged vlan-ids=20
[admin@MikroTik] /interface bridge port print
Flags: D - DYNAMIC; H - HW-OFFLOAD
Columns: INTERFACE, BRIDGE, HW, PVID, PRIORITY, HORIZON
# INTERFACE BRIDGE HW PVID PRIORITY HORIZON
0 vlan10_untagged bridge1 yes 10 0x80 none
1 DH ether2 bridge1 yes 10 0x80 none
2 DH ether3 bridge1 yes 10 0x80 none
3 vlan20_untagged bridge1 yes 20 0x80 none
4 DH ether4 bridge1 yes 20 0x80 none
5 vlan_tagged bridge1 yes 1 0x80 none
6 DH sfp-sfpplus1 bridge1 yes 1 0x80 none
[admin@MikroTik] /interface bridge vlan print
Flags: D - DYNAMIC
Columns: BRIDGE, VLAN-IDS, CURRENT-TAGGED, CURRENT-UNTAGGED
# BRIDGE VLAN-IDS CURRENT-TAGGED CURRENT-UNTAGGED
;;; added by pvid
0 D bridge1 10 ether2
ether3
;;; added by pvid
1 D bridge1 20 ether4
2 bridge1 10 sfp-sfpplus1
3 bridge1 20 sfp-sfpplus1
# make necessary changes to interface list members:
/interface list member add list=vlan20_untagged interface=ether5
/interface list member add list=vlan_tagged interface=sfp-sfpplus2
# verify changes in bridge port and vlan menus:
[admin@MikroTik] > /interface bridge port print
Flags: D - DYNAMIC; H - HW-OFFLOAD
Columns: INTERFACE, BRIDGE, HW, PVID, PRIORITY, HORIZON
# INTERFACE BRIDGE HW PVID PRIORITY HORIZON
0 vlan10_untagged bridge1 yes 10 0x80 none
1 DH ether2 bridge1 yes 10 0x80 none
2 DH ether3 bridge1 yes 10 0x80 none
3 vlan20_untagged bridge1 yes 20 0x80 none
4 DH ether4 bridge1 yes 20 0x80 none
5 DH ether5 bridge1 yes 20 0x80 none
6 vlan_tagged bridge1 yes 1 0x80 none
7 DH sfp-sfpplus1 bridge1 yes 1 0x80 none
8 DH sfp-sfpplus2 bridge1 yes 1 0x80 none
[admin@MikroTik] > /interface bridge vlan print
Flags: D - DYNAMIC
Columns: BRIDGE, VLAN-IDS, CURRENT-TAGGED, CURRENT-UNTAGGED
# BRIDGE VLAN-IDS CURRENT-TAGGED CURRENT-UNTAGGED
;;; added by pvid
0 D bridge1 10 ether2
ether3
;;; added by pvid
1 D bridge1 20 ether4
ether5
2 bridge1 10 sfp-sfpplus1
sfp-sfpplus2
3 bridge1 20 sfp-sfpplus1
sfp-sfpplus2
브리지 포트 모니터링
브리지 포트의 현재 상태를 모니터링하려면 monitor
명령어를 사용합니다.
하위 메뉴: /interface bridge port monitor
속성 | 설명 |
actual-path-cost (integer: 1..200000000) | 실제 포트 경로 비용을 표시합니다. 수동으로 적용되었거나 인터페이스 속도와 포트 비용 모드 설정에 따라 자동으로 결정됩니다. |
declared-vlan-ids (integer 1..4094) |
인터페이스에서 MVRP 프로토콜을 통해 선언된 VLAN. |
designated-bridge-id (priority.MAC address) | 포트의 우선순위 벡터에서 결정된 지정된 브리지 식별자를 표시합니다. |
designated-cost (integer) | 포트의 우선순위 벡터에서 결정된 지정된 루트 경로 비용을 표시합니다. |
designated-internal-cost (integer) | 지정된 루트 경로 비용을 포트 우선순위 벡터에서 결정된 대로 표시합니다.지정된 내부 루트 경로 비용을 포트 우선순위 벡터에서 결정된 대로 표시합니다. |
designated-message-age (time) |
포트의 우선순위 벡터에서 결정된 지정된 메시지의 수명을 표시합니다. |
designated-max-age (time) |
지정된 최대 수명을 표시합니다. 이 값은 포트 우선순위 벡터에서 결정됩니다. BPDU 패킷은 |
designated-port-id (priority.integer) | 지정된 포트 식별자를 표시합니다. 이 식별자는 포트의 우선순위 벡터에서 결정됩니다. |
designated-remaining-hops (integer) | 포트의 우선순위 벡터에서 결정된 지정된 남은 홉 수를 표시합니다. 패킷이 목적지에 도달하기 전에 통과할 수 있는 홉의 수입니다. |
discard-transitions (integer) | 카운터, 포트 상태가 폐기 상태로 전환되는 횟수를 기록합니다. |
edge-port (yes | no) | 포트가 엣지 포트인지 여부. |
edge-port-discovery (yes | no) | 포트가 자동으로 엣지 포트를 감지하도록 설정되어 있는지 여부. |
external-fdb (yes | no) | 등록 테이블이 전달 데이터베이스 대신 사용되는지 여부. |
forwarding (yes | no) | 포트가 (R/M)STP에 의해 차단되지 않았는지 표시합니다. |
forward-transitions (integer) | 포트가 포워딩 상태로 전환되는 횟수를 기록하는 카운터 |
hw-offload-group (switchX) | 포트에 사용되는 스위치 칩. |
interface (name) | 인터페이스 이름. |
last-topology-change (time) |
마지막 토폴로지 변경 타이머, 마지막 변경 이후 경과 시간을 기록합니다. |
learning (yes | no) | 포트가 MAC 주소를 학습할 수 있는지 여부를 표시합니다. |
multicast-router (yes | no) |
포트에 멀티캐스트 라우터가 감지되었는지 표시합니다. 모니터링 값은 |
registered-vlan-ids (integer 1..4094) | MVRP 프로토콜을 통해 인터페이스가 등록된 VLAN. |
port-id (priority.integer) | 스패닝 트리 프로토콜(STP)에서 각 포트에는 고유한 포트 식별자가 있습니다. 우선순위[16진수] + 포트 번호. |
point-to-point-port (yes | no) | 포트가 브리지 포트와 풀 듀플렉스(예) 또는 반 듀플렉스(아니오)로 연결되어 있는지 여부. |
role (designated | root-port | alternate | backup | disabled) |
(R/M)STP 알고리즘에 할당된 포트 역할:
RouterOS에서 역할 모니터링 속성은 STP 모드가 활성화되어 있더라도 RSTP 역할(예: |
root-path-cost (integer) | 루트 브리지까지의 경로의 총 비용. |
sending-rstp (yes | no) | 포트가 RSTP 또는 MSTP BPDU 유형을 사용 중인지 여부. RSTP/MSTP가 활성화된 포트가 STP BPDU를 수신하면 해당 포트는 STP 유형으로 전환됩니다. 이 설정은 BDPU가 실제로 전송되는지 여부를 표시하지 않습니다. |
status (in-bridge | inactive) |
포트 상태:
|
tx-rx-bpdu (integer) | 보낸/받은 BPDU 메시지 카운터. |
tx-rx-tc (integer) | 토폴로지 변경 메시지 전송/수신. |
topology-changes (integer) | 토폴로지 변경 카운터. |
[admin@MikroTik] /interface/bridge/port monitor [find interface=ether1]
interface: ether1
status: in-bridge
port-id: 0x80.1
role: root-port
edge-port: no
edge-port-discovery: yes
point-to-point-port: yes
external-fdb: no
sending-rstp: yes
learning: yes
forwarding: yes
actual-path-cost: 20000
internal-root-path-cost: 20000
designated-bridge-id: 0x1000.2C:C8:1B:FF:92:F4
designated-internal-cost: 0
designated-port-id: 0x80.1
designated-remaining-hops: 20
tx-rx-bpdu: 3/63
discard-transitions: 0
forward-transitions: 1
tx-rx-tc: 2/0
topology-changes: 1
last-topology-change: 2m5s
multicast-router: no
hw-offload-group: switch1
declared-vlan-ids: 1
registered-vlan-ids: 1
호스트 테이블
브리지 인터페이스에서 학습된 MAC 주소는 호스트 메뉴에서 확인할 수 있습니다. 아래는 확인할 수 있는 매개변수 및 플래그의 테이블입니다.
서브 메뉴: /interface bridge host
속성 | 설명 |
bridge (read-only: name) | 이 항목이 속한 브리지 |
disabled (read-only: flag) | 정적 호스트 항목이 비활성화되어 있는지 여부 |
dynamic (read-only: flag) | 호스트가 동적으로 생성되었는지 여부 |
external (read-only: flag) | 호스트가 외부 테이블(예: 스위치 칩 또는 무선 등록 테이블)을 통해 학습되었는지 여부. 하드웨어 오프로드된 브리지 포트에 정적 호스트 항목을 추가하면 활성 외부 플래그도 표시됩니다. |
invalid (read-only: flag) | 호스트 항목이 유효하지 않은 경우, 이미 제거된 인터페이스에 대해 정적으로 구성된 호스트에 표시될 수 있습니다. |
local (read-only: flag) | 호스트 항목이 브리지 자체에서 생성되었는지 (이 경우 모든 로컬 인터페이스가 표시됩니다) |
mac-address (read-only: MAC address) | 호스트의 MAC 주소 |
on-interface (read-only: name) | 호스트가 연결된 브리지드 인터페이스 중 어느 것과 연결되어 있나 |
모니터링
활성 호스트 테이블을 확인하려면:
[admin@MikroTik] /interface bridge host print
Flags: X - disabled, I - invalid, D - dynamic, L - local, E - external
# MAC-ADDRESS VID ON-INTERFACE BRIDGE
0 D B8:69:F4:C9:EE:D7 ether1 bridge1
1 D B8:69:F4:C9:EE:D8 ether2 bridge1
2 DL CC:2D:E0:E4:B3:38 bridge1 bridge1
3 DL CC:2D:E0:E4:B3:39 ether2 bridge1
정적 항목
호스트 테이블에 정적 MAC 주소 항목을 추가할 수 있습니다. 이 기능은 특정 유형의 트래픽을 특정 포트를 통해 전달하는 데 사용할 수 있습니다. 정적 호스트 항목의 또 다른 용도는 동적 학습을 비활성화하고 구성된 정적 호스트 항목에만 의존하여 장치 리소스를 보호하는 것입니다. 아래는 호스트 테이블에 정적 MAC 주소 항목을 추가할 때 설정할 수 있는 가능한 매개변수 목록입니다.
하위 메뉴: /interface bridge host
속성 | 설명 |
bridge (name; Default: none) | MAC 주소가 할당될 브리지 인터페이스. |
disabled (yes | no; Default: no) | 정적 MAC 주소 입력을 비활성화/활성화합니다. |
interface (name; Default: none) | 인터페이스 이름. |
mac-address (MAC address; Default: ) | 호스트 테이블에 정적으로 추가될 MAC 주소. |
vid (integer: 1..4094; Default: ) | 정적으로 추가된 MAC 주소 항목의 VLAN ID. |
예를 들어, 4C:5E:0C:4D:12:43로 전송되는 모든 트래픽을 ether2를 통해만 전달하도록 요구되는 경우, 다음 명령어를 사용할 수 있습니다:
/interface bridge host
add bridge=bridge interface=ether2 mac-address=4C:5E:0C:4D:12:43
멀티캐스트 테이블
IGMP/MLD 스누핑이 활성화되면 브리지(bridge)는 IGMP/MLD 통신을 수신하기 시작하며, 멀티캐스트 데이터베이스(MDB) 항목을 생성하고 수신된 정보에 따라 포워딩 결정을 내립니다. 링크 로컬 멀티캐스트 목적지 주소 224.0.0.0/24 및 ff02::1을 가진 패킷은 제한되지 않으며 모든 포트 및 VLAN에서 항상 플러딩됩니다. 학습된 멀티캐스트 데이터베이스 항목을 확인하려면 print
명령어를 사용하세요.
서브 메뉴: /interface bridge mdb
속성 | 설명 |
bridge (read-only: name) | 해당 항목이 속한 브리지 인터페이스를 표시합니다. |
group (read-only: ipv4 | ipv6 | MAC address) | 멀티캐스트 그룹 주소를 표시합니다. |
on-interface (read-only: name) | 특정 멀티캐스트 그룹에 구독된 브리지 포트를 표시합니다. |
vid (read-only: integer) |
멀티캐스트 그룹의 VLAN ID를 표시합니다. 이 설정은 |
[admin@MikroTik] /interface bridge mdb print
Flags: D - DYNAMIC
Columns: GROUP, VID, ON-PORTS, BRIDGE
# GROUP VID ON-PORTS BRIDGE
0 D ff02::2 1 bridge1 bridge1
1 D ff02::6a 1 bridge1 bridge1
2 D ff02::1:ff00:0 1 bridge1 bridge1
3 D ff02::1:ff01:6a43 1 bridge1 bridge1
4 D 229.1.1.1 10 ether2 bridge1
5 D 229.2.2.2 10 ether3 bridge1
ether2
6 D ff02::2 10 ether5 bridge1
ether3
ether2
ether4
정적 항목
RouterOS 버전 7.7부터 IPv4 및 IPv6 멀티캐스트 그룹을 위한 정적 MDB 항목을 생성할 수 있습니다.
하위 메뉴: /interface bridge mdb
속성 | 설명 |
bridge (name; Default: ) | MDB 항목이 할당될 브리지 인터페이스. |
disabled (yes | no; Default: no) | 정적 MDB 항목을 비활성화하거나 활성화합니다. |
group (ipv4 | ipv6 | MAC address; Default: ) | IPv4, IPv6 또는 MAC 멀티캐스트 주소. 링크 로컬 멀티캐스트 그룹 224.0.0.0/24 및 ff02::1에 대한 정적 항목을 생성할 수 없습니다. 이 패킷은 모든 포트 및 VLAN에서 항상 플러딩되기 때문입니다. |
interface (name; Default: ) | 멀티캐스트 그룹이 전달될 브리지 포트 목록. |
vid (integer: 1..4094; Default: ) |
MDB 항목이 생성될 VLAN ID는 |
예를 들어, VLAN 10의 ether2 및 ether3 포트에 멀티캐스트 그룹 229.10.10.10에 대한 정적 MDB 항목을 생성하려면 다음 명령어를 사용합니다:
/interface bridge mdb
add bridge=bridge1 group=229.10.10.10 interface=ether2,ether3 vid=10
결과를 print
명령어로 확인하십시오:
[admin@MikroTik] > /interface bridge mdb print where group=229.10.10.10
Columns: GROUP, VID, ON-PORTS, BRIDGE
# GROUP VID ON-PORTS BRIDGE
12 229.10.10.10 10 ether2 bridge1
ether3
특정 IPv6 멀티캐스트 그룹이 스누핑이 필요하지 않고 모든 포트 및 VLAN에 플러딩되도록 하려면, 브리지 인터페이스 자체를 포함해 모든 VLAN 및 포트에 정적 MDB 항목을 생성할 수 있습니다. 아래 명령어를 사용하여 멀티캐스트 그룹 ff02::2에 대한 정적 MDB 항목을 모든 VLAN 및 포트에 생성합니다(설정에 따라 ports
설정을 수정하세요):
/interface bridge mdb
add bridge=bridge1 group=ff02::2 interface=bridge1,ether2,ether3,ether4,ether5
[admin@MikroTik] > /interface bridge mdb print where group=ff02::2
Flags: D - DYNAMIC
Columns: GROUP, VID, ON-PORTS, BRIDGE
# GROUP VID ON-PORTS BRIDGE
0 ff02::2 bridge1
15 D ff02::2 1 bridge1 bridge1
16 D ff02::2 10 bridge1 bridge1
ether2
ether3
ether4
ether5
17 D ff02::2 20 bridge1 bridge1
ether2
ether3
18 D ff02::2 30 bridge1 bridge1
ether2
ether3
브리지 하드웨어 오프로딩
장치에 내장된 스위치 칩이 있는 경우 여러 포트를 함께 전환할 수 있습니다. 브리지는 CPU 자원을 소비하는 소프트웨어 기능이지만, 브리지 하드웨어 오프로딩 기능을 사용하면 내장된 스위치 칩을 통해 패킷을 전달할 수 있습니다. 이 기능을 올바르게 구성하면 더 높은 전송 속도를 달성할 수 있습니다.
이전 버전(RouterOS v6.41 이전)에서는 여러 포트를 함께 전환하려면 마스터 포트 속성을 사용해야 했지만, RouterOS v6.41에서는 이 속성이 브리지 하드웨어 오프로딩 기능으로 대체되었습니다. 이 기능은 포트를 전환하고 스패닝 트리 프로토콜(STP)과 같은 일부 브리지 기능을 사용할 수 있도록 합니다.
이전 버전(RouterOS v6.41 이전)에서 업그레이드할 경우, 기존 마스터 포트 구성은 자동으로 새로운 브리지 하드웨어 오프로딩 구성으로 변환됩니다. 신규 버전(RouterOS v6.41 및 이후 버전)에서 이전 버전(RouterOS v6.41 이전)으로 다운그레이드할 경우 구성은 다시 변환되지 않으며, 하드웨어 오프로딩이 없는 브리지가 생성됩니다. 이 경우 장치를 재구성하여 이전 master-port 구성을 사용해야 합니다.
다음은 하드웨어 오프로딩을 지원(+)하거나 비활성화(-)-하는 장치 및 기능 목록입니다:
각주:
- 이 기능은 VLAN 전환 환경에서 정상적으로 작동하지 않습니다. 단일 VLAN에 대해 DHCP 패킷을 정확히 스누핑할 수 있지만, 이를 위해 DHCP 메시지가 ACL 규칙을 사용하여 올바른 VLAN 태그로 태그가 지정되어야 합니다. 예를 들어,
/interface ethernet switch acl add dst-l3-port=67-68 ip-protocol=udp mac-protocol=ip new-customer-vid=10 src-ports=switch1-cpu
. DHCP 옵션 82에는 VLAN-ID에 대한 정보가 포함되지 않습니다. - 이 기능은 VLAN 스위칭 환경에서 정상적으로 작동하지 않습니다.
- HW VLAN 필터링 및 R/M/STP 기능은 RouterOS 7.1에서 RTL8367, MT7621, MT7531, EN7562CT에 추가되었습니다. 스위치는 다른 이더넷 유형 0x88a8 또는 0x9100(0x8100만 지원)을 지원하지 않으며 태그 스택도 지원하지 않습니다. 이러한 기능을 사용하면 HW 오프로드가 비활성화됩니다.
- HW 오프로드는 특정 브리지 포트에만 적용되며 전체 브리지에는 적용되지 않습니다.
802.3ad
및balance-xor
모드만 HW 오프로드 가능합니다. 다른 본딩 모드는 HW 오프로드를 지원하지 않습니다.- 현재 IPQ-PPE 스위치 칩의 HW 오프로드 브리지 지원은 여전히 개발 중입니다. 기본 설정인 HW 오프로드 미지원 브리지(RSTP 활성화)를 사용하시기를 권장합니다.
802.3ad
모드는 R/M/STP가 활성화된 브리지와만 호환됩니다..
RouterOS v6.41 이전 버전에서 업그레이드할 경우, 마스터 포트 구성만 변환됩니다. 각 마스터 포트에 브리지(bridge)가 생성됩니다. VLAN 구성은 변환되지 않으며 변경하지 않아야 합니다. 장치에 맞는 VLAN 스위칭 구성을 확인하려면 기본 VLAN 스위칭 가이드를 참고하세요.
브리지 하드웨어 오프로딩은 포트 스위칭과 유사하지만 더 많은 기능을 제공합니다. 하드웨어 오프로딩을 활성화하면 내장된 스위치 칩이 스위칭 논리를 사용하여 패킷을 처리하도록 허용됩니다. 아래 다이어그램은 소프트웨어 관련 작업 전에 스위칭이 발생함을 보여줍니다.
포트 중 하나에 수신된 패킷은 항상 스위치 로직을 먼저 통과합니다. 스위치 로직은 패킷이 어떤 포트에 전송되어야 하는지 결정합니다(이 결정은 일반적으로 패킷의 목적지 MAC 주소에 따라 이루어지지만, 패킷과 구성에 따라 다른 기준이 적용될 수 있습니다). 대부분의 경우 패킷은 RouterOS에 표시되지 않습니다(통계만 패킷이 통과했음을 표시합니다). 이는 패킷이 스위치 칩에서 이미 처리되어 CPU에 도달하지 않았기 때문입니다.
특정 상황에서는 패킷을 CPU에서 처리하도록 허용할 수 있지만, 이는 일반적으로 스위치 CPU 포트(또는 브리지 VLAN 필터링 시나리오에서 브리지 인터페이스)로 패킷을 전달하는 것으로 불립니다. 이 경우 CPU가 패킷을 처리하고 전달할 수 있습니다. 패킷을 CPU 포트로 전달하면 다른 네트워크로 패킷을 라우팅하거나 트래픽 제어 및 기타 소프트웨어 관련 패킷 처리 작업을 수행할 수 있습니다. 패킷이 CPU에서 처리되도록 허용하려면 사용 중인 장치와 요구사항에 따라 특정 구성 변경이 필요합니다(가장 일반적으로 패킷을 CPU로 전달하는 것은 VLAN 필터링 설정 시 필요합니다). 특정 장치의 매뉴얼 페이지를 확인하세요:
일부 브리지 및 이더넷 포트 속성은 스위치 칩 설정과 직접적으로 관련되어 있습니다. 이러한 속성을 변경하면 스위치 칩 리셋이 발생할 수 있으며, 이 경우 설정 변경이 적용되기까지 스위치 칩에 연결된 모든 이더넷 포트가 일시적으로 비활성화됩니다. 생산 환경에서 속성을 변경할 때는 이 점을 반드시 고려해야 합니다. 이러한 속성에는 DHCP 스누핑, IGMP 스누핑, VLAN 필터링, L2MTU, 흐름 제어 등이 포함됩니다. 스위치 칩 리셋을 유발할 수 있는 정확한 설정은 장치 모델에 따라 다릅니다.
CRS1xx/2xx 시리즈 스위치는 스위치 칩당 다중 하드웨어 오프로드 브리지를 지원합니다. 다른 모든 장치는 스위치 칩당 단일 하드웨어 오프로드 브리지만 지원합니다. hw=yes/no 매개변수를 사용하여 하드웨어 오프로드를 사용할 브리지를 선택합니다.
예시
브리지 구성 및 하드웨어 오프로드 활성화 시 포트 전환:
/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=ether2 hw=yes
add bridge=bridge1 interface=ether3 hw=yes
add bridge=bridge1 interface=ether4 hw=yes
add bridge=bridge1 interface=ether5 hw=yes
하드웨어 오프로딩이 활성화되어 있는지 확인하려면 “H” 플래그를 확인하세요:
[admin@MikroTik] /interface bridge port print
Flags: X - disabled, I - inactive, D - dynamic, H - hw-offload
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
0 H ether2 bridge1 yes 1 0x80 10 10 none
1 H ether3 bridge1 yes 1 0x80 10 10 none
2 H ether4 bridge1 yes 1 0x80 10 10 none
3 H ether5 bridge1 yes 1 0x80 10 10 none
RouterOS v6.41 및 이후 버전에서 포트 전환은 브리지 구성으로 수행됩니다. RouterOS v6.41 이전 버전에서는 포트 전환이 마스터 포트 속성을 사용하여 수행되었습니다.
브리지 VLAN 필터링
브리지 VLAN 필터링은 브리지 내에서 VLAN 인식 Layer 2 포워딩 및 VLAN 태그 수정 기능을 제공합니다. 이 기능 세트는 브리지 동작을 전통적인 이더넷 스위치와 더 유사하게 만들고, VLAN 인터페이스가 브리지된 구성과 비교할 때 스패닝 트리 호환성 문제를 극복할 수 있습니다. 브리지 VLAN 필터링 구성은 STP(IEEE 802.1D), RSTP(IEEE 802.1W) 표준 준수를 위해 강력히 권장되며, RouterOS에서 MSTP(IEEE 802.1s) 지원을 활성화하기 위해 필수적입니다.
주 VLAN 설정은 vlan-filtering
로, 브리지 내 VLAN 인식 및 VLAN 태그 처리를 전역적으로 제어합니다. vlan-filtering=no
로 구성되면 브리지는 VLAN 태그를 무시하고 공유 VLAN 학습(SVL) 모드로 작동하며 패킷의 VLAN 태그를 수정할 수 없습니다. vlan-filtering
를 활성화하면 모든 브리지 VLAN 관련 기능과 독립형 VLAN 학습(IVL) 모드가 활성화됩니다. Layer2 포워딩을 위해 포트를 연결하는 것 외에도 브리지 자체도 인터페이스이므로 포트 VLAN ID(pvid)를 갖습니다.
현재 CRS3xx, CRS5xx 시리즈 스위치, CCR2116, CCR2216 라우터 및 RTL8367, 88E6393X, 88E6191X, 88E6190, MT7621, MT7531, EN7562CT 스위치 칩(RouterOS v7부터)은 브리지 VLAN 필터링과 하드웨어 오프로딩을 동시에 사용할 수 있습니다. 다른 장치들은 브리지 VLAN 필터링이 활성화된 경우 내장 스위치 칩의 이점을 사용할 수 없습니다. 다른 장치들은 기본 VLAN 스위칭 가이드에 설명된 방법에 따라 구성해야 합니다. 부적절한 구성 방법을 사용할 경우 네트워크에서 전송 속도 문제가 발생할 수 있습니다.
브리지 VLAN 테이블
브리지 VLAN 테이블은 각 VLAN에 대한 포트 매핑과 출력 VLAN 태그 동작을 나타냅니다. 태그가 지정된 포트는 해당 VLAN ID 태그를 포함한 프레임을 전송합니다. 태그가 지정되지 않은 포트는 프레임을 전송하기 전에 VLAN 태그를 제거합니다. 프레임 유형이 admit-all 또는 admit-only-untagged-and-priority-tagged로 설정된 브리지 포트는 pvid VLAN에 태그가 지정되지 않은 포트로 자동 추가됩니다.
하위 메뉴: /interface bridge vlan
속성 | 설명 |
bridge (name; Default: none) | 해당 VLAN 항목이 연결될 브리지 인터페이스입니다. |
disabled (yes | no; Default: no) | 브리지 VLAN 항목을 활성화하거나 비활성화합니다. |
tagged (interfaces; Default: none) |
인터페이스 또는 인터페이스 목록에 VLAN 태그 추가 동작이 출력 단계에 적용됩니다. 이 설정은 쉼표로 구분된 값을 허용합니다. 예: |
untagged (interfaces; Default: none) |
인터페이스 또는 인터페이스 목록에 VLAN 태그 제거 동작이 적용된 출력 방향 설정입니다. 이 설정은 쉼표로 구분된 값을 허용합니다. 예: |
vlan-ids (integer 1..4094; Default: 1) |
특정 포트 구성에 대한 VLAN ID 목록. 이 설정은 VLAN ID 범위 및 쉼표로 구분된 값을 모두 허용합니다. 예: |
vlan-ids
매개변수는 VLAN 세트 또는 범위를 지정하는 데 사용할 수 있지만, 단일 브리지 VLAN 테이블 항목에 여러 VLAN을 지정하는 것은 태그가 지정된 포트에만 사용해야 합니다. 액세스 포트에 여러 VLAN이 지정된 경우, PVID 값과 무관하게 태그가 지정되지 않은 패킷이 잘못된 액세스 포트를 통해 전송될 수 있습니다.
브리지 VLAN 필터링을 사용할 때 필요한 모든 인터페이스를 브리지 VLAN 테이블에 추가했는지 확인하십시오. 동일한 장치에서 브리지 VLAN 필터링을 사용하는 포트 통해 라우팅 기능이 정상적으로 작동하려면 브리지 인터페이스에 액세스를 허용해야 합니다(HW 오프로드 VLAN 필터링이 사용되는 경우 스위치 CPU 포트가 자동으로 포함됩니다, 예를 들어 CRS3xx 시리즈 스위치에서), 이는 브리지 인터페이스를 VLAN 테이블에 직접 추가하거나, 태그된 트래픽의 경우 브리지 인터페이스를 태그된 포트로서 추가하고 브리지 인터페이스에 VLAN 인터페이스를 생성하여 수행할 수 있습니다. 예시는 인터-VLAN 라우팅 및 관리 포트 섹션에서 확인할 수 있습니다.
CPU에 액세스를 허용하면 특정 포트에서 실제 라우터/스위치로 액세스가 허용됩니다. 이는 항상 바람직하지 않을 수 있습니다. 특정 VLAN ID 및 포트에서 CPU 액세스가 허용될 경우 장치를 보호하기 위해 적절한 방화벽 필터 규칙을 구현해야 합니다. 방화벽 필터 규칙을 사용하여 특정 서비스에만 액세스를 허용하도록 설정하십시오.
브리지 VLAN 필터링이 잘못 구성되면 보안 문제가 발생할 수 있습니다. 생산 환경에 장치를 배포하기 전에 브리지 VLAN 테이블이 어떻게 작동하는지 완전히 이해하십시오.
브리지 포트 설정
각 브리지 포트는 VLAN 관련 설정을 다수 포함하며, 이는 태그가 없는 VLAN 멤버십, VLAN 태그 지정/해제 동작 및 VLAN 태그 존재 여부에 따른 패킷 필터링을 변경할 수 있습니다.
하위 메뉴: /interface bridge port
속성 | 설명 |
frame-types (admit-all | admit-only-untagged-and-priority-tagged | admit-only-vlan-tagged; Default: admit-all) |
브리지 포트에서 허용되는 입력 프레임 유형을 지정합니다. 이 속성은 |
ingress-filtering (yes | no; Default: yes) |
VLAN 입력 필터링을 활성화하거나 비활성화합니다. 이 기능은 브리지 VLAN 테이블에 수신된 VLAN ID와 일치하는 입력 포트가 있는지 확인합니다. |
pvid (integer 1..4094; Default: 1) |
포트 VLAN ID(PVID)는 태그가 없는 입력 트래픽이 할당될 VLAN을 지정합니다. 이 속성은 |
tag-stacking (yes | no; Default: no) |
모든 패킷을 태그가 없는 패킷으로 처리합니다. 입력 포트에 도착한 패킷은 기존 VLAN 태그가 있더라도 다른 VLAN 태그로 태그가 지정되며, 패킷은 |
브리지 호스트 테이블
브리지 호스트 테이블은 학습된 MAC 주소를 모니터링할 수 있습니다. vlan-filtering
가 활성화된 경우 학습된 VLAN ID도 표시됩니다(독립형 VLAN 학습 또는 IVL 활성화).
[admin@MikroTik] > /interface bridge host print where !local
Flags: X - disabled, I - invalid, D - dynamic, L - local, E - external
# MAC-ADDRESS VID ON-INTERFACE BRIDGE
0 D CC:2D:E0:E4:B3:AA 300 ether3 bridge1
1 D CC:2D:E0:E4:B3:AB 400 ether4 bridge1
VLAN 예시 - 트렁크 포트와 액세스 포트
비활성화된 vlan-filtering
를 사용하여 브리지 생성 VLAN이 완전히 구성되기 전에 장치에 대한 액세스를 잃지 않도록 합니다. 브리지에 관리 액세스가 필요한 경우 관리 액세스 구성 섹션을 참조하십시오.
/interface bridge
add name=bridge1 vlan-filtering=no
브리지 포트를 추가하고 액세스 포트의 pvid
를 지정하여 해당 포트의 태그가 없는 트래픽을 지정된 VLAN에 할당합니다. frame-types
설정을 사용하여 태그가 있는 패킷 또는 태그가 없는 패킷만 허용합니다.
/interface bridge port
add bridge=bridge1 interface=ether2 frame-types=admit-only-vlan-tagged
add bridge=bridge1 interface=ether6 pvid=200 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge1 interface=ether7 pvid=300 frame-types=admit-only-untagged-and-priority-tagged
add bridge=bridge1 interface=ether8 pvid=400 frame-types=admit-only-untagged-and-priority-tagged
브리지 VLAN 항목을 추가하고 해당 항목에 태그가 지정된 포트를 지정합니다. frame-types
가 admit-only-untagged-and-priority-tagged
로 설정된 브리지 포트는 pvid
VLAN에 태그가 지정되지 않은 포트로 자동으로 추가됩니다.
/interface bridge vlan
add bridge=bridge1 tagged=ether2 vlan-ids=200
add bridge=bridge1 tagged=ether2 vlan-ids=300
add bridge=bridge1 tagged=ether2 vlan-ids=400
최종적으로 VLAN 구성 완료 후 브리지 VLAN 필터링을 활성화합니다.
/interface bridge set bridge1 vlan-filtering=yes
선택적 단계는 브리지 인터페이스에서 frame-types=admit-only-vlan-tagged
를 설정하여 기본 무태그 VLAN 1 (pvid=1
)을 비활성화하는 것입니다.
/interface bridge set bridge1 frame-types=admit-only-vlan-tagged
VLAN 예시 - 트렁크 포트와 하이브리드 포트
vlan-filtering를 비활성화한 브리지(bridge)를 생성하여 VLAN이 완전히 구성되기 전에 라우터에 대한 액세스를 잃지 않도록 합니다. 브리지에 관리 액세스가 필요한 경우 관리 액세스 구성 섹션을 참조하십시오.
/interface bridge
add name=bridge1 vlan-filtering=no
브리지 포트를 추가하고 하이브리드 VLAN 포트에 pvid
를 지정하여 태그가 없는 트래픽을 지정된 VLAN에 할당합니다. frame-types
설정을 사용하여 ether2에서 태그가 있는 패킷만 수락합니다.
/interface bridge port
add bridge=bridge1 interface=ether2 frame-types=admit-only-vlan-tagged
add bridge=bridge1 interface=ether6 pvid=200
add bridge=bridge1 interface=ether7 pvid=300
add bridge=bridge1 interface=ether8 pvid=400
브리지 VLAN 항목을 추가하고 해당 항목에 태그가 지정된 포트를 지정합니다. 이 예시에서는 출력 VLAN 태그 지정도 ether6, ether7, ether8 포트에 적용되어 이들을 하이브리드 포트로 변환합니다. frame-types
가 admit-all
로 설정된 브리지 포트는 자동으로 pvid
VLAN의 태그가 없는 포트로 추가됩니다.
/interface bridge vlan
add bridge=bridge1 tagged=ether2,ether7,ether8 vlan-ids=200
add bridge=bridge1 tagged=ether2,ether6,ether8 vlan-ids=300
add bridge=bridge1 tagged=ether2,ether6,ether7 vlan-ids=400
최종적으로 VLAN 구성 완료 후 브리지 VLAN 필터링을 활성화합니다.
/interface bridge set bridge1 vlan-filtering=yes
선택적 단계는 브리지 인터페이스에서 frame-types=admit-only-vlan-tagged
를 설정하여 기본 무태그 VLAN 1 (pvid=1
)을 비활성화하는 것입니다.
/interface bridge set bridge1 frame-types=admit-only-vlan-tagged
액세스 포트를 태그가 없는 포트로 추가할 필요는 없습니다. 왜냐하면 이들은 pvid
에 지정된 VLAN ID를 가진 태그가 없는 포트로 동적으로 추가되기 때문입니다. pvid
가 동일한 모든 포트는 단일 항목으로 태그가 없는 포트로 추가됩니다. 브리지 자체도 포트이며 pvid
값을 가지고 있다는 점을 고려해야 합니다. 이는 브리지 포트도 동일한 pvid
를 가진 포트에 대해 태그가 없는 포트로 추가된다는 의미입니다. 이 동작을 회피하려면 모든 포트(트렁크 포트와 브리지 자체 포함)에 다른 pvid
를 설정하거나, frame-type
을 accept-only-vlan-tagged
로 설정할 수 있습니다.
No Comments