Redes de Virtualização por
Sobreposição VXLAN, NVGRE e STT
Guilherme S. Sengès
Igor D. Alvarenga
Julio C. E. Moreira
1. Redes nos Data Centers
•
•
•
Infraestrutura de servidores custa caro
o
Aluguel de máquinas virtuais é uma boa alternativa
Expansão do mercado consumidor
o
Do pequeno ao grande
Centenas de milhares de inquilinos
Imagem: http://gunnertech.com/2011/12/what-is-aws-amazon-web-services/
a. Limitações do STP
•
Garantia de não existência de ciclos inutiliza
vários caminhos existentes em uma rede
o
•
Operadores de Data Centers criticam o desperdício
Impossibilidade de múltiplos caminhos
o
Saturação dos links
b. Limitações da VLAN
•
Campo de identificação de uma VLAN de
apenas 12 bits
o
•
4096 VLANs é insuficiente
Cada inquilino utiliza várias VMs através de
um ID VLAN
2. Propostas Gerais para Solução
•
Questões cobertas pelos protocolos
o
Gerência de endereços sobrepostos entre diversos
inquilinos.
o
Desacoplamento entre rede virtual e rede física
o
Mobilidade da máquina virtual
o
Suporte a um número "ilimitado" de redes virtuais
o
Endereçamento das redes virtuais é isolado da rede
física
 Tamanho das tabelas é reduzido
3. Os Protocolos
a. VXLAN
Disponível em: http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9902/white_paper_c11-685115.html
a. VXLAN - VTEP
•
VTEP - VXLAN Tunnel Endpoint (extremidade do túnel VXLAN)
•
VNI - VXLAN Network Identifier (Identificador de Rede VXLAN)
Disponível em: http://codingrelic.geekhold.com/2011/09/care-and-feeding-of-vxlan.html
Quadro VXLAN
Disponível em: http://www.borgcube.com/blogs/2011/11/vxlan-primer-part-1/
Cabeçalho Ethernet
• Outer Destination MAC Address
o Local - MAC do VTEP de destino
o Outra rede L3 - dispositivo do próximo salto, geralmente um roteador.
• VLAN - Opcional. EtherType de 0x8100, associado a etiqueta VLAN ID.
• Ethertype - Definido por 0x0800 - IPv4. Não inclui implementação IPv6.
Quadro VXLAN
Cabeçalho IP
Protocol (Protocolo) - Definido como 0x11- pacote UDP.
Outer Source Address (IP de origem) - Endereço IP do VTEP de
origem.
Outer Destination Adress (IP de destino) - Endereço IP do VTEP de
destino. Se não conhecido, realizar processo de detecção:
o IP de destino é substituído pelo grupo de IP multicast da VNI da
VM de origem.
o Todos os VTEPs recebem o quadro e desencapsulam, obtendo o
mapeamento do MAC da VM de origem e o host VTEP.
o Host VTEP da VM de destino envia respostas das máquinas
virtuais ao VTEP de origem usando o endereço IP.
o VTEP de origem acrescenta em suas tabelas o mapeamento do
VTEP até o MAC da VM.
•
•
•
Quadro VXLAN
Cabeçalho UDP
Source Port (Porta de Origem) - Definido pelo VTEP
transmissor.
VXLAN Port (Porta VXLAN) - IANA - Internet Assigned
Numbers Authority (Autoridade para Atribuição de Números
da Internet) - atribuído à porta VXLAN. Ainda não definido.
UDP Checksum (Soma de Verificação UDP) - Definido
como 0x0000. VTEP receptor deve verificar o checksum e,
se não estiver correto, o quadro deve ser descartado.
•
•
•
Cabeçalho VXLAN
VNI - Campo de 24 bits - identificador da Rede VXLAN.
Reserved (Reservado) - 24 bits e 8 bits reservados e
definidos como zero.
•
•
Exemplo VXLAN
Disponível em: http://www.borgcube.com/blogs/2011/11/vxlan-primer-part-1/
b. NVGRE
•
•
•
•
•
•
Proposto por Microsoft, Arista Networks, Intel, Dell, HewlettPackard, Broadcom e Emulex;
Tunelamento através do protocolo GRE (RFC2784 e
RFC2890);
Introdução de um identificador de sub-rede virtual (VSID) de
24 bits e um opcional de fluxo (FlowID) de 8 bits;
Usa multicast IP sobre a rede física para prover broadcast e
multicast para rede virtual;
Prevê a extensão de de sub-redes entre diferentes
instalações através do uso de VPN;
Ainda não especifica o tratameto de fragmentação (ponto
futuro).
b. NVGRE
b. NVGRE – Quadro
b. NVGRE – Quadro
GRE Original
GRE para NVGRE
b. NVGRE – Quadro
Não deve
haver VLAN
b. NVGRE – VPN
c. STT
•
Elo virtual Ethernet ponto-a-ponto
o
•
Exemplificado por Switches virtuais
Semelhanças com TCP/IP
o
Não há estado da conexão
c. STT
c. STT
•
•
Encapsulamento da carga
o Carga pode conter outro cabeçalho TCP
TSO (TCP Segmentation Offload)
o Diferencial na segmentação
o Presentes em muitas placas de rede
c. STT
Até 64 KB
c. STT
Apresenta diferenças !
Até 64 KB
c. STT
•
Cabeçalho de quadro STT
c. STT
•
Versão do protocolo STT
o Versão 0
c. STT
•
Flags
o Características dos dados encapsulados
Integridade
verificada
Não utilizados
Integridade
cabeçalhos
TCP e IP
Versão do IP
Encapsulado é
um pacote TCP
c. STT
•
L4 Offset
o Distância entre cabeçalho STT e cabeçalho
encapsulado
 TCP ou UDP
