• Nenhum resultado encontrado

Redes pessoais sem fio – Bluetooth IEEE 802.15

No documento Livro - Sistemas distribuidos - Couloris (páginas 152-158)

Redes de Computadores e Interligação em Rede

PC 1 Estação de base/

3.5 Estudos de caso: Ethernet, WiFi e Bluetooth

3.5.3 Redes pessoais sem fio – Bluetooth IEEE 802.15

Bluetooth é uma tecnologia de rede pessoal sem fio que surgiu a partir da necessidade de conectar telefones móveis a PDAs, notebooks e outros equipamentos pessoais sem fios. Um grupo de interesse especial (SIG, Special Interest Group) de fabricantes de telefones móveis e computadores, liderados por L.M. Ericsson, desenvolveu uma especificação para uma rede pessoal sem fio (WPAN, Wireless Personal Area Network) para a transmissão de fluxos de voz digitalizada como dados [Haartsen et al. 1998]. A versão 1.0 do padrão Bluetooth foi publicada em 1999, e seu nome deve-se a um rei viking. Aqui, descrevemos a versão 1.1. Ela foi publicada em 2002, resolvendo alguns problemas. Então o grupo de trabalho do IEEE 802.15 o adotou como sendo o padrão 802.15.1 e publicou uma especi- ficação para as camadas física e de enlace de dados [IEEE 2002].

As redes Bluetooth diferem substancialmente do IEEE 802.11 (WiFi), refletindo os requisitos de seu contexto de utilização e as metas de custo e de consumo de energia para os quais foram projetadas. O padrão Bluetooth foi projetado para permitir comunicação entre dispositivos pequenos e de baixo custo, como os fones de ouvido sem fio adaptados à orelha, que recebem fluxos de áudio de um telefone celular, ou interconexões entre computadores, telefones, PDAs e outros dispositivos móveis. A meta de custo era adicio- nar apenas cinco dólares ao preço final de um dispositivo portátil. A meta de consumo de energia era usar apenas uma pequena fração da energia total da bateria de um telefone celular ou PDA e operar por várias horas, mesmo com baterias pequenas, empregadas tipicamente em aparelhos acoplados ao corpo, como fones de ouvido.

As aplicações alvo do Bluetooth exigem menos largura de banda e um alcance de transmissão menor do que as aplicações de rede local sem fio do padrão 802.11. Isso é bom, pois o Bluetooth opera na mesma faixa de frequência livre de licença de 2,4 GHz que as redes WiFi, telefones sem fio e muitos outros sistemas de comunicação de serviços de emergência, sendo, portanto, muito ocupada. A transmissão se dá em baixa energia, saltando a uma taxa de 1.600 vezes por segundo entre 79 sub-faixas de 1 MHz da faixa de frequência permitida para minimizar os efeitos da interferência. A potência de saída dos dispositivos Bluetooth convencionais é de 1 miliwatt, fornecendo uma área de cobertura de apenas 10 metros; dispositivos de 100 miliwatts, com um alcance de até 100 metros, são permitidos para aplicações como redes domésticas. A eficiência no uso da energia é melhorada pela inclusão de um recurso de alcance adaptativo, que ajusta a potência da transmissão para um nível mais baixo, quando dispositivos que se comunicam estão próximos (conforme determinado pela intensidade dos sinais recebidos inicialmente).

Os nós Bluetooth se associam dinamicamente em pares, sem exigir nenhum conhe- cimento anterior da rede. O protocolo de associação será descrito a seguir. Após uma asso- ciação bem-sucedida, o nó iniciador tem a função de mestre e o outro, a de escravo. Uma

Coulouris_03.indd 138

Capítulo 3 Redes de Computadores e Interligação em Rede 139

Piconet é uma rede associada dinamicamente, composta de um mestre e até sete escravos

ativos. O mestre controla o uso do canal de comunicação, alocando slots de tempo para cada escravo. Um nó que esteja em mais de uma Piconet pode atuar como ponte, permitindo que os mestres se comuniquem – várias Piconets ligadas dessa maneira são chamadas de Scat-

ternet. Muitos tipos de dispositivo têm a capacidade de atuar como mestre ou como escravo.

