Protokół internetowy - Internet Protocol

Internet Protocol ( IP ) to sieć warstwy protokołu komunikacji w protokole pakietu internetowego do przekazywania datagramów ponad granicami sieciowych. Jego funkcja routingu umożliwia pracę w sieci i zasadniczo ustanawia połączenie z Internetem .

IP ma za zadanie dostarczać pakiety z hosta źródłowego do hosta docelowego wyłącznie na podstawie adresów IP w nagłówkach pakietów . W tym celu IP definiuje struktury pakietów, które hermetyzują dostarczane dane. Definiuje również metody adresowania używane do oznaczania datagramu informacjami o źródle i miejscu docelowym.

Historycznie IP był usługą bezpołączeniowego datagramu w oryginalnym programie kontroli transmisji, wprowadzonym przez Vinta Cerfa i Boba Kahna w 1974 roku, który został uzupełniony o usługę zorientowaną na połączenie, która stała się podstawą protokołu kontroli transmisji (TCP). Dlatego też pakiet protokołów internetowych jest często określany jako TCP/IP .

Pierwsza główna wersja protokołu IP, protokół internetowy w wersji 4 (IPv4), jest dominującym protokołem w Internecie. Jego następcą jest Protokół internetowy w wersji 6 (IPv6), który został w zwiększaniu rozmieszczenie w Internecie publicznej od C. 2006.

Funkcjonować

Enkapsulacja danych aplikacji przenoszonych przez UDP do ramki protokołu łącza

Protokół internetowy jest odpowiedzialny za adresowanie interfejsów hosta , hermetyzację danych w datagramy (w tym fragmentację i ponowne składanie ) oraz routing datagramów z interfejsu hosta źródłowego do interfejsu hosta docelowego przez jedną lub więcej sieci IP. W tym celu protokół internetowy definiuje format pakietów i zapewnia system adresowania.

Każdy datagram składa się z dwóch składników: nagłówka i ładunku . Nagłówek IP zawiera źródłowy adres IP, docelowy adres IP oraz inne metadane potrzebne do trasy i dostarczyć datagramu. Ładunek to dane, które są transportowane. Ta metoda zagnieżdżania ładunku danych w pakiecie z nagłówkiem nazywa się enkapsulacją.

Adresowanie IP pociąga za sobą przypisanie adresów IP i powiązanych parametrów do interfejsów hosta. Przestrzeń adresowa podzielona jest na podsieci , polegające na wyznaczeniu prefiksów sieciowych. Routing IP jest wykonywany przez wszystkie hosty, a także routery , których główną funkcją jest przesyłanie pakietów przez granice sieci. Routery komunikują się ze sobą za pomocą specjalnie zaprojektowanych protokołów routingu , zarówno wewnętrzne protokoły bramy lub zewnętrzne protokoły bramy , ile potrzeba dla topologii sieci.

Historia wersji

Harmonogram rozwoju protokołu kontroli transmisji TCP i protokołu internetowego IP.
Pierwsza demonstracja internetowa, łącząca ARPANET , PRNET i SATNET 22 listopada 1977 r.

W maju 1974 Instytut Inżynierów Elektryków i Elektroników (IEEE) opublikował artykuł zatytułowany „Protokół komunikacji sieci pakietowej”. Autorzy artykułów, Vint Cerf i Bob Kahn , opisał Międzysieciowa protokołu do współdzielenia zasobów z wykorzystaniem komutacji pakietów między węzłami sieci . Centralnym elementem sterującym tego modelu był „Program kontroli transmisji”, który zawierał zarówno łącza zorientowane na połączenie, jak i usługi datagramowe między hostami. Monolityczny program kontroli transmisji został później podzielony na architekturę modułową składającą się z protokołu kontroli transmisji i protokołu datagramów użytkownika w warstwie transportowej oraz protokołu internetowego w warstwie internetowej . Model stał się znany jako Departament Obrony (DoD) Internet Model i zestaw protokołów internetowych , a nieformalnie jako TCP/IP .

