Capítulo 5 - ACME! Cybersecurity Researchadriano/aulas/redes/2017/Redes2/1... · unesp - IBILCE -...

Post on 12-Dec-2018

214 views 0 download

Transcript of Capítulo 5 - ACME! Cybersecurity Researchadriano/aulas/redes/2017/Redes2/1... · unesp - IBILCE -...

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