Todos os nós Bluetooth também são equipados com um endereço MAC globalmen- te exclusivo de 48 bits (veja a Seção 3.5.1), embora apenas o endereço MAC do mestre seja usado no protocolo. Quando um escravo se torna ativo em uma Piconet, ele recebe um endereço local temporário no intervalo de 1 a 7. O objetivo disso é reduzir o com- primento dos cabeçalhos do quadro. Além dos sete escravos ativos, uma Piconet pode conter até 255 nós estacionados (parked) no modo de baixa energia, esperando um sinal de ativação do mestre.

Protocolo de associação • Para economizar energia, os dispositivos permanecem no modo de suspensão ou espera (standby) antes que qualquer associação seja feita ou quando nenhuma comunicação recente ocorreu. No modo de espera, eles são acionados para captar mensagens de ativação em intervalos que variam de 0,64 a 2,56 segundos. Para se associar a um nó próximo conhecido (estacionado), o nó iniciador transmite uma sequência de 16 quadros de página, em 16 faixas de frequência, que pode ser repetida várias vezes. Para entrar em contato com qualquer nó desconhecido dentro do intervalo, o iniciador deve primeiro transmitir uma sequência de mensagens de pergunta. Essas sequências de transmissão podem ocupar até cerca de 5 segundos, no pior caso, levando a um tempo de associação máximo de 7 a 10 segundos.

A associação é seguida por uma troca de autenticação opcional, baseada em “fi- chas” de autenticação (tokens) fornecidas pelo usuário ou recebidas anteriormente, para garantir que a associação se dê com o nó pretendido e não com um impostor. Um escravo permanece sincronizado com o mestre, observando os quadros transmitidos regularmen- te por ele, mesmo quando eles não são endereçados para esse escravo. Um escravo que está inativo pode ser colocado no modo “estacionado” pelo mestre, liberando seu slot na Piconet para ser usado por outro nó.

Os requisitos de oferecer canais de comunicação síncronos, com qualidade de ser- viço adequada para a transmissão de áudio bidirecional em tempo real (por exemplo, entre um telefone e o fone de ouvido sem fio), assim como comunicação assíncrona para troca de dados, impuseram uma arquitetura de rede muito diferente do projeto de múltiplo acesso e melhor esforço das redes Ethernet e WiFi. A comunicação síncrona é obtida pelo uso de um protocolo de comunicação bidirecional simples entre um mestre e um de seus escravos, denominado enlace síncrono orientado a conexão (SCO, Synchro-

nous Connection Oriented), no qual mestre e escravo enviam quadros alternadamente.

A comunicação assíncrona é obtida por um enlace assíncrono sem conexão (ACL, Asyn-

chronous ConnectionLess), no qual o mestre envia quadros de consulta periodicamente

(polling) para os escravos e eles transmitem somente após receberem esses quadros. Todas as variantes do protocolo Bluetooth usam quadros que respeitam a estrutura mostrada na Figura 3.25. Uma vez estabelecida uma Piconet, o código de acesso consiste em um preâmbulo fixo para sincronizar o emissor e o receptor e identificar o início de um

slot, seguido de um código derivado do endereço MAC do mestre, que identifica, de for-

ma exclusiva, a Piconet. Este último garante que os quadros sejam corretamente direcio- nados em situações em que existem várias Piconets sobrepostas. Como o meio provavel- mente terá ruído, e a comunicação em tempo real não pode contar com retransmissões, cada bit do cabeçalho é transmitido de forma triplicada para fornecer redundância tanto da informação como da soma de verificação.

Coulouris_03.indd 139

140 Sistemas Distribuídos, Conceitos e Projeto

O campo de endereço tem apenas três bits para permitir endereçamento a qual- quer um dos sete escravos correntemente ativos. O endereço zero indica um broadcast. Existem campos para controle de fluxo, confirmação e número de sequência, cada um deles com largura equivalente a 1 bit. O bit de controle de fluxo é usado por um escravo para indicar ao mestre que seus buffers estão cheios; neste caso, o mestre deve esperar do escravo um quadro com um bit de confirmação diferente de zero. O bit de número de sequência é alternado entre 0 e 1 para cada novo quadro enviado para o mesmo nó; isso permite a detecção de quadros duplicados (isto é, retransmitidos).

