Entendo que estamos acabando (ou já acabamos?) De endereços IPv4, mas realmente não entendo por que. No momento, cada residência possui seu próprio endereço IPv4 (atribuído dinamicamente, mas ainda assim, cada um possui um endereço). Por que uma cidade (por exemplo) não pode ter apenas um endereço IPv4 e todas as casas desta cidade apenas estariam em uma rede privada dessa cidade? Então essa cidade seria capaz de atribuir endereços do intervalo 0.0.0.1
a 255.255.255.254
.
Tenho certeza de que meu entendimento está errado de alguma forma, caso contrário, os endereços IPv4 não acabariam. O que há de errado com meu entendimento?
Respostas:
A falta de endereços IPv4
De acordo com Vint Cerf (o pai da IP), o tamanho do endereço IPv4 de 32 bits foi escolhido arbitrariamente. A PI foi um experimento colaborativo entre governo / acadêmico e a Internet pública atual nunca foi prevista. O paradigma de IP era que cada dispositivo conectado teria um endereço IP exclusivo (todos os pacotes enviados entre dispositivos IP seriam conectados de ponta a ponta do endereço IP de origem ao endereço IP de destino) e muitos protocolos usando IP dependem de cada dispositivo tendo um endereço IP exclusivo.
Supondo que poderíamos usar todos os endereços IPv4 * possíveis, existem apenas 4.294.967.296 endereços IPv4 possíveis, mas (em setembro de 2018) a população mundial atual é 7.648.290.361. Como você pode ver, não há endereços IPv4 possíveis suficientes para cada pessoa ter um, mas muitas pessoas têm um computador, impressora, telefone celular, tablet, console de jogos, Smart TV etc., cada um exigindo um endereço IP e que nem sequer toca nas necessidades comerciais de endereços IP. Também estamos à beira da IoT (Internet das Coisas), onde cada dispositivo precisa de um endereço IP: lâmpadas, termostatos, termômetros, pluviômetros e sistemas de aspersão, sensores de alarme, eletrodomésticos, veículos, abridores de portas de garagem, sistemas de entretenimento, coleiras para animais de estimação e quem sabe o que mais.
* Existem blocos de endereços IPv4 que não podem ser usados para endereçamento de host. Por exemplo, o multicast possui um bloco de 268.455.456 endereços que não podem ser usados para endereçamento de host. A IANA mantém o registro de endereços para fins especiais IPv4 da IANA em https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml para documentar todos os blocos de endereços especiais e suas finalidades .
A IANA (Autoridade de números atribuídos à Internet) ficou sem blocos de endereços IPv4 para atribuir aos RIRs (Registros Regionais da Internet) a serem atribuídos em suas respectivas regiões, e os RIRs agora também ficaram sem endereços IPv4 para atribuir em cada região. Os ISPs (Internet Service Providers) e as empresas que desejam ou precisam de endereços IPv4 não podem mais obter endereços IPv4 de seus RIRs e agora devem tentar comprar endereços IPv4 de empresas que possam ter mais (à medida que a escassez de endereços IPv4 aumenta, o preço dos endereços IPv4 sobe).
Mesmo se todos os endereços IPv4 reservados para fins especiais e não puderem ser usados para endereçamento de host fossem disponibilizados para uso, ainda estaríamos na mesma posição porque simplesmente não há endereços IPv4 suficientes devido ao tamanho limitado dos endereços IPv4.
Atenuando a escassez de endereços IPv4
A IANA e os RIRs teriam ficado sem endereços IPv4 muitos anos antes, se a IANA e a IETF (Força-Tarefa de Engenharia da Internet) não tivessem adotado mitigações para a falta de endereços IPv4. Uma mitigação importante foi a descontinuação das classes de rede IPv4 em favor do CIDR (Classless Inter-Domain Routing). O endereçamento de classe permite apenas três tamanhos de rede atribuídos (16.777.216, 65.536 ou 256 endereços de host totais por rede), o que significa que muitos endereços são desperdiçados (uma empresa que precisa de apenas 300 endereços de host precisa receber uma rede de classe com 65.536 possíveis hosts) endereços, desperdiçando mais de 99% dos endereços nos classful da rede),
De longe, a atenuação que teve o maior impacto na extensão da vida do IPv4 é o uso de Endereçamento Privado e uma variante do NAT (Network Address Translation) chamada NAPT (Network Address Port Translation), que é o que a maioria das pessoas quer dizer quando consulte NAT ou PAT (PAT é um termo específico do fornecedor para NAPT). Infelizmente, o NAPT é uma solução alternativa feia que quebra o paradigma de ponta a ponta do IP e quebra protocolos que dependem de endereçamento IP exclusivo, exigindo soluções ainda mais feias.
NAT / NAPT
O conceito de NAT é bastante simples: ele substitui um ou ambos os endereços IPv4 de origem e destino em um cabeçalho de pacote, à medida que o pacote passa pelo dispositivo NAT. Na prática, requer computação porque o cabeçalho IPv4 possui um campo computado para verificar a integridade do cabeçalho IPv4, e qualquer alteração feita no cabeçalho IPv4 requer recálculo do campo, e alguns protocolos de transporte na carga útil do pacote também têm seus próprios computadores. campos que devem ser recalculados, usando recursos de computação no dispositivo NAT que podem ser usados para o encaminhamento de pacotes.
No NAT básico, o dispositivo NAT possui um pool de endereços IPv4 que ele usa para substituir os endereços IPv4 de origem dos cabeçalhos de pacotes pelos pacotes IPv4 enviados de uma rede interna para uma rede externa e mantém uma tabela de conversão para converter o endereço IPv4. endereços IPv4 de destino do tráfego retornando da rede externa para entregar os pacotes de volta aos hosts corretos na rede interna. Isso também requer recursos no dispositivo NAT para criar e manter a tabela de conversão e executar pesquisas de tabela. Essa utilização de recursos pode retardar o encaminhamento de pacotes porque os recursos usados pelo NAT são obtidos dos recursos que poderiam ser usados para o encaminhamento de pacotes.
O NAPT leva o NAT básico além disso, convertendo também os endereços do protocolo de transporte (portas) para TCP e UDP e os IDs de consulta para ICMP. Ao traduzir também os endereços da camada de transporte, o NAPT permite o uso de um único endereço IPv4 externo para muitos endereços IPv4 do host interno. O NAPT consome ainda mais recursos do que o NAT Básico, pois requer uma tabela separada para cada protocolo da camada de transporte e também deve executar os cálculos de integridade para os protocolos de transporte.
O uso do endereçamento IPv4 privado, que pode ser reutilizado em várias redes (você pode ter notado que a maioria das redes residenciais / residenciais usa como padrão a mesma rede 192.168.1.0/24, que está em um dos intervalos de endereços IPv4 privados alocados pela IANA) , junto com o NAPT, permite que usuários corporativos e domésticos usem um único endereço externo (público) para uma grande rede interna (endereçada em particular). Isso economiza muitos endereços IPv4 (várias vezes o número total de endereços IPv4 possíveis) e estendeu a vida útil do IPv4 muito além do ponto em que teria entrado em colapso sem o NAPT. O NAPT tem algumas desvantagens sérias:
A solução para a falta de endereços IPv4
O IETF previu a falta de endereços IPv4 e criou a solução: IPv6, que usa endereços de 128 bits, o que significa que existem 340.282.366.920.938.463.463.374.607.431.768.211.454 endereços IPv6 possíveis. O número quase inimaginável de endereços IPv6 elimina a necessidade de NAPT (o IPv6 não possui padrões NAT, da mesma forma que o IPv4, e a RFC NAT IPv6 experimental proíbe especificamente o NAPT), restaurando o paradigma de ponta a ponta do IP original. As atenuações para a falta de endereços IPv4 visam estender a vida útil do IPv4 até que o IPv6 seja onipresente, e nesse ponto o IPv4 deve desaparecer.
Os seres humanos não podem realmente compreender números do tamanho usado para o IPv6. Por exemplo, uma rede IPv6 padrão usa 64 bits para cada uma das partes da rede e do host do endereço de rede. São 18.446.744.073.709.551.616 redes IPv6 / 64 possíveis e o mesmo número (enorme) de endereços de host para cada uma dessas redes. Para tentar entender um número tão grande, considere ferramentas que varrem todos os endereços possíveis em uma rede. Se uma ferramenta desse tipo pudesse verificar 1.000.000 de endereços por segundo (improvável), levaria mais de 584.542 anos para executar a verificação em uma única rede / 64 IPv6. Atualmente, apenas 1/8 do espaço total de endereços IPv6 é alocado para endereços IPv6 globais, o que resulta em 2.305.843.009.213.693.952 redes IPv6 / 64 padrão e se a população mundial for de 21 bilhões no ano 2100 (um número um pouco realista), cada uma dessas 21 bilhões de pessoas poderia ter 109.802.048 redes IPv6 / 64 padrão, cada uma com 18.446.744.073.709.551.616 endereços de host possíveis. Infelizmente, a (décadas de) escassez de endereços IPv4 arraigou tanto a conservação de endereços nas pessoas, que muitas pessoas simplesmente não conseguem deixar de usá-lo e tentam aplicá-lo ao IPv6, o que é inútil e realmente prejudicial. O IPv6 foi projetado para desperdiçar endereços.
O IETF também teve a vantagem de retrospectiva e melhorou o IP (no IPv6) removendo recursos do IPv4 que não funcionavam bem, melhorando alguns recursos do IPv4 e adicionando recursos que o IPv4 não possuía, criando um novo e aprimorado IP . Como o IPv6 é um protocolo completamente separado do IPv4, ele pode ser executado em paralelo com o IPv4, pois a transição é feita do IPv4 para o IPv6. Hosts e dispositivos de rede podem executar IPv4 e IPv6 na mesma interface ao mesmo tempo (pilha dupla), e cada um é invisível para o outro; não há interferência entre os dois protocolos.
O problema com o IPv6 é que, na verdade, é um protocolo completamente diferente que é incompatível com o onipresente IPv4, e as mitigações para a escassez de endereços IPv4 são vistas por muitas pessoas como "boas o suficiente". O resultado é que foram mais de 20 anos anos desde a padronização do IPv6, e agora estamos obtendo alguma tração real no uso do IPv6 (relatórios do Google, em setembro de 2018, adoção mundial de IPv6 superior a 20% e taxa de adoção de IPv6 nos EUA superior a 35%). O motivo pelo qual finalmente mudamos para o IPv6 é que simplesmente não há mais endereços IPv4 não utilizados a serem atribuídos.
Existem outros obstáculos, todos parte da cultura IPv4, que são simplesmente difíceis de serem vistos pelas pessoas. Muitas pessoas também têm medo do IPv6, pois cresceram e se sentiram confortáveis com o IPv4, verrugas e tudo. Por exemplo, os endereços IPv6 parecem grandes e feios em comparação com os endereços IPv4, e isso parece desencorajar muitas pessoas. A realidade é que o IPv6 geralmente é mais fácil e flexível do que o IPv4, especialmente para endereçamento, e as lições aprendidas no IPv4 foram aplicadas ao IPv6 desde o início.
fonte
A resposta de Ron Maupin fornece uma visão geral brilhante da escassez de IPv4, mas eu gostaria de abordar esta parte da sua pergunta:
Diante disso, é exatamente assim que o "NAT" (ou, mais especificamente, "mascaramento de endereço IP") funciona: é criada uma rede privada que se parece com a Internet externa como um único host e direciona o tráfego internamente para muitos usuários diferentes. Mas existem alguns limites importantes que você ignorou no seu exemplo:
Existem cerca de 18 milhões de endereços IPv4 de uso privado, mas apenas 65536 números de porta. Na verdade, você não precisa de uma porta exclusiva para todas as conexões, porque pode ter uma tabela de pesquisa que inclua o endereço remoto também, mas ainda há um limite para a extensão da escala sem problemas.
Dito isto, o NAT é realmente uma das maiores razões pelas quais a rede IPv4 não entrou em colapso completamente devido à falta de endereços. A atribuição de um endereço IP a cada residência ou escritório e a emissão de um dispositivo para executar o NAT permite que muito mais dispositivos sejam conectados do que o design original do IPv4 permitiria. Para aumentar ainda mais, é usado o NAT de classe de operadora , em que um ISP possui menos endereços públicos do que as famílias conectadas, possivelmente usando duas camadas de NAT para gerenciar o roteamento de pacotes para seu destino final.
No final, extrair todas as rotas possíveis dos poucos endereços restantes é apenas suporte de vida para o IPv4 e, em algum momento, todos os endereços serão reservados para uso interno, a face pública de uma rede NAT ou o endereço público de um servidor que aceita conexões não solicitadas.
fonte
Exatamente isso já é feito por muitos provedores de serviços de Internet desde o final dos anos 90.
Nos anos 90, havia diferentes razões (não a falta de IPv4) para fazer isso. No entanto, em 2012, o provedor de serviços da Internet em que sou cliente começou a fazer isso porque não havia mais endereços IPv4 suficientes:
Meu provedor usa o "DS-Lite", o que significa que os novos clientes obtêm uma variedade de endereços IPv6 globais (atribuídos dinamicamente) e eles só têm um endereço IPv4 privado conforme você o descreve.
Outros provedores de serviços de Internet usam "CGNAT", exatamente o que você descreve (sem IPv6).
Você precisa ver o que não é possível usando o NAT:
Se você deseja operar algum servidor, definitivamente precisa de um endereço IP exclusivo. E observe que alguns dispositivos em sua casa que você pode acessar a partir do seu smartphone são "servidores".
Também houve uma pesquisa feita pelo Facebook Inc. que mostrou que a velocidade da conexão é influenciada quando vários clientes compartilham um endereço IP.
E há outro problema:
Devido aos números de porta, o número de conexões que um endereço IP pode estabelecer para um determinado servidor, ao mesmo tempo, é limitado a cerca de 60000.
Vi páginas de streaming de vídeo que abriram 10 conexões ao mesmo tempo. 6000 pessoas usando a mesma página e o limite de 60000 é atingido.
E 60000 é o limite teórico; o limite real é menor.
Definitivamente, isso não funcionaria:
Suponha que você queira acessar este site (networkengineering.stackexchange.com). Então você terá que estabelecer uma conexão com 151.101.129.69.
Se houvesse um computador com o endereço 151.101.129.69 dentro da rede local em toda a cidade, uma conexão com o "networkengineering.stackexchange.com" provavelmente não funcionaria porque não está claro qual dos dois computadores com o mesmo endereço IP deve ser: Aquele dentro da rede da cidade ou aquele fora da rede?
Isso significa que a rede em toda a cidade deve saber que 151.101.129.69 é um endereço fora dessa rede.
Portanto, apenas endereços que não estão sendo usados na Internet em todo o mundo podem ser usados.
A propósito:
Mesmo em uma rede privada que não está conectada à Internet, não podemos usar todo o intervalo 0.0.0.1-255.255.255.254:
Nessas redes, podemos usar endereços como 151.101.129.69.
No entanto, os intervalos 0, 127 e 224-255 não podem ser usados porque esses intervalos são tratados especialmente por quase todos os sistemas operacionais e dispositivos. Portanto, nenhum sistema operacional comum permitirá que um computador tenha o endereço 127.10.11.12, por exemplo.
fonte
Também vale a pena notar que muitos dos IPs IPv4 pertencem a empresas de hospedagem em nuvem ou revendedores de proxy e foram altamente contaminados. Qualquer pessoa que alugue proxies certamente terá problemas com um endereço IP contaminado.
Embora os endereços IPv4 se esgotem, ainda há mais do que suficiente para circular, e você ainda pode comprar blocos deles (até os 1000), por alguns dólares cada.
fonte
Existem algumas razões objetivas e baseadas em opiniões e, é claro, a razão mais importante - dinheiro - para isso.
Antes de tudo, o IP foi projetado para ser de ponta a ponta com hosts com endereços exclusivos. O que basicamente significa - em teoria - que todo dispositivo (servidor, PC, telefone) precisa ter seu próprio endereço IP individual.
Existem 4 bilhões de endereços disponíveis, o que, em princípio, seria suficiente para todos, já que, embora haja quase o dobro de pessoas no planeta, a grande maioria está lutando para conseguir o suficiente para comer e não poderia comprar um computador durante a vida. . No entanto, entre a minoria que pode pagar , é mais como 15 a 20 dispositivos per capita sempre on-line, incluindo algumas câmeras, um refrigerador, iluminação e aquecimento com controle remoto e ... sua torradeira . Que, por um motivo que eu não sabia, deve estar conectado à Internet.
Não é que a Internet das Coisas seja realmente algo necessário, mas foi comercializado com muito sucesso e amplamente adotado durante a última década, por isso é uma realidade e, portanto, uma realidadequestão. Além disso, um número considerável de endereços é desperdiçado por boas razões técnicas, e um grande número de endereços é desperdiçado sem uma boa razão (voltarei a isso mais tarde).
Na prática, existe uma coisa chamada NAT que faz exatamente (ou quase isso) o que você sugere. Tecnicamente, viola os princípios de design da IP, o que não é um problema tão grande. No entanto, embora o NAT funcione bem e seja realmente uma coisa boa em alguns aspectos, ele tem seus limites (notavelmente, em teoria, só pode estender o número de endereços por um fator de no máximo 65535 e, na prática, muito menos do que isso). é um forte desejo de que o NAT desapareça. O mais urgente é o fato de o NAT obscurecer a relação 1: 1 entre endereço e dispositivo. O que é realmente uma coisa boa porque, oh, diabos, você realmente não quer isso, mas não é tão bom para certas pessoas que têm voz a dizer (como a aplicação da lei). Outro motivo é que o NAT (que geralmente também é protegido por firewall) dificulta certos aplicativos. Em particular, um host atrás do NAT conversando com outro atrás do NAT é problemático (não impossível, apenas mais difícil de implementar do que o absolutamente necessário).
Agora, para uma empresa "típica" (ou outra organização) com algumas pessoas sentadas em cubículos e se comunicando em uma rede corporativa ou via VPN, e possivelmente com tipos de acesso à Internet, faria todo o sentido ter, por exemplo, um endereço IP por andar e NAT todos eles. Não apenas seria muito mais barato, como também tornaria muito menos óbvio para um observador externo quem é quem. Além disso, isso tornaria muito mais óbvio para o administrador da rede. O que é uma coisa boa. Infelizmente, a realidade é que várias grandes empresas e universidades americanas reservaram enormes faixas de endereços IP, assim como todas as máquinas que elas possam ter têm seu próprio endereço individual. Pergunte por que? Eu não sabia dizer.
A razão mais importante pela qual estamos "acabando" é que há uma forte motivação para promover o IPv6. Embora o IPv6 não apenas remova alguns problemas e traga alguns (embora poucos) recursos desejáveis, ele também adiciona sobrecarga mensurável ao fio (especialmente se várias camadas, como IP-over-PPPoE-over-ATM, estiverem envolvidas, como é o caso de muitos conexões domésticas à Internet) e os clientes pagam pela largura de banda medida em bytes por segundo ou pagam pelo volume por byte. Então ... é muito desejável que você se afaste do IPv4 porque, como provedor, você precisa de menos backbone ou pode cobrar mais de seus clientes pelas mesmas coisas.
O que levou a crise a ser ativamente promovida, dando endereços como doces (até quase nada sobrar). Lembro-me, há pouco tempo, há alguns anos, que você conseguia 5 endereços assim ao alugar um servidor de US $ 50.
fonte
Loreno:
1) Sua pergunta intuitiva "Por que uma cidade (por exemplo) não pode ter apenas um endereço IP e todas as residências nesta cidade estariam apenas em uma rede privada dessa cidade? Então, essa cidade poderia atribuir endereços a partir do intervalo 0.0.0.1 a 255.255.255.254. " realmente funcionaria se os endereços IP fossem administrados corretamente. Infelizmente, a Internet começou sem visão para uma infraestrutura de comunicações mundial e, em seguida, cresceu tão rápido que as ações corretivas não puderam resolver os problemas. - Então, como eles disseram.
2) Há alguns anos, nossa equipe se aventurou nessa questão devido à curiosidade baseada em nosso histórico de telefonia. Chegamos a uma solução, chamada EzIP (fonética para Easy IPv4), que pode expandir cada endereço público IPv4 em 256M (milhões) de vezes (muito mais do que você esperava). Submetemos uma proposta à IETF:
https://tools.ietf.org/html/draft-chen-ati-adaptive-ipv4-address-space-03
E, uma apresentação gráfica pode transmitir a ideia mais rapidamente:
https://www.avinta.com/phoenix-1/home/EzIPenhancedInternet.pdf
3) O esquema EzIP não apenas resolve o problema de falta de endereço IP, mas também oferece a possibilidade de melhorar o desempenho da Internet. Por favor, dê uma olhada nos documentos acima e então podemos discutir mais.
Abe (2018-10-14 22:27)
fonte
Não estamos ficando sem endereços IPv4.
Qual é o custo de um endereço IPv4 hoje? Parece que custa cerca de US $ 18: http://ipv4marketgroup.com/ipv4-pricing/
Um único IPv4 é muito mais barato que um barril de petróleo. Eu preciso de 8 novos barris de petróleo por ano para o meu carro. Eu não preciso de 8 novos endereços IPv4 a cada ano - na verdade, um único endereço IPv4 é suficiente para mim, e atualmente não estou executando nenhum servidor para que eu pudesse compartilhar perfeitamente o endereço via NAT de classe de operadora.
De fato, mesmo que o petróleo (em quantidades típicas consumidas) seja muito, muito mais caro que os endereços IPv4 (em quantidades típicas necessárias), nem sequer estamos ficando sem óleo.
Se você comprar um endereço IPv4, terá-o para sempre (ou até que os usuários do IPv6 tenham substituído o IPv4 como o protocolo de escolha). A uma taxa de desconto de 5%, custa US $ 0,9 por ano. Pago cerca de US $ 300 por ano pela minha conectividade móvel (que está atrás do NAT da operadora) e cerca de US $ 300 por ano pela minha conectividade fixa (que não está atrás do NAT da operadora). O custo anual de um endereço IPv4 é de 0,3% do custo anual da conectividade com a Internet por serviços fixos ou móveis.
Existem tecnologias, como TLS e proxy HTTP, que permitem executar muitos servidores atrás de um único endereço IPv4, identificado por seus nomes de domínio. Assim, por exemplo, a Internet das Coisas (IoT) pode perfeitamente resultar na implantação de bilhões de servidores, muito mais do que o que temos endereços IPv4. Atualmente, a maioria dos novos protocolos não criptografados é criada sobre HTTP; hoje, a maioria dos novos protocolos criptografados são criados com base no TLS. Ambos têm como especificar o nome DNS do servidor, para que um proxy possa funcionar e ocultar vários servidores atrás de um único endereço IPv4. Protocolos como o SSH podem executar servidores atrás de portas não padrão, e o OpenSSH possui um "comando proxy"; portanto, um proxy SOCKS / HTTP CONNECT também pode suportar várias máquinas às quais você pode fazer o SSH atrás de um único endereço IPv4. Pagaria US $ 18 a mais pela conveniência de não precisar especificar uma porta não padrão ou um comando proxy na minha configuração do OpenSSH? Eu não faria.
Técnicas como mapeamentos independentes de endpoint permitem perfuração de UDP e TCP que podem configurar uma conexão ponto a ponto entre dois hosts atrás de um NAT, precisando apenas de um servidor externo para determinar qual porta TCP / UDP o NAT designou para cada endpoint. O NAT não quebra a conectividade de ponta a ponta, apenas requer um servidor auxiliar separado para determinar qual número de porta o NAT atribuiu. O mundo precisará de 4 bilhões de servidores auxiliares? Não, não faz.
IPv6 é uma religião. Muitas pessoas acham difícil acreditar que a Internet de amanhã possa funcionar sem IPv6, assim como acham difícil acreditar que uma sociedade possa trabalhar sem religião.
fonte