Wersje IP od 1 do 3 były wersjami eksperymentalnymi, zaprojektowanymi w latach 1973-1978. Poniższe dokumenty Internet Experiment Note (IEN) opisują wersję 3 protokołu internetowego, poprzedzającą nowoczesną wersję IPv4:

  • IEN 2 ( Komentarze na temat protokołu internetowego i TCP ) z sierpnia 1977 r. opisuje potrzebę rozdzielenia funkcjonalności protokołu TCP i protokołu internetowego (które wcześniej były połączone). Proponuje pierwszą wersję nagłówka IP, używając 0 jako pola wersji.
  • IEN 26 ( proponowany nowy format nagłówka internetowego ) z lutego 1978 opisuje wersję nagłówka IP, która używa pola wersji 1-bitowej.
  • IEN 28 ( Projekt Opisu Protokołu Internetowego Wersja 2 ), z lutego 1978 r. opisuje IPv2.
  • IEN 41 ( Internetwork Protocol Specification Version 4 ) z czerwca 1978 opisuje pierwszy protokół nazwany IPv4. Nagłówek IP różni się od nowoczesnego nagłówka IPv4.
  • IEN 44 ( Najnowsze formaty nagłówka ) z czerwca 1978 opisuje inną wersję IPv4, również z nagłówkiem innym niż współczesny nagłówek IPv4.
  • IEN 54 ( Internetwork Protocol Specification Version 4 ) z września 1978 jest pierwszym opisem IPv4 używającym nagłówka, który byłby standaryzowany w RFC  760 .

Dominującym protokołem sieciowym w używanej warstwie internetowej jest IPv4 ; cyfra 4 identyfikuje wersję protokołu, znajdującą się w każdym datagramie IP. IPv4 opisano w RFC  791 (1981).

Wersja numer 5 była używana przez Internet Stream Protocol , eksperymentalny protokół przesyłania strumieniowego, który nie został przyjęty.

Następcą IPv4 jest IPv6 . IPv6 był wynikiem kilkuletnich eksperymentów i dialogów, podczas których zaproponowano różne modele protokołów, takie jak TP/IX ( RFC  1475 ), PIP ( RFC  1621 ) i TUBA (TCP i UDP z większymi adresami, RFC  1347 ). Jego najbardziej widoczną różnicą w stosunku do wersji 4 jest rozmiar adresów. Podczas gdy IPv4 używa 32 bitów do adresowania, daje c. 4,3 miliarda (4,3 × 10 9 ), IPv6 wykorzystuje 128-bitowe adresy, zapewniając ok. 4,3 × 10 9 ) .3,4 × 10 38 adresów. Chociaż adopcja IPv6 przebiega powoli, od września 2021 r. większość krajów na świecie odnotowała znaczną adopcję IPv6, przy czym ponad 35% ruchu Google jest przenoszone przez połączenia IPv6.

Przypisanie nowego protokołu jako IPv6 było niepewne, dopóki analiza due diligence nie zapewniła, że ​​IPv6 nie był wcześniej używany. Innym protokołom warstwy internetowej przypisano numery wersji, takie jak 7 ( IP/TX ), 8 i 9 ( historyczne ). Warto zauważyć, że w dniu 1 kwietnia 1994 r IETF opublikowała April Fools' Day dowcip o IPv9. IPv9 był również używany w alternatywnym proponowanym rozszerzeniu przestrzeni adresowej o nazwie TUBA. Chińska propozycja protokołu „IPv9” z 2004 roku wydaje się nie mieć nic wspólnego z tymi wszystkimi i nie jest popierana przez IETF.

Niezawodność

Projekt zestawu protokołów internetowych jest zgodny z zasadą end-to-end , koncepcją zaadaptowaną na podstawie projektu CYCLADES . Zgodnie z zasadą end-to-end, infrastruktura sieciowa jest uważana za z natury zawodną w każdym pojedynczym elemencie sieci lub medium transmisyjnym i jest dynamiczna pod względem dostępności łączy i węzłów. Nie istnieje żaden centralny system monitorowania lub pomiaru wydajności, który śledziłby lub utrzymuje stan sieci. W celu zmniejszenia złożoności sieci , inteligencja sieci jest celowo umieszczana w węzłach końcowych .