Os enlaces SCO são usados em aplicações críticas em relação a tempo, como a trans- missão de uma conversa de voz bidirecional. Os quadros têm de ser curtos para manter a latência baixa e há pouco interesse em identificar, ou retransmitir, pacotes corrompidos em tais aplicações, pois os dados retransmitidos chegariam tarde demais para serem úteis. Por isso, o SCO usa um protocolo simples e altamente redundante, no qual 80 bits de dados de voz são normalmente transmitidos de forma triplicada para produzir uma área de dados de 240 bits. Duas réplicas quaisquer de 80 bits que correspondam são aceitas como válidas.

Por outro lado, os enlaces ACL são usados para aplicações de transferência de da- dos, como a sincronização de agenda de endereços entre um computador e um telefone. A área de dados não é duplicada, mas pode conter uma soma de verificação interna que é verificada em nível aplicativo e, no caso de falha de retransmissão, pode ser solicitada.

Os dados são transmitidos em quadros que ocupam slots de tempo de duração de 625 microssegundos, cronometrados e alocados pelo nó mestre. Cada pacote é transmi- tido em uma frequência diferente, em uma sequência de saltos definida pelo nó mestre. Como esses slots não são grandes o bastante para permitir uma área de dados de tamanho significativo, os quadros podem ser estendidos para ocupar um, três ou cinco slots. Essas características, e o método de transmissão física subjacente, resultam em um desempenho máximo de 1 Mbps para uma Piconet, o que acomoda até três canais duplex síncronos de 64 Kbps entre um mestre e seus escravos ou um canal para transferência de dados assín- crona em velocidades de até 723 Kbps. Esses valores são calculados para a versão mais redundante do protocolo SCO, conforme descrito anteriormente. São definidas outras va- riantes do protocolo que alteram a relação entre a robusteza e a simplicidade (e, portanto, baixo custo computacional) dos dados triplicados para se obter um desempenho maior.

Ao contrário da maioria dos padrões de rede, o Bluetooth inclui especificações (cha- madas de perfis) para vários protocolos em nível de aplicação, alguns dos quais são muito orientados para aplicativos em particular. O objetivo desses perfis é aumentar a probabili- dade de que os dispositivos fabricados por diferentes fornecedores funcionem em conjunto. São incluídos 13 perfis de aplicativo: acesso genérico, descoberta de serviço, porta serial,

Cabeçalho

bits: 72 54 0 – 2744

Código de acesso Cabeçalho (codificado de forma redundante) Dados da transmissão

bits: 3 1 1 1 4 8

Destino Fluxo Conf. Seq. Tipo Soma de verificação do cabeçalho

Endereço dentro da Piconet

= ACL, SCO, poll, null

Figura 3.25 Estrutura de quadro Bluetooth.

Coulouris_03.indd 140

Capítulo 3 Redes de Computadores e Interligação em Rede 141

troca de objeto genérica, acesso a rede local, interligação em rede dial-up, fax, telefonia sem fio, sistema de intercomunicação, fones de ouvido, trocas de objetos (push), transfe- rência de arquivo e sincronização. Outros perfis estão sendo elaborados, incluindo tentati- vas ambiciosas de transmitir música em alta qualidade e até vídeo por meio de Bluetooth.

O padrão Bluetooth ocupa um nicho especial na classe das redes locais sem fio. Ele cumpre seu objetivo de projeto de oferecer comunicação síncrona de áudio em tempo real com qualidade de serviço satisfatória (consulte o Capítulo 20 para uma discussão mais ampla sobre os problemas de qualidade do serviço), assim como permitir a transfe- rência de dados assíncrona, usando hardware de custo muito baixo, compacto e portátil, com baixo consumo de energia e largura de banda limitada.

Sua principal desvantagem é o tempo que leva (até 10 segundos) para efetuar a associação de novos dispositivos. Isso impede seu uso para certas aplicações, especial- mente quando os dispositivos estão se movendo uns em relação aos outros, impedindo sua utilização, por exemplo, para pagamento automatizado de pedágios em estradas ou para transmitir informações promocionais para usuários de telefonia móvel quando eles passam em frente a uma loja. Outra referência útil sobre interligação em rede Bluetooth é o livro de Bray e Sturman [2002].

