Simplificando:
------------------------------------------------------------
| TYPE | ASSOCIATIONS | SCOPE | EXAMPLE |
------------------------------------------------------------
| Unicast | 1 to 1 | Whole network | HTTP |
------------------------------------------------------------
| Broadcast | 1 to Many | Subnet | ARP |
------------------------------------------------------------
| Multicast | One/Many to Many | Defined horizon | SLP |
------------------------------------------------------------
| Anycast | Many to Few | Whole network | 6to4 |
------------------------------------------------------------
O unicast é usado quando dois nós da rede precisam conversar entre si. Isso é bem direto, então não vou gastar muito tempo nisso. O TCP, por definição, é um protocolo Unicast, exceto quando houver Anycast envolvido (mais sobre isso abaixo).
Quando você precisa que mais de dois nós vejam o tráfego, você tem opções.
Se todos os nós estiverem na mesma sub-rede, a transmissão se tornará uma solução viável. Todos os nós na sub-rede verão todo o tráfego. Não há estado de conexão semelhante ao TCP mantido. A transmissão é um recurso da camada 2 no protocolo Ethernet e também um recurso da camada 3 no IPv4.
O multicast é como uma transmissão que pode atravessar sub-redes, mas, ao contrário da transmissão, não toca em todos os nós. Os nós precisam se inscrever em um grupo multicast para receber informações. Os protocolos de difusão seletiva geralmente são protocolos UDP, pois, por definição, nenhum estado de conexão pode ser mantido. Os nós que transmitem dados para um grupo multicast não sabem quais nós estão recebendo. Por padrão, os roteadores da Internet não passam o tráfego Multicast. Para uso interno, porém, é perfeitamente permitido; portanto, "Horizonte definido" no gráfico acima. O multicast é um recurso da camada 3 do IPv4 e IPv6.
Para usar o anycast, você anuncia a mesma rede em vários pontos da Internet e depende de cálculos de caminho mais curto para canalizar clientes para seus vários locais. No que diz respeito aos próprios nós da rede, eles estão usando uma conexão unicast para conversar com os nós anycasted. Para saber mais sobre o Anycast, tente: O que é "anycast" e como é útil? . O Anycast também é um recurso da camada 3, mas é uma função de como a coalescência de rota acontece.
Exemplos
Alguns exemplos de como os métodos não Unicast são usados na Internet real.
O Broadcast
ARP é um protocolo de broadcast e é usado pelas pilhas TCP / IP para determinar como enviar tráfego para outros nós na rede. Se o destino estiver na mesma sub-rede, o ARP será usado para descobrir o endereço MAC que vai para o endereço IP indicado. Esta é uma transmissão de nível 2 (Ethernet), para o endereço MAC reservado de FF: FF: FF: FF: FF: FF: FF.
Além disso, o protocolo de navegação de máquinas da Microsoft é famoso por difusão. Soluções alternativas como o WINS foram criadas para permitir a navegação entre sub-redes. Isso envolve uma transmissão de nível 3 (IP), que é um pacote IP com o endereço de destino listado como o endereço de transmissão da sub-rede (em 192.168.101.0/24, o endereço de transmissão seria 192.168.101.255).
O protocolo NTP permite um método de transmissão para anunciar fontes de tempo.
Multicast
Dentro de uma rede corporativa, o Multicast pode fornecer vídeo ao vivo para vários nós sem ter que ter uma largura de banda massiva por parte do servidor que está fornecendo o feed de vídeo. Dessa forma, você pode ter um servidor de vídeo alimentando um fluxo de 720p em apenas uma conexão de 100 Mb e ainda assim servir esse feed para 3000 clientes.
Quando a Novell se afastou do IPX e do IP, eles tiveram que escolher um protocolo de publicidade de serviço para substituir o protocolo SAP no IPX. No IPX, o Service Advertising Protocol, fez um anúncio em toda a rede toda vez que anunciava que um serviço estava disponível. Como o TCP / IP não possuía um protocolo de anúncio global, a Novell optou por usar um protocolo baseado em multicast: o Service Location Protocol. Novos servidores anunciam seus serviços no grupo de difusão seletiva SLP. Os clientes que procuram tipos específicos de serviços anunciam sua necessidade ao grupo multicast e ouvem respostas únicas.
As impressoras HP anunciam sua presença em um grupo multicast por padrão. Com as ferramentas certas, fica muito fácil aprender quais impressoras estão disponíveis na sua rede.
O protocolo NTP também permite um método multicast (IP 224.0.1.1) para anunciar fontes de tempo em áreas além de apenas uma sub-rede.
Anycast
Anycast é um pouco especial, já que as camadas Unicast estão sobre ela. O Anycast está anunciando a mesma rede em diferentes partes da rede, a fim de diminuir os saltos de rede necessários para chegar a essa rede.
O protocolo de transição IPto 6to4 usa Anycast. Os gateways 6to4 anunciam sua presença em um IP específico, 192.88.99.1. Os clientes que desejam usar um gateway 6to4 enviam tráfego para 192.88.99.1 e confiam na rede para entregar a solicitação de conexão a um roteador 6to4.
Os serviços NTP para hosts NTP especialmente populares podem muito bem ser transmitidos, mas não tenho provas disso. Não há nada no protocolo para evitá-lo.
Outros serviços usam o Anycast para melhorar a localidade dos dados para os usuários finais. O Google faz o Anycast com suas páginas de pesquisa em alguns lugares (e IP geográfico em outros). Os servidores DNS raiz usam o Anycast por razões semelhantes. O ServerFault em si pode ir até lá, eles têm datacenters em Nova York e Oregon, mas ainda não foram lá.
Preocupações com a rede
O tráfego de transmissão excessivo pode roubar todos os nós nessa sub-rede de largura de banda. Hoje em dia, isso é menos preocupante com as portas GigE full-duplex, mas nos dias de 10 Mb semidúplex, uma tempestade de transmissão poderia interromper a rede rapidamente. Essas redes half-duplex com um grande domínio de colisão em todos os nós eram especialmente vulneráveis a tempestades de transmissão, e é por isso que os livros de rede, especialmente os mais antigos, dizem para ficar de olho no tráfego de transmissão. As redes comutadas / full-duplex são muito mais difíceis de interromper com uma tempestade de transmissão, mas ainda pode acontecer. A transmissão é necessária para o correto funcionamento das redes IP.
O multicast tem a mesma possibilidade de abuso. Se um nó no grupo multicast começar a enviar grandes quantidades de tráfego para esse grupo, todos os nós inscritos verão todo esse tráfego. Como na transmissão, o tráfego Mcast excessivo pode aumentar as possibilidades de colisões nessas conexões, quando isso for um problema.
O multicast é um recurso opcional do IPv4, mas necessário para o IPv6. A transmissão IPv4 é substituída pelo multicast no IPv6 (consulte também: Por que o IPv6 não pode enviar difusões? ). É frequentemente desativado em redes IPv4. Não por coincidência, a ativação do multicast é um dos muitos motivos pelos quais os engenheiros de rede estão desconfiados de mudar para o IPv6 antes que precisem fazer isso.
Calcular quanto tráfego é muito tráfego depende de algumas coisas
- Half vs Full Duplex: as redes Half-duplex têm tolerâncias muito mais baixas para o tráfego bcast / mcast.
- Velocidade das portas de rede: quanto mais rápida sua rede, menor será o problema. Nos dias 10Mb de Ethernet, de 5 a 10% do tráfego em uma porta poderia ser tráfego de transmissão, se não mais, mas no GigE menos de 1% (provavelmente muito menos) é mais provável.
- Número de nós na rede: Quanto mais nós você tiver, mais inevitável será o tráfego de transmissão (ARP). Se você tiver transmitido protocolos específicos em uso, a navegação no Windows ou outras coisas, como pulsações de cluster, onde os problemas começarão a mudar.
- Tecnologia de rede: a Ethernet com fio é rápida o suficiente para que, desde que você tenha equipamentos modernos, o bcast / mcast provavelmente não causará problemas. A rede sem fio, por outro lado, pode sofrer com tráfego de transmissão excessivo, pois é um meio compartilhado entre todos os nós e, portanto, em um único domínio de colisão.
No final, o tráfego Bcast e Mcast roubam portas de largura de banda do topo. Quando você começa a se preocupar, depende muito da sua rede individual e da tolerância ao desempenho variável. Em geral, as contagens de nós da rede não aumentaram tão rapidamente quanto as velocidades da rede; portanto, o número total de porcentagens de tráfego da transmissão diminuiu com o tempo.
Algumas redes desaprovam o Multicast por motivos específicos e outras nunca tiveram tempo para configurá-lo. Existem alguns protocolos multicast que podem revelar informações interessantes (SLP é uma delas) para qualquer pessoa que esteja ouvindo as coisas certas. Pessoalmente , não me importo com o tráfego multicast menor, pois o maior incômodo que já vi com ele são as capturas de rede poluídas quando estou fazendo uma análise de rede; e para isso existem filtros.