Rede de Computadores
MAT164 – Redes de
Computadores I
Universidade Federal da Bahia
Instituto de Matemática
Departamento de Ciência da Computação
Rede de Computadores
Camada de enlace de Dados
1. Projeto da Camada
1. Serviços
2. Enquadramento
3. Controle de erros
4. Controle de fluxo
2. Detecção e correção de erros
1. Códigos de Correção
2. Códigos de Detecção
3. Protocolos de Enlace simples
4. Protocolos de Janela Deslizante
5. Exemplos de Protocolos de enlace
2
Rede de Computadores
Camada de enlace de Dados
1. Projeto da Camada
Ponto de Acesso a Serviços (SAP)
Especificação
de Serviços
3
Camada N
Especificação do
protocolo
Rede de Computadores
Camada de enlace de Dados
1. Projeto da Camada
•
•
4
É a camada que lida com quadros,
grupo de bits transmitidos pela
rede. Ela depende da camada Física
para enviar os bits
A camada de Enlace de Dados
assegura que os quadros enviados
pela rede serão recebidos com o
devido tratamento de erros
eventuais, que podem implicar em
retransmissão do quadro.
Rede de Computadores
Camada de enlace de Dados
1.
•
•
•
Projeto da Camada - Funções:
Fornecer Interface bem definida a camada de Rede
Lidar com Erros
Regular Fluxo de Dados
HOST A
HOST B
Roteador
Transporte
5
Transporte
Rede
Rede
Rede
Enlace
Enlace
Enlace
Físico
Físico
Físico
Rede A
Rede B
Rede de Computadores
Camada de Enlace – Projeto da camada
1.1. Serviços oferecidos a camada de Rede
Transferir dados da camada de rede da máquina de origem
até a camada de rede da máquina de destino
1.1.1. Serviços sem Conexão e sem Confirmação
1.1.2. Serviço sem conexão e com Confirmação
1.1.3. Serviço com Conexão e com Confirmação
6
Rede de Computadores
Camada de Enlace – Projeto da camada
1.1.1. Serviços sem Conexão e sem Confirmação
• Máquina de origem envia dados independentes a máquina
de destino
• Não há confirmação de recebimento
• Não há estabelecimento de conexão lógica
• Não nenhuma tentativa de detectar ou recuperar quadros
danificados ou perdidos
• Usada em redes com taxa de erros muito baixas e
recuperação em uma camada acima
• Usadas em Redes Locais e em aplicações Real Time
7
Rede de Computadores
Camada de Enlace – Projeto da camada
1.1.2. Serviço sem conexão e com Confirmação
• Não estabelece conexão lógica
• O receptor confirma o quadro recebido para o emissor
• O emissor retransmite quadros não confirmados após um
tempo predeterminado sem confirmação
• Utilizados em canais não confiáveis
• Utilizado em conexões sem fio
8
Rede de Computadores
Camada de Enlace – Projeto da camada
1.1.3. Serviço com Conexão e com Confirmação
• Estabelece conexão lógica entre o emissor e o receptor
• Quadros são numerados e a entrega é garantida
• Garante a não duplicidade
• Garante a entrega na ordem correta
• Três fase no processo de transmissão:
- Estabelecimento da Conexão
- Transferência dos dados
- Encerramento da Conexão
9
Rede de Computadores
Camada de Enlace – Projeto da camada
1.2. Enquadramento
Os Pacotes recebidos da Camada de Rede são encapsulados
em Quadros
Pacote
Cabeçalho Carga útil Final
10
Pacote
Cabeçalho Carga útil Final
Rede de Computadores
Camada de Enlace – Projeto da camada
1.2. Enquadramento
Questão da delimitação do Quadro:
• Contagem de caracteres
Usa um campo no cabeçalho para especificar a quantidade
de caracteres do Quadro
8123 456781234567612345612345
8123 456751234567612345612345
11
Rede de Computadores
Camada de Enlace – Projeto da camada
1.2. Enquadramento
Questão da delimitação do Quadro:
• Bytes de FLAG, com inserção de bytes
FLAG
Cabeçalho Campo de carga útil
Uso do ESC quando FLAG for texto
Uso de dois ESC quando ESC for texto
12
Final
FLAG
Rede de Computadores
Camada de Enlace – Projeto da camada
1.2. Enquadramento
Questão da delimitação do Quadro:
• Bytes de FLAG, com inserção de bits
FLAG
Cabeçalho Campo de carga útil
Final
FLAG
FLAG: 01111110
Para permitir sequência igual ao do FLAG no texto:
Inserção no emissor de um bit 0 após sequência de 5 bits 1
Retirada no receptor de um bit 0 após seuência de 5 bits 1
13
Rede de Computadores
Camada de Enlace – Projeto da camada
1.2. Enquadramento
Questão da delimitação do Quadro:
• Alteração da codificação da camada física
Usado em redes físicas que usam redundância na
codificação dos delimitadores de Quadro, com dois pulsos
para cada bit:
Alto / Baixo para o bit 1
Baixo / Alto para o bit 0
14
Rede de Computadores
Camada de Enlace – Projeto da camada
1.3. Controle de Erros
• Uso de quadros de Feedback do receptor par o emissor
sobre os quadros transmitidos
• Uso de contadores de tempo máximo para espera de um
feedback
• Uso de número de sequências nos quadros enviados
15
Rede de Computadores
Camada de Enlace – Projeto da camada
1.4. Controle de Fluxo
• Equilíbrio entre a taxa de transmissão e de recepção de
quadros
• O protocolo deve manter regras bem definidas sobre
quando um transmissor pode enviar o quadro seguinte
• Uso de Controle de Fluxo baseado em Feedback
16
Rede de Computadores
Camada de enlace de Dados
2. Detecção e Correção de Erros
Ruídos e distorções causam erro de transmissão na
camada Física que precisam ser tratados na camada
de Enlace
Taxa de erro: inerente a cada tipo de circuito
2.1. Códigos de Correção de Erros
Código de Hamming
2.2. Código de Detecção de Erros e Retransmissão
Código polinomial : CRC (código de Redundância
Cíclica)
17
Rede de Computadores
Camada de enlace de Dados
3. Protocolos de enlace Simples
3.1. Protocolo Simplex sem restrições
3.2. Protocolo Simplex stop and Wait
3.3. Protocolo simplex para canal com ruído
18
Rede de Computadores
Camada de enlace de Dados
4. Protocolos de Janela Deslizante
4.1. Protocolo de Janela deslizante de um bit
4.2. Protocolo que usa Go Back n
4.3. Protocolo que usa retransmissão seletiva
19
Rede de Computadores
Camada de enlace de Dados
5. Exemplos de Protocolos
5.1. Protocolo HDLC (High-level Data Link Control)
5.2. Protocolo PPP (Point-to-Point Protocol)
20
Rede de Computadores
Camada de enlace de Dados
5.1. Protocolo HDLC (High-level Data Link Control)
21
Rede de Computadores
Camada de enlace de Dados
5.2. Protocolo PPP - Requisitos de Projeto [RFC 1557]
1. Enquadramento de pacote: encapsulamento do datagrama no quadro:
Transporta dados da camada de rede de qualquer protocolo de rede
(não apenas o IP) ao mesmo tempo
• Capacidade de separar os protocolos na recepção
2. Tranparência de bits: trasnportar qualquer padrão de bits no campo
de dados
3. Detecção de erros (mas não correção)
4. Gerenciamento da conexão: detecta, e informa falhas do enlace
5. Negociação de endereço da camada de rede: os pontos terminais do
enlace podem aprender e configurar o endereço de rede de cada outro
22
Rede de Computadores
Camada de enlace de Dados
5.2. Protocolo PPP - Não-requisitos
• não há correção nem recuperação de erros
• não há controle de fluxo
• aceita entregas fora de ordem (embora seja pouco comum)
• não há necessidade de suportar enlaces multiponto (ex.,
polling)
Recuperação de erros, controle de fluxo, re-ordenação dos
dados são todos relegados para as camadas mais altas!
23
Rede de Computadores
Camada de enlace de Dados
5.2. Protocolo PPP - Formato do Quadro
Flag: delimitador (enquadramento)
Endereço: não tem função (apenas uma opção futura)
Controle: não tem função; no futuro é possível ter múltiplos
campos de controle
Protocolo: indica o protocolo da camada superior ao qual o
conteúdo do quadro deve ser entregue (ex. PPP-LCP, IP,
IPCP, etc.)
ou
tamanho
variável
ou
CRC
endereço
24
controle
Rede de Computadores
Camada de enlace de Dados
5.2. Protocolo PPP - Formato dos dados
info: dados da camada superior sendo transportados
CRC: verificação de redundância cíclica para detecção de
erros
ou
tamanho
variável
ou
CRC
controle
endereço
25
Rede de Computadores
Camada de enlace de Dados
5.2. Protocolo PPP - Byte Stuffing
• Requisito de Transparência de dados: o campo de dados
deve poder incluir o padrão igual ao flag <01111110>
Se for recebido o padrão <01111110> são dados ou é flag?
• Transmissor: acrescenta (“stuffs”) um byte extra com o
padrão < 01111101> (escape) antes de cada byte com o
padrão de flag < 01111110> nos dados
• Receptor: um byte 01111101 seguido de 01111110 em
seguida: discarta o primeiro e continua a recepção de
dados.
26 O único byte 01111110 então é um flag
Rede de Computadores
Camada de enlace de Dados
5.2. Protocolo PPP - Byte Stuffing
byte com
o padrão
do flag nos
dados a
enviar
byte com o padrão de
escape acrescentado nos dados
transmitidos seguido por um byte
com padrão de flag
27
Rede de Computadores
Camada de enlace de Dados
5.2. Protocolo PPP - Controle de Dados
Antes de trocar dados da camada de rede, os
parceiros da camada de enlace devem:
configurar o enlace PPP (tamanho máximo do
quadro, autenticação)
aprender/configurar as informações da camada
de rede
28
Download

attachment - Gerenciamento de Listas de Discussão