A versão 2.0 do padrão Bluetooth, com desempenho de até 3 Mbps – suficiente para enviar áudio com qualidade de CD – foi lançada em 2004. Outros aprimoramentos incluíram um mecanismo de associação mais rápido e endereços de Piconet maiores. As versões 3 e 4 do padrão estavam em desenvolvimento quando este livro estava sendo produzido. A versão 3 integra um protocolo de controle Bluetooth com uma camada de transferência de dados WiFi para obter uma taxa de vazão (throughput) de até 24 Mbps. A versão 4 está sendo desenvolvida como uma tecnologia Bluetooth de energia ultrabai- xa para equipamentos que exigem vida muito longa para a bateria.

3.6 Resumo

Focalizamos os conceitos e técnicas para a interligação de redes necessários à compreensão de sistemas distribuídos e os abordamos do ponto de vista de um projetista desse tipo de sistema. As redes de pacotes e os protocolos em camada fornecem a base da comunicação em sistemas distribuídos. As redes locais são baseadas na transmissão (difusão) de pacotes em um meio compartilhado; Ethernet é a tecnologia dominante. As redes de longa distância são baseadas na comutação de pacotes para direcionar pacotes para seus destinos em uma rede conectada. O roteamento é um mecanismo chave e, para tal, é usado uma variedade de algoritmos, dos quais vetor de distância é o mais simples, porém o mais eficaz. O controle de congestionamento é necessário para evitar o estouro dos buffers no receptor e nos nós intermediários.

A interligação de redes é construída dispondo-se, em camada, um protocolo de rede virtual sobre conjuntos de redes interconectadas por roteadores. Os protocolos TCP/IP permitem que os computadores se comuniquem na Internet de maneira uniforme, inde- pendentemente de estarem na mesma rede local ou em países diferentes. Os padrões da Internet incluem muitos protocolos em nível de aplicação que são convenientes para uso em aplicativos distribuídos remotos. O padrão IPv6 tem um espaço de endereçamento muito maior que o IPv4 e oferece suporte para novos requisitos de aplicativo, como qua- lidade do serviço e segurança, necessários para a evolução futura da Internet.

O MobileIP oferece uma infraestrutura para os usuários móveis permitindo a migra- ção entre redes de longa distância e redes locais sem fio baseadas nos padrões IEEE 802.

Coulouris_03.indd 141

142 Sistemas Distribuídos, Conceitos e Projeto

Exercícios

3.1 Um cliente envia uma mensagem de requisição de 200 bytes para um serviço, o qual produz uma resposta contendo 5.000 bytes. Estime o tempo total gasto para completar o pedido em cada um dos casos a seguir, com as considerações de desempenho listadas abaixo:

i) Usando comunicação não orientada a conexão (datagrama) (por exemplo, UDP). ii) Usando comunicação orientada a conexão (por exemplo, TCP).

iii) O processo servidor está na mesma máquina que o cliente. [Latência por pacote (local ou remoto,

acarretada no envio e na recepção): 5 ms

Tempo de estabelecimento da conexão (somente para TCP): 5 ms

Taxa de transferência de dados: 10 Mbps

MTU: 1.000 bytes

Tempo de processamento da requisição no servidor: 2 ms Suponha que a rede esteja pouco carregada.]

páginas 82, 122

3.2 A Internet é grande demais para um roteador conter informações de roteamento para todos os destinos. Como o esquema de roteamento da Internet trata desse problema? páginas 98, 114 3.3 Qual é a função de um switch Ethernet? Quais tabelas ele mantém? páginas 105, 130

3.4 Faça uma tabela semelhante à Figura 3.5, descrevendo o trabalho feito pelo software em cada camada de protocolo, quando aplicativos Internet e o conjunto TCP/IP são implementados

sobre uma rede Ethernet. páginas 94, 122, 130

3.5 Como o princípio fim-a-fim [Saltzer et al. 1984] foi aplicado no projeto da Internet? Conside- re como o uso de um protocolo de rede de circuito virtual, no lugar do IP, teria impacto sobre a exequibilidade da World Wide Web. páginas 61, 96, 106, [www.reed.com]

