Controle de fluxo Ethernet - Ethernet flow control

Captura de tela do Wireshark de um frame Ethernet "Pause"

O controle de fluxo Ethernet é um mecanismo para interromper temporariamente a transmissão de dados nas redes de computadores da família Ethernet . O objetivo desse mecanismo é evitar a perda de pacotes na presença de congestionamento da rede .

O primeiro mecanismo de controle de fluxo, o quadro de pausa , foi definido pelo padrão IEEE 802.3x . O controle de fluxo baseado em prioridade subsequente , conforme definido no padrão IEEE 802.1Qbb , fornece um mecanismo de controle de fluxo em nível de link que pode ser controlado independentemente para cada classe de serviço (CoS), conforme definido pelo IEEE P802.1p e é aplicável a redes de data center bridging (DCB) e para permitir a priorização de voz sobre IP (VoIP), vídeo sobre IP e tráfego de sincronização de banco de dados sobre tráfego de dados padrão e transferências de arquivos em massa.

Descrição

Uma estação emissora (computador ou switch de rede ) pode estar transmitindo dados mais rápido do que a outra extremidade do link pode aceitá-los. Usando o controle de fluxo , a estação receptora pode sinalizar ao remetente solicitando a suspensão das transmissões até que o receptor os alcance. O controle de fluxo na Ethernet pode ser implementado na camada de enlace .

O primeiro mecanismo de controle de fluxo, o quadro de pausa , foi definido pela força-tarefa do Instituto de Engenheiros Elétricos e Eletrônicos (IEEE), que definiu segmentos de link Ethernet full duplex . O padrão IEEE 802.3x foi emitido em 1997.

Pausar quadro

Um nó de rede sobrecarregado pode enviar um quadro de pausa, que interrompe a transmissão do remetente por um período de tempo especificado. Um controlo de acesso ao meio (MAC) quadro ( EtherType 0x8808) é utilizado para transportar o comando de pausa, com o conjunto de código de operação de controlo para 0x0001 ( hexadecimal ). Somente estações configuradas para operação full-duplex podem enviar quadros PAUSE. Quando uma estação deseja pausar a outra extremidade de um link, ela envia um quadro de pausa para o endereço de destino exclusivo de 48 bits desse link ou para o endereço multicast reservado de 48 bits de 01-80-C2 Budap- 01 . O uso de um endereço conhecido torna desnecessário para uma estação descobrir e armazenar o endereço da estação na outra extremidade do link.

Outra vantagem de usar esse endereço multicast surge do uso do controle de fluxo entre os switches da rede. O endereço multicast específico usado é selecionado a partir de um intervalo de endereços que foi reservado pelo padrão IEEE 802.1D , que especifica a operação dos interruptores usados ​​para fazer a ponte . Normalmente, um quadro com um destino multicast enviado para um switch será encaminhado para todas as outras portas do switch. No entanto, esse intervalo de endereço multicast é especial e não será encaminhado por um switch compatível com 802.1D. Em vez disso, os quadros enviados para esse intervalo são entendidos como quadros destinados a serem executados apenas dentro do switch.

Um quadro de pausa inclui o período de tempo de pausa que está sendo solicitado, na forma de um inteiro sem sinal de dois bytes (16 bits) (0 a 65535). Este número é a duração solicitada da pausa. O tempo de pausa é medido em unidades de pausa "quanta", onde cada unidade é igual a 512 tempos de bits .

Em 1999, vários fornecedores apoiavam o recebimento de quadros de pausa, mas poucos implementavam o envio deles.

Problemas

Uma motivação original para o quadro de pausa era lidar com controladores de interface de rede (NICs) que não tinham buffer suficiente para lidar com a recepção em velocidade total. Esse problema não é tão comum com avanços nas velocidades de barramento e tamanhos de memória. Um cenário mais provável é o congestionamento da rede em um switch. Por exemplo, um fluxo pode entrar em um switch em um link de velocidade mais alta do que aquele que sai, ou vários fluxos podem entrar em dois ou mais links que totalizam mais do que a largura de banda de um link de saída. Isso acabará por esgotar qualquer quantidade de buffer no switch. No entanto, bloquear o link de envio fará com que todos os fluxos por esse link sejam atrasados, mesmo aqueles que não estão causando nenhum congestionamento. Essa situação é um caso de bloqueio de ponta de linha (HOL) e pode acontecer com mais frequência em switches da rede principal devido ao grande número de fluxos geralmente agregados. Muitos switches usam uma técnica chamada de filas de saída virtuais para eliminar o bloqueio HOL internamente, portanto, nunca enviarão quadros de pausa.

Esforços subsequentes

Gestão de congestionamento

Outro esforço começou em março de 2004 e, em maio de 2004, tornou-se a Força-Tarefa de Gerenciamento de Congestionamento IEEE P802.3ar. Em maio de 2006, os objetivos da força-tarefa foram revisados ​​para especificar um mecanismo para limitar a taxa de dados transmitidos em cerca de 1% de granularidade. O pedido foi retirado e a força-tarefa foi dissolvida em 2008.

Controle de fluxo prioritário

O controle de fluxo Ethernet perturba a classe de serviço Ethernet (definida em IEEE 802.1p ), pois os dados de todas as prioridades são interrompidos para limpar os buffers existentes que também podem consistir em dados de baixa prioridade. Como solução para esse problema, a Cisco Systems definiu sua própria extensão de controle de fluxo de prioridade para o protocolo padrão. Esse mecanismo usa 14 bytes do preenchimento de 42 bytes em um quadro de pausa regular. O opcode de controle MAC para um quadro de pausa de prioridade é 0x0101. Ao contrário da pausa original, a pausa prioritária indica o tempo de pausa em quanta para cada uma das oito classes de prioridade separadamente. A extensão foi posteriormente padronizada pelo projeto Priority-based Flow Control (PFC) autorizado em 27 de março de 2008, como IEEE 802.1Qbb. O rascunho 2.3 foi proposto em 7 de junho de 2010. Claudio DeSanti, da Cisco, foi o editor. O esforço fez parte do grupo de tarefas de ponte de data center , que desenvolveu Fibre Channel sobre Ethernet .

Veja também

Referências

links externos