Entendendo o DCBX
O protocolo de troca de recursos de ponte de data center (DCBX) é uma extensão do protocolo LLDP (Link Layer Data Protocol). Se você desabilitar o LLDP em uma interface, essa interface não poderá executar DCBX. Se você tentar habilitar o DCBX em uma interface na qual o LLDP está desabilitado, a operação de confirmação de configuração falhará. Os dispositivos de ponte de data center (DCB) usam o DCBX para trocar informações de configuração com pares conectados diretamente.
Noções básicas de DCBX
O DCBX pode:
-
Descubra os recursos de DCB dos pares.
-
Detecte configurações incorretas de recursos DCB ou incompatibilidades entre pares.
-
Configure recursos DCB em pares.
Você pode configurar a operação DCBX para controle de fluxo baseado em prioridade (PFC), aplicativos de Camada 2 e Camada 4, como FCoE e iSCSI, e ETS. O DCBX é habilitado ou desabilitado por interface.
Por padrão, para PFC e ETS, o DCBX negocia automaticamente o estado administrativo e a configuração com o peer conectado de cada interface. Para habilitar a negociação DCBX para aplicativos, você deve configurar os aplicativos, mapeá-los para pontos de código IEEE 802.1p em um mapa de aplicativos e aplicar o mapa de aplicativos às interfaces.
O Junos DCBX não oferece suporte à configuração de PFC baseada em DSCP. O Junos DCBX oferece suporte apenas a PFC baseado em IEEE.
O aplicativo FCoE só precisa ser incluído em um mapa de aplicativo quando você deseja que uma interface troque tipo, comprimento e valores (TLVs) para outros aplicativos além do FCoE. Se o FCoE for o único aplicativo que você deseja que uma interface anuncie, não será necessário usar um mapa de aplicativos. Para ETS, o DCBX envia a configuração do switch para os pares se eles estiverem configurados para aprender a configuração do switch (a menos que você desabilite o envio da recomendação ETS TLV em interfaces no modo IEEE DCBX).
Você pode substituir o comportamento padrão do PFC, do ETS ou de todos os aplicativos mapeados para uma interface desativando a automação para forçar uma interface a habilitar ou desabilitar esse recurso. Você também pode desabilitar a negociação automática de DCBX para aplicativos em uma interface excluindo esses aplicativos do mapa de aplicativos que você aplica a essa interface ou excluindo o mapa de aplicativos da interface.
O comportamento de negociação automática padrão para aplicativos mapeados para uma interface é:
-
O DCBX será habilitado na interface se o dispositivo peer conectado também oferecer suporte ao DCBX.
-
O DCBX será desabilitado na interface se o dispositivo peer conectado não suportar DCBX.
Durante a negociação de recursos, o switch pode enviar a configuração do PFC para um peer anexado se o peer estiver configurado como "disposto" a aprender a configuração do PFC de outros peers. O switch da Juniper Networks não oferece suporte ao autoprovisionamento e não muda sua configuração durante a negociação automática para corresponder à configuração de pares. (O switch da Juniper não está "disposto" a aprender a configuração do PFC com colegas.)
Quando uma porta com DCBX habilitado começa a trocar entradas de tipo, comprimento e valor (TLV), os TLVs LLDP opcionais nessa porta não são anunciados aos vizinhos, de modo que o switch pode interoperar com uma variedade maior de adaptadores de rede convergentes (CNAs) e switches de Camada 2 que oferecem suporte a DCBX.
Modos e suporte DCBX
Esta seção descreve o suporte ao DCBX:
- Modos DCBX (versões)
- Negociação automática
- Suporte CNA para modos DCBX
- Suporte de interface para DCBX
Modos DCBX (versões)
Os dois modos DCBX mais comuns são suportados:
-
IEEE DCBX — TLVs diferentes têm subtipos diferentes (por exemplo, o subtipo para a configuração ETS TLV é 9); o IEEE DCBX Organizationally Unique Identifier (OUI) é 0x0080c2.
-
DCBX versão 1.01 — A versão Converged Enhanced Ethernet (CEE) do DCBX. Tem um subtipo de 2 e um OUI de 0x001b21.
O IEEE DCBX e o DCBX versão 1.01 diferem principalmente no formato do quadro. O DCBX versão 1.01 usa um TLV que inclui todas as informações de atributo DCBX, que são enviadas como sub-TLVs. IEEE DCBX usa um TLV exclusivo para cada atributo DCB.
O Junos não oferece suporte a versões DCBX anteriores à CEE (pré-DCB). Versões mais antigas do DCBX sem suporte têm um subtipo de 1 e um OUI de 0x001b21. O switch descarta quadros LLDP que contêm TLVs DCBX pré-CEE.
A Tabela 1 resume as diferenças entre o IEEE DCBX e o DCBX versão 1.01, incluindo a saída do comando show:
|
Característica |
IEEE DCBX |
DCBX versão 1.01 |
|---|---|---|
|
OUI |
0x0080c2 |
0x001b21 |
|
Formato do quadro |
Envia um TLV separado e exclusivo para cada atributo DCBX. Por exemplo, o IEEE DCBX usa TLVs separados para ETS, PFC e cada aplicativo. As informações de configuração e recomendação são enviadas em diferentes TLVs |
Envia um TLV que inclui todas as informações de atributo DCBX organizadas em sub-TLVs. O bit "disposto" determina se uma interface pode ou não alterar sua configuração para corresponder ao peer conectado. |
|
Configuração simétrica/assimétrica com peer |
Assimétrico ou simétrico |
Somente simétrico |
|
Diferenças no |
|
|
Você pode configurar interfaces para usar os seguintes modos DCBX:
-
IEEE DCBX — A interface usa IEEE DCBX, independentemente da configuração no peer conectado.
-
DCBX versão 1.01 — A interface usa DCBX versão 1.01, independentemente da configuração no peer conectado.
-
Negociação automática — a interface negocia automaticamente com o peer conectado para determinar a versão do DCBX que os peers usam. A negociação automática é o modo DCBX padrão.
Se você configurar um modo DCBX em uma interface, a interface ignorará as unidades de dados do protocolo DCBX (PDUs) que recebe do peer conectado se as PDUs não corresponderem à versão DCBX configurada na interface. Por exemplo, se você configurar uma interface para usar o IEEE DCBX e o peer conectado enviar PDUs LLDP DCBX versão 1.01, a interface ignorará as PDUs versão 1.01. Se você configurar uma interface para usar o DCBX versão 1.01 e o peer enviar PDUs IEEE DCBX LLDP, a interface ignorará as PDUs IEEE DCBX.
Em interfaces que usam o modo IEEE DCBX, o show dcbx neighbors interface interface-name comando operacional não inclui o estado operacional do aplicativo, PFC ou ETS na saída.
Negociação automática
A negociação automática é o modo DCBX padrão. Cada interface negocia automaticamente com seu peer conectado para determinar a versão do DCBX que ambas as interfaces usam para trocar informações DCBX.
Quando uma interface se conecta à sua interface de peer, a interface anuncia TLVs IEEE DCBX para o peer. Se a interface receber uma PDU IEEE DCBX do peer, a interface definirá o modo DCBX como IEEE DCBX. Se a interface receber três TLVs DCBX versão 1.01 do peer, a interface definirá o DCBX versão 1.01 como o modo DCBX.
Se o link oscilar ou o processo LLDP for reiniciado, a interface iniciará o processo de negociação automática novamente. A interface não usa o último modo de comunicação DCBX recebido.
Suporte CNA para modos DCBX
Diferentes fornecedores de CNA oferecem suporte a diferentes versões e recursos do DCBX. A configuração do DCBX que você usa nas interfaces do switch depende dos recursos do DCBX que os CNAs em sua rede suportam.
Suporte de interface para DCBX
Você pode configurar o DCBX em interfaces xe-/ae-/et- com velocidades de 10G/40G/100G e em interfaces de grupo de agregação de enlaces (LAG) cujas interfaces membros são todas interfaces Ethernet 10G/40G/100G.
Tipos de atributo DCBX
O DCBX tem três tipos de atributos:
-
Informativo — esses atributos são trocados usando LLDP, mas não afetam o estado ou a operação do DCBX; eles apenas comunicam informações ao peer. Por exemplo, os TLVs de prioridade de aplicativo são TLVs informativos.
-
Assimétrico — Os valores para esses tipos de atributos não precisam ser os mesmos nas interfaces de peer conectadas. Os peers trocam atributos assimétricos quando os valores de atributo podem diferir em cada interface de peer. As configurações da interface peer podem corresponder ou podem ser diferentes. Por exemplo, os TLVs de configuração e recomendação de ETS são TLVs assimétricos.
-
Simétrico — A intenção é que os valores para esses tipos de atributos sejam os mesmos em ambas as interfaces de peer conectadas. As interfaces peer trocam atributos simétricos para garantir uma configuração DCBX simétrica para esses atributos. Por exemplo, TLVs de configuração de PFC são TLVs simétricos.
As seções a seguir descrevem atributos DCBX assimétricos e simétricos:
Atributos assimétricos
O DCBX passa atributos assimétricos entre interfaces peer conectadas para comunicar informações de parâmetros sobre esses atributos (recursos). A configuração resultante de um atributo pode ser diferente em cada peer, portanto, os parâmetros configurados em uma interface podem não corresponder aos parâmetros na interface do peer conectada.
Existem dois tipos de TLVs de atributos assimétricos:
-
TLV de configuração — Os TLVs de configuração comunicam o estado operacional atual e o estado do bit "disposto". O bit "disposto" comunica se a interface está ou não disposta a aceitar e usar a configuração da interface do par. Se uma interface estiver "disposta", ela usará a configuração que recebe da interface do mesmo nível. (A configuração da interface peer pode substituir a configuração na interface "disposta".) Se uma interface "não estiver disposta", a configuração na interface não poderá ser substituída pela configuração da interface do mesmo nível.
-
Recomendação TLV — Os TLVs de recomendação comunicam os parâmetros que a interface recomenda que a interface de peer conectada deve usar. Quando uma interface envia uma recomendação TLV, se o peer conectado estiver "disposto", o peer conectado altera sua configuração para corresponder aos parâmetros na recomendação TLV.
Atributos simétricos
O DCBX passa atributos simétricos entre interfaces peer conectadas para comunicar informações de parâmetros sobre esses atributos (recursos), com o objetivo de que ambas as interfaces usem a mesma configuração. A intenção é que os parâmetros configurados em uma interface correspondam aos parâmetros na interface de peer conectada.
Existe um tipo de atributo simétrico TLV, o TLV de configuração. Assim como acontece com os atributos assimétricos, os TLVs de configuração de atributo simétrico comunicam o estado operacional atual e o estado do bit "disposto". As interfaces "dispostas" usam os valores de parâmetro de interface peer para o atributo. (A configuração de atributo do peer substitui a configuração na interface "disposta".)
Troca de TLV do protocolo de aplicativo DCBX
O DCBX anuncia os recursos do switch para aplicativos de Camada 2, como FCoE, e aplicativos de Camada 4, como iSCSI:
- Troca de TLV de protocolo de aplicativo
- Protocolo de aplicativo FCoE Troca de TLV
- Desativando o protocolo de aplicativo TLV Exchange
Troca de TLV de protocolo de aplicativo
Para todos os aplicativos, o DCBX anuncia o estado do aplicativo e os pontos de código IEEE 802.1p nas interfaces para as quais o aplicativo está mapeado. Se um aplicativo não estiver mapeado para uma interface, essa interface não anunciará os TLVs do aplicativo. Há uma exceção para a troca de TLV do protocolo de aplicativo FCoE quando o FCoE é o único aplicativo que você deseja que o DCBX anuncie em uma interface.
Protocolo de aplicativo FCoE Troca de TLV
A troca de TLV de protocolo para o aplicativo FCoE depende se o FCoE é o único aplicativo que você deseja que a interface anuncie ou se deseja que a interface troque outros TLVs de aplicativo além de TLVs de FCoE.
Se o FCoE for o único aplicativo que você deseja que o DCBX anuncie em uma interface, o DCBX trocará TLVs do protocolo de aplicativo FCoE por padrão se a interface:
-
Transporta tráfego FCoE (tráfego mapeado pela configuração de CoS para a classe de encaminhamento FCoE)
-
Tem um perfil de notificação de congestionamento com PFC habilitado na prioridade FCoE (ponto de código IEEE 802.1p)
-
Não possui um mapa de aplicação
Se nenhuma configuração de CoS para FCoE for mapeada para uma interface, essa interface não trocará TLVs de protocolo de aplicativo FCoE.
Se você deseja que o DCBX anuncie o FCoE e outros aplicativos em uma interface, você deve especificar todos os aplicativos, incluindo o FCoE, em um mapa de aplicativos e aplicar o mapa de aplicativos às interfaces desejadas.
Se um mapa de aplicativo for aplicado a uma interface, o aplicativo FCoE deverá ser configurado explicitamente no mapa de aplicativo ou a interface não trocará TLVs FCoE.
Quando o DCBX anuncia o aplicativo FCoE, ele anuncia o estado do FCoE e os pontos de código IEEE 802.1p. Se um dispositivo peer conectado a uma interface de switch não oferecer suporte a FCoE, o DCBX usará a negociação automática para marcar a interface como "FCoE inativo" e o FCoE será desativado nessa interface.
Desativando o protocolo de aplicativo TLV Exchange
Para desabilitar a troca de protocolo de aplicativo DCBX para todos os aplicativos em uma interface, emita o set protocols dcbx interface interface-name applications no-auto-negotiation comando.
Você também pode desativar a troca de protocolo de aplicativo DCBX para aplicativos em uma interface excluindo o mapa do aplicativo da interface ou excluindo um aplicativo específico do mapa do aplicativo. No entanto, quando você exclui um aplicativo de um mapa de aplicativo, o protocolo de aplicativo não é mais trocado em nenhuma interface que usa esse mapa de aplicativo.
DCBX e PFC
Depois de habilitar o PFC em uma interface de switch, o DCBX usa a negociação automática para controlar o estado operacional da funcionalidade PFC.
Se o dispositivo peer conectado à interface oferecer suporte a PFC e for provisionado de forma compatível com o switch, o DCBX definirá o estado operacional do PFC como habilitado. Se o dispositivo peer conectado à interface não oferecer suporte a PFC ou não for provisionado de forma compatível com o switch, o DCBX definirá o estado operacional como desativado. (O PFC deve ser simétrico.)
Se o peer anunciar que está "disposto" a aprender sua configuração de PFC a partir do switch, o DCBX empurra a configuração de PFC do switch para o peer e não verifica o estado administrativo do peer.
Você pode substituir manualmente o controle DCBX do estado operacional do PFC por interface desabilitando a negociação automática. Se você desabilitar a negociação automática em uma interface na qual você configurou o PFC, o PFC será habilitado nessa interface, independentemente da configuração do peer. Para desabilitar o PFC em uma interface, não configure o PFC nessa interface. Para desabilitar a negociação automática em uma interface, defina priority-flow-controlpriority-flow-control no-auto-negotiation no nível da [protocols dcbx interface interface-name] hierarquia. Por exemplo:
protocols {
dcbx {
interface {
xe-0/0/1 {
priority-flow-control no-auto-negotiation;
}
}
}
}
DCBX e ETS
Esta seção descreve:
Anúncio ETS DCBX padrão
Se você não configurar o ETS em uma interface, o switch criará automaticamente um grupo de prioridade padrão que contém todas as prioridades (classes de encaminhamento, que representam filas de saída) e atribui 100% da largura de banda de saída da porta a esse grupo de prioridades. O grupo de prioridade padrão é transparente. Ele não aparece na configuração e é usado para anúncio DCBX. O DCBX anuncia o grupo de prioridade padrão, suas prioridades e a largura de banda atribuída.
Se você configurar o ETS em uma interface, o DCBX anuncia:
-
Cada grupo prioritário na interface
-
As prioridades em cada grupo prioritário
-
As propriedades de largura de banda de cada grupo de prioridade e prioridade
Qualquer prioridade nessa interface que não faça parte de um grupo de prioridade configurado explicitamente (conjunto de classes de encaminhamento) é atribuída ao grupo de prioridade padrão gerado automaticamente e não recebe largura de banda. Se você configurar o ETS em uma interface, cada classe de encaminhamento (prioridade) nessa interface para a qual você deseja encaminhar o tráfego deve pertencer a um conjunto de classes de encaminhamento (grupo prioritário).
Anúncio ETS e configuração de pares
O DCBX não controla o estado operacional ETS (agendamento hierárquico) do switch. Se o peer conectado estiver configurado como "disposto", o DCBX empurra a configuração ETS do switch para os pares do switch se a recomendação TLV ETS estiver habilitada (ela é habilitada por padrão). Se o peer não oferecer suporte ao ETS ou não for provisionado consistentemente com o switch, o DCBX não alterará o estado operacional do ETS no switch. O estado operacional do ETS permanece habilitado ou desabilitado com base apenas na configuração de agendamento hierárquico do switch e é habilitado por padrão.
Quando o ETS é configurado, o DCBX anuncia os grupos prioritários, as prioridades nos grupos prioritários e a configuração de largura de banda para os grupos prioritários e prioridades. Qualquer prioridade (essencialmente uma classe ou fila de encaminhamento) que não faça parte de um grupo de prioridades não tem propriedades de agendamento e não recebe largura de banda.
Você pode substituir manualmente se o DCBX anuncia o estado ETS para o peer por interface desabilitando a negociação automática. Isso não afeta o estado ETS no switch ou no peer, mas impede que o switch envie a recomendação TLV ou a configuração TLV para o peer conectado. Para desabilitar o ETS em uma interface, não configure grupos de prioridade (conjuntos de classes de encaminhamento) na interface.
Recomendação ETS TLV
A recomendação ETS TLV comunica as configurações ETS que o switch deseja que a interface peer conectada use. Se a interface do peer estiver "disposta", ela mudará sua configuração para corresponder à configuração na Recomendação ETS TLV. Por padrão, as interfaces do switch enviam a recomendação ETS TLV para o peer. As configurações comunicadas são as configurações de ETS de saída definidas pela configuração do agendamento hierárquico na interface.
Recomendamos que você use as mesmas configurações de ETS no peer conectado que você usa na interface do switch e que deixe a recomendação de ETS TLV habilitada. No entanto, em interfaces que usam IEEE DCBX como o modo DCBX, se você quiser uma configuração assimétrica entre a interface do switch e o peer conectado, você pode desabilitar a recomendação ETS TLV incluindo a no-recommendation-tlv declaração no [edit protocols dcbx interface interface-name enhanced-transmission-selection] nível de hierarquia.
Você pode desabilitar a recomendação de ETS TLV somente quando o modo DCBX na interface for IEEE DCBX. Desabilitar a recomendação ETS TLV não terá efeito se o modo DCBX na interface for DCBX versão 1.01. (O IEEE DCBX usa TLVs de atributo de aplicativo separados, mas o DCBX versão 1.01 envia todos os atributos de aplicativo no mesmo TLV e usa sub-TLVs para separar as informações.)
Se você desabilitar a recomendação de ETS TLV, o switch ainda enviará a configuração de ETS TLV para o peer conectado. O resultado é que o peer conectado é informado sobre a configuração do switch DCBX ETS, mas mesmo que o peer esteja "disposto", o peer não altera sua configuração para corresponder à configuração do switch. Essa é uma configuração assimétrica — as duas interfaces podem ter valores de parâmetro diferentes para o atributo ETS.
Por exemplo, se você quiser que um CNA conectado a uma interface de switch tenha alocações de largura de banda diferentes da configuração do ETS do switch, você pode desabilitar a recomendação de ETS TLV e configurar o CNA para a largura de banda desejada. A interface do switch e o CNA trocam parâmetros de configuração, mas o CNA não altera sua configuração para corresponder à configuração da interface do switch.