o Rapidez para leitura da carga
c. STT
•
Reserved
o Ignorado pelo receptor
 Bits em zero
c. STT
•
Tamanho máximo de segmento
o Tamanho de segmento TCP
 Usado por uma terminação do túnel para envio em
outra rede
c. STT
•
PCP
o Prioridade deste pacote no envio para outra rede
c. STT
•
Validade dos campos PCP e VLAN ID
c. STT
•
VLAN ID
o Identificação da VLAN de destino aplicada pela
terminação de túnel
c. STT
•
Context ID
o Contexto pode possuir diferentes atribuições
 Inquilino
 VM
c. STT
•
Cabeçalho TCP
o Diferentes interpretações
c. STT
•
Número de Sequência
o Primeiros 16 bits
 Tamanho do quadro STT
o Últimos 16 bits
 Deslocamento do segmento STT
c. STT
•
Número de confirmação (ACK)
o Identificador para fragmentação
 Mesma identificação para um quadro STT
c. STT
•
Perda de pacotes
o Não há controle de correção
o Cabeçalho TCP encapsulado pelo STT será
responsável
c. STT
•
Segurança
o Mecanismos de segurança para datagramas IP
 Necessário ajustes no firewall para o aceite de
pacotes STT
o Sem estado de da conexão não há ataques por
enchente de SYNs
Imagem retirada de: http://pt.kioskea.net/faq/12083-o-que-e-um-firewall-como-funciona
4. Considerações Finais
•
•
Muitas semelhanças entre os protocolos
Representam interesses de empresas
distintas
5. Perguntas
1) Quais são as duas principais limitações empregadas
pelo uso do STP (Spanning Tree Protocol) na camada 2
da rede em sistemas com diversos inquilinos?
5. Perguntas
Resposta
Em sistemas com diversos inquilinos, o corte alguns
possíveis caminhos para evitar ciclos acarreta o
desperdício de links que custam dinheiro e subutilizam a
capacidade real da rede. Outra limitação expressiva é a
incapacidade do uso de múltiplos caminhos para atingir
um mesmo destino, assim não há como realizar o
balanceamento de carga.
5. Perguntas
2) Qual o motivo principal para o surgimento de protocolos
como o VXLAN, o NVGRE e o STT em relação ao VLAN
para sistemas com muitos inquilinos?
5. Perguntas
Resposta
A ocorrência de centenas de milhares de inquilinos torna
insuficiente o número de identificações disponíveis para
segmentos de redes virtuais - destinados a um inquilino
- em uma VLAN.
5. Perguntas
3) Qual o objetivo principal de uma VXLAN?
5. Perguntas
Resposta
Conectar duas ou mais redes de camada 3 fazendo com
que elas operem como se estivessem conectadas em
uma rede da camada 2, ou seja, cada uma faz parte da
sua própria rede, mas “dentro” do mesmo domínio.
5. Perguntas
4) Por qual motivo o protocolo STT defende a idéia de que
seu desempenho é melhor do que os demais
existentes?
5. Perguntas
Resposta
O motivo principal do ganho em desempenho do STT está
no uso do TSO (TCP Segmentation Offload)
implementado por várias NICs (Network Interface
Cards). Essa tecnologia permite a entrega de extensos
quadros STT a placa de interface de rede, realizando a
segmentação de acordo com o MSS (Maximum
Segment Size) especificado pelos metadados do
cabeçalho STT.
5. Perguntas
5) Como é proposta a realização de multicast e broadcast
na rede virtual pelo protocolo NVGRE?
5. Perguntas
Resposta
É feita a associação de cada VSID com um endereço
multicast de escopo administrativo. Desta forma, todo
tráfego multicast e broadcast será encaminhado por
uma rede multicast na qual estarão inscritos todos os
NVEs que possuam CAs associadas à sub-rede
correspondente.
6. Referências
•
•
•
•
•
[1] M. Mahalingam, D. Dutt, K. Duda, Arista, P. Agarwal, Broadcom, L.
Kreeger, Cisco, T. Sridhar, VMware, M. Bursell, Citrix, C. Wright,
RedHat. VXLAN: A framework for overlaying virtualized layer 2
networks over layer 3 networks. Internet-Drafts, 2012.
[2] M. Sridharan, A. Greenberg, N. Venkataramiah, Y. Wang, Microsoft, K.
Duda, Arista Networks, I. Ganga, Intel, G. Lin, Dell, M. Pearson, HewlettPackard, P. Thaler, Broadcom, C. Tumuluri, Emulex. Nvgre: Network
virtualization using generic routing encapsulation. Internet-Drafts, 2012.
[3] B. Davie, J. Gross, VMware. A stateless transport tunneling protocol
for network virtualization. Internet-Drafts, 2012.
[4] L. Yong, X. Xu, Huawei. NVGRE and VXLAN Encapsulation for
L3VPN Extension. Internet-Drafts, 2012.
[5] Balaji Venkat Venkataswami , Bhargav Bhikkaji , DELL-Force10. VM to
VTEP maps topology discovery in VXLAN based data centers. InternetDrafts, 2012.
6. Referências
•
•
•
•
•
[6] T. Nadeau, J. Drake, Juniper Networks, B. Schlisser James Uttaro, Y.
Rekhter, ATT, Ravi Shekhar, Juniper Networks, Wim Hendrix, Nabil Bitar,
Alcatel-Lucent, Verizon, Aldrin Isaac, Bloomberg. A Control Plane for
Network Virtualized Overlays. Internet-Drafts, 2012.
[7] G. Van de Velde, K. Patel, D. Rao, Cisco Systems, R. Raszuk, NTT
MCL, R. Bush, Internet Initiative Japan. BGP Remote-Next-Hop. InternetDrafts, 2012.
[8] Samer Salam, Clarence Filsfils, Juniper Networks, Nabil Bitar, Verizon,
Jim Uttaro, AT&T, Aldrin Isaac, Bloomberg, Wim Henderickx, AlcatelLucent.Requirements for Ethernet VPN (E-VPN). Internet-Drafts, 2012.
[9] Ali Sajassi, Samer Salam, Keyur Patel, Cisco, Nabil Bitar, Verizon, Wim
Henderickx, Alcatel-Lucent. A Network Virtualization Overlay Solution
using E-VPN. Internet-Drafts, 2012.
[10] D. Farinacci, T. Li, S. Hanks, D. Meyer, P. Traina. RFC 2784 - Generic
Routing Encapsulation (GRE). IETF, 2000.
6. Referências
•
•
[11] G. Dommety. RFC 2890 - Key and Sequence Number Extensions to
GRE. IETF, 2000.
[12] C. Perkins. RFC 2003 - IP Encapsulation within IP. IETF, 1996.
Download

Apresentação