Redes de Computadores. Jéfer Benedett Dörr

Documentos relacionados
1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo.

Redes de Computadores

MÓDULO 2 Topologias de Redes

A camada de Enlace. Serviços e Protocolos

Protocolo Ethernet e Dispositivos de Interconexão de LANs

Camada de Ligação 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

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

A topologia em estrela é caracterizada por um determinado número de nós, conectados em uma controladora especializada em comunicações.

Experiência 04: Comandos para testes e identificação do computador na rede.

Códigos de bloco. Instituto Federal de Santa Catarina Curso superior de tecnologia em sistemas de telecomunicação Comunicações móveis 2

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Fundamentos de Redes e Sistemas Distribuídos Aula 03 Camadas

Redes de Computadores

Subcamada de Acesso ao Meio (MAC) Considerações Gerais

Fundamentos de Redes de Computadores. Camadas física e de enlace do modelo OSI Prof. Ricardo J. Pinheiro

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Diversos fatores podem impactar na comunicação, tanto cabeado como sem fio, porém os riscos são maiores na sem fio.

Graduação Tecnológica em Redes de Computadores. Fundamentos de Redes II

Técnico em Radiologia. Prof.: Edson Wanderley

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Arquitetura de Redes de Computadores - aula 3

Prof. Marcelo de Sá Barbosa REDE DE COMPUTADORES

Instituto Politécnico de Beja Escola Superior De Tecnologia e Gestão Departamento de engenharia. Tecnologias WAN

Roteamento e Comutação

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Subcamada MAC. O Controle de Acesso ao Meio

Professor: Gládston Duarte

Introdução à Informática. Aula 05. Redes de Computadores. Prof. Fábio Nelson

Lista de Exercícios 1

Parte IV. Camada de Enlace. Rede X Enlace. Rede X Enlace. Rede X Enlace. Redes de Computadores 1. Prof. Miguel Elias Mitre Campista

TRANSMISSÃO DE DADOS

Protocolos de Redes Revisão para AV I

Redes de Computadores

Redes de Computadores. Disciplina: Informática Prof. Higor Morais

switches LAN (rede de comunicação local)

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Fesp - Tópicos Avançados II - Ethernet

Redes de Computadores

Módulo 8 Entradas Digitais 24 Vdc Monitorado. Os seguintes produtos devem ser adquiridos separadamente para possibilitar a utilização do produto:

Introdução. Algumas terminologias. Camada de Enlace de Dados. Prof. Leandro Pykosz

REDES DE COMPUTADORES

Ao ligar, o equipamento solicita o teste do alto falante SEGURANÇA. Esta é a tela em que você tem a opção de apagar a programação existente, que

REDE EM BARRENTO UTILIZANDO O MÉTODO DE ACESSO CSMA-CD ETHERNET

Capítulo 1. 4 Modem de conexão discada sobre linha telefônica: residencial;

16.36: Engenharia de Sistemas de Comunicação Aula 14: Códigos cíclicos e detecção de erros

Módulo 6 Conceitos Básicos sobre Ethernet

Mobilidade em Redes

Redes de Computadores 1

Introdução. Modelo de um Sistema de Comunicação

Prof. Manuel A Rendón M

Rede de Computadores

Subcamada de Controle de Acesso ao Meio. Bruno Silvério Costa

III-2 Cyclic Redundancy Check

Figura 1 - Comparação entre as camadas do Modelo OSI e doieee. A figura seguinte mostra o formato do frame 802.3:

Redes de Dados. Aula 1. Introdução. Eytan Mediano

Redes de Computadores I ENLACE: PPP ATM

REDES DE COMPUTADORES. Detecção e Correção de Erros

Manual de Programação TED1000 versão TC100 Ethernet

SISTEMA OPERACIONAL - ANDROID

Redes de Computadores. Módulo III Camada de Enlace de Dados

Tecnologias de Redes Informáticas (6620)

Camada de Enlace de Dados - Apêndice. Prof. Leonardo Barreto Campos 1

Fornece interface bem definida para a camada de rede;

Comunicação de Dados

