Eu nunca tive o privilégio de trabalhar em um ambiente que exigia roteamento complicado ou, se necessário, foi tratado a montante de mim. Eu sempre usei configurações de roteamento estático muito simples e nunca precisei fazer nenhum roteamento multipath - daí minha confusão geral em relação a esse assunto. Eu gostaria de entender melhor o multicasting e o anycasting.
- Qual é a diferença entre tráfego unicast, anycast, broadcast e multicast?
- Em quais situações eles geralmente são usados e por quê (por exemplo, quais aplicativos usam qual método)?
- Como você calcula quanto tráfego de broadcast é demais para um determinado segmento de rede ou domínio de broadcast?
- Quais são as implicações de segurança de permitir tráfego de broadcast e multicast?
Basta colocar:
Unicast é usado quando dois nós de rede precisam se comunicar. Isso é bastante simples, então não vou gastar muito tempo com isso. TCP por definição é um protocolo Unicast, exceto quando há Anycast envolvido (mais sobre isso abaixo).
Quando você precisa ter mais de dois nós para ver o tráfego, você tem opções.
Se todos os nós estiverem na mesma sub-rede, a difusão se tornará uma solução viável. Todos os nós na sub-rede verão todo o tráfego. Não há nenhum estado de conexão semelhante ao TCP mantido. Broadcast é um recurso de camada 2 no protocolo Ethernet e também um recurso de camada 3 no IPv4.
Multicast é como um broadcast que pode cruzar sub-redes, mas ao contrário do broadcast não atinge todos os nós. Os nós precisam se inscrever em um grupo multicast para receber informações. Os protocolos multicast são geralmente 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; assim, "horizonte definido" no gráfico acima. Multicast é um recurso de camada 3 do IPv4 e IPv6.
Para usar o anycast , você anuncia a mesma rede em vários pontos da Internet e conta com cálculos de caminho mais curto para direcionar clientes para seus vários locais. No que diz respeito aos próprios nós de rede, eles estão usando uma conexão unicast para conversar com seus nós anycasted. Para saber mais sobre o Anycast, tente: O que é "anycast" e como ele é útil? . Anycast também é um recurso da camada 3, mas é uma função de como a união de rotas acontece.
Exemplos
Alguns exemplos de como os métodos não Unicast são usados na Internet real.
Broadcast
ARP é um protocolo de broadcast e é usado por 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 é usado para descobrir o endereço MAC que vai para o endereço IP indicado. Este é um broadcast de Nível 2 (Ethernet), para o endereço MAC FF:FF:FF:FF:FF:FF reservado.
Além disso, o protocolo de navegação de máquina da Microsoft é notoriamente baseado em broadcast. 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 entregar vídeo ao vivo para vários nós sem ter que ter uma largura de banda enorme por parte do servidor que entrega 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 100Mb e ainda servir esse feed para 3.000 clientes.
Quando a Novell mudou de IPX para 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, fazia um anúncio em toda a rede toda vez que anunciava que um serviço estava disponível. Como o TCP/IP não tinha 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 multicast SLP. Os clientes que procuram tipos específicos de serviços anunciam sua necessidade ao grupo multicast e ouvem as respostas unicast.
As impressoras HP anunciam sua presença em um grupo multicast por padrão. Com as ferramentas certas, fica muito fácil saber quais impressoras estão disponíveis em sua rede.
O protocolo NTP também permite um método multicast (IP 224.0.1.1) para anunciar fontes de tempo para áreas além de apenas uma sub-rede.
Anycast
Anycast é um pouco especial, pois o Unicast se sobrepõe a ele. 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 6to4 IPv6 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 anycast, mas não tenho provas disso. Não há nada no protocolo que impeça isso.
Outros serviços usam o Anycast para melhorar a localidade dos dados para os usuários finais. O Google faz Anycast com suas páginas de pesquisa em alguns lugares (e geo-IP em outros). Os servidores DNS raiz usam o Anycast por motivos semelhantes. O próprio ServerFault pode ir lá, eles têm datacenters em Nova York e Oregon, mas ainda não foram lá.
Preocupações da rede
O tráfego de broadcast excessivo pode roubar a largura de banda de todos os nós nessa sub-rede. Hoje em dia, isso é uma preocupação menor com portas GigE full-duplex, mas nos dias de half-duplex de 10 Mb, uma tempestade de transmissão poderia interromper uma rede muito 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 funcionamento correto das redes IP.
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. Assim como na transmissão, o tráfego excessivo de Mcast pode aumentar as possibilidades de colisões nessas conexões onde isso é um problema.
Multicast é um recurso opcional com IPv4, mas necessário para IPv6. O broadcast IPv4 é substituído pelo multicast no IPv6 (Veja também: Por que o IPv6 não pode enviar broadcasts? ). É frequentemente desativado em redes IPv4. Não por coincidência, habilitar o multicast é uma das muitas razões pelas quais os engenheiros de rede desconfiam de migrar para o IPv6 antes que precisem fazê-lo.
Calcular quanto tráfego é muito tráfego depende de algumas coisas
No final, o tráfego Bcast e Mcast roubam a largura de banda das portas do topo. Quando você começa a se preocupar é altamente dependente de sua rede individual e tolerância para desempenho variável. Em geral, as contagens de nós de rede não foram dimensionadas tão rápido quanto as velocidades da rede, de modo que a porcentagem geral de transmissão como número de tráfego vem caindo ao longo do tempo.
Algumas redes não permitem 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 aborrecimento que vi com ele são as capturas de rede poluídas quando estou fazendo alguma análise de rede; e para isso existem filtros.
Seguem algumas informações básicas:
Unicast: o tráfego unicast é o tráfego destinado a um único host. Todos os outros hosts ignorarão o tráfego unicast não destinado a eles mesmos. Em um ambiente comutado, o tráfego unicast geralmente não é "ouvido" por nenhum host que não seja o host ao qual o tráfego se destina. Em um ambiente que usa hubs (shudder), todos os hosts "ouvirão" o tráfego unicast destinado a todos os outros hosts, mas ignorarão todo o tráfego não destinado a si mesmos.
Transmissão: O tráfego de transmissão é o tráfego enviado com a intenção de ser "ouvido" por todos os hosts em um determinado segmento de rede. Exemplos de tráfego de broadcast seriam uma solicitação ARP, que é um broadcast na camada física (endereço MAC FF-FF-FF-FF-FF-FF) ou uma consulta de nome NetBIOS, que é um broadcast na camada de rede (o que quer que aconteça para ser o endereço de broadcast dessa rede específica, como 64.28.42.63 para a rede 64.28.42.0/26).
Multicast: O tráfego multicast é o tráfego enviado com a intenção de ser "ouvido" por um determinado grupo de hosts em um segmento de rede. Algum tráfego multicast pode ser considerado tráfego de broadcast, como o tráfego para o endereço multicast 224.0.0.1, que é o tráfego multicast destinado a todos os hosts no mesmo segmento de rede. Outro exemplo de tráfego multicast seria o tráfego enviado para o endereço multicast 224.0.0.9, que é o que os roteadores RIP usam para enviar informações de roteamento para outros roteadores RIP no mesmo segmento de rede.
Vou deixar o Anycast para outra pessoa, pois realmente não sei muito sobre isso.
Anycast não é um tipo de comunicação amplamente aceito no IPv4, mas está presente no IPv6.
Três tipos de comunicação no IPv4 são 1) Unicast, 2) Multicast 3) Broadcast.
1) IPv4 Unicast One-to-One tipo de comunicação. Um dispositivo de rede se comunica com outro dispositivo de rede. O endereço da camada 3 usado para Unicast é o endereço IPv4 Classe A, Classe B, Classe C. O endereço da camada 2 é um endereço MAC unicast.
Exemplo: navegue em um site, baixe um arquivo usando FTP, conecte-se a outro dispositivo usando SSH (Secure Shell) etc.
2) Multicast IPv4 Tipo de comunicação um-para-muitos. Um dispositivo de rede envia um pacote de dados IPv4 e é entregue aos dispositivos que estão interessados nesse tráfego. O endereço de camada 3 usado para multicast IPv4 é endereços IPv4 de classe D (começa de 224 a 239) O endereço de camada 2 para multicast IPv4 começa com "01:00:5e".
Exemplo: IPTV, mensagens Olá OSPF, mensagens Olá EIGRP, atualizações de rota RIPv2.
3) Tipo de comunicação IPv4 Broadcast One-to-All. Um dispositivo de rede envia um pacote de dados IPv4 e será entregue a todos os dispositivos desse segmento de LAN. O problema com o tráfego de transmissão é que as transmissões perturbam todos os dispositivos na LAN e causam desperdício de largura de banda.
Exemplo: mensagens de descoberta DHCPv4
No IPv6, temos Unicast, Multicast e Anycast. O conceito de Unicast e Multicast é o mesmo em IPv4 e IPv6, exceto as mudanças nos endereços IPv6 Layer 3 usados para broadcast e multicast e o endereço Layer 2 usado para multicast. O endereço da camada 2 usado para tráfego multicast IPv6 começa em "33:33:" (em IPv4, é "01:00:5e").
IPv6 Anycast O tipo de comunicação IPv6 Anycast é usado para identificar uma interface de um grupo de interfaces, que fornecem o mesmo serviço, mas próximo ao cliente em distância de roteamento (podemos comparar a distância de roteamento semelhante à distância geográfica). Anycast só é possível com a ajuda de protocolos de roteamento.
Verifique o link abaixo para uma explicação mais clara sobre IPv6 Anycast.
http://www.omnisecu.com/tcpip/ipv6/unicast-multicast-anycast-types-of-network-communication-in-ipv6.php
Exemplo, Minha casa está localizada na Índia e quero resolver o FQDN " www.serverfault.com " para um endereço IP. Considere que eu tenho três servidores DNS, um localizado nos EUA, outro no Canadá e outro na Índia, todos fornecendo o mesmo serviço. Melhor escolha é o servidor DNS da Índia, porque está localizado perto da minha casa. Receberei uma resposta mais rápida e causarei menos tráfego de rede se usar o serviço perto de minha casa. Anycast pode encontrar o servidor que está perto de minha casa e obter o serviço desse servidor.
Apenas um esclarecimento sobre anycast.
Anycast definitivamente não deve ser agrupado com os outros *casts. No entanto, ele não se sobrepõe ao unicast porque é unicast. O termo é usado simplesmente para identificar que o mesmo IP pode existir em vários locais. A esse respeito, é um mau uso cativante de "elenco". Tipo como "WiFi" é um termo cativante baseado no termo "Hi-Fi", mesmo que os dois não tenham nada a ver um com o outro.
Quando um roteador ouve o mesmo prefixo unicast de várias fontes, ele não sabe (nem se importa) se eles representam destinos diferentes (anycast) ou se é o mesmo destino alcançável por caminhos diferentes.