Dlaczego twórcy protokołu internetowego zdecydowali się użyć adresów IP do identyfikacji konkretnego komputera?
Dlaczego po prostu nie przypisać każdemu komputerowi unikalnego identyfikatora podczas produkcji, a następnie użyć tego identyfikatora do identyfikacji komputera?
history
internet
ip-address
Jerry Rockwell
źródło
źródło
Odpowiedzi:
Adres IP nie identyfikuje komputera - jeden komputer może mieć wiele adresów IP, a jeden adres IP może należeć do wielu komputerów, o ile znajdują się one w różnych sieciach.
IP nie jest identyfikatorem, jest częścią routingu. Określa punkt końcowy. Musi być konfigurowalny, aby jeden komputer mógł być używany w różnych sieciach - po zmianie sieci zmieniamy adresy IP komputerów. Jeśli zostały one naprawione, nie można mieć mechanizmu routingu używanego w sieciach IP.
Na przykład twoje imię może być twoim (stałym) identyfikatorem, ale twój adres to miejsce, do którego dostarczana jest twoja poczta. Adres można tutaj skonfigurować - jeśli się przeprowadzisz, otrzymasz nowy adres, a ktokolwiek przeprowadzi się do twojego starego miejsca, otrzyma twój stary adres. Jeśli zmienia się nazwa ulicy (konfiguracja sieci), zmienia się również adres. Ale mechanizm dostarczania pozostaje taki sam.
źródło
Gdyby każdy komputer miał unikalny identyfikator, tablice routingu musiałyby zawierać wszystkie trasy do wszystkich urządzeń w Internecie. To jest niepraktyczne.
Dlatego tcp / ip stosuje podejście wielopoziomowe.
Jeśli mój komputer 1.1.1.1 chce komunikować się z 2.2.2.2, po prostu prosi bramę o przekazanie pakietu, więc komunikuje się z: 1.1.1.0, ale ta brama nie wie również, gdzie jest 2.2.2.2, więc pyta swoją bramę aby przekazać pakiet, brama 1.1.0.0 podnosi go i pyta 1.0.0.0. 1.0.0.0 też nie wie, gdzie jest 2.2.2.2, ale wie, gdzie jest 2.0.0.0 (w jego tabeli routingu), więc żądanie jest teraz zmniejszane, ponieważ 2.0.0.0 wie, gdzie jest 2.2.0.0 i przekazuje pakiet, tak długo, aż pakiet osiągnie 2.2.2.2
(Jest to EKSTREMALNE uproszczenie tego, co się dzieje i może istnieć dowolna liczba przeskoków między 1.0.0.0 a 2.0.0.0).
To wielopoziomowe podejście z tablicami routingu umożliwia wydajne lokalizowanie innego komputera w sieci. Ale oznacza to również, że musi istnieć system bez unikalnego identyfikatora, ponieważ tabele routingu nie mogą zawierać wszystkich identyfikatorów i tras wszystkich komputerów podłączonych do Internetu.
źródło
Z tego samego powodu usługa pocztowa używa adresów, a nie nazwisk .
Usługi pocztowe (i inni przewoźnicy paczek) tak naprawdę nie wysyłają paczek do ludzi. Wysyłają do miejsc i pozwalają ludziom w tej lokalizacji ustalić, która osoba faktycznie otrzyma paczkę. Powodem, dla którego to robią, jest to, że nie można powiedzieć, skąd dana osoba pochodzi tylko od jej imienia, i nie można zakodować tego w imieniu bez zmiany .
Internet nie używa tylko jednego protokołu: w rzeczywistości składa się z kilku protokołów, jeden na drugim. Tam są protokoły wykorzystujące unikalne identyfikatory, a oni mieszkają w najniższym poziomie, zwany warstwy łącza . Ethernet (który wykorzystuje adresy MAC) i PPP (który najczęściej wykorzystuje numery telefonów) to dwa popularne przykłady protokołów warstwy łącza. Ale warstwa łącza ma swoje ograniczenia: możesz uzyskać sygnał tylko między komputerami, które są bezpośrednio ze sobą połączone , ponieważ każdy już musi wiedzieć, gdzie jest każdy. To sprawia, że są podobni do ludzi w miejscu przeznaczenia paczki: wszyscy już się znają, więc mogą uporządkować między sobą, kto faktycznie dostanie paczkę.
IP znajduje się o jeden krok wyżej w warstwie sieciowej (czasem nazywanej warstwą internetową ). Zadaniem IP jest uzyskanie sygnału między lokalizacjami, które nie są bezpośrednio połączone . Inni przeszli już do stosowanego przez siebie hierarchicznego schematu routingu, ale większość usług pocztowych stosuje podobne systemy hierarchiczne od dawna przed Internetem, a nawet komputerami. Robią to, ponieważ jest to najłatwiejszy sposób na identyfikację różnych lokalizacji i wyznaczanie tras między nimi.
Ale komputery i lokalizacje to nie to samo. Komputery, podobnie jak ludzie, mogą przemieszczać się między różnymi lokalizacjami : na przykład możesz przenieść laptopa między domem a miejscem pracy. W danym miejscu może znajdować się więcej niż jeden komputer : jeśli korzystasz z routera bezprzewodowego w domu, możesz mieć podłączonych kilka urządzeń, ale wszystkie mają wspólny adres IP, jeśli chodzi o świat zewnętrzny. W niektórych okolicznościach pojedynczy komputer może mieć więcej niż jeden adres .
Internet musi być w stanie obsłużyć wszystkie te przypadki. Aby to zrobić w prosty i wydajny sposób, używają adresów, a nie identyfikatorów. W ten sposób IP nie musi wiedzieć ani przejmować się tym, co znajduje się na każdym końcu połączenia: jest tylko sygnał, miejsce, z którego pochodzi i miejsce, do którego należy go zabrać . Inne protokoły na stosie mogą zająć się innymi szczegółami.
źródło
Adres MAC identyfikuje komputer, a raczej jego sprzęt sieciowy.
Adres IP opisuje, gdzie znajduje się sprzęt. Routery używają go, aby dowiedzieć się, gdzie trasować pakiety, aby dotarły do właściwego miejsca docelowego.
Ponieważ adres MAC nie zmienia się po przeniesieniu sprzętu, nie można go używać do routingu, ponieważ oznaczałoby to, że każdy router na całym świecie musiałby śledzić lokalizację każdego adresu MAC. Adresy IP działają w taki sposób, że każdy router nie potrzebuje pełnych informacji o odbiorcy, aby je poprawnie trasować, wiedzą, jaki zakres adresów IP wysłać. W ten sposób tylko jeden rzeczywisty router lub przełącznik musi wiedzieć, który adres IP jest dokładnie zlokalizowany. Każdy inny router potrzebuje tylko bardzo ogólnego pomysłu.
źródło
Nie zrobili tego. Identyfikuje połączenie sieciowe, chociaż to samo połączenie może mieć również inne adresy IP.
Po pierwsze, nie identyfikują komputerów jak wyżej.
OK, powiedz, że chcieli to zrobić z kartami sieciowymi. Musieliby przekonać każdego producenta karty sieciowej, aby używał identyfikatora z zestawu kontrolowanego przez osoby zaangażowane w ten konkretny plan łączenia sieci, o którym wiele osób nie myślało, że będzie działać, zanim będzie mogła działać. Powodzenia z tym.
Ponadto, producenci sprzętu sieciowego nie dbali o TCP / IP, troszczyli się o własne protokoły sieciowe, a może po drugie o te, z którymi konkurowali. W niektórych przypadkach posiadanie warstwy na wierzchu, która powodowała różnice między np. Ethernetem, ALOHAnetem, tokenem magistrali itp., Było złe dla niektórych technologii w dłuższej perspektywie, ponieważ sprawiło, że niektóre z tych, które zrobiły, były mniej przydatne (TCP / IP mógłby rób to zamiast tego), a ludzie mogli w końcu przejść do tych, którzy zrobili dokładnie to, czego potrzebował TCP / IP i niewiele więcej (tak jak Ethernet). TCP / IP był koniem trojańskim dla tych firm; chętnie się z nimi bawimy, ale jednocześnie niszczą ich interesy. Dlaczego powinni pomóc?
Ponadto niektóre z tych technologii były wcześniejsze niż TCP / IP, więc nie byłyby w stanie współpracować, a protokół TCP / IP nie mógłby być wykorzystywany w prawie wszystkich typach sieci.
Ponadto, który adres gdzie? Mój komputer ma obecnie adres 192.168.1.24 (między innymi), z którego korzystają także tysiące innych komputerów w innych sieciach. Nie potrzebuję unikalnego adresu, ponieważ nie mam bezpośredniego połączenia z Internetem. Z IPv6 zaczynamy przechodzić do punktu, w którym moglibyśmy mieć naprawdę unikatowy identyfikator dla każdej maszyny, gdybyśmy tego naprawdę chcieli, ale przed tym działaniem byłoby to jednocześnie ograniczenie liczby (cztery miliardy prawdopodobnie wydawałyby się dużo urządzeń w tym czasie, ale wymagałoby to bardzo ścisłego podziału liczb, więc w praktyce byłoby ich o wiele mniej, nawet jeśli byłby to realny problem) i bezcelowe; cały punkt IP to nie sieć, ale sieć, dlatego musimy martwić się tylko o jedną sieć, jeśli chodzi o identyfikatory,
źródło
Ale przy tak unikalnym identyfikatorze, jak MAC, nadal występuje problem z lokalizacją urządzenia w sieci. Niemożliwe jest połączenie wszystkich urządzeń i po prostu szukanie miejsca docelowego jeden po drugim na wszystkich hostach na świecie. Celem wynalazku są niektóre adresy hierarchiczne, takie jak IP.
źródło
Kluczem do zrozumienia pierwotnego projektu Protokołu internetowego jest to, że sieci już istniały, a plan polegał na połączeniu sieci przy użyciu istniejących technologii, takich jak DECnet. Wymaganie od ludzi dodania nowego sprzętu z unikalnym identyfikatorem utrudniłoby go i nie było wymagane z jakiegokolwiek powodu technologicznego. Zastosowanym systemem było przydzielenie przedrostka (np. 8.0.0.0/24) organizacji, a następnie przypisanie adresów w tym zakresie obowiązkom tej organizacji.
Pozwala również administratorowi przypisać wiele adresów IP do tego samego komputera (w celu konsolidacji usług) lub alternatywnie wymienić komputer, ale nadal używać tego samego adresu IP lub używać tego samego adresu IP w odłączonej sieci testowej i tak dalej na. Powiązanie z konkretnym sprzętem byłoby ograniczające.
Ethernet używa adresów MAC do rozróżniania węzłów w tej samej sieci LAN, ale Ethernet postdatuje się w Internecie i czerpie z niego inspirację: http://inventors.about.com/library/weekly/aa111598.htm twierdzi, że nie wcześniej niż w 1973 roku, podczas gdy pierwsze internetowe RFC pochodzą z 1969 r. ( http://www.ietf.org/download/rfc-index.txt ), mniej więcej w tym samym czasie co lądowania na Księżycu.
źródło