Métodos de Acesso em Redes de Área Local

Subcamada de Controle de Acesso ao Meio. Prof. Leonardo Barreto Campos 1

PROJETO DE REDES

Redes Locais. Prof. Luiz Carlos B. Caixeta Ferreira

1 Produto: Podcast Formato: Áudio Canal: Minicast Tema: Os Inovadores., o livro. ebookcast (este ebook)

Transcrição:

Redes de Computadores Jéfer Benedett Dörr prof.jefer@gmail.com

Conteúdo Camada enlace Canais de comunicação que conectam nós adjacentes ao longo do caminho de comunicação são enlaces Enlaces com fio Enlaces sem fio LANs

Camada enlace Camada enlace Protocolos de enlace Fornecem comunicação entre nós (hospedeiros ou roteadores) em um enlace Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento Controle de erros Detecção e correção de erros Controle de fluxo Endereçamento Controle de acesso ao meio

Enlace A camada de enlace tem a responsabilidade de transferir um datagrama de um nó para o nó adjacente sobre um enlace. Analogia do transporte Viagem de Princeton até Lausanne Carro: Princeton até JFK Avião: JFK até Geneva Trem: Geneva até Lausanne Turista = datagrama Segmento de transporte = enlace de comunicação Modo de transporte = protocolo da camada de enlace Agente de viagem = algoritmo de roteamento

Enlace A camada de enlace tem a responsabilidade de transferir um datagrama de um nó para o nó adjacente sobre um enlace. Analogia do transporte Viagem de Princeton até Lausanne Carro: Princeton até JFK Avião: JFK até Geneva Trem: Geneva até Lausanne Turista = datagrama Segmento de transporte = enlace de comunicação Modo de transporte = protocolo da camada de enlace Agente de viagem = algoritmo de roteamento

Enlace Quando falamos de camada física estamos falando de cabos, fios, ondas eletromagnéticas. Agora, quando falamos da camada de enlace de dados, estamos nos referindo ao pequeno software que faz com que a informação possa ser transmitida através destes cabos, fios e ondas eletromagnéticas, controlando o funcionamento destes. Este software da camada de enlace de dados não é nenhum programa que você instale em seu computador, ele está lá dentro do equipamento, e já veio assim de fábrica.

Enlace Quando falamos de camada física estamos falando de cabos, fios, ondas eletromagnéticas. Agora, quando falamos da camada de enlace de dados, estamos nos referindo ao pequeno software que faz com que a informação possa ser transmitida através destes cabos, fios e ondas eletromagnéticas, controlando o funcionamento destes. Este software da camada de enlace de dados não é nenhum programa que você instale em seu computador, ele está lá dentro do equipamento, e já veio assim de fábrica.

Enlace Primeiramente, quando a camada de rede pede à camada de enlace de dados que leve uma informação de um lugar para outro, a camada de enlace de dados pega os pacotes que tem que enviar e divide-os em quadros. Estes quadros são então repassados para a camada física, que efetivamente transporta as informações até o seu destino. Este trabalho de fazer a conexão entre dois equipamentos pode se dar de várias maneiras, sendo que três delas são mais comuns. Vamos vê-las a seguir. Não orientado a conexões e sem confirmação Não orientado a conexões e com confirmação Orientado a conexões e com confirmação

Enlace Primeiramente, quando a camada de rede pede à camada de enlace de dados que leve uma informação de um lugar para outro, a camada de enlace de dados pega os pacotes que tem que enviar e divide-os em quadros. Estes quadros são então repassados para a camada física, que efetivamente transporta as informações até o seu destino. Este trabalho de fazer a conexão entre dois equipamentos pode se dar de várias maneiras, sendo que três delas são mais comuns. Vamos vê-las a seguir. Não orientado a conexões e sem confirmação Não orientado a conexões e com confirmação Orientado a conexões e com confirmação

