Redes de Computadores Camada de Enlace. Camada de Enlace. Camada de enlace. Camada de enlace. Antonio Alfredo Ferreira Loureiro

Documentos relacionados
Redes de Computadores. Camada de Enlace. Camada de enlace. Antonio Alfredo Ferreira Loureiro.

Redes de Computadores

Protocolo de Enlace de Dados

Redes de Computadores. Camada de Enlace

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

Curso Técnico Integrado em Telecomunicações

Rede Digital com Integração de Serviços RDIS

Nível de Enlace. Laboratório MídiaCom - UFF Profa. Débora Christina Muchaluat Saade

Redes de Computadores. Redes de Computadores. Redes de Computadores. ü Contador de caracteres. ü Stuffing de caracteres.

Funções dos protocolos. Tipos de Protocolos. Tipos de Protocolos

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Camada de Enlace de Dados

Redes de Computadores

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

A camada de enlace de dados executa diversas funções específicas. Dentre elas

Camada de Enlace. OSI x IEEE. Arquitetura IEEE 802. Redes. Nível de Enlace: Controle de Erros e Fluxo Multiplexação

Protocolos de Ligação. Redes de Computadores I 2007/2008

Prof. Carlos Messani

Redes de Computadores

Protocolos ponto-a-ponto e a camada de enlace

TP308 Introdução às Redes de Telecomunicações

Redes de Computadores

Redes de Computadores

Redes de Computadores

de erros Exercícios E S T i G

Redes de Computadores

Redes de Computadores II. Módulo 1 Introdução e a camada de enlace

Capítulo 3. A camada de enlace de dados

Redes de Computadores. Camada de Transporte4. A necessidade por um serviço o de transporte confiável

Redes de Computadores

Camada de Transporte. Protocolos TCP e UDP

Lista de Exercícios. Camada de Enlace de Dados

CST em Redes de Computadores

Redes de Computadores Laboratório 2. Estabelecimento de enlaces ponto-a-ponto

Planejamento. Revisão. Desempenho em Protocolos de Transporte

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

Chapter 3. The Data Link Layer. Data Link Layer Design Issues. Services Provided to the Network Layer Framing Error Control Flow Control

Capítulo 3 Camada de transporte

PROTOCOLOS DE COMUNICAÇÃO

Fragmentos das máquinas de estados finitos do RDT 2.2 (fonte: Kurose)

Redes de Computadores

Redes de Computadores RES 12502

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de computadores. Protocolo TCP

Protocolo de transporte em tempo-real (Real- Time Transport Protocol) Definido na RFC 3350 Normalmente usado sobre o UDP Serviços

O NÍVEL DE LIGAÇÃO DE DADOS. Nível de ligação de dados Controle de Fuxo Detecção de erros Controle de Erros

Redes de Enlaces Diretos

Universidade Federal de Minas Gerais Departamento de Ciência da Computação

PTC Aula Princípios da transferência de dados confiável 3.5 Transporte orientado para conexão: TCP

Redes de Computadores e Aplicações. Aula 43 - Camada de Transporte TCP (Transmission Control Protocol)

1 Exercícios da Parte 3 Camada de Enlace de Dados. 2. Qual a importância da tarefa de enquadramento em uma transmissão de dados?

Redes de Computadores

Conceito de Serviço Universal. Conceito de Serviço Universal. Arquitetura de uma internet. Hardware básico de uma internet. Serviço universal:

A camada de Enlace. Serviços e Protocolos

Redes de Computadores. Prof. André Y. Kusumoto

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Redes de Computadores. Prof. André Y. Kusumoto

TCP - formato do segmento. Formato do segmento TCP (fonte: Kurose)

Modelo de Referência OSI

Faculdade de Engenharia da Computação

Funções da Camada de

Camada de Rede. Redes de Computadores. Motivação para interconexão. Motivação para interconexão (DCC023) Antonio Alfredo Ferreira Loureiro

Camadas de Enlace e Rede Local

3.3 Protocolos comerciais ponto a ponto Camada ligação de dados

Camada de Transporte. Redes Industriais Rone Ilídio UFSJ CAP

Alan Menk Santos. Redes de Computadores e Telecomunicações. Camada de Enlace de Dados 15/05/2013.

1 Exercícios da Parte 3 Camada de Enlace de Dados. 2. Qual a importância da tarefa de enquadramento em uma transmissão de dados?

Controlo da Ligação de Dados

