Departamento de Engenharia de Telecomunicações - UFF Disciplina: Nível de de Enlace Profa. Débora Christina Muchaluat Saade deborams@telecom.uff.br br Aplicação Apresentação Sessão Transporte Rede Enlace Físico Nível de Enlace Organiza a cadeia de bits transmitida pelo nível físico em quadros Transmissão e recepção de quadros Detecta e opcionalmente corrige erros que por ventura ocorram no nível físico Controle de fluxo Tipos de Serviço Multiplexação do acesso ao meio Controle de acesso ao meio 7 Exemplos de Protocolos de Nível de Enlace BSC - Binary Synchronous Comunication SLIP - Serial Line IP PPP - Point-to to-point Protocol SDLC - Synchronous Data Link Control (IBM) HDLC - High-Level Data Link Control (ISO) LAP-B LLC Delimitação de Quadros Contagem de caracteres Transparência de caracteres (Character Stuffing) Transparência de bits (Bit Stuffing) Violação de códigos do nível físico Presença/ausência de sinal no meio 8 9
Contagem de Caracteres Transparência de Bits (Bit Stuffing) Contador de Caracteres (a) Sem erro caracter 5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3 T: 5 caracteres Quadro 2 5 caracteres Quadro 3 8 caracteres Quadro 4 8 caracteres M: (b) Com erro 5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3 5 caracteres Quadro 2 Errado Contador de Caracter R: ERRO 10 12 Transparência de Bits (Bit Stuffing) Transparência de Bits (Bit Stuffing) T: T: M: M: R: R: 13 14
Transparência de Bits (Bit Stuffing) Transparência de Bits (Bit Stuffing) T: 0 1 1 1 1 1 1 0 T: 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 M: M: Stuffed Bit R: R: 15 16 Transparência de Bits (Bit Stuffing) Transparência de Bits (Bit Stuffing) T: 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 M: Stuffed Bit 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 T: 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 M: Stuffed Bit 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 R: R: 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 17 18
Transparência de Bits (Bit Stuffing) Transparência de Caracteres T: 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 M: Stuffed Bit 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 R: 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 19 20 Violação de Códigos Presença e Ausência de Sinal no Meio Onda de Relógio Bits J 1 1 0 0 0 1 1 0 1 K Sinal NRZ Manchester Bit 1 - transição positiva (subida) no meio do bit Bit 0 - transição negativa (descida) no meio do bit Bits J e K - ausência de transição Intervalo de silêncio IFG - interframe gap 21 22
Controle de Erro Detecção de Erro Detecção de erro Cálculo do CRC Paridade Checksum CRC - Cyclic Redundancy Code 23 24 Controle de Erro Controle de Erro: Protocolo Stop-and and-wait Correção de erro Transmissor Receptor recuperação do quadro original FEC (Forward Error Correction) retransmissão do quadro com erro Stop-and and-wait ARQ Go-Back Back-N Selective Repeat Intervalos de Timeout ACK 0 ACK 1 ACK 0 ACK 1 T ACK 1 ACK 1 25 26
Controle de Erro: Protocolo Stop-and and-wait Dados a transmitir Transmite D 0 Timeout ou Recebe A 1 1 2 3 4 Transmite D 1 Recebe A 1 Recebe A 0 Transmite D 0 8 7 6 5 Timeout ou Recebe A 0 Transmite D 1 Dados a transmitir Transmite A 1 Recebe D 0 Entrega dados 8 1 2 3 Erro ou Recebe D 1 Transmite A 1 7 6 Entrega dados Transmite A 0 Recebe D 1 5 Erro ou Transmite A 0 Recebe D 0 4 0 0 Transmissor Receptor 27 29 0 1 0 1 2 0 1 0 1 E 30 31
0 1 2 3 0 1 2 3 4 0 1 E 3 0 1 E 3 4 32 33 0 1 2 3 4 5 0 1 2 3 4 5 6 0 1 E 3 4 5 0 1 E 3 4 5 6 34 35
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 0 1 E 3 4 5 6 7 0 1 E 3 4 5 6 7 8 36 37 0 1 2 3 4 5 6 7 8 2 0 1 2 3 4 5 6 7 8 2 3 A2 0 1 E 3 4 5 6 7 8 2 0 1 E 3 4 5 6 7 8 2 3 38 39
0 1 2 3 4 5 6 7 8 2 3 4 5 0 1 2 3 4 5 6 7 8 2 3 4 5 6 A2 A2 A5 0 1 E 3 4 5 6 7 8 2 3 4 5 0 1 E 3 4 5 6 7 8 2 3 4 5 6 40 41 TIMEOUT TIMEOUT 0 1 2 3 4 5 6 7 8 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 2 3 4 5 6 7 8 9 10 A2 A5 A7 A2 A5 A7 0 1 E 3 4 5 6 7 8 2 3 4 5 6 7 8 9 0 1 E 3 4 5 6 7 8 2 3 4 5 6 7 8 9 42 43
0 0 1 0 0 1 44 45 0 1 2 0 1 2 3 0 1 E 0 1 E 3 46 47
0 1 2 3 4 0 1 2 3 4 5 0 1 E 3 4 0 1 E 3 4 5 48 49 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 0 1 E 3 4 5 6 0 1 E 3 4 5 6 7 50 51
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 2 0 1 E 3 4 5 6 7 8 0 1 E 3 4 5 6 7 8 2 52 53 0 1 2 3 4 5 6 7 8 2 3 0 1 2 3 4 5 6 7 8 2 3 4 5 A8 A8 0 1 E 3 4 5 6 7 8 2 3 0 1 E 3 4 5 6 7 8 2 3 4 5 54 55
TIMEOUT TIMEOUT 0 1 2 3 4 5 6 7 8 2 3 4 5 6 0 1 2 3 4 5 6 7 8 2 3 4 5 6 9 10 11 12 A8 A8 A9 0 1 E 3 4 5 6 7 8 2 3 4 5 6 0 1 E 3 4 5 6 7 8 2 3 4 5 6 9 10 11 56 57 0 1 2 3 4 5 6 7 8 2 3 4 5 6 0 1 E 3 4 5 6 7 8 2 3 4 5 6 A8 9 10 11 A9 12 9 10 11 Controle de Fluxo Regula o fluxo de quadros entre transmissor e receptor Resolve o problema de diferença entre velocidade de transmissão e recepção Não permite que uma estação transmissora mais rápida sobrecarregue uma estação receptora Técnicas: Stop-and and-wait Sliding Window 58 60
Protocolo Stop-and and-wait Protocolo Sliding Window Transmissor Receptor Transmissor Receptor ACK 0 ACK 1 ACK 0 ACK 0 ACK 1 ACK 0 T Quadro 2 Quadro 3 ACK 3 Quadro 2 Quadro 3 ACK 3 Quadro 4 Quadro 4 Quadro 2 Quadro 2 T ACK 1 ACK 1 ACK 2 ACK 2 61 62 Protocolo Sliding Window Transmissor 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 Envia um quadro 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 Envia dois quadros 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 Envia um quadro 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 Recebe Ack de quatro quadros 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 Envia um quadro 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 Envia dois quadros 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 Recebe Ack de três quadros 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 Receptor Recebe um quadro Recebe dois quadros 0 1 2 Recebe um quadro 0 1 2 3 Envia Ack de quatro quadros 0 1 2 3 Recebe um quadro 0 1 2 3 4 Recebe dois quadros 0 1 2 3 4 0 1 Envia Ack de três quadros 0 1 2 3 4 0 1 Tipos de Serviço Sem conexão e sem reconhecimento (datagrama não confiável) Sem conexão com reconhecimento (datagrama confiável) Orientado à conexão 63 64
Usuário Usuário 1 2 3 ENLACE Usuário Multiplexação SAP de ENLACE Usuário 1 2 ( ) ( ) ( ) ( ) ( ) ENLACE Usuário Controle de Acesso ao Meio Acesso baseado em contenção (disputa) Aloha, CSMA, CSMA/CD, CSMA/CA, etc. Acesso ordenado sem contenção Polling, Slot, Passagem de Permissão, etc. Físico Físico Rede 65 66 Departamento de Engenharia de Telecomunicações - UFF Disciplina: Enlace Ponto a Ponto Protocolo PPP Profa. Débora Christina Muchaluat Saade deborams@telecom.uff.br br Controle de Enlace Ponto-a-Ponto Um transmissor,, um receptor, um link: mais fácil que um enlace broadcast: não há Controle de Acesso ao Meio não há necessidade de endereçamento MAC explícito ex.: enlace discado, linha ISDN protocolos ponto-a-ponto populares para camada de enlace: SLIP (Serial Line IP) PPP (Point-to to-point Protocol) HDLC: High Level Data Link Control (A camada de enlace costumava ser considerada de alto nível na pilha de protocolos!) 68
Acesso Discado usa PPP PPP Requisitos de Projeto [RFC 1557] 69 70 Enquadramento de pacote: encapsulamento do pacote da camada de rede no quadro da camada de enlace Múltiplos protocolos de rede: habilidade para transportar múltiplos procotolos de rede e identificá-los no destino Múltiplos tipos de enlace: capacidade de utilização em diferentes tipos de enlace (transmissão( serial/paralela paralela, síncrona/assíncrona assíncrona) transparência de bits: deve transportar qualquer padrão de bits no campo de dados detecção de erros (mas não correção) gerenciamento da conexão: detecta e informa falhas do enlace para a camada de rede 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 Simplicidade: protocolo ponto a ponto deve ser simples + de 50 RFCs! 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 não há necessidade de suportar enlaces multiponto HDLC suporta 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.: IP - 21) (default = 2 bytes) Recuperação de erros, controle de fluxo, re-ordenação dos dados são todos deixados para as camadas mais altas! 71 72
PPP Formato dos dados info: dados da camada superior sendo transportados 73 CRC: verificação de redundância cíclica para detecção de erros (default = 2 bytes) Delimitação do Quadro: : Byte Stuffing 74 Requisito de transparência de dados : o campo de dados deve poder incluir o padrão correspondente ao flag <01111110> Q: 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: descarta o primeiro e continua a recepção de dados único byte 01111110: então é um flag byte com opadrão do flag nos dados a enviar Byte Stuffing byte com o padrão de escape acrescentado nos dados transmitidos seguido por um byte com padrão de flag 75 PPP 76 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) Protocolo LCP Link Control Protocol Encapsulado no PPP tipo do protocolo C021 aprender/configurar as informações da camada de rede configuração dinâmica de endereço Protocolo NCP Network Control Protocol específico para cada protocolo de rede Ex.: IPCP para o protocolo IP (tipo( = 8021)
Controle do Enlace PPP Tipos de Pacotes - Protocolo LCP Nome Configure-request request Configure-nack nack Configure-ack Configure-reject reject Terminate-request request Terminate-ack ack Code-reject Protocol-reject reject Echo-request Echo-reply Discard-request request Sentido T => R T <= R T <= R T <= R T => R T <= R T <= R T <= R T => R T <= R T => R Descrição Lista de opções e valores propostos Todas opções aceitas Algumas opções não aceitas Algumas opções não negociáveis Solicitação de término do enlace Confirmação de término Solicitação não reconhecida Protocolo não reconhecido Por favor envie esse quadro de volta Aqui está o quadro de volta Descarte esse quadro (teste) 77 78