{"id":54,"date":"2016-04-09T12:16:00","date_gmt":"2016-04-09T15:16:00","guid":{"rendered":"http:\/\/helbertt.16mb.com\/site\/index.php\/2016\/04\/09\/qual-a-diferenca-entre-broadcast-unicast-e-multicast\/"},"modified":"2016-04-09T12:16:00","modified_gmt":"2016-04-09T15:16:00","slug":"qual-a-diferenca-entre-broadcast-unicast-e-multicast","status":"publish","type":"post","link":"https:\/\/helbertt.xyz\/site\/qual-a-diferenca-entre-broadcast-unicast-e-multicast\/","title":{"rendered":"Qual a Diferen\u00e7a entre Broadcast, Unicast e Multicast?"},"content":{"rendered":"<p>Creio que todos j\u00e1 ouviram falar desses termos, mas pouca gente sabe o que eles realmente significam. Ent\u00e3o deixa eu tentar, de maneira did\u00e1tica, explicar o que \u00e9 cada um desses termos.<\/p>\n<p>Em primeiro lugar, eles representam formas de comunica\u00e7\u00e3o. N\u00e3o s\u00e3o termos exclusivos de redes de computadores, ent\u00e3o vamos manter em mente que estamos falando de comunica\u00e7\u00e3o em geral (pode ser inclusive entre pessoas conversando, que vai ser o meu exemplo durante o texto).<\/p>\n<p>Broadcast<\/p>\n<p>Vamos come\u00e7ar pelo mais popular: o broadcast. O termo broadcast (para os purista, aqui vai um aviso, estou sendo did\u00e1tico) quer dizer: envia a mensagem para todos, quem se interessar que escute.<\/p>\n<p>Quando voc\u00ea est\u00e1 no aeroporto e escuta a mensagem &#8220;v\u00f4o 1234 para Cucamonga, \u00faltima chamada port\u00e3o 10&#8221; isso \u00e9 um broadcast. Todos nos aeroporto recebem a mensagem; e quem vai para Cucamonga e ainda n\u00e3o embarcou que corra.<\/p>\n<p>Em rede de computadores, o brodcast tamb\u00e9m \u00e9 enviado para todos. Em Ethernet, se usa o endere\u00e7o MAC ff:ff:ff:ff:ff:ff para indicar que o pacote \u00e9 de broadcast. Quando um switch recebe um pacote com destino para esse endere\u00e7o, ele envia esse pacote para todas as portas dessa mesma VLAN.<\/p>\n<p>Assim se um computador da VLAN 20 envia um pacote cujo MAC address de destino \u00e9 ff:ff:ff:ff:ff:ff, todos as maquinas daquela VLAN ir\u00e3o receber esse pacote. Um exemplo de protocolo que precisa usar o broadcast em Ethernet \u00e9 o ARP (pretendo escrever um texto ainda esta semana sobre o ARP e RARP, quem se interessar fique atento ao meu blog).<\/p>\n<p>Um pacote de ping para o endere\u00e7o de broadcast de uma rede TCP\/IP deveria receber resposta de todas as m\u00e1quinas. 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\u00e3o 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\u00e7o de origem falsificado (colocando o seu IP como origem) e destino uma rede de 200 maquinas. O meu tr\u00e1fego seria amplificado 200 vezes antes de te atingir.<\/p>\n<p>Voltando ao tema da transmiss\u00e3o broadcast, o grande problema do broadcast \u00e9 que ele atrapalha os demais. No aeroporto, se estou conversando com a pessoa do lado, tenho que parar (ou come\u00e7ar a gritar) quando os auto-falantes anunciam a \u00faltima chamada para o v\u00f4o para Cucamonga.<\/p>\n<p>Quando uma m\u00e1quina faz um ARP na rede, todos da rede recebem esse pacote. Assim \u00e9 recomend\u00e1vel que o uso do broadcast deve ser limitado, para evitar congestionar a rede com tr\u00e1fego in\u00fatil.<\/p>\n<p>Unicast<\/p>\n<p>O unicast, apesar de ser o termo menos conhecido, \u00e9 o mais comum.<\/p>\n<p>A transmiss\u00e3o unicast \u00e9 quando A envia a informa\u00e7\u00e3o apenas para B. Simples assim, n\u00e3o tem muito o que explicar. \u00c9 uma comunica\u00e7\u00e3o entre duas pontas, nada mais. Apenas B recebe a informa\u00e7\u00e3o.<\/p>\n<p>Quando Maria fala com Jo\u00e3o (e s\u00f3 Jo\u00e3o escuta), isso a unicast.<\/p>\n<p>Assim quando voc\u00ea transfere um arquivo, baixa um e-mail ou acessa uma p\u00e1gina web, s\u00e3o pacotes do tipo unicast que fluem entre seu PC e o servidor.<\/p>\n<p>Multicast<\/p>\n<p>Eu creio que o Multicast \u00e9 menos compreendido de todos. Creio que muitos de voc\u00eas j\u00e1 viram na especifica\u00e7\u00e3o de switchs, frases como &#8220;suporte a IGMP snooping&#8221; ou &#8220;suporte a MLD&#8221; como sendo refer\u00eancias a multicast.<\/p>\n<p>Esse tamb\u00e9m, creio eu, \u00e9 o mais complicado de se explicar.<\/p>\n<p>Voltando ao exemplo do aeroporto, o multicast seria um alto-falante m\u00e1gico, que quando fosse anunciado o v\u00f4o para Cucamonga, apenas os passageiros desse v\u00f4o escutassem. Se algu\u00e9m tiver um exemplo melhor, por favor coloque um coment\u00e1rio. Eu n\u00e3o consigo pensar em um exemplo da vida real de multicast.<\/p>\n<p>Voltando aos protocolos de rede, a principal aplica\u00e7\u00e3o de multicast \u00e9 TV sobre IP. Eu acho que explicando TV sobre IP, ficar\u00e1 mais f\u00e1cil entender o que \u00e9 multicast.<\/p>\n<p>O grande problema de TV sobre IP \u00e9 a quantidade de banda. Cada canal gasta de 2 a 4Mbps (OK, tem protocolos que gastam mais, outros menos, o ponto aqui \u00e9 que TV sobre IP gasta muita banda).<\/p>\n<p>Se eu fizer unicast, teremos 2Mbps para cada telespectador, mas ser\u00e3o pacotes id\u00eanticos. Se a operadora de TV sobre IP tiver 100 pessoas assistindo ao mesmo canal, ter\u00e1 que ter uma banda de 200Mbps. Se forem 1.000 pessoas, ser\u00e1 2Gbps, e por ai vai. O pior \u00e9 que todos os pacotes ser\u00e3o id\u00eanticos.<\/p>\n<p>Se for usado broadcast, a vida da operadora de TV sobre IP ser\u00e1 f\u00e1cil: basta ter 2Mbps de banda para cada canal. O problema \u00e9 que esse tr\u00e1fego vai chegar a todos os usu\u00e1rios (mesmo aqueles que n\u00e3o est\u00e3o assistindo nada). Se a operadora tiver 50 canais, ele vai carregar o backbone com 100Mbps que ir\u00e1 chegar a todos os assinantes. Voc\u00ea ter\u00e1 que ter uma banda de 102Mbps para ter 2Mbps de acesso Internet (pois os 50 canais ir\u00e3o chegar at\u00e9 a sua conex\u00e3o, quer voc\u00ea queira ou n\u00e3o).<\/p>\n<p>O multicast \u00e9 um meio termo. A operadora de TV sobre IP envia um pacote apenas (um fluxo apenas de 2Mbps para o backbone), por\u00e9m cada equipamento do backbone replica esse pacote apenas para as conex\u00f5es que necessitam desse tr\u00e1fego.<\/p>\n<p>Assim o multicast tem uma etapa de &#8220;assinatura&#8221;, aonde o PC ou equipamento que quer receber o canal avisa ao backbone desse desejo. Ele assina esse fluxo. O backbone ent\u00e3o fica sabendo que a partir de agora tamb\u00e9m tem que copiar a informa\u00e7\u00e3o para essa conex\u00e3o.<\/p>\n<p>Assim o multicast torna o TV sobre IP efici\u00eante. N\u00e3o importa se tem 10 ou 10 milh\u00f5es de pessoas assistindo o mesmo canal, a operadora de TV sobre IP enviar apenas um \u00fanico fluxo de 2Mbps, o backbone vai replicando (tamb\u00e9m apenas um fluxo para cada dire\u00e7\u00e3o) quando necess\u00e1rio.<\/p>\n<p>O multicast tem ent\u00e3o o melhor do unicast e do broadcast. N\u00e3o atrapalha a todos (como o broadcast) mas n\u00e3o exige muita banda do servidor (como o unicast).<\/p>\n<p>O problema \u00e9 que para o multicast funcionar, a operadora de banda larga precisa habilitar esse recurso. Assim o TV sobre IP, por exemplo, s\u00f3 ir\u00e1 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\u00e3o for parceira da Telefonica n\u00e3o ter\u00e1 seu multicast aceito e ter\u00e1 que tentar transmitir em unicast, gastando rios de banda.<\/p>\n<p>Fonte: <a href=\"http:\/\/under-linux.org\/\" target=\"_blank\">under-linux.org<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Creio que todos j\u00e1 ouviram falar desses termos, mas pouca gente sabe o que eles realmente significam. Ent\u00e3o deixa eu<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout"},"categories":[46,37],"tags":[],"_links":{"self":[{"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/posts\/54"}],"collection":[{"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/comments?post=54"}],"version-history":[{"count":0,"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/posts\/54\/revisions"}],"wp:attachment":[{"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/media?parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/categories?post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helbertt.xyz\/site\/wp-json\/wp\/v2\/tags?post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}