Serviço sem conexão e sem confirmação Este modo de transmissão pode ser comparado a um pombo correio. Emissor e receptor não estabelecem uma ligação direta entre si, e não há uma garantia que a mensagem chegará corretamente, se é que chegará. Pode acontecer de o pombo ver alguém jogando milho na praça e esquecer do recado. Neste modo, a camada de enlace de dados do equipamento transmissor repassa para a camada física os quadros a serem transportados sem nenhum método que garanta que eles serão recebidos corretamente, se é que serão recebidos. Ao chegar em seu destino, os quadros são recebidos pela camada de enlace de dados do receptor, que os junta, refazendo o pacote original, que é repassado para as camadas superiores. São as camadas superiores que se encarregam de descobrir o erro e solicitar um novo envio.

Serviço sem conexão e sem confirmação (cont.) Tampouco há neste caso o estabelecimento de uma conexão direta entre o transmissor e o receptor antes da transmissão ou o encerramento da conexão depois da transmissão. Este tipo de serviço costuma ser usado nos casos em que o meio de transmissão é confiável; quando ocorre o tráfego de streaming de dados, como nas transmissões de rádio ou TV pela internet; ou então quando se quer deixar o trabalho de controle de erros para outras camadas. Com base neste último motivo é que a maior parte dos equipamentos de LAN existente hoje em dia usa este tipo de serviço.

Serviço sem conexão e com confirmação Este serviço é basicamente o AR. Aqui há um pouco mais de qualidade na transmissão, mesmo que uma conexão direta não seja estabelecida entre os transmissor e o receptor. Neste caso, cada vez que o receptor recebe um quadro corretamente, ele envia uma pequena mensagem informando ao transmissor que tudo chegou certo. O transmissor, por sua vez, após mandar um quadro, aguarda uma confirmação durante um certo tempo. Se não receber a confirmação, envia de novo. Fazer a confirmação de recebimento em um nível tão baixo da pilha de camadas, ao invés de fazê-lo nas camadas superiores, tem conseqüências na melhora do desempenho da rede quando o meio de transmissão não é muito confiável.

Serviço sem conexão e com confirmação (cont) Entender o motivo é simples: Imagine que o pacote a ser transmitido de um equipamento para outro tenha um mega. A camada de rede passa este pacote para a camada de enlace de dados, que divide o pacote em mil quadros, que são então enviados. Como o meio de transmissão não é lá essas coisas, cerca de cem quadros são perdidos. Daí, no equipamento receptor, os quadros que chegaram são montados e repassados para a camada de rede, que só então verifica que houve um problema na transmissão, e pede para que o pacote seja reenviado. E lá vai um novo mega circular, com grandes chances de que a transmissão não aconteça corretamente.

Serviço sem conexão e com confirmação (cont) A confirmação de recebimento feita diretamente na camada de enlace de dados resolve o problema, pois antes mesmo da remontagem do pacote original já há um aviso de que uma pequena fração dele - um dos quadros - não foi recebida corretamente. E então apenas este quadro é reenviado. Quando o meio de transmissão é altamente confiável, caso dos cabos de fibra ótica, por exemplo, geralmente abre-se mão da confirmação de recebimento na camada de enlace de dados, deixando-se este serviço a cargo das camadas superiores.

Serviço com conexão e com confirmação Aqui temos o que há de mais confiável neste assunto. Quando a camada de enlace de dados fornece à camada de rede um serviço deste tipo, uma conexão direta é estabelecida entre o transmissor e o receptor, formando um caminho virtual entre os dois extremos. Nestes casos, os quadros são devidamente numerados antes de serem enviados. Com isso, além de confirmar o recebimento correto de cada quadro, há ainda a vantagem de evitar o envio duplicado de quadros. O envio duplicado costuma acontecer quando a mensagem de confirmação se perde no caminho. Daí, como o transmissor não sabe que o quadro foi recebido nos trinques, envia novamente. No caso do serviço com conexão, se a confirmação se perder e o transmissor reenviar o quadro, o receptor será capaz de saber que aquele quadro está repetido, para então descartá-lo e enviar uma nova confirmação.

Estrutura dos quadros da camada de Enlace de Dados Varios metodos contagem caracteres falg inicial e final octetos...

Estrutura dos quadros da camada de Enlace de Dados

