O OpenFlow é a interface de comunicação definida entre as camadas de controle e encaminhamento de uma arquitetura de rede definida por software. Com o OpenFlow, você pode realizar o gerenciamento centralizado do encaminhamento de dados para dispositivos físicos e virtuais por meio de controladores.
O OpenFlow separa as funções de encaminhamento de dados e de decisão de roteamento. Ele mantém a função de encaminhamento baseada em fluxo e emprega um controlador separado para tomar decisões de roteamento. Um switch OpenFlow se comunica com o controlador por meio de um canal OpenFlow. Um canal OpenFlow pode ser criptografado usando TLS ou executado diretamente sobre TCP. Um switch OpenFlow troca mensagens de controle com o controlador por meio de um canal OpenFlow para realizar as seguintes operações:
Salvo indicação em contrário, um switch se refere a um switch OpenFlow neste documento.
Figura 1 Diagrama de rede OpenFlow
Os switches OpenFlow incluem os seguintes tipos:
O OpenFlow é compatível com os seguintes tipos de portas:
métodos não OpenFlow. Por exemplo, as interfaces agregadas são portas lógicas. Uma porta lógica pode ser uma porta de entrada ou uma porta de saída.
Exceto o tipo Any, todas as portas reservadas podem ser usadas como portas de saída. Somente os tipos Controller e
Os tipos locais podem ser usados como portas de entrada.
Salvo indicação em contrário, um switch OpenFlow refere-se a uma instância OpenFlow neste documento.
Você pode configurar uma ou mais instâncias do OpenFlow no mesmo dispositivo. Um controlador considera cada instância do OpenFlow como um switch OpenFlow separado e implementa instruções de encaminhamento para ele.
Uma instância do OpenFlow está associada a VLANs. As entradas de fluxo têm efeito apenas em pacotes dentro de VLANs associadas à instância do OpenFlow.
As configurações de uma instância do OpenFlow entram em vigor somente depois que a instância do OpenFlow é ativada.
O controlador pode implementar entradas de fluxo em uma instância OpenFlow somente depois que a instância OpenFlow relatar as seguintes informações do dispositivo ao controlador:
Uma instância OpenFlow ativada deve ser reativada quando qualquer configuração de instância OpenFlow for alterada.
Após a reativação, a instância do OpenFlow é desconectada de todos os controladores e, em seguida, reconectada a eles.
Um switch OpenFlow envia informações sobre as seguintes portas para o controlador:
No modo solto, uma porta pertence à instância do OpenFlow quando as VLANs associadas à instância do OpenFlow se sobrepõem às VLANs permitidas da porta. Caso contrário, uma porta pertence a uma instância do OpenFlow somente quando as VLANs associadas à instância do OpenFlow estiverem dentro da lista de VLANs permitidas da porta.
Um switch OpenFlow faz a correspondência de pacotes com uma ou mais tabelas de fluxo. Uma tabela de fluxo contém entradas de fluxo e os pacotes são combinados com base na precedência de correspondência das entradas de fluxo.
As tabelas de fluxo OpenFlow incluem os seguintes tipos:
Uma tabela de fluxo MAC-IP fornece as seguintes ações:
Para obter mais informações, consulte "Apêndice B Tabela de fluxo MAC-IP".
Uma entrada de fluxo contém os seguintes campos:
As ações incluem os seguintes tipos:
Figura 2 Componentes da entrada de fluxo
O processamento do pipeline OpenFlow define como os pacotes interagem com as tabelas de fluxo contidas em um switch.
As tabelas de fluxo são numeradas sequencialmente, começando em 0. O pacote é primeiramente combinado com as entradas de fluxo da tabela de fluxo 0.
Quando um pacote corresponde a uma entrada de fluxo, o OpenFlow Switch atualiza o conjunto de ações para o pacote e passa o pacote para a próxima tabela de fluxo.
Figura 3 Fluxo de trabalho de encaminhamento do OpenFlow
Toda tabela de fluxo deve suportar uma entrada de fluxo table-miss para processar as falhas na tabela.
A entrada de fluxo table-miss tem a prioridade mais baixa e se comporta como qualquer outra entrada de fluxo.
Uma entrada de fluxo pode apontar para um grupo, representando métodos adicionais de encaminhamento.
Figura 4 Componentes de entrada de grupo
Os medidores permitem a implementação de QoS, como limitação de taxa.
Figura 5 Componentes de entrada do medidor
Uma banda de medidor contém os seguintes campos:
Figura 6 Componentes da banda
O canal OpenFlow é a interface que conecta cada switch OpenFlow a um controlador. O controlador usa o canal OpenFlow para trocar mensagens de controle com o switch para realizar as seguintes operações:
O canal OpenFlow geralmente é criptografado usando TLS. Além disso, um canal OpenFlow pode ser executado diretamente sobre TCP.
O protocolo OpenFlow é compatível com os seguintes tipos de mensagens: controlador-para-comutador, assíncrono e simétrico. Cada tipo de mensagem tem seus próprios subtipos.
As mensagens do controlador para o switch são iniciadas pelo controlador e usadas para gerenciar ou inspecionar diretamente o estado do switch. As mensagens do controlador para o switch podem ou não exigir uma resposta do switch.
As mensagens do controlador para o comutador incluem os seguintes subtipos:
Os switches enviam mensagens assíncronas aos controladores para informar a chegada de um pacote ou a mudança de estado do switch. Por exemplo, quando uma entrada de fluxo é removida devido ao tempo limite, o switch envia uma mensagem de fluxo removido para informar o controlador.
As mensagens assíncronas incluem os seguintes subtipos:
pacote ou pode ser configurado para armazenar pacotes em buffer no switch. Se o evento de entrada de pacote estiver configurado para armazenar pacotes em buffer, os eventos de entrada de pacote conterão apenas uma fração do cabeçalho do pacote e um ID de buffer. O controlador processa o pacote completo ou a combinação do cabeçalho do pacote e a ID do buffer. Em seguida, o controlador envia uma mensagem de saída de pacote para instruir o switch a processar o pacote.
As mensagens simétricas são enviadas sem solicitação, em qualquer direção. As mensagens simétricas contêm os seguintes subtipos:
inicialização.
Um switch OpenFlow suporta os seguintes temporizadores:
Um switch pode estabelecer conexões com vários controladores. Quando a operação do OpenFlow é iniciada, um switch é conectado simultaneamente a vários controladores no estado Equal. Um controlador pode solicitar a alteração de sua função a qualquer momento. A função de controlador contém os seguintes tipos:
O controlador não pode enviar mensagens de controlador para comutador para realizar as seguintes operações:
Por padrão, o controlador não recebe mensagens assíncronas de switch, exceto mensagens de status de porta. O controlador pode enviar mensagens Asynchronous-Configuration para definir os tipos de mensagens assíncronas que deseja receber.
Uma instância do OpenFlow pode se conectar a um ou mais controladores, dependendo do modo de conexão do controlador usado pela instância do OpenFlow:
O canal OpenFlow pode ter uma conexão principal e várias conexões auxiliares.
Quando um switch OpenFlow é desconectado de todos os controladores, o switch OpenFlow é configurado em um dos seguintes modos:
O switch OpenFlow encaminha o tráfego com base nas tabelas de fluxo quando se reconecta a um controlador com êxito.
Especificação de switch OpenFlow versão 1.3.3
system-view
openflow instance instance-id
datapath-id id
Por padrão, o ID do caminho de dados de uma instância do OpenFlow contém o ID da instância e o endereço MAC da ponte do dispositivo. Os 16 bits superiores são o ID da instância e os 48 bits inferiores são o endereço MAC da ponte do dispositivo.
O ID do caminho de dados identifica exclusivamente um switch OpenFlow (instância OpenFlow). Não defina o mesmo ID de caminho de dados para diferentes switches OpenFlow.
tcp dscp dscp-value
Por padrão, nenhum valor DSCP é definido para os pacotes OpenFlow.
Quando você associar uma instância do OpenFlow a VLANs, siga estas diretrizes:
system-view
openflow instance instance-id
classification vlan vlan-id [ mask vlan-mask ] [ loosen ]
Por padrão, o modo de instância do OpenFlow não está configurado.
O tráfego nas VLANs de gerenciamento em banda é encaminhado no processo de encaminhamento normal, em vez de no processo de encaminhamento do OpenFlow. As VLANs de gerenciamento de banda interna são usadas por uma instância do OpenFlow para estabelecer canais do OpenFlow para os controladores.
As portas atribuídas apenas a VLANs de gerenciamento em banda não são portas OpenFlow.
As VLANs de gerenciamento de banda interna configuradas para uma instância do OpenFlow no modo VLAN devem estar na lista de VLANs associadas à instância do OpenFlow.
Se uma instância OpenFlow no modo global ou VLAN se conectar a um controlador por meio de uma interface Ethernet que não seja de gerenciamento, configure a VLAN à qual a interface pertence como uma VLAN de gerenciamento em banda.
system-view
openflow instance instance-id
in-band management vlan vlan-id-list
Por padrão, nenhuma VLAN de gerenciamento em banda é configurada para uma instância do OpenFlow.
A ID da tabela de fluxo de extensibilidade deve ser maior que a ID da tabela de fluxo MAC-IP.
system-view
openflow instance instance-id
flow-table { extensibility extensibility-table-id | mac-ip mac-ip-table-id }*
Por padrão, uma instância do OpenFlow contém uma tabela de fluxo de extensibilidade com ID 0.
flow-entry max-limit limit-value
A configuração padrão é 65535.
Quando o número máximo é atingido, a instância do OpenFlow não aceita novas entradas de fluxo para essa tabela e envia uma notificação de falha de implementação para o controlador.
precedência arp dinâmica
Por padrão, uma instância do OpenFlow não permite que entradas ARP dinâmicas substituam entradas ARP do OpenFlow.
Somente as tabelas de fluxo MAC-IP suportam esse recurso.
permit-port-type member-port
Por padrão, as tabelas de fluxo implantadas não podem incluir portas-membro de agregação de links.
default table-miss permit
Por padrão, a ação padrão das entradas de fluxo table-miss é descartar os pacotes.
system-view
openflow instance instance-id
Por padrão, o modo múltiplo é usado.
Execute esta tarefa para impedir que uma instância do OpenFlow relate informações de controladores sobre os seguintes tipos de interfaces que pertencem à instância do OpenFlow:
system-view
openflow instance instance-id
forbidden port { l3-physical-interface | vlan-interface | vsi-interface } *
Por padrão, nenhum tipo de porta é impedido de ser relatado aos controladores. Todas as portas que pertencem a uma instância do OpenFlow são informadas aos controladores.
As palavras-chave l3-physical-interface e vsi-interface não são compatíveis com a versão atual do software.
system-view
openflow instance instance-id
active instance
Por padrão, uma instância do OpenFlow não é ativada.
As configurações de atributo de instância OpenFlow de uma instância OpenFlow podem entrar em vigor sem a ativação da instância OpenFlow.
system-view
openflow instance instance-id
texto de descrição
Por padrão, uma instância do OpenFlow não tem uma descrição.
controller echo-request interval interval
A configuração padrão é de 5 segundos.
controller connect interval interval
A configuração padrão é 60 segundos.
mac-learning forbidden
Por padrão, o aprendizado de endereço MAC é permitido para VLANs associadas a uma instância do OpenFlow.
A configuração não entra em vigor nas VLANs de gerenciamento em banda.
mac-ip dynamic-mac aware
Por padrão, uma instância do OpenFlow ignora os endereços MAC dinâmicos nas instruções de entrada de fluxo de consulta e exclusão enviadas pelos controladores.
Somente as tabelas de fluxo MAC-IP suportam esse recurso.
lista de identificação de controlador de arp de pacote proibido
Por padrão, não há controladores configurados para os quais os pacotes ARP são proibidos de serem relatados.
Esse recurso proíbe uma instância do OpenFlow de relatar pacotes ARP aos controladores especificados para evitar que os controladores sejam afetados por um grande número de pacotes.
flow-log disable
Por padrão, o registro em log das modificações bem-sucedidas da tabela de fluxo está ativado.
loop-protection enable
Por padrão, a proteção de loop está desativada para uma instância do OpenFlow.
Depois que uma instância do OpenFlow for desativada, você poderá ativar a proteção de loop para a instância do OpenFlow a fim de evitar loops. Esse recurso permite que a instância OpenFlow desativada crie uma entrada de fluxo para descartar todo o tráfego nessas VLANs.
Certifique-se de que a configuração de uma conexão auxiliar não esteja em conflito com a configuração da conexão principal . Caso contrário, a conexão auxiliar não poderá ser estabelecida.
system-view
openflow instance instance-id
controller controller-id address { ip ipv4-address | ipv6 ipv6-address } [ port port-number ] [ local address { ip local-ipv4-address | ipv6 local-ipv6-address } [ port local-port-number ] ] [ ssl ssl-policy-name ]
controller id auxiliary auxiliary-id transport { tcp | udp | ssl ssl-policy-name } [ address { ip ipv4-address | ipv6 ipv6-address } ] [ port port-number ]
fail-open mode { secure | smart | standalone }
tcp-connection backup
Por padrão, uma instância do OpenFlow não tem uma conexão principal com um controlador. O endereço IP de origem deve ser o endereço IP de uma porta pertencente a uma instância do OpenFlow. Caso contrário, o switch OpenFlow pode não conseguir estabelecer uma conexão com o controlador. Por padrão, uma instância do OpenFlow não tem conexões auxiliares com um controlador. Se nenhum endereço IP de destino e número de porta forem especificados, a conexão auxiliar usará o endereço IP de destino e o número de porta configurados para a conexão principal. Por padrão, o modo seguro é usado. Por padrão, o backup da conexão OpenFlow está ativado. Esse recurso evita a interrupção da conexão quando ocorre uma alternância entre ativo e em espera. Esse recurso está disponível somente em uma malha IRF com dois dispositivos membros. Esse recurso está disponível apenas para conexões OpenFlow estabelecidas por TCP.
Normalmente, uma instância do OpenFlow se conecta ativamente ao controlador atuando como um cliente TCP/SSL. Depois que o servidor SSL é ativado para uma instância do OpenFlow, o controlador atua como cliente SSL e se conecta ativamente à instância do OpenFlow. Para obter mais informações sobre SSL, consulte o Guia de configuração de segurança.
Esse recurso pode entrar em vigor sem a ativação de uma instância do OpenFlow.
Para reconfigurar o servidor SSL, primeiro execute a forma undo do comando para excluir a configuração existente do servidor SSL.
system-view
openflow instance instance-id
listening port port-number ssl ssl-policy-name
Por padrão, uma instância do OpenFlow não está configurada para atuar como um servidor SSL que escuta os controladores.
Execute esta tarefa para obter todas as entradas de fluxo da Camada 3 nas tabelas de fluxo MAC-IP do controlador novamente se as entradas de fluxo da Camada 3 tiverem sido substituídas.
system-view
openflow instance instance-id
refresh ip-flow
Depois que uma interface é desligada pelo OpenFlow, o campo Estado atual exibe OFP DOWN no campo
saída do comando da interface de exibição.
Você pode usar o comando undo openflow shutdown para ativar uma interface desativada pelo OpenFlow. A interface também pode ser ativada por mensagens de modificação de porta dos controladores.
system-view
interface interface-type interface-number
openflow shutdown
Por padrão, uma interface não é desligada pelo OpenFlow.
Executar comandos de exibição em qualquer visualização.
Tarefa | Comando |
Exibir as informações detalhadas de uma instância OpenFlow. | exibir instância de fluxo aberto [ instance-id ] |
Exibir informações do controlador para uma instância OpenFlow. | exibir o ID da instância do openflow { controller [ controller-id ] | listado } |
Exibir informações de conexão auxiliar. | display openflow instance instance-id auxiliary [ controller-id [ auxiliary-id ] ] ] |
Exibir entradas da tabela de fluxo para uma instância OpenFlow. | exibir o ID da instância do openflow tabela de fluxo [ table-id ] |
Exibir informações da tabela de grupos para uma instância do OpenFlow. | exibir o ID da instância do openflow grupo [ group-id ] |
Exibir informações da tabela de medidores para uma instância OpenFlow. | exibir o ID da instância do openflow medidor [ meter-id ] |
Exibir informações resumidas da instância OpenFlow. | exibir resumo do fluxo aberto |
Limpar estatísticas sobre pacotes que um controlador envia e recebe para uma instância OpenFlow. | reset openflow instance instance-id { controller [ controller-id ] | listado } estatísticas |
Conforme mostrado na Figura 7, um switch OpenFlow se comunica com o controlador. Execute as seguintes tarefas no switch OpenFlow:
Figura 7 Diagrama de rede
# Crie as VLANs 4092 e 4094.
<Switch> system-view
[Switch] vlan 4092
[Switch-vlan4092] quit
[Switch] vlan 4094
[Switch-vlan4094] quit
# Crie a instância 1 do OpenFlow e associe VLANs a ela.
[Switch] openflow instance 1
[Switch-of-inst-1] classification vlan 4092 mask 4093
# Especifique o controlador 1 para a instância 1 do OpenFlow e ative a instância.
[Switch-of-inst-1] controller 1 address ip 192.168.49.49
[Switch-of-inst-1] active instance
[Switch-of-inst-1] quit
# Exibir informações detalhadas sobre a instância do OpenFlow.
[Switch] display openflow instance 1
Instance 1 information:
Configuration information:
Description : --
Active status : Active
Inactive configuration:
None
Active configuration:
Controller Switch Host A
Host B
192.168.49.49
17
Classification VLAN, total VLANs(2)
4092, 4094
In-band management VLAN, total VLANs(0)
Empty VLAN
Connect mode: Multiple
Mac-address learning: Enabled
Flow table:
Table ID(type): 0(Extensibility), count: 0
Flow-entry max-limit: 65535
Datapath ID: 0x0064001122000101
Default table-miss: Permit
Forbidden port: VLAN interface
Qinq Network: Disabled
TCP connection backup: Enabled
Port information:
GigabitEthernet1/0/3
Active channel information:
Controller 1 IP address: 192.168.49.49 port: 6633
Correspondência de VLAN
A Tabela 1 descreve as restrições de correspondência de VLAN quando uma instância do OpenFlow está associada a VLANs.
VLAN | Máscara | Pacotes de correspondência |
- | - | Todos os pacotes nas VLANs que estão associadas à instância do OpenFlow. |
0 | - | Pacotes sem uma tag de VLAN. O PVID da porta de entrada deve estar associado à instância do OpenFlow. |
0 | Valor | Sem suporte. |
VLAN válida | -/valor | Sem suporte. |
0x1000 | -/valor (exceto 0x1000) | Sem suporte. |
0x1000 | 0x1000 | Pacotes com uma tag de VLAN. A VLAN ID da tag de VLAN deve estar associada à instância do OpenFlow. |
VLAN válida 0x1000 | -/valor | Correspondência de pacotes pela combinação da VLAN ID e da máscara de VLAN. As VLANs obtidas por meio da combinação da VLAN ID e da máscara de VLAN devem ser associadas à instância do OpenFlow. |
Outros | Outros | Sem suporte. |
Se os protocolos estiverem ativados, os pacotes de protocolo (exceto os quadros LLDP) serão processados pelos protocolos correspondentes em vez do protocolo OpenFlow.
Para obter mais informações sobre a correspondência de quadros LLDP, consulte "Correspondência de quadros LLDP".
Os metadados passam informações correspondentes entre as tabelas de fluxo. O controlador implementa entradas de correspondência de metadados somente em tabelas de fluxo que não sejam as primeiras. Se o controlador implantar uma entrada de correspondência de metadados na primeira tabela de fluxo, o switch retornará um erro de fluxo não suportado.
Tipo de instrução | Restrições |
Ações claras | A instrução Clear-Actions tem as seguintes restrições: Para a tabela de fluxo único, as entradas de fluxo da tabela não podem incluir essa instrução e outras instruções ao mesmo tempo. Para várias tabelas de fluxo do pipeline, somente as entradas de fluxo da primeira tabela de fluxo podem incluir essa instrução e outras instruções ao mesmo tempo. |
Aplicar ações | A lista de ações da instrução Apply-Actions não pode incluir várias ações de Saída. Quando a lista de ações inclui apenas uma ação de Saída, o switch processa a lista de ações conforme descrito em "Restrições para mesclar a lista de ações no conjunto de ações". |
Escrever metadados/máscara | As entradas de fluxo da última tabela do pipeline não podem incluir essa instrução. Caso contrário, o switch retorna um erro de fluxo não suportado. |
Mesa Goto |
O switch segue as seguintes restrições para mesclar a lista de ações no conjunto de ações.
Quando o conjunto de ações e a lista de ações não contiverem a ação Saída ou Grupo, aplicam-se as seguintes regras:
Quando o conjunto de ações e a lista de ações contêm a ação Saída ou a ação Grupo, as seguintes regras se aplicam:
A porta de entrada deve ser uma porta física ou lógica quando uma das seguintes portas reservadas for a porta de saída em uma mensagem de saída de pacote:
Se uma mensagem de saída de pacote contiver o pacote e o ID do buffer que representa o pacote armazenado no switch, o switch processará somente o pacote armazenado no buffer. O switch ignora o pacote na mensagem.
Se o pacote contido em uma mensagem de saída de pacote não tiver uma tag de VLAN, o switch executará as seguintes operações:
O switch processa o pacote da seguinte forma quando a porta de entrada é uma porta reservada:
Se a porta de saída em uma mensagem de saída de pacote for a porta Flood ou All reserved, o switch processará o pacote contido na mensagem de saída de pacote da seguinte forma:
Ao enviar uma mensagem de entrada de pacote para o controlador, o switch processa a tag de VLAN do pacote contido na mensagem de saída de pacote da seguinte forma:
Se uma mensagem de pacote de entrada for enviada ao controlador devido à ausência de entrada de fluxo correspondente, o switch suporta o armazenamento em buffer do pacote contido na mensagem de pacote de entrada. O tamanho do buffer é de 1K pacotes.
Se uma mensagem de entrada de pacote for enviada ao controlador por outros motivos, o switch não suporta o armazenamento em buffer do pacote contido na mensagem de entrada de pacote. O switch deve enviar o pacote completo ao controlador, e o campo cookie do pacote é definido como 0xFFFFFFFFFFFFFFFF.
O LLDP é usado para realizar a descoberta de topologia em uma rede OpenFlow. O LLDP deve ser ativado globalmente em um dispositivo. Um switch envia um quadro LLDP para o controlador por meio da mensagem de entrada de pacote quando as condições a seguir estão presentes:
As mensagens de modificação da tabela de fluxo têm as seguintes restrições para a entrada de fluxo table-miss e entradas de fluxo comuns.
O controlador implementa a entrada de fluxo table-miss (a ação é Drop) em uma instância OpenFlow depois que a instância OpenFlow é ativada.
O controlador não pode consultar a entrada de fluxo table-miss por meio de mensagens Multipart.
O controlador não pode modificar a entrada de fluxo de falta de tabela por meio da solicitação Modificar. O controlador só pode modificar a entrada de fluxo de falta de tabela por meio da solicitação Add (Adicionar).
O controlador pode modificar ou excluir a entrada de fluxo de falta de tabela somente por meio da versão restrita da solicitação Modificar ou Excluir. O controlador não pode modificar ou remover a entrada de fluxo de falta de tabela por meio da versão não restrita da solicitação Modificar ou Excluir, apesar de os campos de correspondência serem curingas.
O controlador implementa uma entrada de fluxo table-miss (a ação é Drop) em uma instância OpenFlow depois que a entrada de fluxo table-miss atual é excluída.
O controlador não pode modificar ou remover todas as entradas de fluxo comuns por meio da versão não restrita da solicitação Modificar ou Excluir, apesar de os campos de correspondência serem curingas.
O controlador deve incluir os campos e ações de correspondência necessários e pode incluir os campos e ações de correspondência opcionais nas entradas de fluxo implantadas na tabela de fluxo MAC-IP. Se o controlador não incluir os campos e ações de correspondência opcionais nas entradas de fluxo, o switch os adicionará às entradas de fluxo por padrão.
As entradas de fluxo da camada 2 são implementadas usando entradas de endereço MAC. A Tabela 3 descreve os recursos suportados pelas entradas de fluxo da Camada 2.
Tabela 3 Recursos suportados pelas entradas de fluxo da Camada 2
Item | Recursos |
Campos de correspondência obrigatórios | A tabela de fluxo MAC-IP deve suportar os seguintes campos de correspondência: VLAN ID. Endereço MAC de destino unicast. |
Campos de correspondência opcionais | N/A |
Ações necessárias | Especificar a porta de saída. |
As entradas de fluxo da camada 3 são implementadas por meio de entradas de roteamento. A Tabela 4 descreve os recursos suportados pelas entradas de fluxo da Camada 3.
Tabela 4 Recursos suportados pelas entradas de fluxo da Camada 3
Item | Recursos |
Campos de correspondência obrigatórios | A tabela de fluxo MAC-IP deve suportar os seguintes campos de correspondência: VLAN ID. Endereço IP de destino unicast. Endereço MAC de destino unicast, que deve ser o endereço MAC da interface de VLAN para a VLAN correspondente. |
Campos de correspondência opcionais | N/A |
Ações necessárias | Especificar a porta de saída. |
O controlador deve seguir as restrições das tabelas a seguir para implementar entradas de fluxo na tabela de fluxo MAC-IP. Caso contrário, poderá ocorrer falha no encaminhamento.
Tabela 5 Restrições para a implementação de entradas de fluxo de camada 2 para a tabela de fluxo MAC-IP
Item | Restrições |
Campos de correspondência | O endereço MAC de destino não pode ser o endereço MAC do switch para o qual a entrada de fluxo foi implantada. |
Ações | A porta de saída deve pertencer à VLAN correspondente. |
Tabela 6 Restrições para a implementação de entradas de fluxo da camada 3 para a tabela de fluxo MAC-IP
Item | Restrições |
Campos de correspondência | A interface VLAN da VLAN correspondente está em estado ativo. O endereço MAC de destino é o endereço MAC da interface de VLAN para a VLAN correspondente. O endereço IP de destino não pode ser o endereço IP do switch no qual a entrada de fluxo está implantada. |
Ações | A porta de saída especificada deve pertencer à VLAN de destino. O endereço MAC de destino não pode ser o endereço MAC do switch para o qual a entrada de fluxo foi implantada. Se o switch modificar o endereço MAC de origem, o endereço MAC de origem deverá ser o endereço MAC da interface da VLAN para a VLAN à qual a porta de saída está conectada. |
Para implementar uma entrada de fluxo da Camada 3, certifique-se de que os seguintes requisitos sejam atendidos:
O switch informa a exclusão da interface VLAN ao controlador e o controlador remove a entrada de fluxo da Camada 3 correspondente.
O controlador garante a exatidão das entradas de fluxo da Camada 3. O switch não verifica as restrições das entradas de fluxo da Camada 3.
A entrada de fluxo table-miss de uma tabela de fluxo MAC-IP é compatível com as seguintes ações de saída:
Em um switch OpenFlow compatível com tabelas de fluxo MAC-IP, você pode configurar o OpenFlow para suportar a consulta e a exclusão de entradas de fluxo de endereço MAC dinâmico.
O controlador pode consultar e excluir entradas dinâmicas de fluxo de endereço MAC especificando uma VLAN, um endereço MAC ou a combinação de um endereço MAC e uma VLAN.
A tabela de fluxo MAC-IP é compatível com a instrução Write Metadata/mask (Gravar metadados/máscara) e a tabela de fluxo de extensibilidade é compatível com a correspondência de metadados/máscara. A tabela de fluxo MAC-IP pode cooperar com uma tabela de fluxo de extensibilidade para executar o processo de pipeline de várias tabelas usando metadados/máscara.
Cada bit de máscara de metadados tem um significado diferente. A definição do bit de metadados correspondente indica que o bit de máscara de metadados é correspondido. Quando o bit de metadados correspondente não está definido, o bit de máscara de metadados é curinga.
Tabela 7 Significados das máscaras de metadados
Bit de máscara de metadados | Significado | Metadados |
Bit 0 | Endereço MAC de destino | 1-Set. Corresponde ao endereço MAC de destino. 0-Não definido. Não corresponde ao endereço MAC de destino. |
Bit 1 | Endereço MAC de origem | 1-Set. Corresponde ao endereço MAC de origem. 0-Não definido. Não corresponde ao endereço MAC de origem. |
Bit 2 | Endereço IP de destino | 1-Set. Corresponde ao endereço IP de destino. 0-Não definido. Não corresponde ao endereço IP de destino. |
Bit de máscara de metadados | Significado | Metadados |
Outros | Reservado | Reservado. |
Quando a ação de saída em uma tabela de fluxo de extensibilidade não é Normal, as seguintes regras se aplicam:
Quando a ação de saída em uma tabela de fluxo de extensibilidade é Normal, as seguintes regras se aplicam: