Por que os criadores do Protocolo da Internet decidiram usar endereços IP para identificar um computador específico? [fechadas]


10

Por que os criadores do Protocolo da Internet decidiram usar endereços IP para identificar um computador específico?

Por que não apenas atribuir um ID exclusivo a cada computador na fabricação e usá-lo para identificação do computador?


3
Não há nenhuma maneira que iria trabalhar no mundo real ...
Radu Murzea


12
@JerryRockwell Você percebe que os endereços MAC, que mais se aproximam do que você descreve, também podem ser falsificados? Em outras palavras, nesse mundo provavelmente seria necessário apenas um programa utilitário e um palpite de sorte para obter uma nova identificação de trabalho. Por outro lado, se proxies e VPNs realmente se tornam impossíveis, muitas pessoas honestas também estão ferradas.

2
Esta pergunta parece não estar relacionada ao tópico, pois trata do desenvolvimento de software, conforme definido na Central de Ajuda . Sua pergunta pode ser mais apropriada para superuser.com ou serverfault.com
Philipp

2
O endereço IP é um ID. Geralmente, ele muda constantemente devido ao uso extensivo do DHCP.
Siyuan Ren

Respostas:


34

O IP não identifica um computador - um computador pode ter vários IPs e um único IP pode pertencer a vários computadores, desde que estejam em redes diferentes.

IP não é identificador, é parte do roteamento. Identifica um ponto final. E deve ser configurável para que um computador possa ser usado em redes diferentes - quando você altera sua rede, altera os endereços IP dos computadores. Se eles foram corrigidos, você não poderia ter o mecanismo de roteamento usado nas redes IP.

Por exemplo, seu nome pode ser seu identificador (fixo), mas seu endereço é para onde sua correspondência é entregue. O endereço é configurável aqui - se você se mudar, obterá um novo endereço e quem se mudar para o seu local antigo receberá seu endereço antigo. Se um nome de rua (configuração de rede) mudar, o seu endereço também será alterado. Mas o mecanismo de entrega permanece o mesmo.


2
como isso se relaciona com a pergunta: "Por que os criadores da Internet Protocol decidir"
mosquito

5
É um excelente exemplo com o nome (como MAC) e um endereço (como IP).
SerG 10/09

Coisas verdadeiras; mas a resposta não faz o suficiente para explicar por que o IP funciona melhor para roteamento do que ... não sei. Algo mais.
svidgen

1
A questão não era explicar como o roteamento IP funciona e como o endereço IP faz parte dele. Embora existam outras respostas que explicam isso. Existem outras maneiras de rotear, não apenas o IP.
Aragaer # /

Consulte HIP (Protocolo de identidade do host, RFC4423) para obter uma tentativa de adicionar uma camada para identificadores de host (armazenados como endereços IPv6) entre a camada de rede e a camada de transporte.
ysdx 11/09/14

22

Se todo computador tivesse um ID exclusivo, as tabelas de roteamento teriam que incluir todas as rotas para todos os dispositivos na Internet. Isso é impraticável.

É por isso que o TCP / IP usa uma abordagem em camadas.

Se o meu computador 1.1.1.1 quiser se comunicar com o 2.2.2.2, ele basicamente solicitará que o gateway encaminhe o pacote, assim ele se comunica com: 1.1.1.0, mas esse gateway também não sabe onde está o 2.2.2.2, e solicita ao gateway para encaminhar o pacote, o gateway 1.1.0.0 pega e solicita 1.0.0.0. 1.0.0.0 também não sabe onde 2.2.2.2 está, mas sabe onde está 2.0.0.0 (em sua tabela de roteamento); portanto, a solicitação diminui agora porque 2.0.0.0 sabe onde está 2.2.0.0 e encaminha o pacote, até o pacote atingir 2.2.2.2

(Esta é uma simplificação excessiva EXTREMA do que acontece e pode haver qualquer quantidade de saltos entre 1.0.0.0 e 2.0.0.0).

