|
IPv4 (ang. Internet Protocol version 4) - czwarta wersja protokołu komunikacyjnego IP przeznaczonego dla Internetu. Identyfikacja hostów w IPv4 opiera się na adresach IP. Dane przesyłane są w postaci standardowych datagramów. Wykorzystanie IPv4 jest możliwe niezależnie od technologii łączącej urządzenia sieciowe – sieć telefoniczna, kablowa, radiowa, itp. IPv4 znajduje się obecnie w powszechnym użyciu. Dostępna jest również nowsza wersja - IPv6. Dokładny opis czwartej wersji protokołu IP znajduje się w RFC 791. W modelu DoD protokół IPv4 znajduje się w warstwie sieciowej.
Budowa datagramu
Pierwsze, 4-bitowe pole zawiera numer wersji protokołu IP (dla IPv4 jest to 4). Kolejne 4-bitowe pole zawiera długość samego nagłówka protokołu (bez danych). Następne 8 bitów prezentuje tzw. "typ usługi" (ang. Type of Service). Jest to najbardziej podstawowy sposób wyznaczania priorytetu danego datagramu. Na podstawie ToS routery mogą szybciej (np. dla sesji SSH), lub wolniej (np. dla przesyłania danych) przepuszczać przez siebie dane datagramy, zwiększając bądź też zmniejszając w ten sposób interaktywność transmisji. Kolejnym 16-bitowym polem jest całkowita długość pakietu (razem z danymi). Jego długość (wynosząca 2^16) umożliwia ustawienie rozmiaru pakietu na 65536 bajtów. Warto dodać, że minimalny rozmiar pakietu to 20 bajtów. Kolejne 16-bitowe pole to numer identyfikacyjny, potrzebny między innymi do fragmentacji i defragmentacji pakietów. Kolejnym 3-bitowym polem są flagi, które są używane przy fragmentacji pakietów. Następne 13-bitowe pole służy do odpowiedniego "poukładania" pofragmentowanych pakietów w taki sposób, aby dane zawarte w tych pakietach miały taki sam układ, jak w pakiecie przed fragmentacją. Pole TTL (8 bitów) to czas życia pakietów (ang. time to live). Jest to liczba z zakresu 0-255. Przy przechodzeniu pakietu przez router jest ona zmniejszana o jeden. W momencie osiągnięcia przez TTL zera, router zatrzymuje i "zabija" pakiet. Kolejne, 8-bitowe pole to numer protokołu warstwy wyższej, takimi jak ICMP (1), TCP (6) czy UDP (17). Następnym polem jest suma kontrolna nagłówka pakietu. Służy ona kontroli, czy wszystkie dane zostały przetransmitowane. Przy każdej zmianie zawartości pakietu, router oblicza sumę kontrolną dla pakietu i zapisuje ją w odpowiednim polu. Dalsze pola zawierają adres źródłowy i docelowy. To właśnie na podstawie nich można określić pochodzenie i miejsce docelowe pakietu w sieci. Ostatnim, 32-bitowym polem są opcje, które w normalnej transmisji zwykle nie są używane. Pole Padding (wypełnienie) jest opcjonalne i jego zawartością są zera dopełniające długość nagłówka do wielokrotności 32 bitów Adres IPAby możliwa była komunikacja w protokole IP konieczne jest nadanie każdemu hostowi adresu IP czyli unikalnego identyfikatora, który pozwoli na wzajemne rozpoznawanie się poszczególnych uczestników komunikacji. Użytkownicy Internetu nie muszą znać adresów IP. Nazwa www.wikipedia.org jest tłumaczona na adres IP dzięki wykorzystaniu protokołu DNS. Adres IP jest dostarczany każdemu użytkownikowi przez dostawcę internetu (ISP). Może być przydzielany statycznie lub dynamicznie. Zapotrzebowanie na adresy IP jest tak duże, że pula nieprzydzielonych adresów zaczyna się wyczerpywać. Adresy i maskiW IPv4, czyli obecnym standardzie adresowania internetu, adres IP to liczba 32-bitowa (od 0 do 4294967295), zapisywana w porządku big endian. Liczby w adresie IP nazywają się oktetami, ponieważ w postaci binarnej mają one osiem bitów. Te osiem bitów daje w sumie 256 kombinacji, więc każdy oktet przedstawia liczbę od 0 do 255. Najpopularniejszy sposób zapisu adresów IP, to przedstawianie ich jako 4 dziesiętnych liczb od 0 do 255 oddzielonych kropkami. W rzeczywistości komputery traktują adres Wikipedii jako liczbę 32-bitową: 3482223596 Taki zapis jest mało czytelny, wobec czego stosuje się podział adresu IP na cztery oktety. Adres Wikipedii zapisujemy binarnie: 11001111 10001110 10000011 11101100 po czym każdą grupę 8-bitów przekształcamy do postaci dziesiętnej: 207 142 131 236 Z adresowaniem IP wiąże się pojęcie maski sieciowej. Wyobraźmy sobie sieć złożoną z 3 komputerów o adresach: Komputer 1: 192.168.1.1 Komputer 2: 192.168.1.2 Komputer 3: 192.168.1.3 Łatwo zauważyć, że początek adresu dla wszystkich z nich jest ten sam, a końcówka się zmienia. Aby ściśle zdefiniować adresy przynależne do danej sieci wymyślono pojęcie maski podsieci. Umawiamy się, że określona ilość pierwszych bitów adresu IP ma być taka sama, a pozostałe bity w sieci mogą się różnić. W ten sposób powstaje proste kryterium, pozwalające komputerom na określenie swojego położenia na podstawie adresu. Maskę sieci zapisuje się podobnie jak adres IP. Dla przykładu 255.255.255.0 co binarne daje: 11111111 11111111 11111111 00000000 255 255 255 0 Jeżeli komputery oprócz komunikacji w swojej sieci lokalnej mają łączyć się z internetem, to maska sieciowa staje się bardzo ważna. Gdy urządzenie sieciowe stwierdzi, że adres docelowy, z którym chce wymieniać dane nie pasuje do maski, to próbuje się z nim łączyć przez bramę sieciową. Porównywanie opiera się na zerowaniu w adresie bitów równych zeru w masce (logiczny AND bitów maski i adresu IP). Jeżeli komputer 3 łączy się komputerem 2, to wykonuje następujące operacje:
Maska 11111111 11111111 11111111 00000000
255 255 255 0
Mój IP 11000000 10101000 00000001 00000011
192 168 1 3
Wynik a 11000000 10101000 00000001 00000000
192 168 1 0
Maska 11111111 11111111 11111111 00000000
255 255 255 0
Docelowy IP 11000000 10101000 00000001 00000010
192 168 1 2
Wynik b 11000000 10101000 00000001 00000000
192 168 1 0
Wynik a oraz Wynik b są równe wobec czego komputer 3 wie, że komputer 2 jest w tej samej podsieci. Jeżeli komputer 3 będzie chciał pobrać stronę z serwera Wikipedii to operacja porównania będzie następująca:
Maska 11111111 11111111 11111111 00000000
255 255 255 0
Mój IP 11000000 10101000 00000001 00000011
192 168 1 3
Wynik a 11000000 10101000 00000001 00000000
192 168 1 0
Maska 11111111 11111111 11111111 00000000
255 255 255 0
IP Wikipedii 11001111 10001110 10000011 11101100
207 142 131 236
Wynik b 11001111 10001110 10000011 00000000
207 142 131 0
Jak widać wynik a, oraz wynik b są różne. W takiej sytuacji komputer 1 będzie się próbował połączyć z Wikipedią przez skonfigurowaną w nim bramę sieciową. Rozdzielanie adresów
W adresach klasy A tylko pierwszy oktet wskazuje adres sieci; pozostałe trzy oktety opisują unikatowy adres węzła w sieci. Choć jest tylko 127 adresów sieci klasy A, każdy taki adres może obejmować w przybliżeniu 17 milionów węzłów. Jak nietrudno zgadnąć, adresy klasy A zostały przyznane organizacjom rządowym i wielkim instytucjom. Adresy klasy B używają pierwszych dwóch oktetów do wskazania adresu sieci i ostatnich dwóch jako unikatowego węzła sieci. Z uwagi na większą długość, adresów klasy B jest więcej, ale w ramach każdego można unikatowo opisać tylko około 65 000 węzłów. W adresach klasy C używa się pierwszych trzech oktetów jako adresu sieciowego i tylko ostatniego oktetu jako adresu węzła. Stąd istnieje wiele dostępnych adresów klasy C, ale każdy z nich może być użyty tylko do 254 węzłów. Ze względu na skończoną ilość adresów oraz konieczność ich agregacji dla celów uproszczenia routingu powstały Regionalne Rejestry Internetowe (ang. RIR) - organizacje zajmujące się przydzielaniem puli adresów dla poszczególnych dostawców Internetu (ang. ISP). Organizacją nadrzędną jest Agencja Zarządzania Numeracją Internetową (ang. IANA), która zajmuje się dystrybucją poszczególnych klas A. Do organizacji regionalnych należą:
Jeżeli ISP potrzebuje więcej adresów zwraca się do właściwej organizacji regionalnej i otrzymuje kolejny zakres numerów IP. Dla przykładu ARIN przydzielił adresy od 64.78.200.0 do 64.78.207.255 firmie Verado, Inc, która przekazała pulę od 64.78.205.0 do 64.78.205.15 firmie Bomis. Bomis adres 64.78.205.6 udostępnił Wikipedii. Powszechnie panuje pogląd, że pula dostępnych adresów jest na wyczerpaniu, jednak w oficjalnym zestawieniu zajętości adresacji IP jest jeszcze wiele bloków zarezerwowanych przez IANA ([[1]]). Adresy należące do puli 127.0.0.0/8 (127.x.x.x) są przypisane do urządzenia loopback i zawsze odnoszą się do komputera lokalnego. Adres 0.0.0.0 to adres domyślny (ang. default). Prywatne adresy IPv4Istnieje pula prywatnych adresów IP. Mogą być one wykorzystane tylko w sieciach lokalnych. Infrastruktura Internetu ignoruje te adresy IP. IANA (Internet Assigned Numbers Authority) zarezerwował następujące trzy bloki przestrzeni adresów IP dla prywatnych sieci:
Adresy prywatne można wykorzystywać za pomocą lokalnych routerów w sieciach lokalnych, ale nie działają one w publicznej części internetu. Jeżeli administrator sieci lokalnej przydzieli swoim komputerom adresy IP z puli prywatnej, to routery mogą łatwo rozpoznać kiedy komputery chcą się łączyć z internetem. W takiej sytuacji brama internetowa wykorzystuje technikę maskowania adresów sieciowych NAT, która pozwala na łączenie się z internetem komputerom nie posiadającym własnych publicznych adresów IP. Komputery z adresami prywatnymi nie mogą pełnić roli serwerów sieciowych w Internecie chyba, że posłużymy się techniką maskowania adresów docelowych (DNAT). Automatyczne przydzielanie adresów IPv4 może być realizowane poprzez zastosowanie protokołów DHCP, RARP, BOOTP, PPP. Wykorzystanie adresów IPv4Początkowo wszystkie adresy IPv4 były zarządzane bezpośrednio przez IANA, która w zależności od wnioskowanych potrzeb przydzielała określoną pulę adresów klasy A, B lub C. Wielkie firmy, jak Xerox, Ford czy IBM automatycznie otrzymywały po ponad 16 mln adresów internetowych, nawet jeżeli tak duża liczba nie była im potrzebna. Jeżeli mała firma z kilkunastoma węzłami chciała podłączyć się do Internetu przyznawano jej adresy z klasy C. To z kolei dawało jej kontrolę nad ponad dwustoma adresami węzłów, z których nikt inny nie mógłby skorzystać. Ze względu na marnotrawstwo oraz niespodziewanie duże zapotrzebowanie na adresację internetową z całego świata zmieniono zasady i powołano do życia organizacje regionalne, których zadaniem stało się nadzorowanie wykorzystania dostępnych adresów. Obecnie klasy A przydzielane są organizacjom regionalnym, te dalej rozdzielają je do ISP w blokach po 4 klasy C (1024 adresy), a następnie ISP przydzielają adresy swoim klientom. Duży nacisk kładzie się na wykorzystywanie mechanizmów NAT, umożliwiających korzystanie z jednego adresu zewnętrznego przez wiele urządzeń posiadających adresy lokalne. W ten sposób ogranicza się przydzielanie adresów urządzeniom (tj. drukarki, access pointy, itp) działającym jedynie w obrębie zamkniętych sieci. Wciąż można dostać przypisanie do klasy C dla swojej organizacji, ale staje się to coraz trudniejsze. Trzeba wykazać rzeczywistą potrzebę dysponowania taką liczbą adresów. Istnieją koncepcje, według których każde urządzenie elektroniczne ma zostać podłączone do Internetu. W takiej sytuacji pula adresów IPv4 będzie stanowczo za mała. Z tego powodu nastąpi prawdopodobnie przejście z protokołu IPv4 na IPv6 który zwiększy o cztery rzędy wielkości pulę dostępnych adresów. W ramach klasy C adresów istnieje podział na tzw. podsieci (subnets). Rozmiar podsieci wyznaczany jest przez jej maskę. Najmniejszą podsiecią jest sieć składająca się z 4 adresów, największą ze 128. Dla sieci 4 komputerowej maska wynosi: 256 - 4 = 252 (NETMASK = 255.255.255.252). Dla tak wyznaczonej podsieci można określić następujące parametry:
W praktyce maska 255.255.255.252 oznacza, iż do sieci tej można podłączyć 2 komputery i używana jest przez administratorów sieci komputerowych do spinania poszczególnych segmentów sieci. Aby znaleźć adres rozgłoszeniowy musimy przekształcić Adres IP oraz maskę podsieci na system binarny:
Teraz patrzymy na maskę i zamiast zer wpisujemy w adresie IP jedynki. To jest nasz adres rozgłoszeniowy (broadcast):
Zobacz teżLinki zewnętrzneWarstwa aplikacji Warstwa transportowa Warstwa sieciowa Warstwa dostępu do sieci |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net