Чому творці Інтернет-протоколу вирішили використовувати IP-адреси для ідентифікації конкретного комп'ютера? [зачинено]


10

Чому творці Інтернет-протоколу вирішили використовувати IP-адреси для ідентифікації конкретного комп'ютера?

Чому б просто не створити унікальний ідентифікатор, присвоєний кожному комп'ютеру при виробництві, а потім використовувати його для ідентифікації комп'ютера?


3
У реальному світі це не вийде ...
Раду Мурзеа


12
@JerryRockwell Ви розумієте, що MAC-адреси, які найближчі до того, що ви описуєте, також можна підробляти? Іншими словами, у цьому світі, ймовірно, потрібно лише корисна програма та вдалий здогад, щоб отримати новий, робочий ідентифікатор. З іншого боку, якщо проксі-сервери та VPN дійсно стають неможливими, багато чесних людей теж накручуються.

2
Це питання видається поза темою, оскільки йдеться про розробку програмного забезпечення, як визначено в довідковому центрі . Ваше питання може бути більш підходящим на superuser.com або serverfault.com
Philipp

2
IP-адреса - це ідентифікатор. Він зазвичай постійно змінюється через широке використання DHCP.
Сіюань Рен

Відповіді:


34

IP не ідентифікує комп'ютер - один комп’ютер може мати декілька IP-адрес, а один IP може належати до кількох комп'ютерів, якщо вони знаходяться в різних мережах.

IP не є ідентифікатором, це частина маршрутизації. Він визначає кінцеву точку. І він повинен бути налаштований, щоб один комп'ютер міг використовуватися в різних мережах - при зміні мережі ви змінюєте IP-адреси комп’ютерів. Якщо вони були виправлені, у вас не було б механізму маршрутизації, який використовується в мережах IP.

Наприклад, ваше ім’я може бути вашим (фіксованим) ідентифікатором, але ваша адреса - це те, куди доставляється ваша пошта. Адреса тут може бути налаштована - якщо ви переїдете, ви отримаєте нову адресу, і хто переїде на ваше старе місце, отримає вашу стару адресу. Якщо назва вулиці (мережева конфігурація) змінюється, це залежить від вашої адреси. Але механізм доставки залишається колишнім.


2
як це стосується поставленого запитання: "Чому творці Інтернет-протоколу вирішили"
gnat

5
Це відмінний приклад з назвою (як MAC) та адресою (як IP).
СерГ

Справжні речі; але відповідь недостатньо пояснює, чому IP працює краще для маршрутизації, ніж ... Я не знаю. Ще щось.
svidgen

1
Питання полягало не в тому, щоб пояснити, як працює маршрутизація IP та як IP-адреса є її частиною. Хоча є й інші відповіді, які пояснюють це. Є й інші способи маршрутизації, не лише IP.
aragaer

Дивіться HIP (Host Identity Protocol, RFC4423) для спроби додати шар для ідентифікаторів хоста (зберігається як IPv6 адреси) між мережевим шаром і транспортним шаром.
ysdx

22

Якби кожен комп'ютер мав унікальну таблицю маршрутизації id, він повинен містити всі маршрути до всіх пристроїв в Інтернеті. Це недоцільно.

Ось чому tcp / ip використовує багаторівневий підхід.

Якщо мій комп'ютер 1.1.1.1 хоче спілкуватися з 2.2.2.2, він в основному просить шлюз переслати пакет, так що він спілкується з: 1.1.1.0, але той шлюз також не знає, де 2.2.2.2, тому він запитує його шлюз щоб переслати пакет, шлюз 1.1.0.0 підбирає його і запитує 1.0.0.0. 1.0.0.0 не знає, де знаходиться 2.2.2.2, але він знає, де знаходиться 2.0.0.0 (у його таблиці маршрутизації), тому запит знижується, оскільки 2.0.0.0 знає, де знаходиться 2.2.0.0, і пересилає пакет, це все до тих пір, поки пакет не досягне 2.2.2.2

(Це ЕКСТРЕМНЕ ​​спрощення того, що відбувається, і може бути будь-яка кількість стрибків між 1.0.0.0 та 2.0.0.0).

Цей багаторівневий підхід із таблицями маршрутизації дозволяє ефективно розміщувати інший комп'ютер у мережі. Але це також означає, що повинна бути система без унікального ідентифікатора, оскільки таблиці маршрутизації не можуть містити всі ідентифікатори та маршрути всіх машин, підключених до Інтернету.


11

З цієї ж причини поштова служба використовує адреси, а не імена .

Поштові послуги (та інші перевізники пакетів) насправді не доставляють людям пакунки. Вони відправляють на місця, і люди в цьому місці дозволяють розібратися, хто саме отримує пакет. Причина, по якій вони роблять це, полягає в тому, що ви не можете сказати, звідки людина походить одне з його імен, і ви не можете кодувати це в імені, не зробивши його змінним .

Інтернет не використовує лише один протокол: він фактично складає декілька протоколів, один поверх іншого. Там перебуваєте протоколи , які використовують унікальні ідентифікатори, і вони знаходяться в найнижчому рівні, називається канального рівня . Ethernet (який використовує MAC-адреси) та PPP (який найчастіше використовує телефонні номери) - два популярних приклади протоколів рівня каналів зв'язку. Але шар зв'язку має свої межі: ви можете отримати сигнал лише між комп'ютерами, які безпосередньо пов'язані один з одним , адже всі вже повинні знати, де всі. Це робить його подібним до людей, які перебувають у пакеті призначення: всі вже знають один одного, тому вони можуть розібратися між собою, хто насправді отримає пакет.

IP знаходиться на один крок від цього в мережевому рівні (іноді його називають Інтернет-шаром ). Завданням IP є отримання сигналу між місцями, які безпосередньо не пов'язані . Інші вже зайшли в ієрархічну схему маршрутизації, яку вона використовує, але більшість поштових служб використовували подібні ієрархічні системи ще задовго до Інтернету чи навіть комп’ютерів. Вони роблять це, тому що це найпростіший спосіб визначити різні місця та прокласти маршрути між ними.

Але комп'ютери та локації - це не одне і те ж. Комп'ютери, як і люди, можуть переміщатися між різними місцями : наприклад, ви можете перемістити ноутбук між будинком і робочим місцем. У даному місці може знаходитися більше одного комп’ютера : якщо ви використовуєте бездротовий маршрутизатор вдома, можливо, у вас підключено декілька пристроїв, але всі вони поділяють одну IP-адресу, що стосується зовнішнього світу. Можливо, навіть для одного комп’ютера за певних обставин є декілька адрес .

Інтернет повинен мати можливість вирішувати всі ці випадки. Щоб зробити це просто та ефективно, вони використовують адреси, а не ідентифікатори. Таким чином, IP не повинен знати або дбати про те, що знаходиться на кожному кінці з'єднання: є лише сигнал, місце, з якого він надходить, і місце, куди його перенести . Інші протоколи в стеці можуть піклуватися про інші деталі.


чудова аналогія ...
Чарльз Сальвія

2

MAC-адреса - це те, що ідентифікує комп'ютер, а точніше його мережеве обладнання.

IP-адреса описує, де знаходиться обладнання. Маршрутизатори використовують його, щоб визначити, куди маршрутизувати пакети, щоб вони прибули до потрібного пункту призначення.

Оскільки MAC-адреса не змінюється при переміщенні обладнання, його практично використовувати для маршрутизації, оскільки це по суті означатиме, що кожному маршрутизатору в усьому світі потрібно буде відслідковувати місцезнаходження кожного MAC-адреси. IP-адреси працюють таким чином, що кожному маршрутизатору не потрібна повна інформація одержувача, щоб правильно їх направити, вони знають, в який діапазон IP-адреси надсилатись. Таким чином, лише один фактичний маршрутизатор або комутатор повинен знати, який IP розташований, де саме. Кожен інший маршрутизатор потребує лише дуже загальної ідеї.


1
це , здається, просто повторюють пункти зроблені і пояснені в попередньому рівні відповідь
комар

Цікаво, чому MAC-адреси повинні бути присвоєні в усьому світі, враховуючи, що навіть призначення випадкових 32-бітових адрес було б малоймовірним викликати зіткнення в підмережах, у яких немає тисяч машин (у більшості підмереж менше 100), і Дозвіл зіткнення можна вирішити просто за допомогою будь-якої машини, яка виявляє зіткнення випадковим чином вибирати нову адресу; якщо він не зможе відповісти на стару адресу, машина, яка хотіла зв’язатися, повторно ARP, знайде нову адресу, і все буде добре.
supercat

1

Чому творці Інтернет-протоколу вирішили використовувати IP-адреси для ідентифікації конкретного комп'ютера?

Вони цього не зробили. Він визначає мережеве з'єднання, хоча це ж з'єднання може мати і інші IP-адреси.

Чому б просто не створити унікальний ідентифікатор, присвоєний кожному комп'ютеру при виробництві, а потім використовувати його для ідентифікації комп'ютера?

По-перше, вони не ідентифікують комп’ютери, як описано вище.

Гаразд, скажіть, що вони хотіли це зробити з мережевими адаптерами. Їм довелося б переконати кожного виробника мережевих адаптерів використовувати ідентифікатор із набору, який контролюється людьми, які беруть участь у цьому конкретному плані підключення до мереж, що багато людей не думали, що це спрацює, перш ніж це може працювати. Удачі в цьому.

Крім того, ці виробники мережевого обладнання не переймалися TCP / IP, вони дбали про свої власні мережеві протоколи та, можливо, вдруге про ті, з якими вони конкурували. У деяких випадках наявність шару зверху, який робив різниці між, наприклад, ethernet, ALOHAnet, токеновою шиною тощо, була поганою справою для деяких технологій у довгостроковій перспективі, оскільки це робило деякі з того, що вони робили менш корисним (TCP / IP може зробіть це замість цього) і люди можуть врешті-решт перейти до тих, хто робив саме те, що потрібно TCP / IP, і мало іншого (як це робив Ethernet). TCP / IP був троянським конем для цих компаній; щасливо граючи з ними, але одночасно руйнуючи їхній бізнес. Чому вони повинні допомагати.

Крім того, деякі з цих технологій передували TCP / IP, і тому вони не змогли б взаємодіяти, і TCP / IP не можна було б використовувати майже у всіх типах мережі.

Також, яка адреса де? Наразі моя машина має адресу 192.168.1.24 (серед інших), яку також використовують тисячі інших машин в інших мережах. Мені не потрібна унікальна адреса, оскільки я безпосередньо не підключений до Інтернету. З IPv6 ми починаємо переходити до того, що ми могли б мати справді унікальний ідентифікатор для кожної машини, якби насправді хотіли, але до цього це було б як обмежувальне число (чотири мільярди, мабуть, здалося б дуже багато на той час пристроїв, але це вимагало б дуже щільного розподілу номерів, тому на практиці їх було б набагато менше, навіть якщо це було б реалістичним питанням) і безглуздо; вся суть ІР - це не мережа, а взаємодія в мережі, тому нам потрібно хвилюватися лише про одну мережу, коли справа стосується ідентифікаторів,


0

Але з таким унікальним ідентифікатором, як MAC, все ще існує проблема розташування пристрою в мережі. Неможливо з'єднати всі пристрої та просто шукати пункт призначення один за одним для всіх хостів у світі. Мета винаходу - деякі ієрархічні адреси, такі як IP.


це , здається, просто повторюють пункти зроблені і пояснені в попередньому рівні відповідь
комар

@gnat подивіться на часові позначки останніх змін.
СерГ

0

Ключовим моментом для розуміння оригінальної конструкції протоколу Internetworking є те, що мережі вже існували, і план полягав у об'єднанні мереж разом із використанням існуючих технологій, таких як DECnet. Вимагати від людей, щоб додати нове обладнання з унікальним ідентифікатором, це спричинило б це, і це не вимагалося з будь-яких технологічних причин. Використовувана система повинна була виділити префіксу (наприклад, 8.0.0.0/24) для організації, а потім покласти на неї відповідальність за присвоєння адрес у цьому діапазоні.

Він також дозволяє адміністратору призначити декілька ІС одному і тому ж комп'ютеру (для консолідації служб) або альтернативно замінити комп'ютер, але продовжувати використовувати ту саму IP-адресу або використовувати ту саму IP-адресу в окремій тестовій мережі тощо. на. Прив’язання до конкретного обладнання було б обмежуючим.

Ethernet використовує MAC-адреси для розрізнення вузлів однієї локальної мережі, але Ethernet розміщує дату в Інтернеті і отримує певну натхнення від неї: http://inventors.about.com/library/weekly/aa111598.htm заявляє, що не раніше 1973 року, у той час як перші Інтернет-RFC є з 1969 року ( http://www.ietf.org/download/rfc-index.txt ), приблизно в той самий час, коли висаджується Місяць.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.