Essa abordagem em camadas com tabelas de roteamento facilita a localização de outro computador em uma rede. Mas também significa que deve haver um sistema sem o ID exclusivo, porque as tabelas de roteamento não podem conter todos os IDs e rotas de todas as máquinas conectadas à Internet.


11

Pela mesma razão, o serviço postal usa endereços em vez de nomes .

Os serviços postais (e outras transportadoras de pacotes) realmente não enviam pacotes para as pessoas. Eles são enviados para locais e permitem que as pessoas naquele local escolham qual pessoa realmente recebe o pacote. A razão pela qual eles fazem isso é que você não pode dizer de onde é a pessoa apenas a partir do nome dele, e não pode codificá-lo no nome sem torná-lo mutável .

A Internet não usa apenas um protocolo: na verdade, empilha vários protocolos, um sobre o outro. Não são protocolos que utilizam IDs únicas, e eles residem no nível mais baixo, chamado de camada de enlace . Ethernet (que usa endereços MAC) e PPP (que geralmente usa números de telefone) são dois exemplos populares de protocolos da camada de link. Mas a camada de link tem seus limites: você só pode receber um sinal entre computadores que estão diretamente conectados entre si , porque todos já precisam saber onde estão. Isso faz com que seja como as pessoas no destino do pacote: todo mundo já se conhece, para que possam decidir entre si quem realmente receberá o pacote.

O IP reside um passo acima, na camada de rede (às vezes chamada de camada da Internet ). O trabalho do IP é obter um sinal entre locais que não estão diretamente conectados . Outros já entraram no esquema de roteamento hierárquico usado, mas a maioria dos serviços postais usa sistemas hierárquicos semelhantes desde muito antes da Internet, ou mesmo computadores. Eles fazem isso porque é a maneira mais fácil de identificar locais diferentes e rotear as coisas entre eles.

Mas computadores e locais não são a mesma coisa. Computadores, como pessoas, podem se mover entre diferentes locais : por exemplo, você pode mover um laptop entre sua casa e seu local de trabalho. Mais de um computador pode residir em um determinado local : se você usa um roteador sem fio em casa, pode ter vários dispositivos conectados, mas todos compartilham um único endereço IP no que diz respeito ao mundo externo. É até possível que um único computador tenha mais de um endereço , em determinadas circunstâncias.

A Internet precisa ser capaz de lidar com todos esses casos. Para fazer isso de uma maneira simples e eficiente, eles usam endereços em vez de IDs. Dessa forma, o IP não precisa saber ou se importar com o que há em cada extremidade da conexão: existe apenas um sinal, um local de origem e um local para transportá-lo . Outros protocolos na pilha podem cuidar dos outros detalhes.


grande analogia ...
Charles Salvia

2

O endereço MAC é o que identifica um computador, ou melhor, seu hardware de rede.

O que um endereço IP faz é descrever onde está o hardware. Os roteadores o usam para descobrir onde rotear os pacotes para que eles cheguem ao destino correto.

Como um endereço MAC não muda quando você move o hardware, é impraticável usá-lo para roteamento, pois isso significaria essencialmente que todo roteador no mundo inteiro precisaria acompanhar a localização de cada endereço MAC. Os endereços IP funcionam da maneira que cada roteador não precisa de informações completas do destinatário para direcioná-los corretamente, eles sabem qual intervalo de IP enviar para onde. Dessa forma, apenas um roteador ou switch real precisa saber qual IP está localizado onde exatamente. Todos os outros roteadores precisam apenas de uma idéia muito geral.


1
este parece meramente pontos repetir feito e explicado na resposta anterior
mosquito

Eu me pergunto por que os endereços MAC devem ser atribuídos globalmente de forma exclusiva, já que mesmo a atribuição de endereços aleatórios de 32 bits provavelmente não causará colisões em sub-redes que não tenham milhares de máquinas (a maioria das sub-redes possui menos de 100) e a resolução de colisão pode ser tratada simplesmente com qualquer máquina que detecte uma colisão escolher aleatoriamente um novo endereço; se não responder ao endereço antigo, a máquina que queria se comunicar re-ARP, encontrará o novo endereço e tudo ficará bem.
Supercat