Aula 3B. Camada de Enlace de Dados. Disciplina: IF66B Redes de Computadores 2018/1 Universidade Tecnológica Federal do Paraná Câmpus Curitiba.

Redes de Computadores

Arquitetura de Redes de Computadores

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A

Sistemas de Entrada e Saídas II

Redes de Computadores

Rede de computadores Protocolos TCP. Professor Carlos Muniz

Redes de Computadores II. Módulo 1 Introdução e a camada de enlace

Camada de Transporte Parte II Gerson Porciúncula 5 semestre

Camada de Enlace de Dados. Prof. Leonardo Barreto Campos 1

Nível de Transporte Portas, Protocolos UDP e TCP

Jéfer Benedett Dörr

AULA 4 - REDES. Prof. Pedro Braconnot Velloso

Compreendendo e configurando o comando ip unnumbered

PUC-Rio DEE Comunicação de Computadores Profa. Marley Vellasco. Lista de Exercícios

Redes de Computadores Camada de Transporte Protocolo TCP

Claudivan C. Lopes

Redes de Computadores

Camada de Transporte Protocolos TCP e UDP

Camada de Enlace de Dados. GIL PINHEIRO Camada de Enlace de Dados 1

Datagrama IP. Professor Leonardo Larback

Redes de Computadores e Telecomunicações - Camada de Transporte

Redes de Computadores. Prof. André Y. Kusumoto

Redes de Computadores

Serviços de Comunicações Capítulo 3

Transcrição:

Redes de Computadores Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Camada de enlace Responsável pela comunicação confiável e eficiente entre dois computadores adjacentes Adjacente significa que dois computadores estão fisicamente ligados por um canal de comunicação FIFO (first-in-first-out), ou seja, que preserva a ordem que os bits foram enviados Departamento de Ciência da Computação Universidade Federal de Minas Gerais 1 2 Camada de enlace O que torna interessante o estudo de protocolos desta camada é o ambiente com o qual eles interagem: Canais podem introduzir erros Permitem uma taxa máxima de transferência Possuem um tempo de propagação diferente de zero Questões de projeto relacionadas com a camada de enlace Serviços oferecidos para a camada de rede Formas de agrupar os bits da camada física em quadros Tratamento de erros de transmissão Controle de fluxo 3 4

Serviços oferecidos para a camada de rede Serviço principal: Transferir dados entre as camadas de rede origem e destino Serviços oferecidos para a camada de rede Os três principais tipos de serviços são: Sem conexão não confirmado Sem conexão confirmado Com conexão confirmado 5 6 Serviço o sem conexão não confirmado Conexão não é estabelecida a priori Quadros independentes são enviados da origem para o destino que não envia nenhuma confirmação de volta Serviço o sem conexão não confirmado Classe de serviço apropriada para Baixa taxa de erro Tráfego de tempo real como voz Serviço normalmente usado em LANs Quadros perdidos são ignorados e tratados pelas camadas superiores 7 8

Serviço o sem conexão confirmado Serviço o com conexão confirmado Conexão não é estabelecida a priori Serviço mais sofisticado Quadros enviados pela origem são confirmados pelo destino Origem usa um mecanismo de temporização para reenviar quadros não confirmados Serviço apropriado para canais não confiáveis como comunicação sem fio É necessário estabelecer uma conexão antes de transferir dados Quadros são recebidos corretamente Camada de enlace pode entregar os quadros em ordem para a camada de rede 9 10 Serviço o com conexão confirmado O serviço oferecido para a camada de rede é de uma seqüência de bits corretos O serviço passa por três fases Estabelecimento da conexão Transferência de dados Término da conexão Comentários sobre os diferentes tipos de serviços Confirmação na camada de enlace é uma otimização e não um requisito Pode ser deixada para a camada de transporte (camada fim-a-fim) Se existe na camada de enlace ou não depende do meio de comunicação O serviço a ser oferecido para a camada de rede depende, dentre outros fatores, da aplicação que utilizará esse serviço 11 12

A camada de enlace na sub-rede de comunicação Framing Problema a ser resolvido: Como agrupar seqüências de bits em quadros para que possam ser processados como unidades de informação? ou, de outra forma, Como fazer delimitação de quadros? 13 14 Framing: Soluções Framing: Soluções Inserir intervalos de tempo entre transmissões de quadro Em comunicação assíncrona não é viável Fazer contagem de caracteres Inserir caracteres de início e fim de quadro com preenchimento (stuffing) de caracteres Inserir flags (seqüências especiais de bits) de início e fim de quadro com preenchimento de bits Usar violações de código da camada física 15 16