W konsekwencji takiego projektu, protokół internetowy zapewnia jedynie dostarczanie typu „ best-effort”, a jego usługa jest określana jako zawodna . W żargonie architektury sieci jest to protokół bezpołączeniowy , w przeciwieństwie do komunikacji zorientowanej na połączenie . Mogą wystąpić różne stany błędów, takie jak uszkodzenie danych , utrata pakietów i duplikacja. Ponieważ routing jest dynamiczny, co oznacza, że ​​każdy pakiet jest traktowany niezależnie, a sieć nie utrzymuje żadnego stanu w oparciu o ścieżkę poprzednich pakietów, różne pakiety mogą być kierowane do tego samego miejsca docelowego różnymi ścieżkami, co skutkuje dostawami do odbiorca.

Wszystkie stany awaryjne w sieci muszą być wykrywane i kompensowane przez uczestniczące węzły końcowe. Do protokołów wyższych warstw pakietu protokołów internetowych są odpowiedzialne za rozwiązywanie problemów z niezawodnością. Na przykład host może buforować dane sieciowe, aby zapewnić prawidłową kolejność przed dostarczeniem danych do aplikacji.

IPv4 zapewnia zabezpieczenia zapewniające, że nagłówek pakietu IP jest wolny od błędów. Węzeł routingu odrzuca pakiety, które nie przeszły testu sumy kontrolnej nagłówka . Chociaż protokół ICMP ( Internet Control Message Protocol ) zapewnia powiadamianie o błędach, węzeł routingu nie musi powiadamiać żadnego węzła końcowego o błędach. Z kolei IPv6 działa bez sum kontrolnych nagłówka, ponieważ zakłada się , że obecna technologia warstwy łącza zapewnia wystarczającą wykrywanie błędów.

Pojemność i możliwości łącza

Dynamiczny charakter Internetu i różnorodność jego elementów nie gwarantują, że jakakolwiek konkretna ścieżka jest rzeczywiście zdolna lub odpowiednia do wykonania żądanej transmisji danych. Jednym z ograniczeń technicznych jest wielkość pakietów danych możliwych na danym łączu. Istnieją funkcje umożliwiające sprawdzenie maksymalnego rozmiaru jednostki transmisji (MTU) łącza lokalnego, a funkcja Path MTU Discovery może zostać wykorzystana dla całej zamierzonej ścieżki do miejsca docelowego.

Międzysieciowa warstwa IPv4 automatycznie fragmenty datagram do mniejszych jednostek, do przesyłania, gdy łącze MTU przekroczona. IP zapewnia ponowne zamawianie fragmentów otrzymanych poza kolejnością. Sieć IPv6 nie wykonuje fragmentacji w elementach sieciowych, ale wymaga hostów końcowych i protokołów wyższych warstw, aby uniknąć przekroczenia MTU ścieżki.

Transmission Control Protocol (TCP) jest przykładem protokołu, który dostosowuje swoją wielkość segmentu być mniejsza niż MTU. User Datagram Protocol (UDP) i wielkość ICMP lekceważenie MTU, zmuszając tym samym IP do fragmentacji datagramów ponadgabarytowych.

Bezpieczeństwo

W fazie projektowania ARPANET i wczesnego Internetu nie można było odpowiednio przewidzieć aspektów bezpieczeństwa i potrzeb publicznej, międzynarodowej sieci. W związku z tym wiele protokołów internetowych wykazywało luki ujawnione w wyniku ataków sieciowych i późniejszych ocen bezpieczeństwa. W 2008 r. opublikowano dokładną ocenę bezpieczeństwa i propozycje złagodzenia problemów. IETF prowadzi dalsze badania.

Zobacz też

Bibliografia

Zewnętrzne linki