Funções de ponte com PVLANs
Este tópico descreve como a ponte é implementada em roteadores da Série MX que ajudarão a entender os aprimoramentos exclusivos envolvidos na implementação de procedimentos de ponte PVLAN. Considere duas portas em um domínio de ponte com as respectivas portas em diferentes FPCs e diferentes mecanismos de encaminhamento de pacotes. Quando um pacote entra em uma porta, o seguinte é o fluxo, assumindo que seja um pacote com tags:
Como processo inicial, uma busca por VLAN é realizada para determinar qual domínio de ponte os formulários de pacotes. O resultado da busca identifica a id de domínio de ponte (bd_id), a id do grupo mesh (mg_id). Com esses parâmetros, outras informações relacionadas configuradas para este domínio de ponte são descobertas.
Uma busca por endereço MAC de origem (SMAC) é realizada para descobrir se esses endereços MAC são aprendidos ou não. Se não for um endereço aprendido, um pacote MLP (rota para inundação de tráfego para chips de aprendizado MAC) é enviado para todos os outros Mecanismos de encaminhamento de pacotes que são mapeados com este domínio de ponte. Além disso, um pacote MLP também é enviado ao host.
Uma olhada no endereço MAC de destino (DMAC) usando o tuple (ID de domínio de ponte, VLAN e endereço MAC de destino).
Se uma correspondência for observada para o endereço MAC, o resultado da busca aponta para a saída no próximo salto. O mecanismo de encaminhamento de pacotes de saída é usado para encaminhar o pacote.
Se ocorrer uma falha durante a busca, o próximo salto de inundação é determinado usando a ID do grupo de malha para inundar o pacote.
As duas condições significativas a seguir são consideradas na ponte PVLAN: É permitida apenas uma porta específica para outro encaminhamento de porta. Uma queda de pacote ocorre na interface de saída após atravessar e consumir a largura de banda da malha. Para evitar a queda do tráfego, a decisão sobre se o pacote precisa ser descartado chega antes de atravessar a malha, economizando assim a largura de banda da malha durante os ataques do DoS. Como existem vários domínios de ponte sobrepostos, o que denota que a mesma porta (link promíscuo ou interswitch) aparece como um membro em vários domínios de ponte, os endereços MAC aprendidos em uma porta devem ser visíveis para portas em outro domínio de ponte. Por exemplo, um endereço MAC aprendido em uma porta promíscua deve ser visível tanto para uma porta isolada (domínio de ponte isolada) quanto para uma porta comunitária (domínio de ponte comunitária) nos vários domínios da ponte da comunidade.
Para resolver esse problema, uma VLAN compartilhada é usada para a ponte PVLAN. No modelo VLAN compartilhado, todos os MACs aprendidos em todas as portas são armazenados no mesmo domínio de ponte (VLAN principal BD) e na mesma VLAN (VLAN primária). Quando a busca por VLAN é feita para o pacote, também são usados a porta PVLAN, o domínio da ponte PVLAN e a tag de PVLAN ou ID. Os processos a seguir ocorrem com uma metodologia VLAN compartilhada:
Uma busca por endereço MAC de origem (SMAC) é realizada para descobrir se este endereço MAC é aprendido ou não. Se não for um endereço aprendido, um pacote MLP (rota para inundação de tráfego para chips de aprendizado MAC) é enviado para todos os outros Mecanismos de encaminhamento de pacotes que são mapeados com este domínio de ponte. Além disso, um pacote MLP também é enviado ao host.
Uma olhada no endereço MAC de destino (DMAC) usando o tuple (ID de domínio de ponte, VLAN e endereço MAC de destino).
Se uma correspondência for observada para o endereço MAC, o resultado da busca aponta para a saída no próximo salto. O mecanismo de encaminhamento de pacotes de saída é usado para encaminhar o pacote.
Se ocorrer uma falha durante a busca, o próximo salto de inundação é determinado usando a ID do grupo de malha para inundar o pacote.
Se uma correspondência ocorrer, a ID do grupo é derivada da tabela de observação de VLAN e a validação a seguir é realizada para aplicar o encaminhamento primário de 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
Aqui, {*} é um curinga na notação de expressão regular referindo-se a qualquer valor. A etapa 1 garante que todo o encaminhamento das portas de enlaces promíscuos ou entre switches para qualquer outra porta seja permitido. A etapa 2 garante que todo o encaminhamento de qualquer porta a portas de enlaces promíscuos ou interswitch seja permitido. A etapa 3 garante que qualquer porta isolada para outra porta isolada seja descartada. A etapa 4 garante que o encaminhamento de portas da comunidade seja permitido apenas dentro da mesma comunidade (X == Y) e seja descartado quando estiver em toda a comunidade (X ≠ Y).