Contagem de caracteres Contagem de caracteres Princípio: Usa um campo no cabeçalho para especificar o número de caracteres no quadro Problema: erro nesse campo faz com que o receptor perca a sincronização Não é usado na prática para protocolos da camada de enlace 17 18 Caracteres de início e fim de quadro Caracteres de início e fim de quadro Quadro é delimitado por caracteres especiais: DLE STX e DLE ETX Um DLE no meio de um quadro é prefixado por outro DLE (character stuffing) para distinguir do fim de quadro Método usado em protocolos orientados a caracteres 19 20

Flags de início e fim de quadro Permite enviar um número arbitrário de bits Quadros são delimitados por uma seqüência especial de bits (flag) que possui o seguinte padrão: 01111110 Flags de início e fim de quadro Bits são transmitidos de forma transparente: TX ao encontrar cinco bits 1 consecutivos insere um bit 0 RX ao receber cinco bits 1 seguido de um bit 0 remove o bit 0 Processo conhecido como bit stuffing 21 22 Flags de início e fim de quadro Violações de código c da camada física Método é baseado numa característica da camada inferior Existem códigos de transmissão que possuem uma transição no meio do período de transmissão de um bit O início e fim de quadro são determinados por um código de transmissão inválido Usado no padrão IEEE 802 23 24

Controle de erro Controle de fluxo Objetivo (serviço): Entregar em ordem e sem repetição os dados recebidos da camada física para a camada de rede Objetivo: Evitar que TX envie mais quadros que a capacidade de processamento de RX Mecanismos utilizados para oferecer esse tipo de serviço (regras de procedimento): Confirmação positiva e negativa de quadros pelo destinatário Temporização de quadros enviados pela origem Número de seqüência de quadros Retransmissão de quadros um número finito de vezes Idéia geral: Usar algum mecanismo de realimentação para que o TX saiba sobre o estado do RX Normalmente existem regras que usam um mecanismo explícito ou implícito para fazer o controle de fluxo 25 26 Comentários sobre as questões de projeto Várias dessas questões se repetem em outras camadas A solução a ser adotada para cada questão depende da camada, protocolo e aplicação Essas questões são consideradas fundamentais no projeto de qualquer protocolo Confirmação na carona: Piggybacking Seja o seguinte protocolo ponto-a-ponto entre entidades A e B: Usa confirmação A transmissão de dados é full-duplex É possível embutir numa PDU de dados enviada de B para A a confirmação de uma PDU de dados enviada de A para B já recebida (o mesmo para o caso contrário) Isto é conhecido como confirmação na carona ou Piggybacking 27 28

Confirmação na carona: Piggybacking Melhor utilização do canal Utiliza apenas alguns bits ao contrário de uma PDU de controle Menos PDUs a processar Possivelmente menos buffers no RX Se não há uma PDU para ser enviada de B A, quanto tempo deve-se esperar para confirmar uma PDU já enviada e recebida de A B? Protocolos de janela deslizante Princípio: Cada PDU tem um campo de número de seqüência de n bits O transmissor mantém um conjunto de números de seqüência que pode enviar Janela de transmissão (sending window) O receptor mantém um conjunto de números de seqüência que pode receber Janela de recepção (receiving window) 29 30 Protocolos de janela deslizante Protocolos de janela deslizante Os tamanhos das janelas de transmissão e recepção não precisam ser os mesmos Números dentro da janela de transmissão representam PDUs Enviadas mas não confirmadas, ou Não transmitidas ainda PDUs transmitidas e não confirmadas devem ser mantidas em buffers Deve haver um temporizador associado a PDU transmitida a mais tempo Números dentro da janela de recepção representam PDUs que podem ser aceitas Confirmação: PDUs aceitas são confirmadas na carona de uma PDU de dados (piggybacking) ou por uma PDU de controle 31 32

Protocolos de janela deslizante Comentários sobre o serviço o oferecido A camada n+1 na máquina destino deve receber os dados na mesma ordem em que foram passados para a camada n na máquina origem Isso pode ser obtido através do número de seqüência Neste caso, a camada n é a camada de enlace 33 34 Comentários sobre o serviço o oferecido A camada física implementa um canal de comunicação FIFO (first-in-first-out), ou seja, preserva a ordem das PDUs transmitidas Isto poderia ser outra forma de oferecer o serviço acima Colisão em protocolos Duas entidades enviam dados simultaneamente, cada uma para a outra Não é um erro do protocolo mas afeta o seu desempenho 35 36

