Elogio ao Neto da Vovó

Este final de semana recebi um recado em meu perfil no Orkut que me deixou feliz da vida. Leiam só:

"joia maninhu...estudo na escola tecnica federal de SC ...estou fazendo trabalho de Redes...especificamente camada de enlace...seu blog foi uma otima fonte...pricipalmente pela linguagem de facil entendimento. valew maninhu...abraçao e sucesso ai pra vc."

Tenho que admitir que algumas vezes eu já pensei em parar com o Vovó Viu a Rede (vejam bem, só parar de escrever, de estudar não!), mas aqui ou ali encontrava ânimo para continuar escrevendo, e uma mensagem destas só vem confirmar que estou fazendo a coisa certa.

Quando comecei o blog, um dos grandes objetivos era escrever de um jeito que as pessoas não ficassem assustadas com excessos de siglas ou jargões complicados. Apesar de um de meus professores na faculdade rejeitar todas as minhas metáforas, eu sempre tive certeza que elas eram melhores que as suas explicações técnicas e intrincadas. E este recado que recebi só confirma isso.

Obrigado ao Demetrius pelos elogios e pelo incentivo. Espero que tenha recebido uma boa nota pelo trabalho!

***


E você? O que a faz gostar do Vovó Viu a Rede?

O Tamanho Mínimo de um Quadro

O principal motivo para determinar o tamanho mínimo de um quadro da camada de enlace de dados é garantir que o emissor saiba que, havendo uma colisão, é o pacote dele que foi perdido. A definição deste tal tamanho mínimo foi uma das coisas que mais me deram dor de cabeça para entender, e por isso mesmo ralei para conseguir uma maneira simples de explicar isso a vocês, de forma que entendam isso muito mais rápido que eu.

Ainda assim, vamos devagar.

Quando há uma colisão, um ruído percorre o cabo para avisar todas as estações que "ó só, deu merda, hein!". Além disso, é importante saber que este ruído de aviso não tem informações sobre quais pacotes foram perdidos, de onde vinham ou para onde iam.

Agora acompanhe os desenhos abaixo e veja o que acontece se o pacote for muito pequeno.




A começa a transmitir um pacote para B.




A já terminou de enviar o pacote, mas ele ainda está percorrendo o cabo e nem chegou em B.




Quando o pacote está prestes a chegar em B, B começa a transmitir. Há uma colisão.




O ruído de colisão percorre o cabo, até chegar em A. A fica sabendo que houve uma colisão, mas não sabe se o seu pacote foi o danificado, já que o ruído não traz nenhuma informação sobre isso.


***


Perguntinha crucial: o que é preciso para que A saiba que um dos pacotes perdidos é o seu? Simples: é preciso que A ainda esteja transmitindo quando este sinal chegar.

Vamos rever os desenhos, mas desta vez com um pacote maior:



A começa a transmitir um pacote para B.



Quando o pacote está prestes a chegar em B, B começa a transmitir. Há uma colisão.



O ruído de colisão percorre o cabo, torrando o pacote de A. Quando o ruído de colisão chega em A, este ainda está transmitindo o pacote e vai saber que imediatamente que seu pacote foi perdido e que terá que recomeçar tudo.

***


Aí vem a grande conclusão: o pacote tem que ser grande o suficiente para que a sua codificação dure o tempo que uma informação leva para ir e voltar entre os dois pontos mais distantes de uma rede.

Não custa repetir: se o pacote for menor que este tamanho mínimo, corre-se o risco de haver uma colisão no ponto mais distante da rede e então o ruído de aviso chegar ao transmissor quando este já tiver terminado de transmitir.

Para calcular o este tamanho, leva-se em consideração a velocidade da transmissão e os comprimentos máximos dos cabos. Nas redes Ethernet chegou-se à conclusão que o tamanho mínimo de um pacote é de 64 bytes.

Se por acaso os dados a serem transmitidos não forem grandes o suficientes para formar um pacote deste tamanho, o próprio protocolo da subcamada de controle de acesso ao meio se encarrega de preencher o pacote.

***


Artigos do Vovó Viu a Rede:
Saiba mais sobre a camada de enlace de dados
Saiba mais sobre Ethernet

A Diferença entre Multidifusão e Difusão

Já vimos várias vezes por aqui que redes de difusão são aquelas em que há um cabo principal que liga todas as estações da rede. Assim, quando uma informação é enviada por algum equipamento todos os outros a recebem, só que o único que processa aquela informação é aquele ao qual o pacote está endereçado. Isso é a difusão.

Mas e a multidifusão? Que diabo é isso? Nada muito difícil, querida leitora.

Imagine uma empresa que tem uma rede interna que cobre todos os seus departamentos: contas, RH, balcão, etc. Uma mensagem 'difundida' iria alcançar todos os equipamentos de todos departamentos. Mas se a empresa contratar alguém que realmente entenda de redes, não um Zé Ruela que apenas estuda redes e escreve um blog sobre o assunto, este alguém pode organizar os equipamentos em grupos.

Haveria então, um grupo para o departamento de contas, outro para o RH, e por aí vai. É como se fossem subconjuntos.

