Post on 12-Dec-2018
unesp - IBILCE - SJRP
1
Curso de Redes de Computadores
Adriano Mauro Cansian
adriano@acmesecurity.org
Capítulo 5
Camada de Enlace de Dados
unesp - IBILCE - SJRP
A Camada de Enlace Objetivos: q Entender os serviços da camada de enlace:
• Compartilhando um canal broadcast: acesso múltiplo;
• Disputa para acesso ao meio.
• Endereçamento da camada de enlace;
q Implementação de tecnologias da camada de enlace.
Visão Geral: q Funcionamento da camada de enlace. q Protocolos de acesso múltiplo e LANs q Endereçamento da camada de enlace e ARP. q Tecnologias específicas da camada de enlace:
• Ethernet • Switches
unesp - IBILCE - SJRP
q Dois elementos “fisicamente conectados”:
• host-roteador / roteador-roteador / host-host
q Unidade de dados = quadro (frame)
aplicação transporte
rede enlace física
rede
enlace física
M M M M
Ht Ht Hn Ht Hn Hl M Ht Hn Hl
frame enlace físico
protocolo de enlace
Interface de rede
Contexto da Camada de Enlace
unesp - IBILCE - SJRP
Serviços da Camada de Enlace (1)
1. Enquadramento e acesso ao enlace
2. Entrega confiável
3. Controle de Fluxo
4. Detecção e Correção de Erros
unesp - IBILCE - SJRP
Serviços da Camada de Enlace (2)
q 1. Enquadramento e acesso ao enlace: • Encapsula datagrama num frame.
• Inclui cabeçalho e cauda (“header” e “trailer”). • Implementa acesso ao canal se este for compartilhado. • “Endereços físicos” ou “endereços MAC” à nos cabeçalhos
para identificar origem e destino.
q 2. Entrega confiável: • Pouco usada nos meios de redes locais atuais em fibra
óptica, cabo coaxial e alguns tipos de pares trançados devido a taxas de erro de bit muito baixas.
• Usada em enlaces de rádio, onde a meta é reduzir erros assim evitando a retransmissão fim a fim.
unesp - IBILCE - SJRP
Serviços da Camada de Enlace (3)
q 3. Controle de Fluxo: • Compatibilizar taxas de produção e consumo de quadros entre
remetentes e receptores.
q 4. Detecção e Correção de Erros: • Erros são causados por atenuação do sinal e por ruído. • Receptor detecta presença de erros. • Receptor sinaliza ao remetente para retransmissão, ou simplesmente
descarta o quadro em erro. • Há mecanismos que permitem que o receptor localize e corrija o erro
sem precisar da retransmissão. • Em alguns casos.
Principalmente em Wireless
unesp - IBILCE - SJRP
Implementação do Protocolo de Enlace (1) Protocolo da camada de enlace é implementado
totalmente na interface (na placa de rede).
“Software in hardware”.
unesp - IBILCE - SJRP
Implementação do Protocolo de Enlace (2) q Operações de “envio” no adaptador:
• Encapsula. • Insere header com endereços, número de
sequência, informações de realimentação e outros controles.
• Inclui bits de detecção de erros. • Implementa controle de acesso ao canal. • Realiza a geração e transmissão do sinal.
MUITO IMPORTANTE!
unesp - IBILCE - SJRP
Implementação do Protocolo de Enlace (3) q Operações “recebe” do adaptador:
• Verificação e correção de erros. • Interrupção do host.
• Para enviar o frame para a camada superior.
• Atualiza informações de estado.
unesp - IBILCE - SJRP
Detecção e correção de erros
unesp - IBILCE - SJRP
Detecção de Erros - métodos q Bits de paridade.
• Técnica Unidimensional. • Detecta erros em um único bit.
• Técnica Bidimensional. • Detecta e corrige em um único bit.
q Métodos de “Checksum”. • Códigos de Redundância Cíclica
• CRC - Cyclic Redundancy Codes.
Rever as discussões da camada de transporte e camada de rede
unesp - IBILCE - SJRP
Detecção de Erros q D = Dados protegidos por verificação de erros. q EDC = bits de Detecção e Correção de Erros (redundância) q Um campo maior de EDC permite melhorar detecção e correção.
unesp - IBILCE - SJRP
Detecção de Erros
q O desafio do receptor é determinar se D′ é ou não igual ao D original, uma vez que recebeu apenas D′ e EDC′.
Paridade de 1 Bit: Deteta erros em um único bit
unesp - IBILCE - SJRP
Verificação de paridade • Uma das maneiras mais simples de detectar erros éutilizar
um único bit de paridade. • A figura abaixo mostra uma generalização bidimensional
do esquema de paridade de bit único.
unesp - IBILCE - SJRP
Cálculo do da soma de verificação
q Um método simples de soma de verificação é somar os inteiros de k bits e usar o total resultante como bits de detecção de erros.
q O complemento de 1 dessa soma é a soma de verificação que é carregada no cabeçalho do segmento. • Já visto anteriormente no TCP, UDP e IP.
q Lembrando: no IP, a soma de verificação é calculada sobre o cabeçalho IP.
q Métodos de soma de verificação exigem relativamente pouca sobrecarga no pacote.
unesp - IBILCE - SJRP
Métodos de “Checksum” q Checksum “da Internet”:
• Emissor considera dados como compostos de inteiros de 16 bits;
• Soma todos os campos de 16 bits (usando aritmética de complemento de um) e acrescenta a soma ao pacote;
• O receptor repete a mesma operação e compara o resultado com o checksum enviado com o quadro.
unesp - IBILCE - SJRP
Métodos de “Checksum” q Códigos de Redundância Cíclica (Cyclic Redundancy Codes):
• Dados considerados como a sequência de coeficientes de um polinômio D.
• É escolhido um polinômio Gerador G (=> r+1 bits) • Divide-se (módulo 2) o polinômio D*2r por G. • Acrescenta-se o resto R a D. • Observa-se que, por construção, a nova sequência
<D,R> agora é exatamente divisível por G.
unesp - IBILCE - SJRP
Implementação de CRC
q EMISSOR realiza em tempo real, por hardware, a divisão da sequência D pelo polinômio G, e acrescenta o resto R a D.
q O RECEPTOR divide <D,R> por G: • Se o resto for diferente de zero, a transmissão teve erro.
q Padrões internacionais de polinômios G de graus 8, 12, 15 e 32 já foram definidos.
unesp - IBILCE - SJRP
XOR
unesp - IBILCE - SJRP
Exemplo de CRC
unesp - IBILCE - SJRP
Métodos de CRC em Ethernet (1)
unesp - IBILCE - SJRP
Métodos de CRC em Ethernet (2)
unesp - IBILCE - SJRP
CRC – Exemplos para estudo e exercícios
q Como exemplo, assista aos vídeos: • Cálculo de CRC – parte 1 e 2 – Prof. Othon Batista
• http://youtu.be/XWcJcybL3JQ http://youtu.be/wyUNSzDbFjg
q Cálculo detalhado: • http://www.emcu.it/CRC/CRCuk.html (Verif. 09/10/2016)
Exercícios: como funcionam os códigos de verificação de erros (Kurose & Ross 5ª. Ed. Tópico 5.2).
unesp - IBILCE - SJRP
Enlaces e Protocolos de Múltiplo Acesso
unesp - IBILCE - SJRP
Enlaces e Protocolos de Múltiplo Acesso
q Três tipos de enlace: • Ponto-a-ponto.
• Cabo único: ADSL, USB, etc...
• Difusão ou Broadcast. • Cabo ou meio compartilhado: Ethernet, rádio, etc...
• Comutado. • Switchs, ATM, etc..
Começaremos a estudar enlaces com difusão (broadcast)
Assim, veremos os protocolo de Múltiplo Acesso
unesp - IBILCE - SJRP
Protocolos de Múltiplo Acesso (1)
Canal de comunicação é único e compartilhado.
q Se duas ou mais transmissões acontecem ao mesmo tempo: • Resulta em interferência do sinal transmitido.
• “Colisão”.
Apenas um nó pode transmitir com sucesso num dado instante.
unesp - IBILCE - SJRP
Protocolos de Múltiplo Acesso (2)
q 2 características fundamentais: • Possuem um algoritmo distribuído.
– Como as estações compartilham o canal.
– Quando cada estação pode transmitir. • A comunicação sobre o compartilhamento do
canal deve seguir pelo próprio canal.
Humanos usam protocolos de acesso múltiplo o tempo todo!
unesp - IBILCE - SJRP
Protocolos de Controle de Acesso ao Meio (MAC – Media Access Control)
q Protocolo MAC:
Deve coordenar transmissões de hosts diferentes para minimizar ou evitar colisões.
q São dividido em 3 classes: • Particionamento do Canal.
• Acesso Randômico.
• Revezamento.
unesp - IBILCE - SJRP
Protocolos MAC: taxonomia Três grandes classes: q Particionamento de canal à divisão igualitária do canal.
• Dividem o canal em pedaços menores • Aloca um pedaço de uso exclusivo para cada nó (host).
q Acesso Aleatório à cada nó transmite quando tiver dados. • Pode causar colisões. • Deve permitir recuperação das colisões.
q Revezamento à cada nó transmite na sua vez. • Compartilhamento estritamente coordenado. • Passagem de permissão evita colisões.
Objetivo a ser alcançado: eficiente, justo, simples e descentralizado.
unesp - IBILCE - SJRP
Protocolos de Acesso Randômico
unesp - IBILCE - SJRP
Protocolos de Acesso Randômico (1) q Ideia básica à a estação transmite
aleatoriamente. • Se houver dados a transmitir, simplesmente
transmite.
• Sem coordenação entre estações.
• Ocupam toda a banda R do canal.
• Se houver “colisão” entre as transmissões de duas ou mais estações, elas retransmitem depois de espera randômica.
unesp - IBILCE - SJRP
Protocolos de Acesso Randômico (2) O protocolo MAC de acesso randômico
especifica como detectar colisões, e como se recuperar delas.
q Protocolos MAC de acesso randômico: • SLOTTED ALOHA
• ALOHA
• CSMA e CSMA/CD
unesp - IBILCE - SJRP
Slotted Aloha q O tempo é dividido em slots de tamanho igual.
• Exemplo: o slot é igual ao tempo para enviar o tamanho de um pacote cheio.
q Estação que tem dados a enviar transmite no início do próximo slot. q Se houver uma colisão, a origem retransmite o pacote a cada slot
com probabilidade P, até conseguir sucesso. q S-ALOHA é eficiente na utilização do canal.
• E é completamente descentralizado.
Na figura: Slots com Sucesso: (S) / com Colisão: (C) / Vazios: (E).
unesp - IBILCE - SJRP
Eficiência do Slotted Aloha q Se N estações tem pacotes para enviar.
q Cada uma transmite num slot com probabilidade p, então:
q A probabilidade S de uma transmissão com sucesso, para uma estação específica:
Shost_x = p (1-p)(N-1)
unesp - IBILCE - SJRP
Eficiência do Slotted Aloha q Para que qualquer uma das N estações consiga
transmitir com sucesso num slot:
Shost_qualquer = N p (1-p)(N-1)
Para N muito grande temos S = 1/e (aproximadamente 0,37) (otimizando, obtemos que o valor ótimo de P é P = 1/N)
(veja material auxiliar no piazza)
Ponto de máximo: uso do canal para envio de dados úteis: 37% do tempo!
unesp - IBILCE - SJRP
ALOHA puro: sem slots (1) Um versão mais simples: ALOHA puro
• Não exige slots. • Uma estação transmite sem aguardar o início de um slot. • A probabilidade de colisão aumenta. • Fica duas vezes o tamanho de Sloted-Aloha.
• Pacote pode colidir com outros pacotes transmitidos dentro de uma janela
q Repetindo os cálculos e considerações, obtemos que a vazão é reduzida pela metade: S = 1/(2e) ≅ 0,18.
(veja material auxiliar no piazza)
Ponto de máximo, para envio de dados úteis: 18% do tempo!
unesp - IBILCE - SJRP
ALOHA puro: sem slots (1)
tempo
unesp - IBILCE - SJRP
Rendimento / tráfego S-ALOHA x ALOHA puro:
unesp - IBILCE - SJRP
CSMA & CSMA CD Carrier Sense Multiple Access
(“escutar” o meio antes de transmitir)
unesp - IBILCE - SJRP
CSMA (Carrier Sense Multiple Access) q CSMA: escuta antes de transmitir.
q Se detecta que o canal está sendo usado:
q Adia transmissão, e adota uma das posturas: • CSMA persistente: permanece monitorando o canal e
tenta novamente assim que o canal se tornar ocioso. • CSMA não-persistente: tenta novamente, depois de
intervalo randômico.
Ainda podem ocorrer colisões?
unesp - IBILCE - SJRP
CSMA (Carrier Sense Multiple Access) Colisões ainda podem ocorrer:
Duas (ou mais) estações podem detectar ao mesmo tempo que o canal está ocioso.
q Janela de vulnerabilidade à devido ao retardo ida e
volta entre as estações envolvidas. • No caso de colisão, é desperdiçado todo o tempo de
transmissão do pacote.
unesp - IBILCE - SJRP
Colisões
unesp - IBILCE - SJRP
Colisões em CSMA
Colisões podem ocorrer: o atraso de propagação implica que dois nós podem não ouvir as transmissões do outro.
Colisão: todo o tempo de transmissão do pacote é desperdiçado.
Lembre: O papel da distância e do atraso de propagação na determinação da possibilidade de colisão.
unesp - IBILCE - SJRP
CSMA/CD (Detecção de Colisões)
q CSMA/CD à escuta do meio e adiamento. • Colisões são detectadas rapidamente.
q Se há colisão: transmissão é abortada, reduzindo o desperdício do canal.
q Detecção de colisões é fácil em rede locais usando cabo. • Medir a intensidade do sinal na linha, ou comparar sinais Tx e Rx.
q CSMA/CD pode conseguir utilização do canal perto de 100% em redes locais.
unesp - IBILCE - SJRP
Deteção de colisões em CSMA/CD
unesp - IBILCE - SJRP
Non-CD vs CD
unesp - IBILCE - SJRP
Algoritmo CSMA/CD (1) A: escuta canal; SE ocioso
ENTÃO { transmite e monitora o canal;
se detectou outra transmissão então { aborta e envia sinal de “jam”;
atualiza número de colisões; Adia de acordo com o algoritmo de retardo exponencial (ou backoff exponencial);
vai para A}
senão {terminado este quadro; zera contador colisões}
}senão {espera o final da transmissão atual e vai para A}
Visto adiante
unesp - IBILCE - SJRP
Algoritmo CSMA/CD (2)
q Sinal “Jam” : • para garantir que todos os outros transmissores
tomem conhecimento da colisão.
• Sinal possui 48 bits;
q Backoff Exponencial: • Meta é adaptar a taxa oferecida por transmissores à
estimativa da carga atual • Isto é, retardar quando carga da rede estiver elevada.
unesp - IBILCE - SJRP
Backoff exponencial q Após sofrer a n-ésima colisão em seguida para um quadro:
q Escolhe um valor de K aleatoriamente de
{0, 1, 2,…, 2m−1} onde m = min(n,10)• Depois da primeira colisão, escolhe K entre {0,1}. • O retardo é (K x 512 BTT)
• [1 BTT = tempo para transmitir 1 bit ]
• Depois da segunda colisão escolhe K de {0,1,2,3}…
• Depois de dez ou mais colisões, escolhe K de {0,1,2,3,4,…,1023}
q Não mantém estado.
q Cada pacote que colide é tratado de forma independente.
unesp - IBILCE - SJRP
CSMA/CD simplificado
unesp - IBILCE - SJRP
Eficiência do CSMA/CD q Nota-se que neste esquema um novo quadro
tem uma chance de sucesso na primeira tentativa, mesmo com tráfego pesado.
q Eficiência Ethernet com tráfego pesado e número grande de nós:
)*5(1
1
trans
prop
tt
Efficiency+
=
Exercício: determinar o rendimento % do CSMA/CD em uma situação de alta carga de tráfego na rede. Ver Livro Tannenbaum – Redes de Computadores.
• Eficiência tende a 1 quando tprop tende a 0. • Tende a 1 quando ttrans tende ao infinito. • Muito melhor do que o ALOHA, e ainda é
descentralizado, simples e barato.
unesp - IBILCE - SJRP
Eficiência dos protocolos de acesso rândomico
unesp - IBILCE - SJRP Pergunta / exercício: Quanto tempo é necessário para se perceber uma colisão? (Isto é, qual o tempo do slot de contenção? )
A B
Packet starts at time 0A B A B
Packet almost at B at - τ ∍
Collision at time τ
A B
Noise burst gets back to A at 2τ
A B
(a) (b)
(c) (d) Determinação do slot de contenção
Tempo do percurso A → B = T Pior caso:
(a): Estação A começa a transmitir no instante t = 0. (b) e (c): Num pequeno instante antes de o sinal chegar à estação mais distante, no tempo t = (T −ε ) temos que B começa a transmitir e percebe a colisão, quase instantaneamente. Então, interrompe a transmissão. (d) Mas o pequeno efeito da colisão não chega até a estação original A num tempo melhor que 2T −ε (tempo de ida e volta de A até B).
Em outras palavras: na pior das hipóteses, a estação A só poderá ter certeza de haver se apoderado do canal após transmitir durante 2T sem escutar uma colisão. Portanto 2T é o tempo necessário para que a estação A esteja segura que assumiu o controle. Num cabo de 1 Km, T = 5 microsegundos.
unesp - IBILCE - SJRP
Slot de contenção
Fonte: http://intronetworks.cs.luc.edu/1/html/ethernet.html (7/8/2017)
unesp - IBILCE - SJRP
Protocolos MAC de “revezamento”
unesp - IBILCE - SJRP
Protocolos MAC de “revezamento” q Até aqui já vimos:
• Particionamento ESTÁTICO de canal (TDM, FDM).
• Protocolos MAC de acesso randômico: permitem que um único usuário utilize toda a capacidade do canal;
• Entretanto, eles não conseguem compartilhar o canal de maneira igualitária.
q Mas existem também os protocolos de revezamento.
unesp - IBILCE - SJRP
Protocolos MAC de “revezamento” q Protocolos MAC de revezamento conseguem tanto justeza
como acesso individual a toda a capacidade do enlace. • Custo: maior complexidade de controle.
q Dois grandes métodos: • Polling: uma estação Mestre numa rede local “convida” em
ordem as estações escravas a transmitir seus pacotes. • Token (ficha) de permissão (ou “bastão”) é passada
seqüencialmente de estação a estação. • É possível aliviar a latência e melhorar tolerância a falhas
• Token Bus e Token Ring. Exercício: Protocolo DOCSIS “3 em 1”
(Livro Texto K&R – 6ª edição - Tópico 5.3.4)
unesp - IBILCE - SJRP
Ethernet e suas evoluções
unesp - IBILCE - SJRP
Ethernet q Muito difundida:
• Baixo custo: < R$ 20 para 100 Mbps.
• Uma das mais antigas tecnologias de rede local. • Mais simples e menos cara do que redes de revezamento.
• Acompanhou aumento de velocidade: 10M, 100M, 1G bps. • Suporta muitos meios (cobre, fibra, etc...), mas todas
compartilham características comuns.
Bob Metcalfe & David Boggs (1973)
unesp - IBILCE - SJRP
Histórico q 1973: Bob Metcalfe at Xerox PARC documenta a criação da
ethernet, num memorando. • Bob Metcalfe, David Boggs, and Tat Lam criam o primeiro protótipo a
2.94 Mbps.
q 1974: Vint Cerf e Bob Kahn publican uma especificação do protocolo num artigo "Protocol for Packet Network Interconnection” in IEEE Transactions on Communications.
q 1978: Xerox desenvolve X-Wire (DIX) ethernet 10 Mbps rodando sobre coaxial cable.
q 1979: Bob Metcalf funda a 3Com q http://timeline.ethernethistory.com/ q https://youtu.be/g5MezxMcRmk
unesp - IBILCE - SJRP
http://media.ciena.com/images/History-of-Ethernet.png 14/8/2017
unesp - IBILCE - SJRP
Ethernet IEEE 802.3 standards (*)
(*) Observação: datas onde as velocidades foram padronizadas para o padrão IEEE 802.3; não significa data de criação.
unesp - IBILCE - SJRP
Padrões Ethernet 802.3: camadas de enlace e física
q Muitos padrões Ethernet diferentes • Protocolo MAC e formato de quadro comuns • Diferentes velocidades: 2 Mbps, 10 Mbps, 100
Mbps, 1Gbps, 10G bps. • Diferentes meios da camada física:
• Fibra, cabo, compatibilidade com wi-fi.
aplicação transporte
rede enlace física
protocolo MAC e formato de quadro
100BASE-TX
100BASE-T4
100BASE-FX 100BASE-T2
100BASE-SX 100BASE-BX
camada física fibra camada física cobre (par trançado)
unesp - IBILCE - SJRP
Ethernet: evolução (prevista)
http://25gethernet.org/ http://ix.br/pttforum/9/slides/ixbr9-ethernet.pdf
unesp - IBILCE - SJRP
Topologia de estrela q Topologia de barramento foi popular até meados dos anos 90:
• todos os nós no mesmo domínio de colisão • podem colidir uns com os outros.
q Atualmente: topologia de estrela prevalece: • Comutador (switch) ativo no centro. • Cada “ponta” roda um protocolo Ethernet (separado):
• Nós não colidem uns com os outros (transmitem mutuamente).
comutador
Barramento / cabo coaxial estrela
unesp - IBILCE - SJRP
Ethernet: não confiável e sem conexão
q Sem conexão: sem handshake.
q Não confiável: não há ACK ou NACK. • Fluxo de datagramas entregues à camada de rede
pode ter lacunas (podem faltar datagramas) • Lacunas sanadas pelo transporte se aplicação usar TCP.
• Se transporte usa UDP, aplicação terá de resolver o problema.
Protocolo MAC da Ethernet: CSMA/CD (lembrando que erthernet tem outras características além do CSMA/CD)
unesp - IBILCE - SJRP
Estrutura de frame Ethernet (1)
q Contém: Preâmbulo, Cabeçalho, Dados e CRC.
q Preâmbulo de 8 bytes: • 7 bytes com o padrão 10101010, e
• seguidos por um byte com o padrão 10101011. • Para sincronizar clock do receptor com emissor.
1010101010101010101010101010101010101010101010101010101010101011
unesp - IBILCE - SJRP
Estrutura de frame Ethernet (2) q Cabeçalho: endereços de Destino e Origem, e “Tipo” q Endereços: 6 bytes (48 bits)
• O frame é recebido por todas as interfaces numa LAN, e descartado se o endereço de destino não corresponder com o endereço de quem recebe à rede de difusão (broadcast):
q Tipo: indica o protocolo da camada superior, • Usualmente IP (0x800)16, mas suporta vários outros
• ARP, NETBIOS, AppleTalk, e outros.
q CRC: verificado pelo receptor. • Se for detectado um erro, o quadro será descartado.
unesp - IBILCE - SJRP
Ethernet frame types
unesp - IBILCE - SJRP
Ethernet frame completo
Padding (preenchimento)
9.6 µs para 10 Mbit/s Ethernet, 960 ns para 100 Mbit/s Fas tethernet, 96 ns para 1 Gbit/s (1 gigabit) Ethernet, e
9.6 ns for 10 Gbit/s (10 gigabit) Ethernet.
Frame ethernet
Padrão: 96 bit times
Para aprofundamento veja: https://standards.ieee.org/findstds/interps/interp-3-0306.pdf
unesp - IBILCE - SJRP
Padding (preenchimento) q O tamanho do frame que vai do destination address
até o checksum deve ser maior ou igual a 64 bytes. • Se o campo de dados (payload) for menor do que 46 bytes,
o quadro será preenchido com 0’s até o tamanho mínimo.
q Motivo: evitar que um dispositivo termine a transmissão de um frame curto antes do primeiro bit ter chegado no ponto mais distante do cabo.
Influencia diretamente no tamanho máximo de cabo que o protocolo pode usar.
Define o pior caso para permitir detectar uma colisão.
unesp - IBILCE - SJRP
Packet starts at time 0A B A B
Packet almost at B at - τ ∍
Collision at time τ
A B
Noise burst gets back to A at 2τ
A B
(a) (b)
(c) (d)
Determinação do slot de contenção
A estação A só poderá ter certeza de haver se apoderado do canal após transmitir durante 2T sem escutar uma colisão. Portanto 2T é o tempo necessário para que a estação A esteja segura que assumiu o controle. Num cabo de 1 Km, T = 5 microsegundos.
Tamanho mínimo do frame garante a detecção da colisão. Assim a estação A (ou B) não pode interromper a
transmissão antes do frame ter ido e voltado até a distância mais longa do cabo, caso contrário não há
como detectar que o frame foi alterado.
unesp - IBILCE - SJRP
http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/csma-cd.html (14/8/2017)
unesp - IBILCE - SJRP
Algoritmo backoff exponencial com Interframe gap
http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/csma-cd.html (14/08/2017)
unesp - IBILCE - SJRP
LANs, endereçamento e ARP
unesp - IBILCE - SJRP
LAN – Local Area Network q Ethernet cabeada IEEE 802.3:
• Ainda a tecnologia mais popular e barata de rede local, apesar que o wifi é um grande concorrente.
• Usa o protocolo CSMA/CD.
• Ethernet 10 Mbps, Fast Ethernet (100 Mbps), Giga Ethernet (1000 Mbps) e 10G ethernet
• 100G, 25GE, 50GE evoluindo rápido
• Meio mais usado: Par trançado (TP – Twisted pair).
unesp - IBILCE - SJRP
Endereços físicos e ARP q Rede local tem, um Endereço físico
• Ou endereço MAC.
• MAC Address = Media Access Control Address
q Endereço MAC tem 48 bits: • Formato hexadecimal: 00:26:08:01:82:9ª
• (6 octetos).
• Gravado na ROM da placa de rede. • (Mas pode ser alterado por software).
unesp - IBILCE - SJRP
Endereços físicos / MAC Address
unesp - IBILCE - SJRP
Endereço MAC (endereço físico) q Endereços MAC administrados pelo IEEE (www.ieee.org).
• Fabricante licencia (“compra”) um intervalo de endereços.
• Para garantir unicidade.
q Endereço MAC não tem estrutura hierárquica • Para garantir portabilidade.
• Não depende da rede. Não é roteável • Lembre que o endereço IP é hierárquico
– IP NÃO é portátil.
– IP Depende da rede / localização.
q Endereço MAC de difusão (broadcast): • All 48 bits one: FF:FF:FF:FF:FF:FF
unesp - IBILCE - SJRP
Endereço MAC
Protocolos de Switch: OUI reservado à 0X:80:C2 X=0 : unicast X=1 : grupo
00:26:08:01:84:9A
placa
unesp - IBILCE - SJRP
Padrão IEEE 802 define 2 tipos de endereços MAC: Administrados Localmente (Locais) e Universais. Os endereços locais são definidos livremente pelo administrador da rede, mas eles devem seguir a convenção de que o valor do segundo bit mais significativo do endereço (indicado como b7 na figura) deve ser igual a 1. Os endereços universais são globalmente únicos, pois identificadores OUI (Identificadores Únicos de Organizações) são alocados pelo IEEE para os fabricantes de dispositivos de rede. Por exemplo, a Xerox recebeu os OUIs de 00-00-00 até 00-00-09. Os endereços MAC podem ser ainda individuais ou em grupo (controlado pelo bit 8 na figura). Os endereços de grupo permitem enviar um único quadro para múltiplos destinos simultaneamente, e podem ser do tipo broadcast ou multicast. Nem todos os endereços universais podem ser usados para identificar adaptadores de rede. Um OUI foi alocado para uso exclusivo de protocolos padronizados para switches, como o “Spanning Tree”, e não pode ser usada por nenhum fabricante. O OUI reservado para protocolos de switch é 0X-80-C2. Esse OUI inclui endereços do tipo unicast (quando X=0) e grupo (quando X=1). Em alguns casos, o quadro recebido por um switch no formato multicast deve ser interpretado apenas localmente, e não deve ser repassado para os demais switches da rede. Em outros casos, o quadro precisa ser repassado. Esse controle é feito pela divisão do bloco de endereços de protocolos padronizados em 2 sub-grupos denominados: filtrado (não propaga multicast) e padrão (propaga multicast). • Faixa do modo filtrado: de 01-80-C2-00-00-00 até 01-80-C2-00-00-0F
• Faixa do modo padrão: de 01-80-C2-00-00-10 até 01-80-C2-FF-FF-FF
Exercício: aprofundamento sobre endereços
unesp - IBILCE - SJRP
ARP: Address Resolution Protocol Mapeia (traduz) endereços IP para MAC.
Pergunta IP addr à Responde MAC addr q Cada host na rede local possui uma tabela ARP .
Tabela ARP - Exemplo: [ endereço IP; endereço MAC; TTL ]
[ 200.145.1.1; 00:26:08:01:84:9A; 15m ]
[ 200.145.202.255; FF:FF:FF:FF:FF:FF, none ]
q TTL: temporizador • Quanto tempo deve ser mantida em cache.
• Tipicamente alguns minutos (padrão: 20 min).
unesp - IBILCE - SJRP
Tabela ARP
unesp - IBILCE - SJRP
ARP: Address Resolution Protocol (2) 1. Host A quer enviar pacote para endereço IP de destino X na mesma
rede local. 2. Host de origem primeiro verifica se sua tabela ARP contém o
endereço IP X (verifica se há cache). 3. Se X não há cache, o host envia um query ARP em broadcast
• MAC destino = FF:FF:FF:FF:FF:FF
• [ IP X, MAC (?) ] à enviado em broadcast4. Todos os hosts na rede local aceitam o pacote ARP.
1. Destino é broadcast à todos aceitam 2. Cada um verifica se é ele que tem aquele IP. Quem tiver, responde.
5. O host de IP X responde direto ao host A com pacote ARP informando seu próprio endereço MAC :
[ IP X, MAC (X) ] à enviado para A. 6. Endereço MAC de X é armazenado em cache na tabela ARP de A.
unesp - IBILCE - SJRP
ARP request & response
unesp - IBILCE - SJRP
ARP Request
Fonte: http://www.v6edu.com/joomla/sixscape/index.php/technical-backgrounders/tcp-ip/ip-the-internet-protocol/ipv4-internet-protocol-version-4/ipv4-address-resolution-with-arp
unesp - IBILCE - SJRP
ARP Reply
Fonte: http://www.v6edu.com/joomla/sixscape/index.php/technical-backgrounders/tcp-ip/ip-the-internet-protocol/ipv4-internet-protocol-version-4/ipv4-address-resolution-with-arp
unesp - IBILCE - SJRP
Gratuitous ARP
"Hey everyone! I own IP address 10.3.2.56 and MAC address 00:19:5b:2f:14:6b. Who owns IP address 10.3.2.56?".
Serve por quê?
unesp - IBILCE - SJRP
ARP packet format
Frame type: ARP = 0x0806
unesp - IBILCE - SJRP
Encapsulamento, roteamento e encaminhamento
Este tema já foi tratado na camada de rede. Como atividade
extra-classe o aluno deve fazer uma revisão a respeito do
encapsulamento e encaminhamento de datagramas na rede
local até o gateway de saída, incluindo ARP.
Extra-classe: revisão
unesp - IBILCE - SJRP
Encapsulamento Extra-classe: revisão
unesp - IBILCE - SJRP
Roteando um pacote para outra rede. q Exemplo: rotear pacote do endereço IP de origem
<111.111.111.111> ao endereço de destino <222.222.222.222>. q Na tabela de rotas na origem, encontra roteador 111.111.111.110 q Na tabela ARP na origem, tira endereço MAC E6-E9-00-17-BB-4B, e
etc...
Extra-classe: revisão
unesp - IBILCE - SJRP
Endereçamento: roteando para outra LAN
acompanhamento: enviar datagrama de A para B via R. suponha que A saiba o endereço IP de B
q Duas tabelas ARP no roteador R, uma para cada rede IP (LAN)
R
1A-23-F9-CD-06-9B
222.222.222.220 111.111.111.110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111.111.111.112
111.111.111.111
A
74-29-9C-E8-FF-55
222.222.222.221
88-B2-2F-54-1A-0F
B
222.222.222.222
49-BD-D2-C7-56-2A
Extra-classe: revisão
unesp - IBILCE - SJRP
Como acontece o roteamento e o encaminhamento?
R
1A-23-F9-CD-06-9B
222.222.222.220
111.111.111.110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111.111.111.112
111.111.111.111
A
74-29-9C-E8-FF-55
222.222.222.221
88-B2-2F-54-1A-0F
B
222.222.222.222
49-BD-D2-C7-56-2A
Extra-classe: revisão
unesp - IBILCE - SJRP
q A cria datagrama IP com origem A, destino B q A usa ARP para obter endereço MAC de R para 111.111.111.110 q A cria quadro da camada de enlace com endereço MAC de R como
destino, quadro contém datagrama IP A-para-B q NIC de A envia quadro q NIC de R recebe quadro q R remove datagrama IP do quadro Ethernet, vê o seu destinado a B q R usa ARP para obter endereço MAC de B q R cria quadro contendo datagrama IP A-para-B e envia para B
R
1A-23-F9-CD-06-9B
222.222.222.220 111.111.111.110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111.111.111.112
111.111.111.111
A
74-29-9C-E8-FF-55
222.222.222.221
88-B2-2F-54-1A-0F
B
222.222.222.222
49-BD-D2-C7-56-2A
Como acontece o roteamento e o encaminhamento?
Extra-classe: revisão
unesp - IBILCE - SJRP
Estruturas de redes locais: hubs e switches
unesp - IBILCE - SJRP
Hubs Repetidores da camada física (repetidores “burros”) :
• Dispositivos conectados ao hub podem colidir uns com os outros.
• Sem buffering (cache) de quadros.
• Sem CSMA/CD no hub: host devem detectar colisões.
• Bits que chegam num enlace são replicados em todos os outros enlaces, na mesma velocidade.
par trançado
hub
Do ponto de vista lógico, um hub é igual a um cabo coaxial.
=
unesp - IBILCE - SJRP
Comutador (switch) Ethernet (1)
q Switch é um dispositivo para “conexões dedicadas” ponto-a-ponto.
q Um host ligado a um switch sempre detecta que o meio está ocioso. • Não haverá colisões entre duas portas.
• Cada porta forma um “domínio de colisão”.
unesp - IBILCE - SJRP
q Switch possui muitas interfaces (portas). q Hosts possuem conexão direta ao switch. q Sem colisões e, além disso, é full duplex.
q Cada porta forma um domínio de colisão.
Comutador (switch) Ethernet (2)
Switching: A transmite para A’ e B transmite para B’, simultaneamente, sem colisões.
unesp - IBILCE - SJRP
Comutador (switch) Ethernet (3) q Dispositivo de camada de enlace.
q Armazena e encaminha quadros Ethernet (store-and-forward).
q Examina o cabeçalho do quadro e, seletivamente, encaminha o quadro baseado no endereço MAC de destino.
q Usa CSMA/CD para acessar a porta segmento.
q Transparente:
• Hosts são percebem a presença dos switches.
• Mantém a compatibilidade reversa com ethernet e CSMA/CD
q Plug-and-play & self-learning (auto-aprendizado).
• Switches não precisam ser configurados.
unesp - IBILCE - SJRP
Comutador (switch) Ethernet (4)
q Switches suportam comutação “cut-through”: • O quadro é encaminhado imediatamente ao
destino, sem esperar a recepção do quadro inteiro no buffer do switch.
• Há uma pequena redução na latência.
q Switches Ethernet variam em capacidade. • Mais rápidos incorporam uma rede de interconexão.
• backplane ou switch fabric, de alta capacidade.
unesp - IBILCE - SJRP
Self learning (auto-aprendizado) q O switch possui uma tabela de comutação.
q Switch aprende quais hosts estão em quais portas. • Ao receber um frame, o switch memoriza em qual porta está o
MAC do emissor à associa o MAC Address à porta.
• Registra o par [emissor / porta] na tabela.
• Uma porta pode ter mais de um MAC Address associado a ela (quando isso acontece e por quê?).
q Entradas na tabela do switch possuem o formato: [endereço MAC host, interface, marca de tempo]
q Entradas expiradas na tabela são descartadas.
unesp - IBILCE - SJRP
Quando um switch recebe um quadro:
1. indexa a tabela do switch usando endereço MAC de destino2. if entrada for encontrada para o destino
then{3. if destino está na porta deste quadro que chegou
then descarta o quadro // destino mesma porta origem // else encaminha o quadro para porta indicada. } else flood;
Flood: Caso não encontre a entrada do destino na tabela, encaminha para todas as portas, exceto para aquela de o quadro chegou.
Decisão, encaminhamento e filtragem
unesp - IBILCE - SJRP
Suponha que C envia um quadro para D
• Switch recebe o quadro de C, com destino a D. • Registra na tabela que C está na porta 1 • Como D não está na tabela, o switch encaminha o quadro para
as portas 2 e 3 (não envia para 1 porque C está na 1). • Quadro é recebido por D.
hub hub hub
switch
A
B C D
E F G H
I
endereço Porta A B E G
1 1 2 3
1 2 3
Exemplo de filtragem e encaminhamento
unesp - IBILCE - SJRP
Switches versus roteadores
q Ambos fazem armazenamento e repasse (store and forward). • Roteadores: dispositivos da camada de rede
• Examinam cabeçalhos da camada de rede.
• Comutadores são dispositivos da camada de enlace.
q Roteadores mantêm tabelas de roteamento, implementam algoritmos de roteamento.
q Switches mantêm tabelas de comutação, implementam filtragem, algoritmos de aprendizagem.
unesp - IBILCE - SJRP
VLANs
unesp - IBILCE - SJRP
VLANs: motivação
O que acontece se: q Usuário da CC muda para EE,
mas quer se conectar ao comutador CC?
q Único domínio de broadcast: • Todo tráfego de broadcast da
camada 2 (ARP, DHCP) cruza a LAN inteira
• Questões de eficiência, segurança e privacidade.
Ciência da Computação Engenharia
Elétrica Engenharia
da Computação
unesp - IBILCE - SJRP
VLANs VLAN baseada em porta: portas de switch agrupadas (por software) para
que único switch físico…
Virtual Local Area Network: Switches com capacidade de VLAN podem ser configurados para definir múltiplas LANs virtuais por única infraestrutura de LAN física.
1
8
9
16 10 2
7
… Pólo
(VLAN portas 1-8) Ciência da Computação
(VLAN portas 9-15)
15
…
Pólo (VLAN portas 1-8)
…
1
8 2
7 9
16 10
15
… Ciência da Computação
(VLAN portas 9-16)
…opere como múltiplos switches virtuais
unesp - IBILCE - SJRP
LANS Virtuais q SEGMENTO = Domínio de Colisão.
• Os computadores de um Hub estão no mesmo segmento físico.
q VLAN = Domínio de Broadcast. • O tráfego de broadcast só pode passar de uma VLAN para
outra apenas através de um roteador.
A
SWITCH
B
C
D
FF.FF.FF.FF.FF.FF
FF.FF.FF.FF.FF.FF
FF.FF.FF.FF.FF.FF
E
A, B e C: VLAN 1
D e E: VLAN 2
unesp - IBILCE - SJRP
VLAN baseada em porta
1
8
9
16 10 2
7
… Pólo
(VLAN portas 1-8) Ciência da Computação
(VLAN portas 9-15)
15
…
q Isolamento de tráfego: quadros de / para portas 1-8 só podem alcançar portas 1-8 • também podem definir VLAN com base
em endereços MAC das extremidades, em vez de porta do comutador.
❒ Inclusão dinâmica: portas podem ser atribuídas dinamicamente entre VLANs.
roteador
❒ Repasse entre VLANS: é feito por roteamento (assim como em switches separados). ❍ Na prática, fornecedores vendem uma combinação
de comutador e roteador: router-switch.
unesp - IBILCE - SJRP
VLANS em múltiplos switches
q porta de tronco: carrega quadros entre VLANS sobre switches físicos. • Quadros repassados dentro da VLAN entre switches não são
quadros 802.3 comuns: • Devem ter informação de VLAN ID.
• Protocolo 802.1Q tem campos de cabeçalho adicionais para quadros enviados entre portas tronco.
1
8
9
10 2
7
… Pólo
(PL VLAN portas 1-8) Ciência da Computação (CS VLAN portas 9-15)
15
…
2
7 3
Portas 2,3,5 pertencem a PL VLAN Portas 4,6,7,8 pertencem a CS VLAN
5
4 6 8 16
1
unesp - IBILCE - SJRP
Modos das Portas de Switch q Portas de um switch podem operar em 2 modos:
• Modo Access. • Cada porta do switch pertence a uma única VLAN.
• Quadros Ethernet: formato normal padrão IEEE 802.3.
• Modo Trunk. • Tráfego de múltiplas VLANs é multiplexado em único link físico. • Interconectam switches.
• Quadros Ethernet: formato especial de VLAN 802.1Q (em seguida).
• Caso necessário, apenas computadores com placas de rede especiais podem se conectar a essas portas trunk.
– Entretanto, não é usual computadores se conectarem em portas trunk.
unesp - IBILCE - SJRP
Interligação de Switches
SWITCH SWITCH
SWITCH
A
B C
D
E
VLAN 1,2,3 VLAN 1,2,3
VLAN 1,2,3 VLAN 1
VLAN 2 VLAN 2
VLAN 3
VLAN 2
TRUNK ACCESS
Interface Trunk: Tráfego de Várias VLANs (IEEE 802.1Q)
Interface de Acesso: Tráfego de uma única VLAN
(IEEE 802.3)
unesp - IBILCE - SJRP
Protocolos Trunk
q Os quadros nas interfaces Trunk são formatados em quadros especiais para identificar a quais LANs eles pertencem.
q O IEEE 802.1Q é um protocolo para interface Trunk.
Veja o esquema a seguir:
unesp - IBILCE - SJRP
Formato IEEE 802.1Q
TAG (marcação) de VLAN 4 bytes - IEEE 802.1Q
Ethernet II DESTINO ORIGEM Dados CRC
6 Bytes 6 Bytes
TYPE
de 46 a 1500 Bytes 2 Bytes 2 Bytes
DESTINO ORIGEM CFI Dados CRC
6 Bytes 6 Bytes
TYPE
2 Bytes
PRIO
3 Bits
VLAN ID
1 Bit 12 Bits
TYPE
2 Bytes
0x8100 (IEEE 802.1Q)
2 Bytes
de 42 a 4096 Bytes
0x8000 (IP)
0x8000 (IP) Esses campos são
removidos quando o quadro é enviado para a interface
do tipo access.
unesp - IBILCE - SJRP
Norma IEEE 802.1p - priorização q A norma IEEE 802.1p é um método de atribuição de prioridade
para os pacotes que atravessam uma rede.
q A norma 802.1p permite priorização para todos os tipos de MAC existentes.
q Mas o Ethernet não tem um campo de priorização nativo.
q Então o 802.1p define um método para indicar a priorização do quadro através dos campos inseridos pelo 802.1Q.
q Os campos do 802.1Q (TAG), contém informações referentes à VLAN que o quadro se encontra e qual a priorização.
• ATENÇÃO: 801.p não tem compatibilidade reversa com ethernet 802.3. Só pode ser usado em conjunto com 802.1Q.
Material de apoio para mais informações: http://www.gta.ufrj.br/grad/02_2/802.1p/ (14/8/2017)
unesp - IBILCE - SJRP
Uso de Prioridade: Exemplo
q De acordo o padrão 802.1p, diferentes tipos de tráfego podem ser tratados com 8 níveis de prioridade: • 000 = 0 : Best Effort
• 001 = 1 : Background
• 010 = 2 : Não Utilizado
• 011 = 3 : Excellent Effort
• 100 = 4 : Carga Controlada
• 101 = 5 : Vídeo
• 110 = 6 : Voz
• 111 = 7 : Controle de Rede
unesp - IBILCE - SJRP
Remarcação de Prioridade
q Switches permitem criar regras de (re)marcação em função dos campos dos cabeçalhos de transporte e rede.
unesp - IBILCE - SJRP
Mapeamento DSCP - QOS q Para integração com a marcação diffserv, o switch permite
mapear códigos de DSCP em níveis de prioridade. • Diffserv são vistos em protocolos multimídia usando rede TCP/IP.
Nós retornaremos a este assunto quando for discutido o tópico de “Procolos Multimedia
na Internet” com diffserv e DSCP.
unesp - IBILCE - SJRP
Duas atividades para homework
q Estudar Jumbo Frames
q Estudar Spanning Tree
unesp - IBILCE - SJRP
Jumbo Frames
http://www.ethernetalliance.org/wp-content/uploads/2011/10/EA-Ethernet-Jumbo-Frames-v0-1.pdf (23/10/2016)
unesp - IBILCE - SJRP
Jumbo Frames vs performance
http://www.ethernetalliance.org/wp-content/uploads/2011/10/EA-Ethernet-Jumbo-Frames-v0-1.pdf (23/10/2016)
unesp - IBILCE - SJRP
Homework: spanning tree (STP)
• Como evitar loops numa interconexão redundante de switches ?
• Ver e estudar Spanning Tree Protocol (STP)
unesp - IBILCE - SJRP
Camada de enlace - Resumo q Princípios dos serviços da camada de enlace:
• Compartilhando um canal broadcast: acesso múltiplo.
• Endereçamento da camada de enlace. • Protocolos de acesso ao meio
q Implementação de várias tecnologias da camada de enlace.
q Ethernet.
q LANS comutadas / switches.
q VLANs
q QoS em LAN.
unesp - IBILCE - SJRP
Referência:
James F. Kurose & Keith W. Ross. Redes de Computadores e a Internet
Capítulo 5 – Camada de Enlace de Dados
5a. Edição (2010)
Editora: Pearson Education ISBN: 8588639971