Ver Feed RSS

Tecnologia de Redes, Mobilidade e Inovação

Qual a Diferença entre Broadcast, Unicast e Multicast?

Avaliação: 328 votos, 4,72 média.
Creio que todos já ouviram falar desses termos, mas pouca gente sabe o que eles realmente significam. Então deixa eu tentar, de maneira didática, explicar o que é cada um desses termos.

Em primeiro lugar, eles representam formas de comunicação. Não são termos exclusivos de redes de computadores, então vamos manter em mente que estamos falando de comunicação em geral (pode ser inclusive entre pessoas conversando, que vai ser o meu exemplo durante o texto).

Broadcast

Vamos começar pelo mais popular: o broadcast. O termo broadcast (para os purista, aqui vai um aviso, estou sendo didático) quer dizer: envia a mensagem para todos, quem se interessar que escute.

Quando você está no aeroporto e escuta a mensagem "vôo 1234 para Cucamonga, última chamada portão 10" isso é um broadcast. Todos nos aeroporto recebem a mensagem; e quem vai para Cucamonga e ainda não embarcou que corra.

Em rede de computadores, o brodcast também é enviado para todos. Em Ethernet, se usa o endereço MAC ff:ff:ff:ff:ff:ff para indicar que o pacote é de broadcast. Quando um switch recebe um pacote com destino para esse endereço, ele envia esse pacote para todas as portas dessa mesma VLAN.

Assim se um computador da VLAN 20 envia um pacote cujo MAC address de destino é ff:ff:ff:ff:ff:ff, todos as maquinas daquela VLAN irão receber esse pacote. Um exemplo de protocolo que precisa usar o broadcast em Ethernet é o ARP (pretendo escrever um texto ainda esta semana sobre o ARP e RARP, quem se interessar fique atento ao meu blog).

Um pacote de ping para o endereço de broadcast de uma rede TCP/IP deveria receber resposta de todas as máquinas. Assim se eu fizesse um ping para a rede 192.168.1.255 todos as maquinas da rede 192.168.1.0 deveriam responder. Digo deveriam porque hoje em dia a grande maioria dos equipamentos não obedece a essa regra pelo simples fato de que isso seria utilizado por hackers para amplificar ataques. Imagine eu enviar um pacote de ping, com endereço de origem falsificado (colocando o seu IP como origem) e destino uma rede de 200 maquinas. O meu tráfego seria amplificado 200 vezes antes de te atingir.

Voltando ao tema da transmissão broadcast, o grande problema do broadcast é que ele atrapalha os demais. No aeroporto, se estou conversando com a pessoa do lado, tenho que parar (ou começar a gritar) quando os auto-falantes anunciam a última chamada para o vôo para Cucamonga.

Quando uma máquina faz um ARP na rede, todos da rede recebem esse pacote. Assim é recomendável que o uso do broadcast deve ser limitado, para evitar congestionar a rede com tráfego inútil.

Unicast

O unicast, apesar de ser o termo menos conhecido, é o mais comum.

A transmissão unicast é quando A envia a informação apenas para B. Simples assim, não tem muito o que explicar. É uma comunicação entre duas pontas, nada mais. Apenas B recebe a informação.

Quando Maria fala com João (e só João escuta), isso a unicast.

Assim quando você transfere um arquivo, baixa um e-mail ou acessa uma página web, são pacotes do tipo unicast que fluem entre seu PC e o servidor.

Multicast

Eu creio que o Multicast é menos compreendido de todos. Creio que muitos de vocês já viram na especificação de switchs, frases como "suporte a IGMP snooping" ou "suporte a MLD" como sendo referências a multicast.

Esse também, creio eu, é o mais complicado de se explicar.

Voltando ao exemplo do aeroporto, o multicast seria um alto-falante mágico, que quando fosse anunciado o vôo para Cucamonga, apenas os passageiros desse vôo escutassem. Se alguém tiver um exemplo melhor, por favor coloque um comentário. Eu não consigo pensar em um exemplo da vida real de multicast.

Voltando aos protocolos de rede, a principal aplicação de multicast é TV sobre IP. Eu acho que explicando TV sobre IP, ficará mais fácil entender o que é multicast.

O grande problema de TV sobre IP é a quantidade de banda. Cada canal gasta de 2 a 4Mbps (OK, tem protocolos que gastam mais, outros menos, o ponto aqui é que TV sobre IP gasta muita banda).