E aí entra o conceito da multidifusão: enviar uma mensagem apenas para um grupo da rede. Então, ao 'multidifundir' uma mensagem para um grupo específicos, esta mensagem será 'difundida' apenas para as máquinas que fazem parte daquele grupo. Nenhum outro grupo sequer saberá que uma mensagem foi enviada.

***


Artigo do Vovó Viu a Rede: Tipos de Tecnologia de Transmissão

Resultado do Exercício do Último Artigo

No último artigo, sobre a codificação Manchester, deixei um exercício ao final. Aqui vão as respostas:

Pares de pulsos gerados para transmitir o número 11101 usando a Manchester Diferencial:
(alto baixo) (baixo alto) (alto baixo) (alto baixo) (baixo alto)

Pares de pulsos gerados para transmitir o número 10011 usando a Manchester simples:
(alto baixo) (baixo alto) (baixo alto) (alto baixo) (alto baixo)

Codificação Manchester

Como já estamos cansados de ver, nas LANs que seguem o padrão IEEE 802.3 (Ethernet) os equipamentos estão ligados através de cabos. E como as informações trafegam nestes cabos? Através de pulsos elétricos, claro. Como toda a linguagem dos computadores é na base dos 0's e 1's, foi preciso pensar em uma maneira de dizer, através de pulsos elétricos, o que é um '0' e o que é um '1'.

A primeira solução que vem a cabeça de qualquer um é realmente muito simples: durante uma transmissão os 1's são transmitidos como pulsos e os 0's como a ausência de pulsos. É o velho conceito dos interruptores, onde ligado significa 1 e desligado significa 0. Tá, muito bonito, mas e quando simplesmente não houver transmissão nenhuma? O receptor vai pensar que está recebendo uma seqüência infinita de zeros? Vê-se logo que esta não é uma boa solução.

Uma solução para resolver este problema, e que é usada por todos os sistemas Ethernet, é a Codificação Manchester. Neste esquema os pulsos elétricos enviados só têm significado aos pares: a cada par de pulsos enviados, se o primeiro for mais forte que o segundo, indica a transmissão de um 1. Inversamente, se o primeiro for mais fraco que o segundo, indica a transmissão de um 0. Assim, quando não houver transmissão, todos os pulsos serão fracos ou simplesmente inexistentes.

Para exemplificar, imagine a seguinte seqüência de pares de pulsos enviados: (alto baixo), (alto baixo), (alto baixo), (baixo alto), (alto baixo). Nesta codificação os números transmitidos seriam 11101.

Existe uma variação, chamada Manchester Diferencial, que é um pouco mais complicada. A explicação oficial é um pouco complicada, veja só: nesta codificação, os bits também são representados por pares de pulsos, só que, se o primeiro pulso de um par for da mesma intensidade do segundo pulso do par anterior, ou seja, não houve uma transição, há a transmissão de um 1; já se o primeiro pulso de um par for de intensidade diferente do segundo pulso do par anterior, ou seja, houve uma transição, há a transmissão de um 0.

Só que eu arranjei um jeito mais simples de entender a coisa: se o par recebido for igual ao par anterior a ele, significa um 0 transmitido. Se o par recebido for diferente do anterior a ele, significa um 1 transmitido. Pegando a mesma seqüência de pares de pulsos que usei acima, veja que a interpretação é bem diferente: 10011.

Agora fica a pergunta: como saber o valor primeiro bit nesta codificação se não há um anterior para comprar? Ao que parece, ele segue o esquema definido pela codificação Manchester original: se o primeiro pulso do par for mais forte, há a transmissão de um bit 1; se o primeiro pulso do par for mais fraco, há a transmissão de um bit 0.

Pra fechar, deixo um exercício para minhas leitoras: neste artigo vimos como seriam os pares de pulsos dos números 11101 (na Manchester simples) e 10011 (na Manchester Diferencial). Como seriam então os pares de pulsos do número 11101 na Manchester Diferencial e do número 10011 na Manchester simples?

(Resposta do exercício)

A Espessura do Cabo 10Base5

Recebi hoje um email de um leitor atento do Vovó Viu a Rede:

"Fala, Mário. No texto Tipos de Cabeamento para Ethernet você menciona o diâmetro do cabo coaxial 10Base5 em centímetro (1 cm), eu não pesquisei mas tenho quase certeza que esta medida e em milímetro (1 mm). Mesmo que no livro esteja em centímetros isto seria impossível pois um cabo com 1 cm seria + ou - da espessura de um polegar. Isto se estamos falando daquele fio central do cabo."

Camarada meu, a espessura a que me refiro é a do cabo todo, não apenas a do fio central, que realmente é bem fino. Aproveitei a sua dúvida, que passou a ser nossa, e pesquisei na internet em busca de imagens de um cabo destes, e encontrei uma foto que deixa claro o quanto o cabo é grosso. (Veja aqui a foto do cabo 10Base5). Já nesta outra foto é possível fazer a comparação do cabo todo com o cabo metálico central. A diferença é tremenda e só podemos tirar uma conclusão: haja proteção!

Fica aí sanada a dúvida. E obrigado ao meu leitor camarada que gastou seu tempo entrando em contato.