06 - Camada de Enlace de Dados
5 de outubro de 2015
Conte´ udo
Camada de Enlace de dados segundo OSI
Subcamada de enlace l´ogico
Transmiss˜ao confi´avel
Subcamada de controle de acesso ao meio
Protocolos de controle de acesso ao meio
2/69
Camada de Enlace de dados
I Servi¸cos
I Endere¸camento
I Transmiss˜ao confi´avel
I Controle de fluxo
I Detec¸c˜ao e corre¸c˜ao de erros
I Controle de Acesso ao Meio
I Compartilhamento de canais broadcast
I Na camada de enlace s˜ao transmitidos datagramas
I Como ´e feito o enquadramento?
I Duas subcamadas
I Subcamada superior: Logical Link Control (LLC)
I Subcamada inferior: Media Access Control sub-layer (MAC)
Camada de Enlace de dados segundo OSI
I Detecta e corrige erros da Camada F´ısica
I Provˆe fun¸c˜oes b´asicas para comunica¸c˜ao de entidades da Camada de Rede
I Permite a cria¸c˜ao de circuitos de dados
4/69
Servi¸cos para a Camada de Rede
I Em modo de conex˜ao
I Endere¸co de camada de enlace
I Conex˜ao de enlace
I Notifica¸c˜ao de erros
I Unidades de dados de servi¸cos
I Identificadores de pontos de conex˜ao
I Reset/Rein´ıcio da comunica¸c˜ao
I Parˆametros de qualidade de servi¸co
I Em modo sem conex˜ao
I Endere¸co
I Transmiss˜ao de unidades de dados
I Especifica¸c˜ao de parˆametros de qualidade de servi¸co
Endere¸cos da camada de enlace de dados
I Endere¸co
I Entidades da Rede se identificam pelos endere¸cos de Enlace
I No OSI, um endere¸co ´e ´unico na camada de Enlace
I Conex˜ao e PDU
I Camada de enlace permite comunica¸c˜ao sem conex˜ao
I Tamanho da PDU pode ser limitado pelo meio f´ısico
I Camada de enlace fornece identificadores para entidades da camada de rede
I Notifica¸c˜ao de erros
I Quando n˜ao ´e poss´ıvel corrigir erro, camada de enlance avisa camada de rede
6/69
Parˆ ametros de qualidade de servi¸co
I Opcional
I A pr´opria camada de Enlace pode determinar parˆametros de qualidade
I Tempo m´edio entre erros detect´aveis mas n˜ao corrig´ıveis
I Disponibilidade de servi¸cos
I Demora de transmiss˜ao
I Capacidade de transmiss˜ao
Comunica¸c˜ ao entre NICs
I Lado emissor
I Encapsula datagrama no quadro
I Inclui bits de verifica¸c˜ao de erro e controle de fluxo
I Lado receptor
I Procura de erros
I Verifica bits de controle de fluxo
I Extrai dados do datagrama e envia para camada superior
8/69
Subcamada de enlace l´ ogico: Datagramas
I Ideal: todo datagrama ´e enviado apenas 1 vez
I Na ordem certa
I Com o conte´udo correto
I Camada de enlace inclui um cabe¸calho e um sufixo ao conte´udo sendo transmitido
cabe¸calho pacote de dados sufixo
I Como saber se isso ´e um datagrama?
0101001011101110010101001000101011
Enquadramento
I Como determinar o in´ıcio e o fim de datagramas?
0101001011101110010101001000101011
I Aonde est˜ao os dados?
I Abordagens:
I Enquadramento orientado a caracteres
I Contagem de tamanho
I Op¸c˜ao: tamanho fixo
I Protocolos orientados a bits (uso de flags)
10/69
Enquadramento orientado a caracteres
. . . SYN SYN STX header dados ETX CRC SYN SYN . . .
I Mais usado de 1960 a 1975
I C´odigo de caracteres padr˜oes (ASCII ou EBCDIC) tem caracteres reservados para comunica¸c˜ao
I Comunica¸c˜ao ´e baseada nesses caracteres especiais
I SYN0x16 - Synchronous Idle
I indica sincronia e ociosidade
I 00010110
I STX
I indica in´ıcio de texto
I ETX
I indica fim de texto
Tabela ASCII
12/69
Problemas com enquadramento baseado em caracteres
I Dependˆencia ao c´odigo de caracteres
I Como enviar dados bin´arios?
I Quadros deve ter um n´umero inteiro de caracteres
I N´umero de bits deve ser m´ultiplo do n´umero de bits de um caracter
I Erros em caracteres de controle s˜ao catastr´oficos
I Erro em STX provoca perda do in´ıcio do texto
Enquadramento baseado em campo de tamanho
I Usar campo de cabe¸calho para indicar o tamanho do quadro
I Receptor conta at´e o fim do quadro para achar pr´oximo quadro
I Campo de tamanho precisa usar log2TAMMAX + 1 bits
I Limita tamanho dos quadro
I Problemas
I Dif´ıcil recuperar de erros
I Ressincroniza¸c˜ao ap´os erro na contagem de tamanho
I Usado na DECnet (1975)
14/69
Quadros de tamanho fixo
I Quadros tˆem tamanho sempre igual
I Necess´aria sincroniza¸c˜ao na inicializa¸c˜ao
I Problemas:
I Se tamanho dos dados n˜ao ´e m´ultiplo do tamanho do quadro
I Ultimo quadro deve ter conte´´ udo parcialmente vazio
I Sincronia pode ser dif´ıcil
I Fragmenta¸c˜ao e remontagem dos quadros pode ser dif´ıcil em taxas altas
I Exemplo:
I Padr˜oes Asynchronous Transfer Mode (ATM)
I Frames com 53 bytes
Enquadramento orientado a bits
I Uso de bits indicadores: flags
I Flag: sequˆencia de bits para indicar in´ıcio e fim de quadro
I Flag de in´ıcio/fim n˜ao pode aparecer dentro do frame
I Comum usar como flag: 01111110
I E usar para erro: 01111111...1110<16 bits
I Repeti¸c˜ao de flag ou somente 1 indica estado ocioso
I Criado pela IBM (1970)
I Synchronous Data Link Control (SDLC)
16/69
Justifica¸c˜ ao positiva ou Bit Stuffing (preenchimento de bits)
I Na transmiss˜ao com enquadramento orientado a bits ´e comum perder sincronia ap´os muitos bits 1s
I Introdu¸c˜ao de 0s para n˜ao perder sincronia (SDLC e USB)
I SDLC usa flag com 6 bits 01111110
I SDLC introduz um 0 a cada cinco bits 1s dos dados originais
I garante que flag n˜ao aparece nos dados
I Original:
1111110111111111111101111110
I Ap´os preenchimento:
1111101011111011111011101111100
I Remo¸c˜ao
I Remover todos 0 precedido de 011111
I O zero precedido por 0111111, faz parte da flag
Erros de enquadramento
I Todas as t´ecnicas de enquadramento s˜ao sens´ıveis a erros
I Um erro em um campo de tamanho faz o quadro terminar no lugar errado e o quadro seguinte pode ser perdido
I Erro nos caracters STX, ETX causam o mesmo problema
I Um erro em uma flag faz um quadro sumir ou um quadro inexistente aparecer
I Abordagem com flag ´e menos sens´ıvel pois eventualmente uma flag aparece
I Poss´ıvel eliminar quadros errˆoneos com detec¸c˜ao de erros
18/69
T´ ecnicas de detec¸c˜ ao de erros
I Usado pelo receptor para determinar se quadro tem erros
I Se quadro tem erros, receptor pede seu reenvio
I T´ecnicas de detec¸c˜ao de erros
I Verifica¸c˜ao de paridade
I Paridade de bit ´unico
I Paridade m´ultipla (vertical ou horizontal)
I Verifica¸c˜ao de redundˆancia c´ıclica (CRC)
Efetividade de t´ ecnicas de detec¸c˜ ao de erros
I N´umero m´ınimo de errosd para evitar detec¸c˜ao
I Se ocorrerem menos qued erros, a detec¸c˜ao ´e garantida
I Habilidade de detec¸c˜ao de rajadas de erros (burst)
I Tamanho m´aximoB da rajada de erros
I Probabilidade de reconhecer um bit errˆoneo como correto
20/69
Verifica¸c˜ ao de paridade de bit ´ unico
I Adicionar um bit para paridade
I bit ´e 1, se quadro tiver n´umero ´ımpar de 1s
I bit ´e 0, caso contr´ario
I Simplifica¸c˜ao assumindo erros independentes
I P(erro n˜ao detectado) =P
i par k i
pi(1−p)i k´e o tamanho do quadro
p´e a probabilidade de erro de 1 bit
Paridade m´ ultipla: horizontal e vertical
1 0 0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0
Verifica¸c˜ao horizontal
Verifica¸c˜ao vertical
1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0
I Bit de paridade ´e obtido para cada linha e coluna
I Se um n´umero ´ımpar de erros est˜ao em uma s´o coluna, cada erro pode ser detectado pelos bits de paridade das linhas
I Se ocorrem 4 erros em um quadrado, n˜ao ´e poss´ıvel detectar erros
22/69
Verifica¸c˜ ao de Erro C´ıclico (CRC)
I Cyclic Redudancy Codes ou C´odigos Polinomiais
I Temos bits de dados:
sK−1,sK−2, . . . ,s0
I Representamos bits como um polinˆomio:
s(x) =sK−1xK−1+sK−2xK−2+. . .s1x1+s0
I Representamos o CRC com Lbits como
c(x) =cL−1xL−1+cL−2xL−2+. . .c1x1+c0 I O quadro inteiro pode ser representado como polinˆomio
f(x) =s(x)xL+c(x) =sK−1xL+K−1+. . .+s0xL+cL−1xL−1+. . .+c0
I Por quˆe representa¸c˜ao polinomial?
I Para obter coeficientesci dec(x) pela divis˜ao des(x)xL por um polinˆomio conhecidog(x)
Opera¸c˜ oes em m´ odulo 2
I 0 + 0 = 0
I 0 + 1 = 1
I 1 + 0 = 1
I 1 + 1 = 0 (sem “vai um”)
I 0−0 = 0
I 0−1 = 1 (sem “vai um”)
I 1−0 = 1
I 1−1 = 0
24/69
Divis˜ ao de Polinˆ omios com coeficientes inteiros em m´ odulo
2
Obten¸c˜ ao de c (x )
I Temossi (dados) parai = 0, . . . ,K −1
I Como computarci (CRC) parai = 0, . . . ,L−1?
I Sejag(x) =xL+gL−1xL−1+. . .+g1x+ 1 conhecido (gL=g0= 1).
ent˜ao
c(x) = Resto de divis˜ao m´odulo 2
s(x)xL g(x)
I Resulta em polinˆomio de grauL−1 →L bits
I Exemplo: s = 101 (K=3) e g(x) =x3+x2+ 1(L= 3)
I s(x) =?
I s(x)xL=?
I Dividirs(x)xL porg(x) e obter resto.
26/69
Exemplo CRC
I L= 3
I s = 110101
I g(x) =x3+ 1
I s(x) =x5+x4+x2+ 1
I s(x)xL=x8+x7+x5+x3 x8+x7+x5+x3
x3+ 1 =x5+x4+x+ 1
I c(x) = 0x2+ 1x+ 1(L= 3)→c = 011 110101 011
Como c (x ) ajuda?
I
s(x)xL=g(x)z(x) +c(x)
I
s(x)xL+c(x) =g(x)z(x) +c(x) +c(x)
| {z }
0 em m´odulo 2 I
s(x)xL+c(x) =g(x)z(x)
I
f(x) =g(x)z(x)
I Representa¸c˜ao polinomial do quadro ´e m´ultipla deg(x)
I Assumir que f(x) foi recebido comoy(x)
I Receptor recebe y(x) em Frame Check Sequence (FCS) e computa
Resto y(x)
g(x)
I Se Resto6= 0, ent˜ao erro!
28/69
Implementa¸c˜ ao
I A implementa¸c˜ao ´e realizada com o operador XOR
I Polinˆomio: x3+x+ 1 com coeficientes: 1011
1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 000 <−− d a d o s d e s l o c a d o s em 3 b i t s
2 1011 <−− d i v i s o r /XOR
3 0 1 1 0 0 0 1 1 1 0 1 1 0 0 000 <−− r e s u l t a d o
4 1011 <−− d i v i s o r . . .
5 0 0 1 1 1 0 1 1 1 0 1 1 0 0 000
6 1011
7 0 0 0 1 0 1 1 1 1 0 1 1 0 0 000
8 1011
9 0 0 0 0 0 0 0 1 1 0 1 1 0 0 000 <−−− move p a r a o p r i m e i r o b i t 1
10 1011
11 0 0 0 0 0 0 0 0 1 1 0 1 0 0 000
12 1011
13 0 0 0 0 0 0 0 0 0 1 1 0 0 0 000
14 1011
15 0 0 0 0 0 0 0 0 0 0 1 1 1 0 000
16 1011
17 0 0 0 0 0 0 0 0 0 0 0 1 0 1 000
18 101 1
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 <−−− r e s t o ( 3 b i t s ) .
Verifica¸c˜ ao de c´ odigo CRC
I Processo similar ao da obten¸c˜ao do CRC
I Se resto for zero, n˜ao houveram erros.
1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 100 <−−− d a d o s com CRC
2 1011 <−−− d i v i s o r
3 0 1 1 0 0 0 1 1 1 0 1 1 0 0 100 <−−− r e s u l t a d o 4 1011 <−−− d i v i s o r . . . 5 0 0 1 1 1 0 1 1 1 0 1 1 0 0 100
6
7 . . . . 8
9 0 0 0 0 0 0 0 0 0 0 1 1 1 0 100
10 1011
11 0 0 0 0 0 0 0 0 0 0 0 1 0 1 100
12 101 1
13−−−−−−−−−−−−−−−−−−
14 0 <−−− r e s t o
30/69
Erros n˜ ao detectados
I Assumir que erro ´e e(x) tal que y(x) =f(x) +e(x)
I Ent˜ao, yg(x)(x) = gf(x)(x)+ge(x)(x)
I Teremos erros n˜ao detectados se e s´o see(x)6= 0 divis´ıvel por g(x)
I Erros ´unicos (1 bit) s˜ao sempre detectados
I por absurdo, assumir n˜ao detectado: e(x) =xi=g(x)z(x) para algumi
I uma vez queg(x) =xL+. . .+ 1, multiplicandog(x) por qualquerz(x)6= 0 n˜ao produzxi (deve produzir pelo menos 2 termos)
Frame Ethernet: Frame Check Sequence (FCS)
Formato do Quadro Ethernet (IEEE 802.3-2012, se¸c˜ao 3.1.1):
I Preˆambulo: 7 octetos10101010... (codifica¸c˜ao Manchester)
I Start Frame Delimiter (SFD): 1 octeto 10101011
I MAC destino: 6 octetos
I MAC original: 6 octetos
I EtherType (comprimento/tipo): 2 octetos
I Dados (payload): 46 a 1500 octetos
I Frame Check Sequence (FCS): 4 octetos Polinˆomio CRC Ethernet:
g(x) =
x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
32/69
Caracter´ısticas de erros de meios f´ısicos
I Muitos meios f´ısicos n˜ao s˜ao ideais
I Erros n˜ao s˜ao independentes
I s˜ao comuns erros consecutivos (burts)
I CRC consegue detectar sequˆencias de erros consecutivos cujo n´umero ´e menor que o grau do polinˆomio de detec¸c˜ao
Controle de erros por retransmiss˜ ao
I Reconhecimento positivo
I Aguardar confirma¸c˜ao de recebimento correto, sen˜ao retransmite
I Reconhecimento negativo
I Retransmite apenas se receber confirma¸c˜ao de recebimento errˆoneo
I Reconhecimento cont´ınuo
I Reconhecimento de at´eN quadros consecutivos
34/69
Subcamada de Controle de acesso ao meio: tipos de conex˜ oes
I Conex˜oes ponto-a-ponto
I Estrela
I Em malha
I Hier´arquica
I Conex˜oes em meio compartilhado (broadcast)
I Radio difus˜ao via sat´elite
I Hub – comunica¸c˜ao por barramento
I Centralizado em anel (token ring IEEE 802.5)
Protocolo de comunica¸c˜ ao em broadcast idealizado
I Quando um host quer transmitir, ele pode enviar na taxa R bit/s
I Quando M hosts querem transmitir, cada um pode enviar na taxa R/M bit/s
I Totalmente descentralizado:
I Nenhum host especial para coordenar transmiss˜oes
I Nenhuma sincroniza¸c˜ao de rel´ogios, intervalos
I Simples
36/69
Protocolos de controle de acesso ao meio: Conex˜ oes broadcast
I Se todos tem direito ao acesso, quem vai acessar o meio?
I Abordagem aleat´oria
I Abordagem determin´ıstica
I Particionamento
I Revezamento I Como tratar colis˜oes?
I O que acontece quando duas pessoas tentam falar ao mesmo tempo?
Protocolos de acesso ao meio
I Time Division Multiple Access
I Cada usu´ario tem um momento determinado para acessar o canal
I Intervalos n˜ao usados s˜ao perdidos
I Frequency Division Multiple Access
I Cada usu´ario pode transmitir em uma faixa de frequˆencias diferente
I Faixa n˜ao usada ´e perdida
I Code Division Multiple Acess (CDMA)
I Divis˜ao por c´odigo (vetores ortogonais), um c´odigo por transmissor
I Acesso aleat´orio
38/69
Acesso aleat´ orio
I Quando host tem um pacote a enviar:
I transmite na velocidade de dados R total do canal
I sem coordena¸c˜ao a priori entre os hosts
I Dois ou mais transmitindo juntos = colis˜ao
I Um protocolo de Controle de Acesso ao Meio aleat´orio:
I como detectar colis˜oes
I como recuperar-se de colis˜oes
I Exemplos de protocolos de Controle de Acesso ao Meio Aleat´orio:
I ALOHA
I CSMA/CD
Protocolos de acesso ao meio: ALOHA puro
1. Transmitir quadro
2. Aguardar ACK por no m´aximo um per´ıodo T. Se receber ACK, sucesso.
3. Se n˜ao recebe ACK, gerar novo per´ıodo aleat´orio T 4. Esperar o per´ıodo T e retransmitir quadro
40/69
Aloha Puro
I Conex˜ao inicia-se em momento aleat´orio
An´ alise eficiˆ encia: Aloha Puro
I Quadros novos s˜ao enviados segundo uma Poisson de m´edia N/tempo para envio de quadro
I Com retransmiss˜oes, temos m´edia de quadrosG >N
I P(k) = Gkk!e−G,P(k = 0) =e−G
I Durante o per´ıodo de vulnerabilidade: P(k = 0) =e−2G
I N´umero esperado de pacotes enviados:
S =GP(k = 0) =Ge−2G
42/69
Protocolo de acesso ao meio: ALOHA com slots
I tempo dividido em intervalos de mesma dura¸c˜ao,
chamado de slots (tempo para enviar 1 quadro)
I transmiss˜ao come¸ca somente no in´ıcio dos slots
I hosts s˜ao sincronizados (exemplo: uma esta¸c˜ao que emite periodicamente um sinal especial)
I tempo vulner´avel `a colis˜ao ´e reduzido `a metade
I quando host tem quadro a ser enviado, tenta
transmiss˜ao no slot seguinte
I se n˜ao h´a colis˜ao: host tenta enviar novo quadro no pr´oximo slot
I se h´a colis˜ao: host tenta probabilisticamente enviar em um pr´oximo slot
I se 2 ou mais transmitem no mesmo intervalo, todos percebem a colis˜ao
I Probabilidade de nenhuma colis˜aoP(k = 0) =e−G e S =Ge−G
An´ alise: ALOHA puro e ALOHA com slots
0.40 0.30 0.20 0.10
0 0.5 1.0 1.5 2.0 3.0
S =Ge–G
S =Ge–2G ALOHA puro
ALOHA com slots
G (tentativas de transmissão por tempo de pacote)
S (transmissões por tempo de pacote)
44/69
ALOHA com slots
I Vantagens:
I simplicidade
I um host pode transmitir na velocidade m´axima do meio
I descentraliza¸c˜ao: sincronismo apenas nos slots
I Desvantagens:
I Colis˜oes frequentes, perda de slots
I Intervalos ociosos
I Necess´aria a sincronia de rel´ogio
CSMA persistente
I Carrier Sense Multiple Access (CSMA): “Ou¸ca antes de falar”
I p-persistente CSMA (IEEE 802.11):
I escuta, se ocioso transmite
I se ocupado, espera at´e liberar e transmite com probabilidadep
I com probabilidade 1−pposterga envio para pr´oximo slot (indepentemente do estado do meio)
I se colis˜ao, espera tempo aleat´orio e reinicia processo
I Colis˜oes em CSMA ocorrem principalmente devido ao tempo de atraso do meio
I Sep= 1, duas esta¸c˜oes podem iniciar a transmiss˜ao quase simultaneamente
I Se h´a colis˜ao, o tempo de transmiss˜ao de um quadro inteiro ´e perdido
I CSMA ´e melhor que ALOHA pois espera por ociosidade
46/69
CSMA n˜ ao-persistente
I Menos ganancioso que 1-persistente CSMA:
I Escuta antes de enviar
I Mas n˜ao persiste em escutar para saber o momento de enviar
I Espera um per´ıodo de dura¸c˜ao aleat´oria antes de reiniciar processo de envio
Compara¸c˜ ao ALOHA e CSMA
1.0 0.9 0.8
0.5 0.4 0.3 0.2 0.1
00 1 2 3 4 5 6 7 8 9
0.6 0.7
S(throughputperpackettime)
G (attempts per packet time) Pure
ALOHA Slotted ALOHA
1-persistent CSMA
0.1-persistent CSMA
0.5-persistent CSMA
Nonpersistent CSMA 0.01-persistent CSMA
48/69
CSMA com detec¸c˜ ao de colis˜ oes (CSMA/CD)
I Melhoria do CSMA: esta¸c˜oes percebem colis˜ao e interrompem transmiss˜ao (Ethernet)
I Hardware deve ser capaz de detectar ao escutar meio durante transmiss˜ao (dif´ıcil em wireless)
I Uma esta¸c˜ao sabe que conseguiu o meio ap´os passar tempo de atraso de propaga¸c˜ao no meio
I Se houve colis˜ao, todas esta¸c˜oes desistem de transmitir
Contention slots
Contention period Transmission
period
Idle period to
Frame Frame Frame Frame
Time
Figura:Emt0, foi encerrado envio de um quadro. Depois vem um per´ıodo de conflito “contention” entre esta¸c˜oes tentando usar o meio.
CSMA/CD ou CA
I Collision Detection (CD) - IEEE 802.3 (Ethernet)
I Capaz de comparar sinais transmitidos com recebidos
I Transmiss˜oes colididas s˜ao abortadas, reduzindo tempo perdido
I Mais f´acil em meios com fio do que meios sem fio
I Collision Avoidance (CA) - IEEE 802.11
I Evita colis˜ao por usar requisi¸c˜ao de uso do meio (request to send RTS/ clear to send CTS)
I Se canal est´a ocupado, espera um tempo aleat´orio para pr´oxima tentativa
50/69
Outros protocolos de acesso ao meio
I Protocolo bit-map sem colis˜oes (protocolo de reserva)
I Sele¸c˜ao (Polling)
I Mestre escolhe quem pode enviar
I Uso de permiss˜oes para envio (Token Ring IEEE 802.5)
I Quem tem o token, pode enviar
I Quando n˜ao usar mais o token, passa para o seguinte
0 1
1 1 1 1 3 7 1 1 1 5 1
2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
8 Contention slots Frames 1
8 Contention slots
2 d
Endere¸camento: exemplo
I OSI pede por identificador ´unico na camada de enlace
I Endere¸co MAC de NICs, IEEE 802
I Cada MAC consiste de 6 bytes
I MAC s˜ao ´unicos e atribu´ıdos por fabricante
I Armazenado em Hardware
I Poss´ıvel mudar em software
52/69
6º byte 1º octeto
5º byte 2º octeto
4º byte 3º octeto
3º byte 4º octeto
2º byte 5º octeto
1º byte 6º octeto 6 bytes
1 2 3 4 5 6
posição:
ou
Identicador Único Organizacional
Especíco ao Controlador da Interface
de Rede (NIC)
3 bytes 3 bytes
b8 b7 b6 b5 b4 b3 b2 b1 8 bits
0:
1:
unicast multicast
0:globalmente único
mais signicante menos signicante
Figura:Pacote do protocolo Address Resolution Protocol (ARP) sobre um frame Ethernet II
54/69
Endere¸camento MAC e tabela ARP
I Tabela de Address Resolution Protocol (ARP)
I Convers˜ao de endere¸co de meio f´ısico e endere¸co de camada superior
I “MAC address ´e o CPF e IP ´e o CEP”
I Se um host A quer falar com B, pergunta seu pelo seu MAC indicando endere¸co da camada superior
Ethernet
I Tecnologia LAN — IEEE 802.3 (1983)
I Camada f´ısica e camada de enlace
I In´ıcio com cabo coaxial de 10 Mbit/s
I Compartilhamento do meio CSMA/CD
I Praticamente todo ano, tecnologia teve atualiza¸c˜oes
I Gera¸c˜oes futuras: IEEE 802.3ba2-2010, cat8, 100 Gb/s
56/69
I At´e ≈1995, meio
compartilhado
I Hub –
broadcast, sem buffering
I Switch – isola hosts, com buffering
57/69
Quadro Ethernet
I IEEE 802.3-2012
I Packet Ethernet: camada f´ısica
I Frame Ethernet: camada de enlace
Preˆamb Flag MAC dest
MAC src
802.1q
VLAN Tipo Payload CRC Intervalo Separador
bytes 7 1 6 6 4 2 42-1500 4 12
I Preˆambulo: repeti¸c˜oes de 0x55 (menos significante primeiro)
0x55 = 01010101b
I Flag - delimitador de ´ınicio de frame - 0xD5
0xD5 = 11010101b
I Intervalo separador: estado ocioso para marcar fim de packet
I .96ns para 100Gb/s, 96ns para 1Gb/s
I Tipo indica o protocolo encapsulado no payload
58/69
Ethernet
I O cabe¸calho do frame ´e conhecido como Ethernet II
I N˜ao oferece confiabilidade
I N˜ao oferece servi¸cos de conex˜oes
I Originalmente n˜ao usava subcamada LLC (Logical Link Control)
I IEEE 802.2 Subnetwork Acess Protocol (SNAP) permite transmitir informa¸c˜oes em outras redes que n˜ao Ethernet
I MacOS usa 802.2 para o AppleTalk
I Protocolo de compartilhamento de meio: CSMA/CD sem slots
IEEE 802: Fam´ılia de padr˜ oes para LAN e MAN
Distˆancias Area´ Tipo Exemplo
1m metro quadrado PAN bluetooth IEEE 802.15.1
10m sala LAN WiFi IEEE 802.11
100m pr´edio LAN IEEE 802.3
1km campus/bairro LAN WiMAX IEEE 802.16
10km cidade MAN FDDI 802.6
100km pa´ıs WAN WiMAX IEEE 802.16
1000km continente WAN
10.000km planeta Internet
Personal Area Network (PAN), Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), Body Area Network (BAN) – IEEE 802.15.6, Controller Area Network (CAN) – ISO 11898.
IEEE 802(http://www.ieee802.org/): padr˜oes para LAN e MAN para redes com pacotes de tamanho vari´avel. Camadas OSI 1 e 2.
60/69
Formas e gerenciamento de enlaces
I Enlace ponto-a-ponto vs. multiponto
I Esta¸c˜oes prim´arias (controladoras)
I Esta¸c˜oes secund´arias (recebem comandos)
I Gerenciamento de enlace
I Estabelecimento
I Transferˆencia de dados
I Encerramento
I Reinicializa¸c˜ao
I Controle de fluxo – interromper temporariamente transmiss˜ao
I Quadro RR (receiver ready)
I Quadro RNR (receiver not ready)
I Bridging (LLC)
I Agrega¸c˜ao de segmentos de enlace (802.3 + 802.5)
I Shortest Path Bridging (IEEE 802.1aq)
I Spanning Tree Protocols (exemplo IEEE 802.1D)
Exemplos de protocolos da camanda de enlace
I Ethernet
I Synchronous Data Link Control (SDLC)
I High-Level Data Link Control (HDLC)
I Point-to-point Protocol (PPP)
I IEEE 802.2
I ITU-T G.hn
62/69
Synchronous Data Link Control (SDLC)
I Systems Network Architecture (SNA) da IBM (d´ecada 1970)
I Enquadramento orientado a bits
I Tamanho do quadro deveria ser m´ultiplo de 8 bits
I Ponto-a-ponto ou multipontos, half-duplex e full-duplex
I Uso em DECNET e ARPANET, hoje ´e tecnologia legada
Figura:Fonte: http://www.protocols.com/pbook/sna.htm.
Formato do quadro SDLC
I Cabe¸calho do quadro
I Flag= 0x7E (uso de bit stuffing)
I Campo de endere¸co(256 endere¸cos de esta¸c˜oes secund´arias)
I Campo de controle(controle acesso ao meio, half-duplex)
I Sufixo do quadro
I Dados
I FCS(verifica¸c˜ao CRC)
I Flag= 0x7E
64/69
High-level Data Link Control (HDLC)
I Baseado no SDLC
I Provˆe servi¸co de enlace com e sem conex˜oes
I Suporta conex˜oes ponto-a-multipontos
I Usado em modems telefˆonicos (V.42) e na pilha de Frame Relay (ATM)
I Usado em enlace s´ıncronos e enlaces seriais ass´ıncrononos (conector DB-25, RS-232)
I Se s´ıncrono, usa bit stuffing para flags (0x7E)
I Se serial ass´ıncrono, usa byte stuffing com escape 0x7D pois o envio ´e sempre de 8 bits
I Campos do quadro similar ao SDLC, extende endere¸cos, bits de controle e FCS (16/32 bits)
I Nos bits de controle, com conex˜ao, est˜ao n´umeros de sequˆencia
I Cisco HDLC: adapta¸c˜ao para encapsulamento de m´ultiplos protocolos
Point-to-point protocol (PPP)
I PPP definido em RFC 1661 – baseado no HDLC
I Ponto-a-ponto duplex, autentica¸c˜ao, criptografia e compress˜ao
I Como o Cisco HDLC, encapsula m´ultiplos protocolos
I Encapsulamento de PPP em outros quadros de enlace
I PPP over Ethernet/DSL (RFC 2516)
I PPP over ATM (RFC 2364)
I Arquitetura
I LCP – Link Control Protocol
I CHAP/PAP/EAP – autentica¸c˜ao
I IPCP – liga¸c˜ao com camada IP
LCP CHAP PAP EAP IPCP IP PPP encapsulation
HDLC-like Framing PPPoE PPPoA RS-232
POS
Ethernet ATM SONET/SDH
PPP architecture
Figura:Fonte:https://en.wikipedia.org/wiki/Point- to-Point_Protocol
66/69
IEEE 802.2
I Quadros baseados no HDLC
I Padroniza¸c˜ao de protocolos da subcamada LLC em diversas camadas f´ısicas
I IEEE 802.2 est´a presente nas redes da fam´ılia IEEE 802, exceto Ethernet
I Servi¸cos
I Modo sem conex˜ao (Tipo 1)
I Modo com conex˜ao (Tipo 2)
I Modo sem conex˜ao com numera¸c˜ao (Tipo 3)
I Extens˜ao para mais protocolos: Subnetwork Acess Protocol (SNAP)
ITU-T G.Hn
I Padr˜ao aprovado em 2010. Primeiros testes em 2012.
I Especifica¸c˜oes para meio f´ısico e enlace em linhas de energia, telefˆonicas e cabo coaxial
I Enlace com Multiple Input e Multiple Output (MIMO)
I Aplica¸c˜oes residenciais
I Taxas de transmiss˜ao de at´e 1 Gbit/s
I Meio f´ısico: OFDM, corre¸c˜ao de erros LDPC, modula¸c˜ao 4096-QAM
I Controle de acesso ao meio: TDMA, CSMA com time slots e centraliza¸c˜ao
I Conex˜ao e numera¸c˜ao de quadro no enlace: mecanismos de repeti¸c˜ao autom´atica (ARQ)
68/69
Referˆ encias
I Computer Networks (Tanembaum)
I Computer Networking (Kurose)
I Material did´atico L. Faina (Facom/UFU)
I IEEE Standard for Ethernet (802.3-2012)
I IEEE Standard for Wireless MAN - Advanced Air Interface for Broadband Wireless Access Systems (802.16.1)