Encapsulamento Ethernet

Propaganda
Introdução às Redes e
Protocolos TCP/IP
Sessão nº3
Jorge Gomes
[email protected]
Mais sobre Ethernet
Encapsulamento Ethernet
Encapsulamento IEEE 802.2/802.3 (RFC 1042)
endereço
Destino
(6)
endereço
Origem
(6)
tamanho
(2)
802.3 MAC
DSAP
0xaa
(1)
SSAP
0xaa
(1)
802.2 LLC
CNTL
0x03
(1)
codigo
org 0x0
(3)
tipo
DADOS
(2)
(38-1492)
trailer
CRC
(4)
802.2 SNAP
Encapsulamento Ethernet original (RFC 894)
endereço
Destino
(6)
endereço
Origem
(6)
tipo
DADOS
(2)
(46-1500)
trailer
CRC
(4)
• Cada frame IEEE 802.3 é precedido por um preambulo de 7 bytes seguido de um delimitador
de frame com 1 byte.
• Cada frame Ethernet é precedido por um preambulo de 8 bytes.
Ethernet
• O encapsulamento Ethernet original (RFC 894) é o mais usado.
• A tamanho mínimo do payload de um pacote Ethernet é:
– Ethernet original  46 bytes
– IEEE 802.3  38 bytes
• Se a quantidade de dados a transmitir for mais pequena são
introduzidos bytes de padding adicionais.
Campos de um Frame Ethernet
• Tipo: identifica o protocolo de alto nível contido no campo de
dados. O uso do campo tipo permite que múltiplos protocolos
possam coexistir numa mesma rede Ethernet.
– 0800 IP
– 0805 X.25 nível 3
– 6003 DECnet Phase IV
– 6004 DEC LAT
– 809B AppleTalk
– 80D5 IBM SNA
– 8137 8138 IPX/SPX
– 0BAD Banyan
– 0806 ARP
• Tamanho: número de bytes no campo de dados.
• Existe um tamanho mínimo de frame Ethernet, de modo a garantir que
há tempo suficiente para que as interfaces possam detectar colisões.
• Sistemas que suportem frames Ethernet e 802.3 usam este campo para
diferenciar os dois tipos de frame. Se o valor for exceder 1500 bytes é
um tipo (frame Ethernet) caso contrario é um tamanho (frame IEEE
802.3)
• CRC: Resultado de uma função polinomial para detecção de erros
de cobre o frame desde o endereço de destino ao fim do campo de
dados.
Ethernet
• A introdução de versões mais rápidas das redes
Ethernet levou à introdução de algumas
alterações:
– Fast Ethernet:
• Espaço entre frames reduziu-se de 9.6μseg para 0.96μseg
• Mudança do método de codificação de Manchesterencoding para 4B5B
• Introdução de dois novos campos:
– SSD: antes do preâmbulo usado para alinhamento
– ESD: no final do segmento após o checksum é usado
como indicador de fim de transmissão
Ethernet
• A introdução de versões mais rápidas das redes
Ethernet levou à introdução de algumas
alterações:
– Gigabit Ethernet
• As colisões têm de ser possíveis de detectar antes da
transmissão do ultimo bit de cada frame. Devido à grande
velocidade das redes Gigabit Ethernet este principio
obrigaria à redução do comprimento máximo do cabo para
10 metros. De modo a superar esta limitação foi introduzido
o conceito de “Carrier Extension” que consiste em aumentar
o tamanho mínimo de um frame para 512 bytes. Este
aumento é conseguido introduzindo uma extensão no final
do frame.
• De modo a aliviar o overhead da transmissão de pequenos
frames foi introduzida uma extensão designada por “Packet
Bursting” que consiste na possibilidade de transmitir vários
pequenos frames consecutivos sem interrupção até um
máximo de 1500 bytes. Para impedir as colisões é
transmitido um primeiro segmento seguido de uma
sinalização.
Encapsulamento Ethernet
Encapsulamento Ethernet II (RFC 894)
Também conhecido por encapsulamento ARPA ou DIX
endereço
Destino
(6)
endereço
Origem
(6)
tipo
DADOS
trailer
CRC
(4)
(2)
(46-1500)
tipo
0x0800
(2)
DATAGRAMA IP
(46-1500)
tipo
0x0806
(2)
Pedido ou Resposta ARP
PAD
(28)
(18)
tipo
0x8035
(2)
Pedido ou Resposta RARP
PAD
(28)
(18)
Encapsulamento Ethernet
Encapsulamento IEEE 802.2/802.3 (RFC 1042)
LLC
endereço
Destino
(6)
Indica
presença
de um
cabeçalho
SNAP
endereço
Origem
(6)
O código de
protocolo ou
organização
a zero
Indica que o
tipo é
Ethernet
tamanho
(2)
DSAP
0xaa
(1)
SSAP
0xaa
(1)
tipo
0x0800
(2)
SNAP
CNTL
0x03
(1)
Org
0x0
(3)
tipo
DADOS
(2)
(38-1492)
DATAGRAMA IP
(38-1492)
tipo
0x0806
(2)
Pedido ou Resposta ARP
PAD
(28)
(10)
tipo
0x8035
(2)
Pedido ou Resposta RARP
PAD
(28)
(10)
trailer
CRC
(4)
Encapsulamento Ethernet
endereço
Destino
(6)
endereço
Destino
(6)
endereço
Origem
(6)
endereço
Origem
(6)
tipo
DADOS
(2)
(46-1500)
tamanho
(2)
DSAP
0xaa
(1)
SSAP
0xaa
(1)
CNTL
0x03
(1)
Org
0x0
(3)
trailer
CRC
(4)
tipo
DADOS
(2)
(38-1492)
trailer
CRC
(4)
• Dois tipos de frame ?!?!?
– O campo tipo e o campo tamanho ocupam o mesmo lugar nos
dois tipos de frame ?!?!?
– Como é que se distinguem os dois tipos de frames ?
• Por convenção:
– O menor valor possível em ETHERNET para o tipo é 0x0600
– O maior tamanho de frame standard possível é 0x05DC
• Logo não há confusão e é possível ter os dois tipos de
encapsulamento na mesma rede física.
Encapsulamento Ethernet
endereço
Destino
(6)
endereço
Origem
(6)
tipo
DADOS
(2)
(46-1500)
endereço
Destino
(6)
endereço
Origem
(6)
tipo
0x8870
(2)
DSAP
0xaa
(1)
SSAP
0xaa
(1)
CNTL
0x03
(1)
endereço
Destino
(6)
endereço
Origem
(6)
tamanho
DSAP
0xaa
(1)
SSAP
0xaa
(1)
CNTL
0x03
(1)
(2)
trailer
CRC
(4)
DADOS
trailer
CRC
(4)
(43-?)
código
Org
(3)
tipo
DADOS
(2)
(38-1492)
trailer
CRC
(4)
• Jumbo frames:
– Suporte para frames maiores que 1500 bytes
– Não é suportado pela IEEE
– Baseia-se num draft do IETF (Extended Ethernet Frame Size Support)
• Implementação:
– Usar um frame ETHERNET (RFC 894)
– Usar o tipo de dados 0x8870 para indicar que é um jumbo frame
– Usar campos IEEE802.3 DSAP, SSAP e CNTL para especificar os
dados/protocolo
– Os campos IEEE802.3 de código, tipo e a informação sobre tamanho estão
ausentes
Encapsulamento Ethernet
• Existe uma terceira forma de encapsulamento Ethernet
designada “Trailer Encapsulation”.
– Consiste em colocar à cabeça os dados e no fim o cabeçalho IP e TCP.
– Este tipo de encapsulamento foi desenvolvido para ser utilizado em
sistemas UNIX BSD baseados em hardware VAX.
– Ao alinhar os dados no inicio do pacote podia-se mapear os dados
numa pagina física.
– Sempre que fosse necessário mover os dados era apenas necessário
manipular a tabela de paginas do kernel.
– Esta forma de encapsulamento é raramente usada.
– O tipo de encapsulamento trailer era negociado entre sistemas
recorrendo a uma extensão do protocolo ARP.
Interfaces Ethernet
Auto negociação
• A norma 100baseTX introduziu a auto negociação
• Na norma 1000BaseT a auto negociação é obrigatória:
– Escolha do clock-master
– Ainda assim por vezes é necessário fixar alguns parâmetros
• Auto negociação:
–
–
–
–
Velocidade: 10Mbits, 100Mbits, 1000Mbits
Full Duplex / Half Duplex
Clock master (quem é master e quem é slave)
Flow control (TX sim ou não, RX sim ou não)
Auto-negociação
• Processo através do qual duas interfaces Ethernet interligadas
escolhem parâmetros de comunicação comuns:
– Aplicável às ligações UTP
– Ligações em fibra não possuem auto-negociação
– A auto-negociação é obrigatória em 1000base-T (IEEE 802.3ab) e
opcional nas especificações anteriores
• A auto-negociação é usada por dispositivos que suportam
múltiplas:
– velocidades, modos duplex, controlo de fluxo, fontes de clock
• Cada dispositivo anuncias as suas capacidades
• Os dispositivos escolhem o melhor modo:
1.
2.
3.
Maior velocidade possível
Duplex
Controle de fluxo
Auto negociação
• Atenção se for preciso fixar o modo duplex este deve ser fixado de
ambos os lados !!!
• Quando a velocidade é forçada manualmente a 10 ou 100 deixa de
haver negociação:
– Sem auto-configuração a velocidade de uma interface é detectada por
analise do sinal
– Sem auto-configuração não é possível detectar o modo duplex de uma
interface
– Logo se um dos lados não for capaz de negociação o outro lado
assume sempre por defeito o modo half duplex
– Um “mismatch” de duplex resulta em desempenho muito baixo
Asneira !!!
Sem auto-negociação
Configurado manualmente a 100Mbps
Configurado manualmente a Full-duplex
Capaz de auto-negociação
Detecta 100Mbps por analise do sinal
Assume half-duplex
Auto-negociação
• Se uma interface estiver em auto-negociação e a outra
não
– Auto-configuração pode estar inibida 10Base-T, 100Base-TX
– Interface pode não possuir auto-negociação 10Base-T, 100Base-TX
• A primeira versão da norma de auto-negociação
IEEE802.3u publicada em 1995 não era clara:
– Conduziu a muitos problemas de interoperabilidade que
resultavam em falhas de auto-negociação
– Só em 1998 foi publicada nova norma corrigida
– Interfaces antigas de fabricantes diferentes podem ter
problemas de auto-negociação
Auto-negociação
• Quando uma interface TP não está a transmitir frames
são transmitidos impulsos eléctricos:
– Para determinar a presença de link (1 impulso de 100ns a cada
16ms)
– Para auto-negociação (33 impulsos de 100ns a cada 16ms) FLP
• Os 33 impulsos possuem estrutura:
– Os primeiros 17 impulsos servem para sincronizar o clock
– Os últimos 16 impulsos representam bits
Auto-negociação
• Codificado neste bits são enviadas as capacidades
– Em interfaces 100Base-TX bastam 16 bits para enviar as
capacidades
– Em interfaces 1000Base-T são enviadas 3 “páginas” de 16 bits
• Hierarquia de selecção de velocidades, duplex e
tecnologia:
–
–
–
–
–
–
–
–
–
1000BASE-T full duplex
1000BASE-T half duplex
100BASE-T2 full duplex
100BASE-TX full duplex
100BASE-T2 half duplex
100BASE-T4
100BASE-TX half duplex
10BASE-T full duplex
10BASE-T half duplex
Auto-negociação
• Em 1000Base-T não é possível desactivar a autonegociação:
– Mas pode-se reduzir os modos que são anunciados a um único
modo !
• Quando se configura manualmente a 10 ou 100:
– Deve-se configurar a velocidade e modo duplex
– Se uma interface estiver manual e a outra em auto-negociação o
modo duplex da manual tem de estar em half
• A auto-negociação é um processo continuo está sempre
a decorrer o que é excelente:
– Porque pode falhar a qualquer momento … 
• Idealmente a auto-negociação só deve ser usada:
– Nas componentes de acesso de uma rede
– O núcleo da rede deve estar configurado manualmente
Controle de Fluxo
• Para evitar a congestão em redes Ethernet comutadas
full duplex usa-se o controlo de fluxo (flow control).
– Parte da norma 802.3x
• O controlo de fluxo permite enviar notificações
explicitas de congestão:
– De uma estação para um comutador
– De um comutador para uma estação
– Entre comutadores
• Perante uma notificação de congestão:
– A interface que a recebe deve suspender a transmissão durante
um período de tempo
Controle de Fluxo
• Os frames de controlo de fluxo (pause frames):
– Possuem:
• MAC type 0x8808
• Control opcode de 0x0001
– São enviados para:
• endereço de multicast 01-80-C2-00-00-01
• ou para o Endereço MAC do destinatário
– O scope deste multicast é limitado ao dispositivo que o recebe
• Não pode ser retransmitido para outros dispositivos (bridge group address)
Cabeçalho Ethernet
Pacote de MAC control
Controle de Fluxo
• Os frames de controlo de fluxo (pause frames):
– Cada frame de pausa indica:
• Intervalo de tempo durante o qual o transmissor deve parar
• Se o transmissor estiver em pausa e chegar um frame de PAUSE com
intervalo zero a transmissão continua imediatamente
– O intervalo de tempo:
•
•
•
•
É codificado num campo de 2 bytes
Varia entre 0 e 65535 unidades chamadas “pause quanta”
Zero quer dizer cancelar a PAUSA
Cada unidade (pause quanta) corresponde à duração de tempo necessária
para a transmissão de 512 bits por parte da interface que recebe
Controle de Fluxo
• É preciso ter atenção …
– O controle de fluxo funciona ao nível L2
– Ao nível das interfaces de rede
– Não distingue aplicações ou streams
• O ideal é que sejam os protocolos L3 a lidar com a
congestão
• Os switches não devem enviar frames de pause !!!
PAUSE
SWITCH
10GbE
Bottleneck
1GbE
Interfaces em Linux
• Em RedHat Linux:
– /etc/sysconfig/network-scripts/ifcfg-eth0
• Configuração típica:
DEVICE=eth0
HWADDR=00:17:39:7E:A0:67
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.153.1.1
NETMASK=255.0.0.0
NETWORK=10.0.0.0
BROADCAST=10.255.255.255
• Iniciar e parar uma interface configurada em ifcfg-eth0:
/sbin/ifup eth0
/sbin/ifdown eth0
Interfaces em Linux
• Os drivers são definidos em /etc/modprobe.conf
$ cat /etc/modprobe.conf
alias eth0 tg3
alias eth1 tg3
alias eth2 netxen_nic
alias eth3 netxen_nic
alias net-pf-10 off
alias ipv6 off
blacklist ipv6
…
Interfaces em Linux
• Pode-se usar manualmente o comando ifconfig para
configurar uma interface:
/sbin/ifconfig eth0 10.153.1.1 netmask 255.0.0.0 up
• A configuração feita com ifconfig não é persistente
• Desaparece no reboot ou se a interface for parada e os
módulos removidos
• Parar a interface:
ifconfig eth0 down
Interfaces em Linux
• O comando ifconfig pode ser usado para obter
informação sobre as interfaces:
eth0
Link encap:Ethernet HWaddr 00:17:31:7F:A8:97
inet addr:10.50.1.1 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::217:31ff:fe7f:a897/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:104987826 errors:0 dropped:0 overruns:0 frame:0
TX packets:96461379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30918485304 (28.7 GiB) TX bytes:57575886314 (53.6 GiB)
Interrupt:23 Base address:0x2000
Interfaces em Linux
• Alguma informação útil:
eth0
Link encap:Ethernet HWaddr 00:17:31:7F:A8:97
…
RX packets:104987826 errors:0 dropped:0 overruns:0 frame:0
TX packets:96461379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
•
•
•
•
RX errors:
Número de pacotes recebidos com erros
RX dropped: Falta de espaço nos buffers do sistema operativo para receber os
pacotes que chegam. Falta de desempenho do sistema para processar os pacotes
que chegam ou buffers demasiado pequenos (net.core.netdev_max_backlog).
RX overruns: Falta de espaço nos buffers de hardware da interface para receber
os pacotes que chegam
RX frame:
Pacotes recebidos corrompidos pode resultar de colisões ou de
problemas na interface ethernet ou nos cabos
Interfaces em Linux
• Alguma informação útil:
eth0
Link encap:Ethernet HWaddr 00:17:31:7F:A8:97
…
RX packets:104987826 errors:0 dropped:0 overruns:0 frame:0
TX packets:96461379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
•
•
•
•
•
TX errors:
Número de pacotes recebidos com erros
TX dropped: Falta de espaço nos buffers do sistema operativo, falta de
capacidade para processar a fila
TX overruns: Falta de espaço nos buffers de hardware
TX carrier:
Quebra de conectividade na interface, corte no cabo de rede
TX collisions: Colisões durante tentativas de transmissão. Não deve acontecer em
interface configuradas como full-duplex.
Interfaces em Linux
• O comando ethtool pode alterar ou mostrar a configuração de uma
interface sob o ponto de vista do protocolo Ethernet
$ ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes:
10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:
10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes
Interfaces em Linux
• Identificar uma interface fisicamente fazendo-a piscar
durante o numero de segundos especificados:
ethtool –p eth0 17
• Informação sobre o bus, e versões de driver e firmware
da interface:
ethtool –i eth0
• Testar uma interface efectuando todos os testes com
perda de conectividade:
ethtool –t eth0 offline
• Testes limitados sem perda de conectividade:
ethtool –t eth0 online
Interfaces em Linux
• Forçar mudança de velocidade e modo duplex
ethtool –s eth0 speed 100 duplex half
ethtool –s eth0 speed 1000 duplex full
• Activar/Desactivar autonegociação
ethtool –s eth0 autoneg on
ethtool –s eth0 autoneg off
• Reiniciar auto-negociação
ethtool –r eth0
(100Base-TX)
(100Base-TX)
Interfaces em Linux
• Mostrar o estado do controlo de fluxo (pause)
ethtool –a eth0
• Alterar o controlo de fluxo (pause)
ethtool –A eth0 autoneg off rx off tx off
ethtool –A eth0 autoneg on rx on tx on
• Mostrar alocação de descritores dos buffers de RX/TX
ethtool –g eth0
• Alterar alocação de descritores rx, tx, tx-mini, rx-jumbo
ethtool –G eth0 rx 1024 tx 512
ethtool –G eth0 rx-jumbo 2048 rx-mini 256
Interfaces em Linux
• Em interfaces muito rápidas um dos problemas é a
quantidade de interrupções e transferências nos buses
para atender a chegada dos pacotes
– Gigabit Ethernet
– Ten Gigabit Ethernet
• Algumas interfaces suportam coalescência permitindo
acumular pacotes e efectuar uma única interrupção e
transferência para todo o conjunto
– Aplica-se tanto na recepção como na transmissão
– A coalescência aumenta os atrasos
– Diminui o consumo de CPU
• Para obter a configuração da coalescência em Linux:
ethtool –c eth0
Interfaces em Linux
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
$ ethtool -c eth3
Coalesce parameters for eth3:
Adaptive RX: off TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0
rx-usecs: 3
rx-frames: 64
rx-usecs-irq: 0
rx-frames-irq: 0
tx-usecs: 0
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 0
rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0
rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0
Interfaces em Linux
• rx-usecs: máximo de microsegundos que um pacote pode ser
atrasado (atraso de IRQ). Se for 0 apenas rx-max-frames é usado.
• rx-usecs-irq: o mesmo que acima mas aplica-se caso no momento
da recepção um IRQ esteja a ser atendido
• rx-max-frames: máximo numero de pacotes que a entrega do IRQ
pode ser atrasada. Tem de ser diferente de 0 se rx-usecs=0.
• rx-max-frames-irq: o mesmo que acima mas aplica-se caso no
momento da recepção um IRQ esteja a ser atendido
• tx-usecs: máximo de ms que um IRQ pode ser atrasado após
transmissão de um pacote. Se for 0 apenas tx-max-frames é usado.
• tx-usecs-irq: o mesmo que acima mas aplica-se caso no momento
da recepção um IRQ esteja a ser atendido
• tx-max-frames: máximo numero de pacotes transmitidos que um
IRQ pode ser atrasado. Tem de ser diferente de 0 se tx-usecs=0.
• tx-max-frames-irq: o mesmo que acima mas aplica-se caso no
momento da transmissão um IRQ esteja a ser atendido
Interfaces em Linux
• adaptative-rx: algoritmo para melhorar a latência durante baixos
ritmos e melhorar o desempenho durante elevados ritmos
• adaptative-tx: o mesmo para a transmissão
• sample-interval: numero de segundos de amostragem para os
algoritmos adaptativos. Tem de ser diferente de zero.
• pkt-rate-low: abaixo deste valor são usados os seguintes
parametros
– rx-usecs-low, tx-usecs-low
– rx-max-frames-low, tx-max-frames-low
• pkt-rate-high: acima deste valor são usados os seguintes
parametros
– rx-usecs-high, tx-usecs-high
– rx-max-frames-high, tx-max-frames-high
Interfaces em Linux
• Loopback interface (lo)
• É uma interface lógica (não física) que permite comunicação
dentro do próprio sistema
• A comunicação através do loopback é mais rápida:
– Não necessita de checksums
– Permite MTUs mais elevados
$ ifconfig lo
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:67221 errors:0 dropped:0 overruns:0 frame:0
TX packets:67221 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4891691 (4.6 MiB) TX bytes:4891691 (4.6 MiB)
Interfaces CISCO
• O comando para mostrar o estado de uma interface é o
show interfaces
• Sem argumentos mostra todas as interfaces
• Pode dar-se como argumento o nome de uma interface
show interface GigabitEthernet 2/48
Tipo de
interface
• Normalmente abrevia-se
sh int gi2/48
Modulo/slot
ou
controlador
Número da Interface no
modulo ou controlador
gtlip# show interface GigabitEthernet2/48
GigabitEthernet2/48 is up, line protocol is up (connected)
Hardware is c7600 1Gb 802.3, address is 0021.55e0.b1bf (bia 0021.55e0.b1bf)
Description: LNNET02
MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 1000Mb/s
input flow-control is off, output flow-control is off
Clock mode is auto
ARP type: ARPA, ARP Timeout 04:00:00
Last input never, output 00:00:14, output hang never
Last clearing of "show interface" counters never
Input queue: 0/2000/71617/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 34000 bits/sec, 14 packets/sec
5 minute output rate 18000 bits/sec, 16 packets/sec
7410623822 packets input, 10505908106275 bytes, 0 no buffer
Received 2916 broadcasts (63 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 4 frame, 43 overrun, 0 ignored
0 watchdog, 0 multicast, 0 pause input
0 input packets with dribble condition detected
2708426665 packets output, 329568276026 bytes, 0 underruns
0 output errors, 0 collisions, 3 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
Interfaces CISCO
gtlip# show interface GigabitEthernet2/48
GigabitEthernet2/48 is up, line protocol is up (connected)
UP
ADMINISTRATIVELY DOWN
UP
DOWN
MAC
ADDRESS
EM USO
MAC
ADDRESS
BURNED IN
Hardware is c7600 1Gb 802.3, address is 0021.55e0.b1bf (bia 0021.55e0.b1bf)
Description: LNNET02
MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
FIABILIDADE NOS
ÚLTIMOS 5 MINUTOS
UTILIZAÇÃO/CARGA NOS
ÚLTIMOS 5 MINUTOS
Interfaces CISCO
Encapsulation ARPA, loopback not set
ENCAPSULAMENTO ETHERNET
RFC 894 (ARPA) vs IEEE
CADA INTERFACE ENVIA MENSAGENS DE KEEPALIVE
PARA SI PRÓPRIA PARA VERIFICAR SE FUNCIONA BEM
Keepalive set (10 sec)
Full-duplex, 1000Mb/s
input flow-control is off, output flow-control is off
Clock mode is auto
ARP type: ARPA, ARP Timeout 04:00:00
Last input never, output 00:00:14, output hang never
PACOTES FAST SWITCHED
NÃO CONTAM
DUPLEX e VELOCIDADE
CONTROLO DE FLUXO
DETERMINAÇÃO DO CLOCK
NEAR END / FAR END
ÚLTIMO RESET AUTOMATICO
DEVIDO UMA TRANSMISSÃO
QUE DEMOROU DEMASIADO
Last clearing of "show interface" counters never
QUANDO FOI FEITO O
ÚLTIMO RESET DOS CONTADORES
ESTATISTICAS DE UTILIZAÇÃO
Interfaces CISCO
Input queue: 0/2000/71617/0 (size/max/drops/flushes); Total output drops: 0
TAMANHO
ACTUAL
CAPACIDADE
DROPS
FILA
CHEIA
Queueing strategy: fifo
Output queue: 0/40 (size/max)
SELECTIVE PACKET DISCARDS (SPD)
DROPS PARA EVITAR PERDA DE
PACOTES MAIS IMPORTANTES POR
FALTA DE ESPAÇO (CONGESTÃO)
5 minute input rate 34000 bits/sec, 14 packets/sec
5 minute output rate 18000 bits/sec, 16 packets/sec
7410623822 packets input, 10505908106275 bytes, 0 no buffer
PACOTES
SEM ERROS
BYTES NOS
PACOTES SEM
ERROS INCLUI
CABEÇALHOS
PACOTES
DROPPED
POR FALTA DE
BUFFERS
Interfaces CISCO
Received 2916 broadcasts (63 multicasts)
0 runts, 0 giants, 0 throttles
RUNTS: drops de
frames demasiado
pequenos
GIANTS: drops de
frames demasiado
grandes
THROTTLES: porta desabilitada por
falta de buffers ou capacidade de
processamento
0 input errors, 0 CRC, 4 frame, 43 overrun, 0 ignored
ERRORS: inclui runts, giants, no
buffer, CRC, frame, overrun, and
ignored counts os frames podem
ter mais de um tipo de erro
CRC: erros de checksum
FRAME:numero de octetos errados
OVERRUN: falha na copia para um buffer de
hardware por data rate demasiado elevado
IGNORED: frames ignorados porque os buffers
internos da interface estavam esacassos
0 watchdog, 0 multicast, 0 pause input
WATCHDOG: o input watchdog
timer dispara quando um pacote
maior que 2048 está a ser recebido
PAUSE: frames de
controlo de fluxo,
estamos a transmitir
demasiado rápido
0 input packets with dribble condition detected
DRIBBLE: o frame é ligeiramente maior do que devia mas ainda assim é aceite
Interfaces CISCO
2708426665 packets output, 329568276026 bytes, 0 underruns
0 output errors, 0 collisions, 3 interface resets
ERRORS total de erros de
transmissão os frames podem ter
mais de um tipo de erro
UNDERRUNS: a interface de
transmissão é mais rápida
que o router
COLLISIONS:
colisões ethernet
RESETS: resets da interface por exemplo quando uma
transmissão demora demasiado ou por perda de link
0 babbles, 0 late collision, 0 deferred
BABLES: transmissão de
um frame demasiado
longo
DEFERRED: transmissão adiada
quando ia começar porque outra
transmissão começou
LATE COLLISIONS: colisão
após envio do preamblo
0 lost carrier, 0 no carrier, 0 pause output
LOST CARRIER: perda
de portadora durante
a transmissão
NO CARRIER: a
portadora não estava
presente aquando do
inicio da transmissão
PAUSE: frames de
controlo de fluxo,
estamos a pedir uma
pausa
0 output buffer failures, 0 output buffers swapped out
Quando não há espaço nos
buffers de transmissão da
interface
Os swaps ocorrem quando à copia de buffers de
transmissão para a memoria do router em caso
de saturação dos buffers de transmissão
Interfaces CISCO
• Para ver a configuração activa:
show running-config
• Para ver a configuração que está guardada:
show config
• Extracto de um show config referente a uma interface:
interface GigabitEthernet2/48
description MAIN STORAGE SERVER
switchport
switchport access vlan 51
speed 1000
duplex full
Interfaces CISCO
• Para mudar a configuração activa usar o comando:
config
• Exemplo de sessão:
gtlip#config t
Enter configuration commands, one per line. End with CNTL/Z.
gtlip(config)#int gi 2/19
gtlip(config-if)#switchport
gtlip(config-if)#descr TEST
gtlip(config-if)#no switchport
gtlip(config-if)#no descr
gtlip(config-if)#no shut
gtlip(config-if)#shut
Interfaces Force10
• Os comandos são extremamente semelhantes aos do
CISCO IOS
• Para mostrar o estado de uma interface:
show interface GigabitEthernet 3/7
show interface gi3/7
swlip01#sh int Te1/4
TenGigabitEthernet 1/4 is up, line protocol is up
Hardware is Force10Eth, address is 00:01:e8:56:02:20
Current address is 00:01:e8:56:02:20
Pluggable media present, XFP type is 10GBASE-SR
Medium is MultiRate, Wavelength is 850.00nm
XFP receive power reading is -2.6059
Interface index is 68487169
Internet address is not set
MTU 1554 bytes, IP MTU 1500 bytes
LineSpeed 10000 Mbit
ARP type: ARPA, ARP Timeout 04:00:00
Last clearing of "show interface" counters 32w5d13h
Queueing strategy: fifo
Input Statistics:
67686406437 packets, 94546995614357 bytes
194537009 64-byte pkts, 4933673507 over 64-byte pkts, 88908513 over 127-byte pkts
238772903 over 255-byte pkts, 428776132 over 511-byte pkts, 61801738369 over 1023-byte pkts
9643737 Multicasts, 8915 Broadcasts
4 runts, 0 giants, 9642968 throttles
7 CRC, 0 overrun, 7 discarded
Output Statistics:
40995110798 packets, 25539944685602 bytes, 0 underruns
502644891 64-byte pkts, 24524523707 over 64-byte pkts, 85083781 over 127-byte pkts
166263970 over 255-byte pkts, 142506658 over 511-byte pkts, 15574087791 over 1023-byte pkts
319729304 Multicasts, 151876492 Broadcasts, 49113439594 Unicasts
0 throttles, 0 discarded, 0 collisions
Rate info (interval 299 seconds):
Input 120.00 Mbits/sec, 11776 packets/sec, 1.21% of line-rate
Output 41.00 Mbits/sec,
4227 packets/sec, 0.42% of line-rate
Time since last interface status change: 11w5d8h
swlip01>sh int status
Port
Description
Te 0/0
Te 0/1
Ligacao ao
Te 0/2
Uplink swli
Te 0/3
Uplink swli
Te 1/0
se006
Te 1/1
gftp03 (VLa
Te 1/2
gftp04 (VLa
Te 1/3
se005
Te 1/4
se007
Te 1/5
se002
Te 1/6
se003
Te 1/7
se004
Te 2/0
stlip03
Te 2/1
stlip02
Te 2/2
se008
Te 2/3
se011
Te 2/4
Te 2/5
Te 2/6
Te 2/7
Gi 3/0
wn043
Gi 3/1
wn044
Gi 3/2
wn045
Status
Down
Up
Up
Up
Up
Up
Up
Up
Up
Up
Up
Up
Up
Up
Up
Up
Down
Down
Down
Down
Up
Up
Up
Speed
Duplex
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
10000 Mbit Auto
1000 Mbit Full
1000 Mbit Full
1000 Mbit Full
Vlan
-31
1,7,10
1,10
8
9
9
8
8
8
8
8
8
10
8
10
----8
8
8
swlip01#sho hardware int gi3/0 phy
MII Control Register
SpeedSelection: 1Gbps
AutoNeg: ON
Loopback: False
PowerDown: False
Isolate: False
DuplexMode: Full
MII Status Register :
AutoNegComplete: True
RemoteFault: False
LinkStatus: Up
JabberDetect: False
AutoNegotiation Advertise :
100MegFullDplx: False
100MegHalfDplx: False
10MegFullDplx: False
10MegHalfDplx: False
Asym Pause: False
Sym Pause: False
AutoNegotiation Remote Partner's Ability :
100MegFullDplx: True
100MegHalfDplx: True
10MegFullDplx: True
10MegHalfDplx: True
Asym Pause: True
Sym Pause: True
AutoNegotiation Expansion :
ParallelDetectionFault: False
1000Base-T Control Register:
Master/Slave Mode: Auto
1000MegFullDplx: True
1000MegHalfDplx: True
1000Base-T Status Register
Master/Slave Fault: No
Master/Slave: Master
Local RX OK: True
Remote RX OK: True
Link Partner 1000MegFullDplx: True
Link Partner 1000MegHalfDplx: False
Idle Error Count: 0
1000Base-T/100Base-TX/10Base-T PHY Extnd Control
Register
Automatic MDI Crossover Mode: Enable
1000Base-T/100Base-TX/10Base-T PHY Extnd Status
Register
Automatic MDI Crossover State: Normal
swlip01>sh int description
Interface
OK
TenGigabitEthernet 0/0
NO
TenGigabitEthernet 0/1
YES
TenGigabitEthernet 0/2
YES
TenGigabitEthernet 0/3
YES
TenGigabitEthernet 1/0
YES
TenGigabitEthernet 1/1
YES
TenGigabitEthernet 1/2
YES
TenGigabitEthernet 1/3
YES
TenGigabitEthernet 1/4
YES
TenGigabitEthernet 1/5
YES
TenGigabitEthernet 1/6
YES
TenGigabitEthernet 1/7
YES
TenGigabitEthernet 2/0
YES
TenGigabitEthernet 2/1
YES
TenGigabitEthernet 2/2
YES
TenGigabitEthernet 2/3
YES
TenGigabitEthernet 2/4
NO
TenGigabitEthernet 2/5
NO
TenGigabitEthernet 2/6
NO
TenGigabitEthernet 2/7
NO
GigabitEthernet 3/0
YES
GigabitEthernet 3/1
YES
GigabitEthernet 3/2
YES
GigabitEthernet 3/3
YES
Status
admin down
up
up
up
up
up
up
up
up
up
up
up
up
up
up
up
admin down
admin down
admin down
admin down
up
up
up
up
Protocol
down
up
up
up
up
up
up
up
up
up
up
up
up
up
up
up
down
down
down
down
up
up
up
up
Description
Ligacao ao gtlip
Uplink swlip02 (1 Andar)
Uplink swlip06 (R/C)
se006
gftp03 (VLan 9)
gftp04 (VLan 8)
se005
se007
se002
se003
se004
stlip03
stlip02
se008
se011
wn043
wn044
wn045
wn046
swlip01>sh running-config
!
interface TenGigabitEthernet 0/2
description Uplink swlip02 (1 Andar)
no ip address
switchport
no shutdown
!
interface TenGigabitEthernet 2/6
no ip address
shutdown
!
interface GigabitEthernet 3/0
description wn043
no ip address
switchport
speed 1000
no shutdown
Interfaces e Cabos
• Os Force10 e CISCO suportam teste das ligações UTP
através de Time Domain Reflectometry (TDR)
– A Interface envia um sinal
– A interface examina a reflexão do sinal
• Atenção: os testes de TDR são intrusivos e não devem
ser realizados em links que estão a funcionar
– O link falha durante o teste
• Para efectuar um teste:
tdr-cable-test GigabitEthernet 3/7
show tdr GigabitEthernet 3/7
Time since last test: 00:00:09
Pair A, Length: 7 (+/- 1) meters, Status: Open
Pair B, Length: 8 (+/- 1) meters, Status: Open
Pair C, Length: 8 (+/- 1) meters, Status: Open
Pair D, Length: 8 (+/- 1) meters, Status: Open
Interfaces e Cabos
• Num equipamento CISCO:
test cable-diagnostics tdr int gi 2/34
TDR test started on interface Gi2/34
A TDR test can take a few seconds to run on an interface
Use 'show cable-diagnostics tdr' to read the TDR results.
• Para ver o resultado do teste:
show cable-diagn tdr int gi 2/34
TDR test last run on: March 21 23:30:16
Interface Speed Pair Cable length
--------- ----- ---- ------------------Gi2/34
auto 1-2 N/A
3-6 N/A
4-5 N/A
7-8 N/A
Distance to fault
------------------1
+/- 2 m
0
+/- 2 m
1
+/- 2 m
1
+/- 2 m
Channel
------Invalid
Invalid
Invalid
Invalid
Pair status
-----------Open
Open
Open
Open
Interfaces e Cabos
• Num equipamento CISCO para ver o estado de um
transceiver
sh int ten1/1 trans
Transceiver monitoring is disabled for all interfaces.
ITU Channel not available (Wavelength not available),
Transceiver is internally calibrated.
If device is externally calibrated, only calibrated values are printed.
++ : high alarm, + : high warning, - : low warning, -- : low alarm.
NA or N/A: not applicable, Tx: transmit, Rx: receive.
mA: milliamperes, dBm: decibels (milliwatts).
Port
------Te1/1
Temperature
(Celsius)
----------41.8
Voltage
(Volts)
------0.00
Current
(mA)
-------42.1 --
Optical
Tx Power
(dBm)
--------1.5
Optical
Rx Power
(dBm)
--------6.0
Interfaces e Cabos
• Num equipamento CISCO para ver o estado do flow
control de uma interface
sh int ten1/1 trans
Port
Send FlowControl
admin
oper
--------- -------- -------Te1/1
off
off
Receive FlowControl
admin
oper
-------- -------off
off
RxPause TxPause
------- ------0
0
Interfaces e Cabos
• Num CISCO para ver as capacidades de uma interface
sh int ten1/1 capabilities
TenGigabitEthernet1/1
Model:
WS-X6704-10GE
Type:
10Gbase-LR
Speed:
10000
Duplex:
full
Trunk encap. type:
802.1Q,ISL
Trunk mode:
on,off,desirable,nonegotiate
Channel:
yes
Broadcast suppression: percentage(0-100)
Flowcontrol:
rx-(off,on),tx-(off,on)
Membership:
static
Fast Start:
yes
QOS scheduling:
rx-(1q8t), tx-(1p7q8t)
CoS rewrite:
yes
ToS rewrite:
yes
Inline power:
no
SPAN:
source/destination
UDLD
yes
Link Debounce:
yes
Link Debounce Time:
yes
Ports on ASIC:
1
Port-Security:
yes
Power Over Ethernet
Power Over Ethernet (PoE)
• Tecnologia para passar alimentação eléctrica através
de cabos Ethernet UTP:
– Baixa voltagem e intensidade
– Alimentação de dispositivos de rede
– telefones IP, Wireless AP, camaras, pequenos switches de rede,
pequenos sistemas
• Diversas implementações:
– Proprietárias CISCO, Nortel, 3com, etc
– Normas: IEEE802.3af (PoE), IEEE802.3at (PoE+)
• A alimentação pode ser introduzida nos cabos (PSE):
– Directamente pelos switches de rede (têm de estar preparados)
– Através de injectores
• Os dispositivos a alimentar (PD):
– Podem eles próprios extrair a alimentação
– Podem precisar de um extractor
Power Over Ethernet (PoE)
PINS on Switch
10/100 DC on
Spares
10/100 Mixed DC
& Data
1000 Gigabit DC
& Bi-Data
Pin 1
Rx +
Rx +
DC +
TxRx A +
DC +
Pin 2
Rx -
Rx -
DC +
TxRx A -
DC +
Pin 3
Tx +
Tx +
DC -
TxRx B +
DC -
Pin 4
DC +
unused
TxRx C +
Pin 5
DC +
unused
TxRx C -
Pin 6
Tx -
Pin 7
DC -
unused
TxRx D +
Pin 8
DC -
unused
TxRx D -
Tx -
DC -
TxRx B -
• Alimentação através da técnica de phantom power.
• Mesma técnica usada para alimentar microfones.
DC -
Power Over Ethernet (PoE)
• Vantagens:
– Não é necessário um transformador para cada dispositivo de
rede
– Simplifica a cablagem
– Não requer tomada de 240V junto ao equipamento
– Instalação mais rápida
– Os transformadores destes pequenos dispositivos são
frequentemente de baixa qualidade
– Gestão remota da alimentação
• Características:
– 802.3af:
• 48V DC nominal, 10~350mA, 0.44~12.95W após perdas, cat3 ou cat5e
• 4x níveis de potencia seleccionáveis através de medição de resistência
– 802.3at (norma muito recente Setembro de 2009)
• 48V DC nominal, 0.1~25.5W após perdas, cat3 ou cat5e
• 5x níveis de potencia seleccionáveis através de medição de resistência ou
através do protocolo Ethernet layer 2 LLDP (Link Layer Discovery Protocol)
Link Layer Discovery Protocol
Link Layer Discovery Protocol
• O LLDP é um protocolo layer 2 usado para anunciar e identificar
dispositivos ligados a uma rede:
– Similar aos protocolos proprietários: Cisco DP, Extreme DP, Nortel DP,
LLTD (MS Link Layer Topology Discovery)
– Norma IEEE802.1AB de 2005
• Objectivos principais:
– Identificar a topologia da rede
– Permitir identificar problemas de configuração entre dispositivos
especialmente ao nível das VLANs
• Funcionamento:
–
–
–
–
–
–
LLDP L2 frames são enviados em todas as portas/VLANs suportadas
Os frames são enviados periodicamente
Não são enviadas respostas aos frames
A estações que recebem os frames armazenam a sua informação
A informação fica disponivel para consulta via SNMP
Aplicações SNMP podem colher a informação, reconstruir a topologia
e detectar problemas de configuração
Link Layer Discovery Protocol
• Um agente LLDP pode funcionar :
– Como receptor
– Como transmissor
– Como receptor e transmissor
• Um frame LLDP
– Usa como destino o endereço MAC de multicast 01:80:c2:00:00:0e
– Tem como tipo 88-CC
• A informação transmitida inclui:
–
–
–
–
–
–
–
–
–
System name and description
Port name and description
VLAN name
IP management address
System capabilities (switching, routing, etc.)
MAC/PHY information
MDI power
Link aggregation
Maximum frame size
Link Layer Discovery Protocol
•
•
•
•
•
•
•
LLDP-MEP Media Discovery Extension
Extensão/melhoramento do LLDP
Norma: ANSI/TIA-1057 (Telecom Industry Association)
Descoberta de politicas (prioridades L2, Diffserv)
Automação dos dispositivos Power Over Ethernet (PoE)
Melhor suporte para telefones IP
Levantamento dos dispositivos ligados à rede:
–
–
–
–
Fabricante, modelo
Software e versão, Hardware e versão, Firmware e versão
Número de serie, Número de inventário
Etc
Wake on Lan
Wake on Lan (WoL)
• Norma Ethernet
• Permite acordar sistemas remotos através do envio de
um pacote pela rede:
–
–
–
–
Primeiro o sistema tem de ser ligado e o Wake on Lan activado
Só depois se pode desligar o sistema (shutdown)
O sistema fica com a Interface de rede activa (ver leds)
O mediante a recepção de um determinado pacote (Magic
Packet) a placa de rede pode efectuar o arranque do sistema
Wake on Lan (WoL)
• Um magic packet:
– É um frame Ethernet que em qualquer parte do payload tem a
sequencia FF FF FF FF FF FF seguida de 16 repetições do MAC
address do sistema a acordar
– É frequentemente enviado como um broadcast
– É frequentemente enviado como um datagrama UDP para o
porto 0, 7 ou 9
– A vantagem do UDP é que o Magic Packet pode ser routed
– Mas pode ser enviado dentro de um frame Layer 2 sem mais
– Algumas implementações suportam uma password que de ser
adicionada à sequência do payload
– A Intel possui uma implementação que suporta encriptação TLS
Wake on Lan (WoL)
• Para activar o WoL em Linux:
ethtool -s eth1 wol g
shutdown –h now
• Para acordar um sistema remoto em Linux:
/sbin/ether-wake AA:B1:72:F3:FC:D5
Envia um frame Ethernet tipo 0x0842 para AA:B1:72:F3:FC:D5
• Existem muitas outras implementações de clientes WoL
Agregação
Agregação
• Agregação de interfaces
– link aggregation ou channel bonding
• Estabelecer um canal de comunicação através da união
de múltiplas interfaces de rede
A
SWITCH
• Criar uma interface virtual em A que agregue as 4
interfaces de rede como se fossem uma única
• Aumento de largura de banda
• Redundância
Agregação
• Agregação de interfaces (link aggregation)
• Muito usado como forma de aumentar a largura de
banda entre comutadores Ethernet a baixo custo
SWITCH
SWITCH
• Ao nível dos switches existem diversos protocolos de agregação
proprietários:
•
•
Etherchannel (CISCO), MLT e SMLT (Nortel), etc
Problemas de interoperabilidade
Agregação LACP
• Link Aggregation Control Protocol
• Protocolo de agregação IEEE801.AX
– Também conhecido pelo nome do grupo de trabalho da IEEE
que o criou designado por IEEE802.3ad
– Norma disponível em quase todos os equipamentos modernos
• Funcionamento:
– Os equipamentos enviam frames especiais LACPDUs quando o
outro extremo recebe os frames sabe que pode usar a ligação
para agregação
– O envio de frames permite detectar falhas na ligação
– Existem dois modos de funcionamento activo e passivo
• ACTIVO envia frames LACPDU, ambos os extremos podem ser activos
• PASSIVO só envia frames LACPDU quando detecta a recepção
Agregação LACP
• Portas:
– Todas as portas devem ter a mesma configuração full-duplex
– As portas que participam numa mesma agregação devem
possuir a mesma velocidade de transmissão
– Não usar autoconfiguração das portas e desligar spanning tree
• Para evitar que os pacotes de dados de um mesmo
stream ou estação cheguem fora de ordem
– Existe um algoritmo de encaminhamento/balanceamento
baseado no hash de diversos campos dos pacotes:
•
•
•
•
Endereço MAC de origem e/ou destino (L2)
Endereço IP de origem e/ou destino (L3)
Portas TCP ou UDP de origem e/ou destino (L4)
Podem ser usadas combinações ex:
IP_origem+IP_destino+Porta_origem+Porta_destino
• As combinações possiveis dependem dos equipamentos
– Cada stream ou estação é mapeado sempre na mesma porta
Agregação LACP
Force10(conf)#load-balance tcp-udp enable
Force10(conf)#interface port-channel 32
Force10(conf-if-po-32)#no shutdown
Force10(conf-if-po-32)#switchport
Force10(conf-if-po-32)# lacp long-timeout
…
Force10(conf)#interface Gigabitethernet 3/15
Force10(conf-if-gi-3/15)#no shutdown
Force10(conf-if-gi-3/15)#port-channel-protocol lacp
Force10(conf-if-gi-3/15-lacp)#port-channel 32 mode active
...
Force10(conf)#interface Gigabitethernet 3/16
Force10(conf-if-gi-3/16)#no shutdown
Force10(conf-if-gi-3/16)#port-channel-protocol lacp
Force10(conf-if-gi-3/16-lacp)#port-channel 32 mode active
Agregação Linux
• O driver de bonding do Linux permite diversos tipos de agregação:
– Balance-rr: transmissão de pacotes em round-robin
– Balance-xor: balanceamento feito de acordo com uma politica de hash
(MAC _origem XOR MAC_destino)
– Active-backup: não é bem uma agregação! So uma interface funciona e
se falhar passa para a segunda.
– Broadcast: transmite o mesmo pacote em todas as interfaces
– 802.3ad: norma IEEE801.AX o balanceamento é controlado pela
politica XOR
– Balance-tlb: balanceamento da transmissão de acordo com a carga de
cada interface, recepção numa única interface
– Balance-alb: inclui balance-tlb mais balanceamento da recepção
manipulação dos frames ARP que são transmitidos
diferentes sistemas remotos recebem respostas a queries ARP com
endereços MAC diferentes
balanço dinâmico baseado na utilização das interfaces
cada MAC remoto numa interface diferente
Agregação Linux
• Alguns pormenores sobre os modos bonding em Linux:
– Balance-rr, Balance-xor e broadcast:
• Requer que as portas sejam agrupadas do lado do switch.
• Configuração tipo Etherchannel da CISCO ou “trunk mode”.
• As interfaces partilham todas o mesmo endereço MAC.
– Balance-tlb, Balance-alb e active-backup:
• Não requerem reconfiguração do switch
• Para o switch é transparente tudo funciona ao nível do ARP
• As interfaces retêm os endereços MAC originais
– 802.3ad:
• Requer que no switch seja criada uma agregação 802.3ad (LACP)
• As interfaces partilham todas o mesmo endereço MAC.
– 802.3ad, Balance-xor:
• Os algoritmos XOR suportam L2, L3 e L4
Agregação Linux
• /etc/modprobe.conf
alias eth0 bnx2
alias eth1 bnx2
alias bond0 bonding
options bond0 mode=balance-alb miimon=100
install bnx2 /sbin/modprobe bonding; /sbin/modprobe --ignore-install bnx2
• /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
IPADDR=132.50.1.210
NETMASK=255.255.255.0
ONBOOT=yes
Agregação Linux
• /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:1E:0B:FF:22:1C
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
• /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
HWADDR=00:1E:0B:FF:22:9E
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
Agregação Linux
• É possivel obter informação sobre uma agregação
através do /proc
$ cat /proc/net/bonding/bond0
• Também é possivel efectuar a configuração a partir de
/sys/class/net/bond0
modprobe bonding
modprobe bnx2
echo balance-alb > /sys/class/net/bond0/bonding/mode
ifconfig bond0 192.168.1.1 netmask 255.255.255.0 up
echo 100 > /sys/class/net/bond0/bonding/miimon
echo +eth0 > /sys/class/net/bond0/bonding/slaves
echo +eth1 > /sys/class/net/bond0/bonding/slaves
Download