Estrutura dos quadros da camada de Enlace de Dados

Estrutura dos quadros da camada de Enlace de Dados

Estrutura dos quadros da camada de Enlace de Dados Contagem de Caracteres Quando tudo começou, a primeira idéia foi, claro, bem simples. E para entendê-la, imaginemos que a camada de enlace de dados tenha que transmitir a seguinte frase: "Rede FASUL é bom demais". Visando garantir que os quadros tivessem tamanhos variados, o primeiro byte de quadro tinha um número que indicava o seu comprimento. Imaginando que cada quadro vá transmitir uma palavra da nossa frase de exemplo, junto com o espaço da direita, os dados seriam transmitidos assim (reparem que os números levam em consideração os espaços): 5Rede 6FASUL 2é 4bom 6demais

Estrutura dos quadros da camada de Enlace de Dados Fica claro pra qualquer um que as chances de isso dar errado são altíssimas: basta um número errado para que uma seqüência de pacotes seja perdida. Imagine que o primeiro número, o 5, virasse um 7. A camada de enlace de dados receptora veria este número seis e receberia os 6 próximos bytes: "Rede 6FA". Bela palavra, não? Mas o pior vinha em seguida: sabendo que suposto quadro de quatro bytes tinha terminado, a camada de enlace de dados pegaria o próximo número para saber o tamanho do próximo quadro. E qual seria o número recebido?

Estrutura dos quadros da camada de Enlace de Dados A bagunça pode ser pior ainda se a informação a ser transmitida forem números: um quadro fica com tamanho errado, a camada de enlace de dados lê até o byte errado, pega o próximo, que também é um número, acha que ele é um indicador de tamanho e segue em frente. Outro problema trazido por esta situação era que a camada de enlace de dados não tinha como saber onde o quadro acabava. Ela apenas sabia onde ele começava, e só sabia isso se estivesse tudo sem erros. Na época em que este método foi criado a camada física gerava enormes quantidade de erros.

Estrutura dos quadros da camada de Enlace de Dados Bytes de Flags A solução encontrada para o problema que acabamos de ver se deu por meio da inserção de bytes especiais no início e no fim de cada quadro, para servir de moldura. Digamos que para o nosso exemplo escolhêssemos a letra 'f' para servir de flag. Ainda com a idéia de que cada quadro carregue uma palavra, a transmissão seria esta: ffrede fffasul ffé ffbom ffdemaisf Fazendo assim a transmissão fica um pouco mais confiável porque um quadro corrompido não inutiliza toda a transmissão. Basta procurar o próximo par de bytes de flag para saber onde o próximo quadro começa.

Estrutura dos quadros da camada de Enlace de Dados Imagine que o byte de flag que fecha o primeiro quadro se corrompa e se transforme em um 'g'. Para a camada de enlace de dados receptora, o primeiro quadro seria, então, este: R g O que aconteceu? A camada enlace de dados pensou que o byte que abre o segundo quadro fosse o byte que fecha o primeiro. Daí, ao procurar um byte de abertura, ela daria de cara com o 'F' da palavra "FASUL", veria que ele não é um byte de flag, e logo saberia que alguma coisa deu errada Então iria desconsiderar tudo o que viesse em seguida até achar um par de bytes de flag, e encontraria os "ff" antes da palavra "é ". Deste modo, ela saberia que ali estava um quadro correto, e seguiria em frente.

Estrutura dos quadros da camada de Enlace de Dados Só que isso traz um novo problema: se o método funciona bem com a nossa frase de exemplo, imagine como seria a transmissão da palavra "fofura": ffofuraf Eita que sobrou foi 'f' nisso aí! A camada de enlace de dados receptora iria trabalhar assim: o primeiro 'f' começa um quadro, o segundo 'f' termina um quadro. é um quadro vazio. Tem que vir outro 'f' para começar um novo, mas vem um 'o'. Descarta. Procura um par de 'f', não tem. E lá se foi todo o pacote. Perdemos a palavra. Problema sério, não?