Se eu fizer unicast, teremos 2Mbps para cada telespectador, mas serão pacotes idênticos. Se a operadora de TV sobre IP tiver 100 pessoas assistindo ao mesmo canal, terá que ter uma banda de 200Mbps. Se forem 1.000 pessoas, será 2Gbps, e por ai vai. O pior é que todos os pacotes serão idênticos.

Se for usado broadcast, a vida da operadora de TV sobre IP será fácil: basta ter 2Mbps de banda para cada canal. O problema é que esse tráfego vai chegar a todos os usuários (mesmo aqueles que não estão assistindo nada). Se a operadora tiver 50 canais, ele vai carregar o backbone com 100Mbps que irá chegar a todos os assinantes. Você terá que ter uma banda de 102Mbps para ter 2Mbps de acesso Internet (pois os 50 canais irão chegar até a sua conexão, quer você queira ou não).

O multicast é um meio termo. A operadora de TV sobre IP envia um pacote apenas (um fluxo apenas de 2Mbps para o backbone), porém cada equipamento do backbone replica esse pacote apenas para as conexões que necessitam desse tráfego.

Assim o multicast tem uma etapa de "assinatura", aonde o PC ou equipamento que quer receber o canal avisa ao backbone desse desejo. Ele assina esse fluxo. O backbone então fica sabendo que a partir de agora também tem que copiar a informação para essa conexão.

Assim o multicast torna o TV sobre IP eficiênte. Não importa se tem 10 ou 10 milhões de pessoas assistindo o mesmo canal, a operadora de TV sobre IP enviar apenas um único fluxo de 2Mbps, o backbone vai replicando (também apenas um fluxo para cada direção) quando necessário.

O multicast tem então o melhor do unicast e do broadcast. Não atrapalha a todos (como o broadcast) mas não exige muita banda do servidor (como o unicast).

O problema é que para o multicast funcionar, a operadora de banda larga precisa habilitar esse recurso. Assim o TV sobre IP, por exemplo, só irá funcionar direito no Speedy (piadas a parte com o Speedy) com a operadora de TV sobre IP da Telefonica, qualquer outra operadora de TV sobre IP que não for parceira da Telefonica não terá seu multicast aceito e terá que tentar transmitir em unicast, gastando rios de banda.

Para finalizar, não esqueça por favor de avaliar, no canto superior a esquerda, o que você achou deste artigo.

Me siga no Twitter: http://www.twitter.com/mlrodrig

Atualizado 23-12-2010 em 15:24 por mlrodrig

Categorias
Não Categorizado

Comentários

Página 1 de 6 12345 ... ÚltimoÚltimo
  1. Avatar de liecht
    com o advento do ipV6 foi criado tbm o ANYCAST (comunicação para qualquer um). Anycast é o cara que possui "as melhores chances de comunicação". É como um jogo de dado onde cada participante escolhe um numero do dado. O numero que for sorteado pelo dado quando ele for jogado, é o Anycast. (O dado gira pra todos, e "todos tem as mesmas chances", porem o dado ira sortear apenas um... Esse que é o ganhado é o anycast). Em redes de telecom é a mesma coisa. O Sinal é enviado para todas as maquinas, porem a maquina que estiver mais perto da origem, ou que estiver as melhores chanches, é a maquina sorteada, é o anycast.
  2. Avatar de EmanuelSan
    Talvez uma analogia melhor para o multicast, seriam as conferências via telefone.

    O problema que vejo na analogia é que sendo uma conferência cada participante estará também "transmitindo" em "multicast" para todos os outros participantes. Então para melhorar a analogia poderia dizer que é uma "conferência" telefônica onde apenas um dos participantes têm o direito de falar.
  3. Avatar de catvbrasil
    |o/ Excelente explicação. Poderiamos integrá-la ao manual do IPTV, pois muitos ficam com dúvidas sobre o funcionamento do IPTV (em termos de banda)..
  4. Avatar de liecht
    Eu estou desenvolvendo um projeto de pesquisa relacionado a iptv e outras tenologias.
  5. Avatar de SyNysTrOw
    Muito bom!
    Bastante didádico e compreensível.

    Parabéns!
Página 1 de 6 12345 ... ÚltimoÚltimo

+ Enviar Comentário




Visite: BR-Linux ·  VivaOLinux ·  Dicas-L