|
IP - Internet Protocol - (IPv4 - protokół internetowy wersja 4)
jest bezpołączeniowym protokołem komunikacyjnym, generującym usługi
datagramowe. Datagramy są to pakiety IP, zawierające między innymi adres
IP źródła i miejsca przeznaczenia oraz całość lub fragment danych
przekazywanych między źródłem a miejscem przeznaczenia. Przepływ
datagramów w sieci IP odbywa się bez kontroli kolejności dostarczania ich
do miejsca przeznaczenia, kontroli błędów i bez potwierdzania odbioru.
W tej
sytuacji za uporządkowanie pakietów IP we właściwej kolejności i
sprawdzenie, czy dotarły wszystkie i bez błędów, jest odpowiedzialny
odbiorca. Tak znaczne uproszczenie funkcji wykonywanych w czasie
transportu datagramów sprawia, że protokół IP jest szybki i efektywny.
Protokół
IP (Internet Protocol) został zaprojektowany w celu umożliwienia
współdziałania wielu systemów typu host. Znalazł szerokie zastosowanie
w sieciach lokalnych LAN i WAN. IP łącznie z TCP (Transmission Control
Protocol) są oficjalnymi protokołami sieci Internet. W sieciach z
protokołem IP przepływem pakietów sterują routery IP (IP router)
łączące sieci przyłączone albo lokalnie, albo zdalnie i przesyłające
datagramy pomiędzy nimi.
Protokoły TCP/IP
Protokoły
TCP/IP i przełączanie pakietów stanowią podstawę Internetu, a także i
intrasieci (intranetów). TCP/IP jest zbiorem protokołów tworzących
stos (w sensie kolejności ich wykonywania), współpracujących ze sobą w
celu zapewnienia komunikacji w Internecie (intrasieci). Protokół ten
opiera się na modelu warstw sieciowych ISO/OSI. Do każdej takiej
warstwy są przypisane protokoły określające jej przeznaczenie. Model
ISO/OSI definiuje siedem warstw funkcjonalnych sieci; TCP/IP
wykorzystuje pięć protokołów tego modelu.
Adresacja internetowa - adres IP
Każdy
węzeł sieci TCP/IP musi mieć przyporządkowany 4-bajtowy adres (adres
IP) identyfikujący zarówno sieć, jak i lokalnego hosta lub węzeł sieci.
Adres IP jest zapisywany w formie czterech grup cyfr oddzielonych
kropkami (np. 191.33.139.98).
W
przypadku sieci nie związanych z Internetem adres IP może być
arbitralnie wybrany i ustalony przez administratora sieci w momencie
dołączania do niej nowych węzłów (w niektórych przypadkach, stacja
robocza może zwrócić się do serwera o nadanie adresu dynamicznego,
przyznawanego na czas połączenia, np. w PPP, DHCP).
W
sytuacji podłączania urządzeń do Internetu adres IP musi być
uzgodniony i zarejestrowany w Network Information Center (NIC), nad
którym zarząd powierzono firmie Network Solutions z USA.
W związku z niedoskonałością adresu IP w wersji 4, polegającą na zbyt
małej ilości adresów, jaką można uzyskać na 32 bitach, stworzono jego
wersję 6 (IPv6), która rozszerza zakres adresacji do 128 bitów.
Klasy adresów IP ( IPv4)
Adresy IP (IPv4) podzielono na 5 klas:
- klasa A - 8-mio bitowa maska daje unicastowe adresy IP od 0.0.0.0 do 127.255.255.255
- klasa B - 16-to bitowa maska daje unicastowe adresy IPod 128.0.0.0 do 191.255.255.255
- klasa C - 24-ro bitowa maska daje unicastowe adresy IP od 192.0.0.0 do 223.255.255.255
- klasa D - multicastowe adresy IP od 224.0.0.0 do 239.255.255.255
- klasa E - zarezerwowane adresy IP od 240.0.0.0 do 239.255.255.255
Budowa pakietu IP
Poniższy rysunek przedstawia pola pakietu IP.
Wersja IP: 4-bitowe pole wersji nagłówka IP, tylko wersja 4.
Dł. nagł.:
4-bitowe pole IHL (Internet Header Length) długości nagłówka IP
wyrażona w 32 bitowych słowach, minimalna długość wynosi 5 (5x32bity).
TOS: 8-bitowe pole Type of Service (typ usługi) to informacja o pożądanej jakości usługi (RFC791).
Bity 0-2: Precedens.
Bit 3: 0 =
Normalne opóźnienie (Delay), 1 = Niskie
opóźnienie.
Bits 4: 0 = Normalna przepływność (Throughput, 1 = Wysoka przepływność.
Bits 5: 0 = Normalna niezawodność (Reliability), 1 = Wysoka niezawodność.
Bit 6-7: Zarezerwowane.
Precedens:
111 - Network Control
110 - Internetwork Control
101 - CRITIC/ECP
100 - Flash Override
011 - Flash
010 - Immediate
001 - Priority
000 - Routine
W RFC1349 przedefiniowano TOS do 4-bitów:
1000 -- minimalizuj opóźnienia
0100 -- maksymalizuj przepływność
0010 -- maksymalizuj niezawodność
0001 -- minimalizuj koszt pieniężny
0000 -- normalna usługa - domyślny TOS
W RFC2474 pole TOS zostało całkowicie przedefiniowane na pole DSCP (usługi zróżnicowane)
DSCP: Differentiated Services CodePoint - pole usług zróżnicowanych
CU: Currently Unused - brak zastosowania
W RFC3168 pole DSCP zostało zmodyfikowane i dodane pole ECN - Explicit Congestion Notification (jawnej informacji o natłoku):
DSCP: Differentiated Services CodePoint
ECN: Explicit
Congestion Notification
Całkowita Długość:
16-bitowe pole długości datagramu IP, mierzona w bajtach łącznie z
nagłówkiem IP i danymi. Pole daje możliwość zaadresować 65535 bajtów.
Identyfikacja fragmentacji: 16-bitowe
pole, którego wartość pomaga złożyć datagram IP, który został poddany
procesowi fragmentacji (podzielenia na mniejsze fragmenty).
Znacznik: 3-bitowe pole Flag (znaczników) sterujących:
Bit 0: zarezerwowany, wartość zero;
Bit 1: (DF) 0 = można fragmentować, 1 = nie fragmentuj (Don't Fragment).
Bit 2: (MF) 0 = ostatni fragment, 1 = więcej fragmentów (More Fragments).
Przesunięcie fragmentacji: 13-bitowe pole offsetu wskazujące, gdzie w datagramie dany fragment należy umieścić.
TTL:
8-bitowe pole Time-To-Live mówiące jak długo datagram IP może pozostać
w sieci. Wartość zmniejsza się o jeden przy przejściu przez każdy
router. Po osiągnięciu wartości 0, datagram musi osiągnąć sieć
przeznaczenia bądź zostanie odrzucony.
Przenoszony protokół: 8-bitowe pole protokołu, mówiące jaki protokół następnego poziomu jest przenoszony w datagramie IP. (patrz niżej )
CRC nagłówka:
16-bitowe pole sumy kontrolnej CRC nagłówka, liczone za każdym razem
przy przejściu przez router, gdyż zmieniane jest tam pole TTL.
IP Source Address: 32-bitowe pole adresu IP źródłowego, czyli nadawcy datagramu IP.
IP Destination Address: 32-bitowe pole adresu IP przeznaczenia, czyli odbiorcy datagramu IP.
Dodatkowe opcje IP: pole zmienne - ewentualne opcje to np. Timestamp (znacznik czasu), zapis trasy datagramy IP, identyfikacja strumienia.
Dane użytkownika: dane protokołu następnego poziomu.
Protokoły przenoszone w IPv4
W nagłówku IP 8 bitowe pole "przenoszonych protokołów" (czyli 255 różnych wartości) zawiera informację jaki protokół następnego poziomu jest w danym pakiecie IP przenoszony. Tymi protokołami są m.in.:
0 HOPOPT IPv6 Hop-by-Hop Option
1 ICMP Internet Control Message
2 IGMP Internet Group Management
4 IP IP in IP (encapsulation)
6 TCP Transmission Control Protocol
8 EGP Exterior Gateway Protocol
9 IGP Cisco IGRP
17 UDP User Datagram Protocol
41 IPv6 Ipv6
43 IPv6-Route Routing Header for IPv6
44 IPv6-Frag Fragment Header for IPv6
45 IDRP Inter-Domain Routing Protocol
46 RSVP Reservation Protocol
47 GRE General Routing Encapsulation
50 ESP Encap Security Payload
51 AH Authentication Header
58 IPv6-ICMP ICMP for IPv6
59 IPv6-NoNxt No Next Header for IPv6
60 IPv6-Opts Destination Options for IPv6
88 EIGRP Cisco EIGRP
103 PIM Protocol Independent Multicast
108 IPComp IP Payload Compression Protocol
112 VRRP Virtual Router Redundancy Protocol
115 L2TP Layer Two Tunneling Protocol
132 SCTP Stream Control Transmission Protocol
133 FC Fibre Channel
137 MPLS-in-IP MPLS in IPv4
|