Estrutura dos quadros da camada de Enlace de Dados pensando nisso, os idealizadores desta solução pensaram no seguinte: colocar um outro caractere de aviso para informar que o caractere que vem depois dele é pra ser lido como parte do pacote, e não como um caractere especial. Para nosso exemplo, vamos usar a letra 'n' como caractere de aviso. A palavra "fofura" seria transmitida assim: Fnfonfuraf A camada de enlace de dados receptora iria trabalhar nesta mensagem da seguinte maneira: o primeiro 'f' começa um quadro; daí vem um 'n', logo ela sabe que o que vem depois não é um byte de flag; daí vem o 'f', que é lido, depois o 'o', e por aí vai, até chegar ao último 'f', que, por não ter um 'n' antes, é interpretado como um "fim de quadro". E, assim, a palavra "fofura" é recebida corretamente.

Estrutura dos quadros da camada de Enlace de Dados Mas ainda havia um problema: e se a palavra a ser transmitida fosse "ninfa"? O quadro seria este: fninnfaf Repare bem: ali estão os 'f' que abrem e fecham o quadro mais o 'n' antes do 'f' que não é flag. A interpretação da mensagem seria esta: o primeiro 'f' abre o quadro; depois vem o 'n', que é interpretado como aviso, dizendo que o que vem depois é pra ser lido como parte do quadro; e vem o 'i', que é lido; depois outro 'n', interpretado como aviso; depois outro 'n', o que era para ser um aviso, mas será interpretado como parte do quadro; depois vem o 'f', que por não ter nada antes é interpretado como 'fim de quadro'. Daí pra frente nada é lido, e a palavra que chega é "in".

Estrutura dos quadros da camada de Enlace de Dados A solução::colocar o caractere de aviso antes de um caractere de aviso falso! Deste jeito a palavra "ninfa" seria transmitida assim: fnninnnfaf 'f': indica início de quadro 'n': indica que o que vem depois é parte do quadro 'n': lido normalmente 'i': lido normalmente 'n': indica que o que vem depois é parte do quadro 'n': lido normalmente 'n': indica que o que vem depois é parte do quadro 'f': lido normalmente 'a': lido normalmente 'f': indica fim de quadro O que foi lido normalmente? "ninfa".

Checagem de Erros Mais comum é dar ao transmissor alguma realimentação sobre o que está se passando do outro lado Confirmações (reconhecimentos) positivas e negativas Além disso usam-se temporizadores Espera pela confirmação durante um tempo Número de seqüência também são usados Várias cópias do mesmo quadro podem ser recebidas Ex.: Reconhecimentos perdidos

Checagem de Erros Mais comum é dar ao transmissor alguma realimentação sobre o que está se passando do outro lado Confirmações (reconhecimentos) positivas e negativas Além disso usam-se temporizadores Espera pela confirmação durante um tempo Número de seqüência também são usados Várias cópias do mesmo quadro podem ser recebidas Ex.: Reconhecimentos perdidos

Checagem de Erros Distância de Hamming (Hamming 1950) Imagine duas palavras computacionais (feitas de bits): 00111111 e 11111111 Pergunta: qual é a quantidade de bits que é diferente entre estas duas palavras? Pode-se usar o OR lógico e contar o número de zeros. Dois bits, certo? Pois isto é a Distância de Hamming: a quantidade de bits que faz com que duas palavras sejam diferentes uma da outra. Ou melhor: dadas duas palavras, Distância de Hamming é a quantidade de bits que devem ser mudados para que a primeira se transforme na segunda.

Checagem de Erros Distância de Hamming (Hamming 1950) Significa que se duas palavras estiverem a uma distância de hamming igual a d uma a outra, será necessário corrigir 'd' erros de bits para converter uma palavra na outra.

Checagem de Erros Distância de Hamming Exemplo Código contendo as seguintes palavras: 0000000000, 0000011111, 1111100000 e 1111111111 Distância igual a 5 Pode corrigir erros duplos Se detecta 0000000111 (é um erro duplo) Original deve ser 0000011111 Se detecta 0000000111 e foi transmitido 0000000000 (é um erro triplo) erro não corrigido de maneira adequada

