PVLAN을 통한 브리징 기능
이 주제는 PVLAN 브리징 절차 구현과 관련된 고유한 개선 사항을 이해하는 데 도움이 되는 MX 시리즈 라우터에서 브리징이 구현되는 방법에 대해 설명합니다. 서로 다른 FPC와 서로 다른 패킷 포워딩 엔진의 각 포트를 가진 브리징 도메인에 있는 두 개의 포트를 고려합니다. 패킷이 포트에 들어갈 때 태그가 지정된 패킷이라고 가정할 때 흐름은 다음과 같습니다.
시작 프로세스로 VLAN 조회를 수행하여 패킷이 형성하는 브리징 도메인을 결정합니다. 조회 결과에 따라 브리징 도메인 ID(bd_id), 메시 그룹 ID(mg_id)가 식별됩니다. 이러한 매개 변수를 사용하면 이 브리징 도메인에 대해 구성된 다른 관련 정보가 검색됩니다.
이 MAC 주소가 학습되었는지 여부를 확인하기 위해 SMAC(Source MAC Address) 조회가 수행됩니다. 학습된 주소가 아닌 경우 MLP 패킷(MAC 학습 칩으로의 트래픽 플러딩 경로)은 이 브리징 도메인과 매핑된 다른 모든 패킷 전달 엔진으로 전송됩니다. 또한 MLP 패킷도 호스트로 전송됩니다.
튜플(브리지 도메인 ID, VLAN 및 대상 MAC 주소)을 사용하는 대상 MAC 주소(DMAC) 조회입니다.
MAC 주소에 대한 일치가 관찰되면 조회 결과는 송신 다음 홉을 가리킵니다. 송신 패킷 전달 엔진은 패킷을 전달하는 데 사용됩니다.
조회 중에 누락이 발생하면 메시 그룹 ID를 사용하여 플러딩 다음 홉이 결정되어 패킷을 플러딩합니다.
PVLAN 브리징에서는 다음 두 가지 중요한 조건이 고려됩니다. 특정 포트에서 다른 포트로의 전달만 허용됩니다. 패킷 드롭은 패브릭 대역폭을 트래버스하고 소비한 후 송신 인터페이스에서 발생합니다. 트래픽 드롭을 방지하기 위해 패브릭을 통과하기 전에 패킷 드롭 여부에 대한 결정이 내려지므로 DoS 공격 중에 패브릭 대역폭을 절약할 수 있습니다. 동일한 포트(무차별 또는 스위치 간 링크)가 여러 브리지 도메인의 멤버로 나타남을 나타내는 여러 개의 중첩 브리지 도메인이 존재하므로, 한 포트에서 학습된 MAC 주소가 다른 브리지 도메인의 포트에서 표시되어야 합니다. 예를 들어, 프로미스큐어스 포트에서 학습된 MAC 주소는 다양한 커뮤니티 브리지 도메인의 격리된 포트(격리된 브리지 도메인)와 커뮤니티 포트(커뮤니티 브리지 도메인) 모두에 표시되어야 합니다.
이 문제를 해결하기 위해 PVLAN 브리징에 공유 VLAN이 사용됩니다. 공유 VLAN 모델에서는 모든 포트에서 학습된 모든 MAC가 동일한 브리지 도메인(기본 VLAN BD)과 동일한 VLAN(기본 VLAN)에 저장됩니다. 패킷에 대한 VLAN 조회가 완료되면 PVLAN 포트, PVLAN 브리지 도메인 및 PVLAN 태그 또는 ID도 사용됩니다. 공유 VLAN 방법론에서 다음 프로세스가 발생합니다.
이 MAC 주소가 학습되었는지 여부를 확인하기 위해 SMAC(Source MAC Address) 조회가 수행됩니다. 학습된 주소가 아닌 경우 MLP 패킷(MAC 학습 칩으로의 트래픽 플러딩 경로)은 이 브리징 도메인과 매핑된 다른 모든 패킷 전달 엔진으로 전송됩니다. 또한 MLP 패킷도 호스트로 전송됩니다.
튜플(브리지 도메인 ID, VLAN 및 대상 MAC 주소)을 사용하는 대상 MAC 주소(DMAC) 조회입니다.
MAC 주소에 대한 일치가 관찰되면 조회 결과는 송신 다음 홉을 가리킵니다. 송신 패킷 전달 엔진은 패킷을 전달하는 데 사용됩니다.
조회 중에 누락이 발생하면 메시 그룹 ID를 사용하여 플러딩 다음 홉이 결정되어 패킷을 플러딩합니다.
일치가 발생하면 그룹 ID가 VLAN 조회 테이블에서 파생되고 기본 VLAN 포워딩을 적용하기 위해 다음 검증이 수행됩니다.
Steps Source Destination Action Step 1 0 {*} Permit Step 2 {*} 0 Permit Step 3 1 1 Drop Step 4 X <-> Y (X > 1 and Y > 1 and X ≠ Y Drop
여기서 {*}는 임의의 값을 참조하는 정규 표현식 표기법의 와일드카드입니다. 1단계에서는 무차별 또는 스위치 간 링크 포트에서 다른 포트로의 모든 전달이 허용되는지 확인합니다. 2단계에서는 모든 포트에서 무차별 또는 스위치 간 링크 포트로의 모든 전달이 허용되는지 확인합니다. 3단계에서는 격리된 포트와 다른 격리된 포트가 삭제되도록 합니다. 4단계에서는 커뮤니티 포트 포워딩이 동일한 커뮤니티(X == Y) 내에서만 허용되고 커뮤니티 전체(X ≠ Y)에서 삭제되도록 합니다.