Colisão em protocolos O ambiente no projeto de protocolos O ambiente onde o protocolo é executado tem um papel importante no projeto de protocolos Seja o seguinte cenário: se Tempo para transmissão de uma PDU + Tempo de retorno da confirmação é grande então pode haver uma baixa eficiência do canal de comunicação 37 38 Exemplo: O ambiente no projeto de protocolos Canal de satélite de 50 kbps Tempo de propagação de ida e volta (round trip) = 500 ms Tamanho do quadro = 1000 bits O ambiente no projeto de protocolos Cenário t=0: início da transmissão t=20: fim da TX do quadro t=270: receptor recebe todo o quadro t=520: transmissor recebe confirmação Análise: Tempo de bloqueio do transmissor = 500 ms ou 500/520 = 96% 39 40

Solução: O ambiente no projeto de protocolos Permitir que mais quadros sejam transmitidos antes de parar e esperar por confirmação No exemplo acima, pelo menos 26 quadros = 520 ms Técnica conhecida como pipelining Pipelining Questão a ser resolvida: Um quadro com erro no meio de uma seqüência deve ser ignorado ao chegar no RX O que o RX deve fazer com os quadros corretos restantes? 41 42 Pipelining Go back n: Recepção Duas soluções básicas: Retransmitir a partir do quadro errado Go back n Repetir seletivamente Selective repeat Ignora todos os quadros recebidos após o quadro errado Confirma somente os quadros recebidos corretamente na seqüência A eficiência de cada solução depende do tamanho da janela, taxa de erros, etc 43 44

Go back n: Transmissão Selective repeat Temporiza o primeiro quadro não confirmado Retransmite esse quadro Repete o processo até que todos os quadros sejam confirmados, ou Similar ao go back n, exceto que RX armazena todos os quadros recebidos corretamente Pode necessitar muitos buffers no caso do tamanho da janela ser grande Até que um quadro seja enviado um número máximo de vezes e não haja confirmação 45 46 Comentários sobre as soluções Go back n e Selective repeat As duas soluções definem um compromisso entre largura de banda (BW) e buffers disponíveis A solução a ser adotada pode depender de qual recurso é mais valioso 47 48

Determinando o tamanho da janela Suponha uma janela de TX e RX de tamanho 8, duas entidades A e B, e o seguinte cenário: A envia para B os quadros de 0 a 7 B confirma para A (por exemplo, na carona) o quadro 7 A envia para B mais um conjunto de quadros numerados de 0 a 7 B confirma novamente para A o quadro 7 Determinando o tamanho da janela B recebeu corretamente todos os dois conjuntos de oito quadros? Não necessariamente! Um Ack 7 pode confirmar um dos seguintes quadros:... 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Numa janela de tamanho n podem ser transmitidos no máximo n/2 quadros para não haver sobreposição de id s 49 50 Simulação de temporizadores em software Suponha que: Às 10:00:00.0 existam três timeouts pendentes: 10:00:00.5, 10:00:01.3 e 10:00:01.9 O relógio real é incrementado a cada 100 ms Simulação de temporizadores em software Implementação em software 51 52

Exemplos de protocolos de enlace Protocolos orientados a bit: SDLC: Synchronous Data Link Control (IBM) ADCCP: Advanced Data Communication (versão ANSI do SDLC) HDLC: High Level Data Link Control (versão ISO do SDLC) LAPB: Link Access Procedure B (versão CCITT do HDLC) Protocolos orientados a bit Diferem em pequenos detalhes Usam bit stuffing para implementar transparência de dados Os quadros têm o seguinte formato: Camada de enlace na Internet: PPP: Point-to-Point Protocol 53 54 Protocolos orientados a bit Campo de Endereço É importante em linhas com vários terminais Em linhas ponto-a-ponto é usado para distinguir comandos de resposta Protocolos orientados a bit Campo de controle É usado para Definir o tipo de quadro: I, S, U Indica o número de seqüência Confirmar quadros (piggybacking) Interrogar estações 55 56

Protocolos orientados a bit Campo de dados PDU da camada de rede ou informações para a entidade de enlace par (no caso de quadro U) Protocolos orientados a bit Campo de checksum Usado para detectar erros 57 58 Campo de controle Campo de controle Existem três tipos: Informação (I), Supervisão (S), Não-numerado (U) Usa janela deslizante de 3 bits Ack q significa que todos os quadros anteriores a q estão confirmados Próximo quadro esperado é o q 59 60