Checagem de Erros Distância de Hamming palavras de código 10001001 e 10110001 tem distância de Hamming igual a??????????

Detecção e correçpão de erros - paridade Código simples de detecção de erros Bit de paridade acrescentado aos dados Escolhido de forma que o número de bits 1 da palavra de código seja par ou ímpar Receptor conta quantos bits 1 a palavra possui Se é usada a paridade par e contou um número ímpar de 1s ocorreu um número ímpar de erros Número par de erros não são detectados Código com um único bit de paridade tem uma distância igual a 2 Pode detectar erros isolados

Detecção e correçpão de erros - paridade Exemplo 1011010 enviado com paridade par 10110100 1011010 enviado com paridade ímpar 10110101 Como os erros ocorrem geralmente em rajada Paridade com um bit não é suficiente Solução aumenta-se o número de bits de paridade

Detecção e correçpão de erros - paridade Paridade bidimensional Paridade de linha Paridade de coluna Paridade dos bits de paridade Pode detectar e corrigir erros isolados Pode detectar erros duplos

Detecção e correçpão de erros - paridade

Detecção e correçpão de erros - hamming Bits que são potências de 2 são bits de verificação Outros bits são preenchidos com os m bits de dados Bits de verificação calculados usando a paridade par ou ímpar dos bits que verificam Exemplo com código de mais de 12 bits Bit 1 paridade dos bits 3, 5, 7, 9, 11,... Bit 2 paridade dos bits 3, 6, 7, 10,... Bit 4 paridade dos bits 5, 6, 7, 12,... Bit 8 paridade dos bits 9, 10, 11, 12,... Exemplo: palavra de 11 bits, 1001000 00110010000 Se quiser ver para quais bits de verificaçao o bit da posiçao k contribui, basta reescrever K como soma de potências de 2: Exemplo: 11 = 1+ 2+ 8 e 29 = 1+ 4+ 8+ 16 O bit 11 então, é verificado pelos bits 1,2 e 8

Detecção e correçpão de erros - hamming Receptor Inicializa um contador com zero Examina cada bit de verificação k (k = 1, 2, 4, 8,...) para confirmar se a paridade está correta Caso não esteja, k é somado ao valor do contador Contador indica zero após o exame de todos os bits de verificação Palavra aceita como válida Se o contador não é zero Ele contém o número do bit errado Ex.: Se os bits de verificação 1, 2 e 8 estiverem incorretos, o bit invertido será igual a 11 (o único verificado por 1, 2 e 8)

Detecção e correçpão de erros - hamming

Detecção e correçpão de erros - Checksum Objetivo: detectar erros (ex.: bits trocados) num segmento transmitido (nota: usado apenas na camada de transporte) Transmissor: Trata o conteúdo de segmentos como seqüências de números inteiros de 16 bits Checksum: adição (soma em complemento de um) do conteúdo do segmento Transmissor coloca o valor do checksum no campo checksum do UDP Receptor: Computa o checksum do segmento recebido Verifica se o checksum calculado é igual ao valor do campo checksum: NÃO erro detectado SIM não detectou erro.

Detecção e correçpão de erros - CRC Encara os bits de dados, D, como um número binário Escolhe um padrão gerador de r + 1 bit, G Objetivo: escolhe r CRC bits, R, tal que <D,R> é divisível de forma exata por G (módulo 2) Receptor conhece G, divide <D,R> por G. Se o resto é diferente de zero, erro detectado! Pode detectar todos os erros em seqüência (burst errors) com comprimento menor que r + 1 bit Largamente usado na prática (ATM, HDCL)

Detecção e correçpão de erros - CRC Código de redundância cíclica (Cyclic Redundancy Check) ou código polinomial Mais complexo Geralmente implementado em hardware Trata seqüência de bits como representações de polinômios com coeficientes 0 e 1 desejado: D. 2r XOR R = ng equivalente a: D. 2r = ng XOR R equivalente a: se nós dividimos D. 2r por G, buscamos resto R