1

Por que os criadores do Protocolo da Internet decidiram usar endereços IP para identificar um computador específico?

Eles não fizeram. Ele identifica uma conexão de rede, embora essa mesma conexão também possa ter outros endereços IP.

Por que não apenas atribuir um ID exclusivo a cada computador na fabricação e usá-lo para identificação do computador?

Por um lado, eles não identificam computadores como acima.

Ok, dizem que eles queriam fazer isso com adaptadores de rede. Eles teriam que convencer todos os fabricantes de adaptadores de rede a usar um identificador de um conjunto controlado por pessoas envolvidas neste plano específico para conectar redes que muitas pessoas não pensavam que funcionariam, antes que funcionasse. Boa sorte com isso.

Além disso, esses fabricantes de hardware de rede não se preocupavam com TCP / IP, eles se preocupavam com seus próprios protocolos de rede e talvez secundariamente com aqueles com os quais estavam competindo. Em alguns casos, ter uma camada no topo que fazia as diferenças entre, por exemplo, ethernet, ALOHAnet, token bus, etc. em vez disso) e as pessoas poderiam eventualmente migrar para aqueles que faziam exatamente o que o TCP / IP precisava e pouco mais (como a Ethernet). O TCP / IP foi um cavalo de tróia para essas empresas; brincando alegremente com eles, mas destruindo seus negócios ao mesmo tempo. Por que eles deveriam ajudar?

Além disso, algumas dessas tecnologias antecederam o TCP / IP e, portanto, não seriam capazes de interoperar e o TCP / IP não poderia ter sido usado em praticamente todos os tipos de rede.

Além disso, qual endereço onde? Atualmente, minha máquina possui um endereço 192.168.1.24 (entre outros), que também é usado por milhares de outras máquinas em outras redes. Não preciso de um endereço exclusivo porque não estou conectado diretamente à Internet. Com o IPv6, estamos começando a chegar a um ponto em que poderíamos ter uma identificação genuinamente única para cada máquina, se realmente quiséssemos, mas antes disso, isso seria limitador em número (quatro bilhões provavelmente pareceriam muito). de dispositivos na época, mas isso exigiria uma distribuição muito estreita de números; portanto, na prática, haveria muito menos, mesmo que isso fosse uma preocupação realista) e sem sentido; o ponto principal do IP não é a rede, mas a inter-rede; portanto, precisamos nos preocupar apenas com uma rede por vez quando se trata de identificadores,


0

Mas com um ID único como o MAC, ainda existe o problema de localizar o dispositivo em uma rede. É impossível ter todos os dispositivos interconectados e apenas procurar o destino, um por um, em todos os hosts do mundo. É o objetivo da invenção alguns endereços hierárquicos como IP.


este parece meramente pontos repetir feito e explicado na resposta anterior
mosquito

@gnat veja o registro de data e hora das últimas edições.
SerG 10/09

0

A chave para entender o design original do Protocolo de Internetworking é que as redes já existiam, e o plano era unir redes usando a tecnologia existente , como DECnet. Exigir que as pessoas adicionassem um novo hardware com um identificador exclusivo teria prejudicado e não era necessário por qualquer motivo tecnológico. O sistema usado foi alocar um prefixo (como 8.0.0.0/24) a uma organização e, em seguida, tornar responsabilidade da organização atribuir endereços dentro desse intervalo.

Ele também permite que o administrador atribua vários IPs ao mesmo computador (para consolidação de serviços) ou, alternativamente, substitua o computador, mas continue a usar o mesmo endereço IP ou o mesmo endereço IP em uma rede de teste desanexada. em. Amarrar um hardware em particular seria limitador.

A Ethernet usa endereços MAC para distinguir os nós na mesma LAN, mas a Ethernet pós-data a Internet e se inspira: http://inventors.about.com/library/weekly/aa111598.htm afirma não antes de 1973, enquanto as primeiras RFCs da Internet são de 1969 ( http://www.ietf.org/download/rfc-index.txt ), aproximadamente ao mesmo tempo que o pouso na lua.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.