Aula 4 - Protocolos de enlace Professora Marcela Santos [email protected] Faculdade Câmara Cascudo - Estácio de Sá 30 de março de 2010 Agenda 1 Protocolos de acesso ao meio Protocolos de acesso múltiplo determinı́sticos Protocolos de acesso múltiplos não determinı́sticos 2 Endereçamento na camada de enlace Protocolos de acesso ao meio • Os protocolos de acesso ao meio, regras para acesso ao meio fı́sico, são funções da camada de enlace do modelo OSI. Na maioria das vezes foram desenvolvidos para uma topologia particular de rede, embora possam ser usados em qualquer topologia. • Existem dois tipos de enlace: ponto-a-ponto e broadcast • Os enlaces ponto-a -ponto são aqueles que temos um único remetente em uma extremidade do enlace e um receptor do outro lado.O protocolo PPP é um protocolo para este tipo de enlace e iremos estudá-lo nas próximas aulas. • Já o enlace broadcast é aquele no qual temos vários nós remetentes e receptores, compartilhando o mesmo meio de transmissão. Protocolos de acesso ao meio • O termo broadcast é utilizado pois quando um nó envia um quadro todos os nós recebem este mesmo quadro, independetente ser esteo destinatário do mesmo. • A Ethernet e as LANs são exemplos de redes que possui na camada de enlace o tipo broadcast. • Examinando o caso broadcast, que é tema desta nossa aula, temos um grande problema: como resolver o acesso múltiplo ao meio???? • Exemplos de broadcast no nosso cotidiano: televisão (unidirecional), coquetel, sala de aula. • Deve-se definir quem fala e quando fala. Exemplo de protocolo • Nós como seres humanos definimos um série elaborada de protocolos para compartilhar o meio: ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ Dê a todos a oportunidade de falar. Não fale até que alguém fale com você. Não monopolize a conversa. Se tiver alguma pergunta a fazer, levante a mão. Não interrompa alguém que estiver falando. Não durma enquanto alguém estiver falando. Exemplo de protocolo Protcolos de acesso múltiplo • Redes de computadores também definem esse tipo de protocolo que são denominados protocolos de acesso múltiplo. • Como vários nós podem transmitir ao mesmo tempo, pode ser que os quadro transmitidos se choquem. • A banda é desperdiçada já que nenhum dos receptores vai receber seu quadro. • Para que um canal broadcast trabalhe de forma útil é necessário coordenar o trabalho dos nós. • Podemos classificar os protocolos com relação ao seu comportamento temporal ⋄ Protocolos determinı́sticos e ⋄ Protocolos não determinı́sticos. Protocolos de acesso múltiplo • Os protocolos de acesso determinı́sticos são caracterizados pela concessão do direito ao acesso independentemente das necessidades de transmissão de cada nó da estação.Dentre os protocolos conhecidos desta classe, podemos destacar o protocolo TDMA (Time Division Multiple Access), token ring, etc. • Os protocolos de acesso não determinı́sticos, podem ser também denominados protocolos de competição, uma vez que as estações querendo transmitir vão competir pelo meio de transmissão. Um exemplo desta classe são os protocolos de tipo CSMA, cujas variações serão estudadas nos parágrafos a seguir. Protocolos de acesso múltiplo determinı́sticos • Os métodos de acesso determinı́sticos são aqueles com tempo de resposta univocamente determináveis. Estes métodos podem ser classificados em: ⋄ métodos com comando centralizado (Mestre-Escravos) e ⋄ método com comando distribuı́do (Token-Passing) Protocolos de acesso múltiplos determinı́sticos Mestre-escravo • Nos sistemas com comando centralizado, somente uma estação pode agir como detentora do direito de transmissão (Mestre). • O direito de acesso ao meio fı́sico é distribuı́do por tempo limitado pela estação mestre as demais (Escravas). • Todas as trocas de dados ocorrem apenas entre mestre e escravos • Esta configuração deixa o sistema dependente da estação central, mas é a configuração usual dos sistemas de controle na maioria de suas aplicações. • Esse método de acesso ao meio também garante um tempo entre transmissões consecutivas a qualquer estação da rede e segue a prática atual de fazer um controle distribuı́do com uma supervisão centralizada. Protocolos de acesso múltiplos determinı́sticos Mestre-escravo Protocolos de acesso múltiplo determinı́sticos - Token passing • Padrão 802.5 • Os sistemas com comando distribuı́do permitem a definição de mais de uma estação com direito de acesso ao meio fı́sico. • Este direito de acesso, chamado Token, é transmitido ciclicamente entre as várias estações, que podem livremente trocar dados entre si. • Este sistema é, no entanto, bem mais complexo do que o Mestre-Escravo, já que providências especiais tem que ser tomadas no caso de perda do token ou na entrada/saı́da de uma das estações da rede. • Este método é mais adequado para sistemas nos quais diversas unidades independentes desejam trocar livremente informações entre si, além de ser possı́vel determinar um tempo máximo entre duas oportunidades consecutivas de transmissão para cada estação. Protocolos de acesso múltiplo determinı́sticos - Token passing Protcolos de acesso múltiplo não determinı́stico - CSMA 1-persistente • O CSMA 1-persistente (CSMA - Carrier Sense Multiple Access ou Acesso Múltiplo por Detecção de Portadora) funciona da seguinte forma: ⋄ Quando uma estação está pronta a enviar uma mensagem, ela escuta o que está ocorrendo no meio de transmissão. ⋄ Caso o meio já esteja sendo usado por alguma estação, a estação pretendente aguarda na escuta até que o meio esteja livre para sua emissão (daı́ o nome persistente); ⋄ Quando isto ocorre, ela pode então emitir a mensagem. ⋄ E Se uma outra estação estava a espera de uma oportunidade de enviar dados ao mesmo tempo que a primeira? ⋄ Pode ocorrer que ambas detectem o meio como estando livre ao mesmo tempo. ⋄ Colisão. Na ocorrência de uma colisão, a estação receptora não envia o quadro de reconhecimento esperado e a estação emissora tenta a emissão novamente após um determinado tempo (randômico). Protocolos de acesso múltiplo não determinı́stico - CSMA não persistente • No CSMA não persistente, as estações comportam-se de maneira menos afoita para o envio de mensagens. Assim, uma estação que deseje enviar uma mensagem vai escutar o meio de transmissão para verificar se este está disponı́vel. • Em caso positivo, a mensagem é transmitida. • Caso contrário, em vez de ficar escutando à espera da liberação do meio, ele vai esperar um perı́odo de tempo aleatório e, após a expiração deste, vai escutar o meio novamente para verificar sua liberação (ou não). Este protocolo permite reduzir as possibilidades de ocorrência de colisões, embora ele introduza um maior atraso de emissão de mensagens pelas estações do que o CSMA persistente. Protocolos de acesso múltiplo não determinı́stico - CSMA p-persistente • O CSMA p-persistente é mais um exemplo de protocolo de acesso, funcionando da seguinte maneira: ⋄ Quando uma estação tem uma mensagem a enviar, ela escuta o meio para verificar sua disponibilidade; se o meio está disponı́vel, a probabilidade da estação emitir a mensagem é igual a p. ⋄ A probabilidade de que esta aguarde o próximo intervalo de tempo é igual a q = 1 - p; ⋄ Se, no inı́cio do segundo intervalo de tempo, o meio está disponı́vel, as probabilidades de envio ou de espera continuam as mesmas; o processo continua, até que a mensagem seja finalmente transmitida ou que outra estação tenha tomado posse do meio. Protocolos de acesso múltiplo não determinı́stico CSMA/CD • Padrão 802.3 • Os protocolos descritos até aqui, podem ser melhorados considerando-se que a mensagem ainda é transmitida até o fim quando a colisão é detectada. Se, assim que a colisão for detectada, a transmissão for interrompida, economiza-se tempo e banda passante. • O CDSMA/CD é um protocolo baseado neste princı́pio e muito utilizado nas redes locais (foi proposto originalmente pelos criadores da rede Ethernet). • Neste protocolo, quando uma estação está pronta para emitir uma mensagem com o meio livre, ela emite um quadro. Protocolos de acesso múltiplo não determinı́stico CSMA/CD • Se não houver colisão, ela transmite o resto da mensagem. • Caso haja colisão, devido ao envio de um quadro por uma outra estação ao mesmo tempo, ambas param a transmissão, esperam por um perı́odo de tempo aleatório e reiniciam o processo de escuta ao meio/transmissão. • Para detectar a colisão, a estação emissora deve escutar aquilo que ela mesma colocou no meio (ao menos a primeira palavra de código enviada deve ser escutada pela própria estação emissora). • O tempo mı́nimo para a detecção de uma colisão é o tempo de propagação t do sinal emitido por uma estação até a outra estação ´ Comparação entre os métodos de acesso ao meio Método de acesso Vantagem Desvantagem Estatı́stico Determinı́stico Rápido com baixa carga Previsı́vel com carga alta,garante o acesso. Queda de desempenho com cargas elevadas Possui atraso fixo mesmo que a carga seja baixa Tabela: Comparação entre os método de acesso Endereçamento na camada de enlace Nós têm endereços de camada de enlace. Nesta seção, estudaremos dois tópicos crı́ticos relacionados a endereços: a sintaxe e a função dos endereços de camada de enlace. • Existem três modos de endereçamento: ⋄ Unicast :Uma máquina envia para outra ⋄ Broadcast: Uma máquina envia para todas as máquinas de um domı́nio ⋄ Multicast: Uma máquina envia para um grupo de máquinas cadastradas Endereçamento na camada de enlace - Endereço MAC • Na verdade não é o nó que tem um endereço de camada de enlace, mas o adaptador do nó. • Um endereço de camada de enlace é também denominado um endereço de LAN, um endereço fı́sico ou um endereço MAC (media access control controle de acesso ao meio). • Para a maior parte das LANs (incluindo a Ethernet e as LANs 802.11 sem fio), o endereço MAC tem 6 bytes de comprimento, o que dá 248 possı́veis endereços MAC. • São tipicamente expressos em notação hexadecimal, • Com cada byte do endereço expresso como um par de números hexadecimais. • Um fato importante referent aos endereços MAC é que eles são permanentes quando um adaptador é fabricado, um endereço MAC é gravado na ROM do adaptador. Endereçamento na camada de enlace - Endereço MAC Endereçamento na camada de enlace - Endereço MAC • Uma propriedade interessante dos endereços MAC é que não existem dois adaptadores com o mesmo endereço. • O endereço MAC de um adaptador tem uma estrutura linear (oposta à estrutura hierárquica) e nunca muda, não importando para onde vá o adaptador. • Como uma empresa fabricante de adaptadores em Taiwan se certifica de que está usando endereços diferentes dos usados por uma empresa fabricante de adaptadores na Bélgica? Endereçamento na camada de enlace - Endereço MAC • A resposta é que o IEEE gerencia o espaço fı́sico de endereços MAC. Em particular, quando uma empresa quer fabricar adaptadores, compra, por uma taxa nominal, uma parcela do espaço de endereços que consiste em 224 endereços. O IEEE aloca a parcela de 224 endereços fixando os primeiros 24 bits de um endereço MAC e permitindo que a empresa crie combinações exclusivas com os últimos 24 bits para cada adaptador Endereçamento na camada de enlace - Endereço MAC • Quando um adaptador quer enviar um quadro para algum • • • • adaptador de destino, o adaptador remetente insere no quadro o endereço MAC do destino e envia o quadro para dentro da LAN. Se a LAN utilizar transmissão broadcast (como a LAN 802.11 e muitas LANs Ethernet), o quadro será recebido e processado por todos os outros adaptadores na LAN. Cada adaptador que recebe o quadro verificará se o endereço MAC de destino que está no quadro combina com seu próprio endereço MAC. Se os endereços combinarem, o adaptador extrairá o datagrama encerrado no quadro e o passa para cima na pilha de protocolos até seu nó pai. Se os endereços não combinarem, o adaptador descartará o quadro sem passar o datagrama de camada de rede para cima na pilha de protocolos. Endereçamento na camada de enlace - Endereço MAC • No entanto, às vezes um adaptador remetente quer que todos os outros adaptadores na LAN recebam e processem o quadro que ele está prestes a enviar. Nesse caso, o adaptador remetente insere um endereço de broadcast MAC especial no campo de endereço do destinatário do quadro. • Para LANs que usam endereços de 6 bytes (como a Ethernet e as LANs de passagem de permissão), o endereço de broadcast é uma cadeia de 48 bits 1 consecutivos (isto é, FF-FF-FF-FF-FF-FF em notação hexadecimal). Endereçamento na camada de enlace - ARP • Como existem endereços de camada de rede (por exemplo, endereços IP da Internet) e endereços de camada de enlace (isto é, endereços MAC), é preciso fazer a tradução de um para o outro. • Para a Internet, esta é uma tarefa do protocolo de resolução de endereços (address resolution protocol - ARP). • Para compreender a necessidade de um protocolo como o ARP, considere a rede com cada nó com um único endereço IP e o adaptador de cada nó tem um único endereço MAC. Endereçamento na camada de enlace - ARP • Suponha que o nó com endereço IP 222.222.222.220 queira mandar um datagrama IP para o nó 222.222.222.222. • Nesse exemplo, os nós de fonte e de destino estão na mesma rede (LAN). • Para enviar um datagrama, o nó da fonte deve dar a seu adaptador não somente o datagrama IP e o endereço MAC, o adaptador do nó remetente montará um quadro de camada de enlace contendo o endereço MAC do nó receptor e enviará o quadro para dentro da LAN. Endereçamento na camada de enlace - Endereços MAC e IP Endereçamento na camada de enlace - ARP • A pergunta importante considerada nesta seção é como o nó remetente determina o endereço MAC para com endereço IP 222.222.222.222? Ele usa o ARP. Um módulo ARP no nó remetente toma como entrada qualquer endereço IP na mesma LAN e retorna o endereço MAC correspondente. No exemplo em questão, o nó remetente 222.222.222.220 fornece a seu módulo ARP o endereço IP 222.222.222.222 e o módulo ARP retorna o endereço MAC correspondente, 49-BD-D2-C7-56-2A. • ARP e DNS.