Detecção e correçpão de erros - CRC CRC acrescentado ao final do quadro de forma que o quadro verificado seja divisível por G(x) Seqüência de verificação de quadro (Frame Check Sequence FCS) Ao receber o quadro verificado, o receptor tentará dividi-lo por G(x) Se o resto é diferente de zero erro

Protocolos de múltiplo acesso e protocolos

Protocolos de múltiplo acesso e protocolos Canal de comunicação único e compartilhado Duas ou mais transmissões simultâneas pelos nós: interferência Colisão se um nó receber dois ou mais sinais ao mesmo tempo Protocolo de múltiplo acesso: Algoritmo distribuído que determina como as estações compartilham o canal, isto é, determinam quando cada estação pode transmitir Comunicação sobre o compartilhamento do canal deve utilizar o próprio canal! Nenhum canal fora-de-banda para coordenação

Protocolos de múltiplo acesso e protocolos Canal de broadcast de taxa R bps 1. Quando um nó quer transmitir, ele pode enviar a uma taxa R. 2. Quando M nós querem transmitir, cada um envia a uma taxa média R/M 3. Totalmente descentralizada: Nenhum nó especial para coordenar transmissões Nenhuma sincronização de relógios e compartimentos 4. Simples

Protocolos de múltiplo acesso e protocolos Particionamento de canal Divide o canal em pedaços menores (compartimentos de tempo, freqüência) Aloca um pedaço para uso exclusivo de cada nó Acesso aleatório Canal não dividido, permite colisões Recuperação das colisões Passagem de permissão Nós transmitem em seus turnos, mas com mais volume para enviar podem usar turnos mais longos

Protocolos de múltiplo acesso e protocolos TDMA: acesso múltiplo por divisão temporal Acesso ao canal é feito por turnos Cada estação controla um compartimento ( slot ) de tamanho fixo (tamanho = tempo de transmissão de pacote) em cada turno Compartimentos não usados são desperdiçados Exemplo: rede local com 6 estações: 1, 3, 4 têm pacotes, compartimentos 2, 5, 6 ficam vazios

Protocolos de múltiplo acesso e protocolos FDMA: acesso múltiplo por divisão de freqüência O espectro do canal é dividido em bandas de freqüência Cada estação recebe uma banda de freqüência Tempo de transmissão não usado nas bandas de freqüência é desperdiçado Exemplo: rede local com 6 estações: 1, 3, 4 têm pacotes, as bandas de freqüência 2, 5, 6 ficam vazias as de freqüência tempo

Protocolos aleatorios Quando o nó tem um pacote a enviar: Transmite com toda a taxa do canal R. Não há uma regra de coordenação a priori entre os nós Dois ou mais nós transmitindo -> colisão, Protocolo MAC de acesso aleatório especifica: Como detectar colisões Como as estações se recuperam das colisões (ex., via retransmissões atrasadas) Exemplos de protocolos MAC de acesso aleatório: slotted ALOHA ALOHA CSMA e CSMA/CD

CSMA: Carrier Sense Multiple Access CSMA: escuta antes de transmitir: Se o canal parece vazio: transmite o pacote Se o canal está ocupado, adia a transmissão Analogia humana: não interrompa os outros! Colisões podem ocorrer: o atraso de propagação implica que dois nós podem não ouvir as transmissões do outro Colisão: todo o tempo de transmissão do pacote é desperdiçado Note: papel da distância e do atraso de propagação na determinação da probabilidade de colisão

CSMA/CD (detecção de colisão) CSMA/CD: detecção de portadora, deferência como no CSMA Colisões detectadas num tempo mais curto Transmissões com colisões são interrompidas, reduzindo o desperdício do canal Detecção de colisão: Fácil em LANs cabeadas: medição da intensidade do sinal, comparação dos sinais transmitidos e recebidos Difícil em LANs sem fio: receptor desligado enquanto transmitindo Analogia humana: o bom de papo educado

