Baixe o app para aproveitar ainda mais
Prévia do material em texto
Redes de Computadores Prof. Me. Anderson Bessa da Costa Aula 05 Cama de Enlace (Cont.) Falamos sobre quais são os meios físicos: par trançado (categoria 3, categoria 5), cabo coaxial, cabo de fibra ótica .. Codificação: como conectar dois blocos de montagem de modo que os bits possam ser transmitidos de um nó para o outro? - NRZ - NRZI - Codificação Manchester - Codificação 4B/5B Camada Física Na última aula .. Gerencia a transmissão, transporta quadro de bits, detecta e opcionalmente corrige os erros de transmissão; - a cadeia de bits enviada ao nível de enlace é organizada em conjuntos de bits denominados quadros; Vimos como fazer o enquadramento: BISYNC, PPP, DDCMP, HDLC Detecção de Erros: bit paridade, paridade bidimensional, checksum, CRC Camada de Enlace Na última aula .. Continuação da Camada de Enlace ... n Transmissão Confiável n Protocolo Parar e Esperar n Protocolo Janela Deslizante TRANSMISSÃO CONFIÁVEL Transmissão Confiável n Quadros as vezes são modificados enquanto estão em trânsito .. n Mesmo quando os códigos de correção de erro são utilizados, alguns erros são sérios demais para serem corrigidos; n Como resultado, alguns quadros com erros terão de ser descartados; Transmissão Confiável n Um protocolo no nível de enlace que deseje oferecer quadros de modo confiável precisa recuperar-se de a l guma fo rma desses quad ros descartados (perdidos); Transmissão Confiável n Isto é feito por meio de uma combinação de dois mecanismos fundamentais: n confirmação (ACK – acknowledgement) n pequeno quadro de controle que um protocolo envia de volta ao seu par, dizendo que recebeu um quadro anterior; n timeout n se o emissor não receber uma confirmação depois de um período de tempo razoável, então ele retransmite o quadro original. Essa quantidade de tempo razoável é chamada de timeout (ou tempo limite); Transmissão Confiável n A estratégia geral de usar confirmações e timeouts para implementar a entrega confiável é chamado de solicitação automática de repetição (normalmente abreviada de ARQ – Automatic Repeat Request); Transmissão Confiável n Veremos os seguintes protocolos ARQ: n Protocolo Parar e Esperar; n Protocolo Janela Deslizante; PROTOCOLO PARAR E ESPERAR n Ideia do protocolo parar e esperar n Depois de transmitir um quadro, o emissor aguarda por um ACK antes de transmitir o próximo quadro; n Se o ACK não chegar até um tempo l i m i t e ( t i m e o u t ) , o e m i s s o r retransmite o quadro original; Protocolo Parar e Esperar Linha do tempo mostrando quatro cenários diferentes para o algoritmo parar e esperar. (a) O ACK é recebido antes que o timeout se esgote; (b) o quadro original é perdido; (c) o ACK é perdido; (d) o timeout é disparado muito cedo. n Se o ACK é perdido ou atrasado: n O timeout do emissor se esgota e então é retransmitido o quadro original, mas o receptor irá pensar que este é o próximo quadro, uma vez que ele corretamente recebeu e confirmou (ACK) o primeiro quadro; n Como resultado, cópias duplicadas do quadro irão ser entregues; n Como resolver? n Utilize 1 bit como sequência n Quando o emissor retransmitir o quadro 0, o receptor poderá determinar que está vendo uma segunda cópia do quadro 0, ao invés de ver a primeira cópia do quadro 1, e então pode ignorar (o receptor ainda irá confirmar – ACK -, no caso do primeiro ACK ter sido perdido); Protocolo Parar e Esperar Linha do tempo para o protocolo parar e esperar com número de sequência de 1 bit n O emissor tem apenas um quadro pendente no enlace por vez n Isto está muito longe da capacidade do enlace n Considere um enlace de capacidade de transmissão de 1.5 Mbps com um tempo de ida e volta de 45 ms (RTT – Round Trip delay Time) Protocolo Parar e Esperar n Considere um enlace de capacidade de transmissão de 1.5 Mbps com um tempo de ida e volta de 45 ms (RTT – Round Trip Delay Time) n O enlace tem um retardo x largura de 67.5Kb ou aproximadamente 8KB; n Uma vez que o emissor pode enviar apenas um quadro por RTT e assumindo o quadro de tamanho 1KB n Taxa de Envio Máximo n Bits por quadro ÷ Tempo por quadro = 1024 × 8 ÷ 0.045 = 182 Kbps Ou 1/8 da capacidade total to enlace n Para usar a capacidade total do enlace, o emissor deve transmitir 8 quadros antes de esperar por um ACK; Protocolo Parar e Esperar PROTOCOLO JANELA DESLIZANTE Protocolo Janela Deslizante Linha de tempo para o algoritmo de janela deslizante n Emissor atribui um número de sequência denotado como SeqNum para cada quadro n Assuma que é possível crescer infinitamente n Emissor mantém três variáveis n Sending Window Size (SWS) – Tamanho da Janela de Envio n Limite superior do número de quadros pendentes (sem receber ACK) que o emissor pode transmitir n Last Acknowledgement Received (LAR) – Últ ima Confirmação Recebida n Número de sequência do último ACK recebido n Last Frame Sent (LFS) - Último Quadro Enviado n Número de sequência do último quadro enviado Protocolo Janela Deslizante n Emissor também mantém as seguintes invariantes LFS – LAR ≤ SWS Janela Deslizante do Emissor Protocolo Janela Deslizante n Quando um ACK chega n o emissor move o LAR para direita, permitindo então o emissor enviar mais um quadro n Além disso, o emissor associa o timeout com cada quadro que transmite n Ele retransmite o quadro se acontece timeout antes de receber o ACK n Observe que o emissor precisa manter em buffer até SWS quadros n pois precisa estar preparado para retransmiti-los até que sejam confirmados Protocolo Janela Deslizante n Receptor mantém três variáveis: n Receiving Window Size (RWS) – Tamanho da Janela de Recepção n Limite superior do número de quadros for a de ordem que o receptor aceitará n Largest Acceptable Frame (LAF) – Maior Quadro Aceitável n Número de sequência do maior quadro aceitável n Last Frame Received (LFR) – Último Quadro Recebido n Número de sequência do último quadro recebido Protocolo Janela Deslizante n Receptor também mantêm as seguintes invariantes LAF – LFR ≤ RWS Janela Deslizante no Receptor Protocolo Janela Deslizante n Quando um quadro com número de sequência SeqNum chega, o que o receptor faz? n Se SeqNum ≤ LFR ou SeqNum > LAF n Descarta (o quadro está fora da janela receptora) n Se LFR < SeqNum ≤ LAF n Agora o receptor precisa decidir ou não se envia um ACK Protocolo Janela Deslizante n Seja SeqNumToAck n Denota o maior número de sequência ainda não confirmado, tal como todos os quadros com número de sequência menor ou igual ao SeqNumToAck foram recebidos; n O recep to r con f i rma o quadro do SeqNumToAck mesmo se pacotes com sequências mais altas chegaram n Esta acumulação é dita acumulativa Protocolo Janela Deslizante Protocolo Janela Deslizante n O receptor então altera os valores n LFR = SeqNumToAck and adjusts n LAF = LFR + RWS Por exemplo, suponha LFR = 5 e RWS = 4 (ou seja, o último ACK que o receptor enviou foi para o número de sequência 5) ⇒ LAF = 9 Se quadros 7 e 8 chegarem, eles irão ser armazenados no buffer porque eles estão dentro do limite da janela receptor Protocolo Janela Deslizante Protocolo Janela Deslizante n Mas nenhum ACK será enviado até o quadro 6 ter chegado n Quadros 7 e 8 estão fora de ordem n Quadro6 chega (está atrasado pois foi perdido na primeira vez e teve de ser retransmitido) n Agora o receptor confirma o Quadro 8 e aumenta o LFR para 8 e LAF para 12 n Problemas: n Quando ocorre o timeout, a quantidade de dados em trânsito diminui n Uma vez que o emissor é incapaz de avançar a sua janela n Quando ocorre perda de pacote, este esquema não mais mantêm o enlace cheio n Quanto mais tempo leva para notar que ocorreu uma perda de pacote, mais severo o problema se torna Protocolo Janela Deslizante Protocolo Janela Deslizante n Como melhorar: n Negative Acknowledgement (NAK) n Additional Acknowledgement n Selective Acknowledgement n Negative Acknowledgement (NAK) n Receptor envia um NAK para o quadro 6 quando o quadro 7 chega (como no exemplo anterior) n Entretanto isto é desnecessário uma vez que o mecanismo de timeout do emissor irá ser suficiente para identificar esta situação n Additional Acknowledgement n Receptor envia um ACK adicional para o quadro 5 quando o quadro 7 chega n Emissor utiliza um ACK duplicado como um indicativo de perda de quadro Protocolo Janela Deslizante Protocolo Janela Deslizante n Selective Acknowledgement n Receptor irá confirmar exatamente aqueles quadros que não foram recebidos, ao invés do número de quadros maior n Receptor irá confirmar os quadros 7 e 8 n Emissor saberá que o quadro 6 foi perdido n Emissor poderá manter o enlace cheio (complexidade adicional) Como selecionar o tamanho da janela? n SWS é fácil de calcular n Retardo × Largura n RWS pode ser qualquer coisa n Dois cenários comuns n RWS = 1 n Nenhum buffer no lado do receptor para quadros que cheguem fora de ordem n RWS = SWS n O emissor pode armazenar quadros que o emissor transmite Não faz sentido RWS > SWS POR QUÊ? Protocolo Janela Deslizante n Número de Sequência Finito n Número de sequência do quadro é especificado no campo do cabeçalho n Tamanho finito n 3 bit: oito possíveis números de sequência: 0, 1, 2, 3, 4, 5, 6, 7 n É necessário para conseguir armazenar todas as possibilidades Protocolo Janela Deslizante n Como distinguir entre diferentes encarnações do mesmo número de sequência? n Número de possíveis número de sequência devem ser maior que o número de quadros pendentes permitidos n Parar e Esperar: 1 quadro pendente n 2 números de sequência distintos (0 e 1) n Seja MaxSeqNum a quantidade de números de sequência disponíveis n SWS + 1 ≤ MaxSeqNum n Isto é suficiente? Protocolo Janela Deslizante SWS + 1 ≤ MaxSeqNum n É suficiente? n Depende do RWS n Se RWS = 1, então suficiente n Se RWS = SWS, então não é suficiente Protocolo Janela Deslizante Protocolo Janela Deslizante n Por exemplo, temos 8 números de sequência 0, 1, 2, 3, 4, 5, 6, 7 RWS = SWS = 7 Emissor envia 0, 1, …, 6 Receptor recebe 0, 1, … ,6 Receptor confirma 0, 1, …, 6 ACK (0, 1, …, 6) são perdidos Emissor retransmite 0, 1, …, 6 Receptor está aguardando 7, 0, …., 5 Para evitar isto, Se RWS = SWS SWS < (MaxSeqNum + 1)/2 Protocolo Janela Deslizante n Atende três diferentes objetivos n Confiabilidade n Preservar a ordem n Cada quadro tem um número de sequência n O receptor garante que não irá passar um quadro para o próximo nível do protocolo até que já tenha passada todos os quadros de número menor Protocolo Janela Deslizante Protocolo Janela Deslizante n Quadro de Controle n Receptor é capaz de “sufocar” o emissor n Controla o emissor de “enchurrar” o receptor de dados n Transmitir mais dados que o receptor é capaz de processar Interconexão de Redes Locais n Ethernet ETHERNET Ethernet n Tecnologia de redes locais mais bem- sucedida dos últimos 20 anos; n D e s e n v o l v i d o e m 1 9 7 0 , p e l o s pesquisadores no Xerox Palo Alto Research Center (PARC); Ethernet n É uma rede de múltiplo acesso; n Um conjunto de nós envia e recebe quadros por um enlace compartilhado; Ethernet n Como mediar o acesso a um meio comparti lhado de forma justa e eficiente? n Acesso Múltiplo por Detecção de Portadora Com Detecção de Colisão - CSMA/CD – Carrier Sense Multiple Access with Collision Detect); n Detecção de Portadora: Todos os nós podem distinguir entre um enlace ocioso e ocupado; n Detecção de Colisão: Um nó escuta enquanto transmite, e portanto pode detectar quando um quadro que ele está transmitindo interferiu;
Compartilhar