Campo de controle Campo de controle Bit P/F (Poll/Final) Usado para interrogar estações 00 2 : Receive Ready (RR) Quadro de confirmação Usado quando não existe tráfego reverso e não é possível ter piggybacking 61 62 Campo de controle Campo de controle 01 2 : Reject (Rej) Confirmação negativa Quadros a partir de next devem ser retransmitidos 10 2 : Receive Not Ready (RNR) Confirma todos os quadros anteriores a next Pede para a entidade par parar de transmitir quadros devido a algum problema temporário Para iniciar TX: envia RR, Rej, ou certos quadros U 63 64

Campo de controle 11 2 : Selective Reject (SR) Pede a retransmissão somente do quadro especificado Existe nos protocolos HDLC e ADCCP Não existe no SDLC e LAPB Campo de controle Quadro U Os diversos protocolos diferem consideravelmente neste tipo de quadro Identificado por cinco bits, ou seja, podem existir 32 quadros 65 66 Quadros típicos: Campo de controle Quadro U SABM (Set Asynchronous Balanced Mode) para inicializar (estabelecer conexão) duas estações de forma idêntica DISC (Disconnect) para desconectar uma estação FRMR (Frame Reject) para indicar que foi recebido um quadro com checksum correto mas com semântica inválida UA (Unnumbered Acknowledgement ) para confirmar quadros de controle A camada de enlace na Internet Hardware básico da Internet: Hospedeiros (computadores) e roteadores Elemento básico da Internet é uma LAN Sub-rede de comunicação formada basicamente por linhas ponto-a-ponto Questão: Que protocolos são usados nessas linhas? PPP, HDLC 67 68

A camada de enlace na Internet Conexão com um provedor de acesso Existem dois cenários típicos para uso desses protocolos: Conexão de uma LAN com a sub-rede de comunicação da Internet Conexão de um usuário com um provedor de acesso (Internet Provider) 69 70 PPP (Point( Point-to-Point Protocol) PPP: Aspectos importantes Descrito nas RFCs 1661/2/3 Características: Possui tratamento de erro Reconhece e trata diferentes protocolos Permite que endereços IP sejam negociados em tempo de conexão Permite autenticação Orientado a caractere Framing Delimita fim de quadro e trata de detecção de erro Link Control Protocol (LCP) Responsável pelas seguintes operações referentes a uma linha de comunicação: Inicializar sua operação Testar Terminar sua utilização Network Control Protocol (NCP) Negocia as opções da camada de rede independente do protocolo de rede usado 71 72

PPP Exemplo de uma conexão Computador (A) chama o roteador de um provedor (R) através de um modem Conexão física é estabelecida Pacotes LCP são trocados e os parâmetros PPP são selecionados Pacotes NCP são trocados e os parâmetros de rede são selecionados PPP Exemplo de uma conexão No caso de executar os protocolos TCP/IP um número IP é assinalado a A A conexão está totalmente definida e A é visto como um computador estático da rede Finalização: NCP termina conexão de rede e libera número IP LCP termina conexão de enlace Conexão física é terminada 73 74 PPP Formato do quadro Similar ao quadro HDLC Endereço: valor fixo todas as estações devem aceitar o quadro Controle: valor padrão (00000011) quadro não numerado PPP Formato do quadro Protocolo: tipo de pacote no campo de payload Payload: valor negociado até um máximo 75 76

Exercícios cios 17. (Tanenbaum, Cap 3, #2) 2. The following character encoding is used in a data link protocol: A: 01000111; B: 11100011; FLAG: 01111110; ESC: 11100000 Show the bit sequence transmitted (in binary) for the four-character frame: A B ESC FLAG when each of the following framing methods are used: a) Character count. b) Flag bytes with byte stuffing. c) Starting and ending flag bytes, with bit stuffing. 18. (Tanenbaum, Cap 3, #6) When bit stuffing is used, is it possible for the loss, insertion, or modification of a single bit to cause an error not detected by the checksum? If not, why not? If so, how? Does the checksum length play a role here? 19. (Tanenbaum, Cap 3, #14) What is the remainder obtained by dividing x 7 + x 5 + 1 by the generator polynomial x 3 + 1? 20. (Tanenbaum, Cap 3, #16) Data link protocols almost always put the CRC in a trailer rather than in a header. Why? 77