CSMA/CD (detecção de colisão) CSMA/CD: detecção de portadora, deferência como no CSMA Colisões detectadas num tempo mais curto Transmissões com colisões são interrompidas, reduzindo o desperdício do canal Detecção de colisão: Fácil em LANs cabeadas: medição da intensidade do sinal, comparação dos sinais transmitidos e recebidos Difícil em LANs sem fio: receptor desligado enquanto transmitindo Analogia humana: o bom de papo educado

CSMA/CD http://wps.aw.com/wps/media/objects/500/512911/cap5/csma.htm

Ethernet usa CSMA/CD Adaptador não transmite se ele detectar algum outro adaptador transmitindo, isto é, carrier sense O adaptador transmissor aborta quando detecta outro adaptador transmitindo, isto é, collision detection Antes de tentar uma retransmissão, o adaptador espera um período aleatório, isto é, random access

Ethernet usa CSMA/CD 1. O adaptador recebe um datagrama da camada de rede e cria um quadro. 2. Se o adaptador detecta um canal livre, ele começa a transmitir o quadro. Se ele detecta o canal ocupado, espera até ele ficar livre e então transmite. 3. Se o adaptador transmite o quadro todo sem detectar outra transmissão, sua missão com esse quadro está cumprida! 4. Se o adaptador detecta outra transmissão enquanto transmite, ele aborta e envia um jam signal. 5. Após abortar, o adaptador entra em exponential backoff: após a m-ésima colisão, o adaptador escolhe um K aleatório de {0,1,2,,2 m -1}. O adaptador espera K 512 tempos de bit e retorna ao passo 2.

Ethernet usa CSMA/CD Jam signal: garante que todos os outros transmissores estão cientes da colisão; 48 bits; Bit time: 0,1 microsseg para Ethernet de 10 Mbps; para K = 1023, o tempo de espera é cerca de 50 mseg Veja o applet Java no Web site da AWL: altamemte recomendado! Exponential backoff: Objetivo: adaptar tentativas de retransmissão para carga atual da rede Carga pesada: espera aleatória será mais longa Primeira colisão: escolha K entre {0,1}; espera é K x 512 tempos de transmissão de bit Após a segunda colisão: escolha K entre {0, 1, 2, 3} Após 10 ou mais colisões, escolha K entre {0, 1, 2, 3, 4,,1023}

eficiencia CSMA/CD T prop = propagação máxima entre 2 nós na LAN t trans = tempo para transmitir um quadro de tamanho máximo eficiência = 1+ 1 5t / t prop trans Eficiência tende a 1 quando t prop tende a 0 Tende a 1 quando t trans tende ao infinito Muito melhor do que o ALOHA, e ainda é descentralizado, simples e barato

eficiencia CSMA/CD T prop = propagação máxima entre 2 nós na LAN t trans = tempo para transmitir um quadro de tamanho máximo eficiência = 1+ 1 5t / t prop trans Eficiência tende a 1 quando t prop tende a 0 Tende a 1 quando t trans tende ao infinito Muito melhor do que o ALOHA, e ainda é descentralizado, simples e barato

passagem de permissão Protocolos MAC com particionamento de canais: Compartilham o canal eficientemente quando a carga é alta e bem distribuída Ineficiente nas cargas baixas: atraso no acesso ao canal. A estação consegue uma banda de 1/N da capacidade do canal, mesmo que haja apenas 1 nó ativo! Protocolos MAC de acesso aleatório Eficiente nas cargas baixas: um único nó pode usar todo o canal Cargas altas: excesso de colisões Protocolos de passagem de permissão Buscam o melhor dos dois mundos!

passagem de permissão Polling: Nó-mestre convida os escravos a transmitirem um de cada vez Problemas: Polling overhead Latência Ponto único de falha (mestre) Token passing: Controla um token passado de um nó a outro seqüencialmente Mensagem token Problemas: Token overhead Latência Ponto único de falha (token)

passagem de permissão Polling: Nó-mestre convida os escravos a transmitirem um de cada vez Problemas: Polling overhead Latência Ponto único de falha (mestre) Token passing: Controla um token passado de um nó a outro seqüencialmente Mensagem token Problemas: Token overhead Latência Ponto único de falha (token)

ARP cod manchester PPP Switches vs. roteadores atm