3.6 Podemos ter certeza de que dois computadores na Internet não têm os mesmos endereços IP?

página 108

3.7 Compare a comunicação não orientada a conexão (UDP) e orientada a conexão (TCP) para a im- plementação de cada um dos seguintes protocolos nas camadas de aplicação ou de apresentação: i) acesso a terminal virtual (por exemplo, Telnet);

ii) transferência de arquivo (por exemplo, FTP); iii) localização de usuário (por exemplo, rwho, finger); iv) navegação em informações (por exemplo, HTTP); v) chamada remota de procedimentos.

página 122

3.8 Explique como é possível uma sequência de pacotes transmitidos por meio de uma rede de longa distância chegarem ao seu destino em uma ordem diferente daquela em que foram en- viados. Por que isso não pode acontecer em uma rede local? páginas 97, 131

3.9 Um problema específico que deve ser resolvido nos protocolos de acesso a terminal remoto, como Telnet, é a necessidade de transmitir eventos excepcionais, como “sinais de aborto (kill)” do “terminal” para o host, sem esperar a transmissão dos dados que está em andamento. O “sinal de aborto” deve chegar ao destino antes de quaisquer outras transmissões. Discuta a solução deste problema com protocolos orientados à conexão e não orientados à conexão. página 122

Coulouris_03.indd 142

Capítulo 3 Redes de Computadores e Interligação em Rede 143

3.10 Quais são as desvantagens de usar broadcast em nível de rede para localizar recursos: i) em uma única Ethernet?

ii) em uma intranet?

Até que ponto o multicast Ethernet é um aprimoramento em relação ao broadcast? página 130

3.11 Sugira um esquema que aprimore o MobileIP para fornecer acesso a um servidor Web em um dispositivo móvel que, às vezes, é conectado à Internet pelo telefone móvel e, outras vezes, tem uma conexão com fio com a Internet em um de vários locais. página 120

3.12 Mostre a sequência de alterações nas tabelas de roteamento da Figura 3.8 que ocorreriam (de acordo com o algoritmo RIP dado na Figura 3.9) após o enlace rotulado como 3 na Figura 3.7

ser desfeito. páginas 98 a 101

3.13 Use o diagrama da Figura 3.13 como base para uma ilustração que mostre a fragmentação e o encapsulamento de um pedido HTTP para um servidor e a resposta resultante. Suponha que o pedido seja uma mensagem HTTP curta, mas que a resposta inclua pelo menos 2.000 bytes de código HTML.

páginas 93, 107

3.14 Considere o uso de TCP em um cliente de terminal remoto Telnet. Como a entrada do teclado deve ser colocada no buffer do cliente? Investigue os algoritmos de Nagle e de Clark [Nagle 1984, Clark 1982] para controle de fluxo e compare-os com o algoritmo simples descrito na página 124, quando TCP for usado por:

(a) um servidor Web; (b) um aplicativo Telnet;

(c) um aplicativo gráfico remoto com entrada contínua de dados via mouse.

páginas 102, 124

3.15 Construa um diagrama de rede semelhante à Figura 3.10 para a rede local de sua instituição

ou empresa. página 104

3.16 Descreva como você configuraria um firewall para proteger a rede local de sua instituição ou

empresa. Quais pedidos de entrada e saída ele deve interceptar? página 125

3.17 Como um computador pessoal recentemente instalado, conectado a uma rede Ethernet, descobre os endereços IP dos servidores locais? Como ele os transforma em endereços

Ethernet? página 111

3.18 Os firewalls podem evitar ataques de negação de serviço, como os descritos na página 112? Quais outros métodos estão disponíveis para tratar desses ataques? páginas 112, 125

Coulouris_03.indd 143

4.1 Introdução

4.2 A API para protocolos Internet

4.3 Representação externa de dados e empacotamento 4.4 Comunicação por multicast (difusão seletiva) 4.5 Virtualização de redes: redes de sobreposição 4.6 Estudo de caso: MPI

4.7 Resumo

Comunicação

No documento Livro - Sistemas distribuidos - Couloris (páginas 152-158)