IP adresa

Z Multimediaexpo.cz

IP adresa je jednoznačná identifikace konkrétního zařízení (typicky počítače) v prostředí Internetu. Veškerá data (ve formě datagramů), která jsou z/na dané zařízení přes počítačovou síť posílána, obsahují IP adresu odesilatele i příjemce.

Zkratka IP znamená Internet Protocol, což je protokol, pomocí kterého spolu komunikují všechna zařízení v Internetu. Dnes nejčastěji používaná je jeho čtvrtá verze (označovaná jako IPv4), postupně se však bude přecházet na novější verzi 6 (IPv6). V jiných protokolech se adresování jednotlivých zařízení může provádět jinak (viz např. MAC adresa).

Jelikož by pro běžné uživatele počítačových sítí bylo velice obtížné pamatovat si číselné adresy, existuje systém specializovaných počítačů, které převádějí zapamatovatelná doménová jména na IP adresy a opačně. Tomuto systému se říká DNS (Domain Name System).

Obsah

Adresy v IPv4

V IPv4 je adresou 32bitové číslo, zapisované po jednotlivých bajtech, oddělených tečkami. Hodnoty jednotlivých bajtů se zapisují v desítkové soustavě, např.

192.168.48.39

Takových čísel existuje celkem 232 ≈ 4×109. Určitá část adres je ovšem rezervována pro vnitřní potřeby protokolu a nemohou být přiděleny. Dále pak praktické důvody vedou k tomu, že adresy je nutno přidělovat hierarchicky, takže celý adresní prostor není možné využít beze zbytku. To vede k tomu, že v současnosti je již znatelný nedostatek IP adres, který řeší různými způsoby: dynamickým přidělováním (tzn. např. každý uživatel dial-up připojení dostane dočasnou IP adresu ve chvíli, kdy se připojí, ale jakmile se odpojí, je jeho IP adresa přidělena někomu jinému; při příštím připojení pak může tentýž uživatel dostat úplně jinou adresu), překladem adres (Network address translation) a podobně. Ke správě tohoto přidělování slouží specializované síťové protokoly, jako např. DHCP.


Struktura adresy

Adresa se v IPv4 dělí na tři základní části:

adresa sítě adresa podsítě adresa počítače

Koncepce internetu jako sítě složené ze sítí a tomu odpovídající struktura adres patří mezi novinky zavedené IP. Má velký význam pro směrování – mimo cílovou síť se směruje podle adresy sítě, a až když je IP datagram doručen do ní, začíná se brát ohled i na detailnější části adresy.

Původní koncept adresace nepočítal s podsítěmi, definoval jen adresu sítě a počítače. Později se však toto členění ukázalo jako příliš hrubé a lokální část adresy se rozdělila na podsíť a počítač. Obecně platí, že mezi adresami ve stejné podsíti (mají totožnou adresu sítě a podsítě) lze data dopravovat přímo – dotyční účastníci jsou všichni propojeni jedním Ethernetem či jinou lokální sítí. Jakmile se adresa cíle nachází v jiné síti, bude potřeba datagram předat příslušnému směrovači, aby jej dopravil dál – viz směrování.

Adresu sítě pro danou koncovou síť přiděluje poskytovatel připojení (oficiálně ji přiděluje lokální registrátor, ale tím bývá právě poskytovatel). Je třeba o ni požádat prostřednictvím standardních formulářů. Strukturu lokální části adresy – zda bude rozdělena na podsítě a jaká její část bude případně věnována adrese podsítě a jaká adrese počítače – určuje správce dotyčné sítě. Ten také přiděluje adresy.

Hranici mezi adresou podsítě a počítače určuje maska podsítě (subnet mask). Jedná se o 32bitovou hodnotu zapisovanou stejně jako IP adresa. V binárním tvaru obsahuje jedničky tam, kde se v adrese nachází síť a podsíť, a nuly tam, kde je počítač. Maska podsítě je společně s IP adresou součástí základní konfigurace síťového rozhraní, často se předává protokolem DHCP.

Adresování sítí a podsítí

V úplných začátcích Internetu bylo toto rozdělení adresy na síť a lokální část fixní: prvních osm bitů adresy určovalo síť, zbytek pak stroj v síti. To však umožňovalo pouze 256 sítí (v každé však mohlo být přes 16 milionů stanic), takže s nástupem lokálních sítí bylo zřejmé, že bude potřeba tento systém změnit. Adresy se proto rozdělily do tříd podle toho, jaká část adresy určuje síť a jaká určuje stanici v síti (přičemž dvě třídy byly vyhrazeny pro zvláštní účely). Odpovídající třída se poznala podle hodnoty prvních několika bitů (a pro člověka podle prvního bajtu):

Třídy IP adres
Třída Začátek (bin) 1. bajt Standardní maska Bitů sítě Bitů stanice Sítí Stanic v každé síti
A 0 0–127 255.0.0.0 8 24 128 16 777 216
B 10 128-191 255.255.0.0 16 16 16384 65536
C 110 192-223 255.255.255.0 24 8 2 097 152 256
D 1110 224-239 multicast
E 1111 240-255 vyhrazeno jako rezerva


Postupem času se však i toto rozdělení ukazovalo jako velice nepružné a s rostoucím nedostatkem adres se hledaly způsoby na vylepšení tohoto systému. Od roku 1993 se pak začal používat tzv. Classless Inter-Domain Routing (CIDR, beztřídní mezidoménové směrování), ve kterém je možno předěl mezi adresou sítě a lokální částí adresy umisťovat libovolně. Daná adresa se pak značí kombinací prefixu a délky ve formě

192.168.24.0/21

což znamená, že takto určená síť je určena prvními 21 bity adresy, zbytek je adresa stanice (případně podsítě), takže tato síť používá rozsah adres 192.168.24.0–192.168.31.255.

Vyhrazené adresy

Mezi adresami nesmí být stanice s adresou sítě ani adresou stanice tvořenou samými bity 1 nebo samými bity 0 – tyto adresy jsou vyhrazeny pro zvláštní použití (nulová adresa znamená „tato síť“, resp. „tato stanice“, jedničková adresa se používá pro všesměrové vysílání, broadcast).

Adresy 127.x.x.x (tzv. localhost, nejčastěji se používá adresa 127.0.0.1) jsou rezervovány pro tzv. loopback, logickou smyčku umožňující posílat pakety sám sobě.

Dále jsou vyčleněny rozsahy tzv. interních (neveřejných) IP adres, které se používají pouze pro adresování vnitřních sítí (např. lokálních), na Internetu se nikdy nemohou objevit. Jako neveřejné jsou určeny adresy:

  • ve třídě A: 10.0.0.0 až 10.255.255.255 (celkem 16 777 216 adres)
  • ve třídě B: 172.16.0.0 až 172.31.255.255 (celkem 1 048 576 adres)
  • ve třídě C: 192.168.0.0 až 192.168.255.255 (celkem 65 536 adres)

Adresy v IPv6

Trvalejším řešením problémů s nedostatkem adres by měla být nová verze protokolu, označovaná IPv6, která se ovšem zatím rozšiřuje jen velice pozvolna. V IPv6 má adresa délku 128 bitů, což znamená, že počet možných adres je 2128 ≈ 3×1038. To je astronomicky velké číslo; pro představu: teoreticky se jedná o 6×1023 IP adres na 1 m² zemského povrchu. I pokud započítáme, že i v IPv6 je potřeba velkou část adres rezervovat a adresní prostor opět nelze dokonale využít, je těchto adres dostatek na to, aby každé zařízení připojitelné do internetu dostalo svou vlastní jedinečnou adresu.

Adresa IPv6 se zapisuje jako osm skupin po čtyřech hexadecimálních číslicích, například:

2001:0718:1c01:0016:0214:22ff:fec9:0ca5

Úvodní nuly v každé skupině lze ze zápisu vynechat. Výše uvedenou adresu tedy lze psát ve tvaru

2001:718:1c01:16:214:22ff:fec9:ca5

Pokud adresa obsahuje několik po sobě jdoucích nulových skupin, lze místo nich zapsat jen „::“. Tato zkratka smí být v adrese jen jedna. Používá se často u prefixů pro nulový konec adresy či u speciálních adres, jako je loopback (smyčka), jejíž tvar ::1 je podstatně příjemnější, než 0000:0000:0000:0000:0000:0000:0000:0001.

Adresní architekturu IPv6 definuje RFC 4291. Zavádí tři typy adres:

  • Individuální (unicast) která identifikují právě jedno síťové rozhraní.
  • Skupinové (multicast) označují skupinu síťových rozhraní, jejímž členům se mají data dopravit. Skupinově adresovaný datagram se doručuje všem členům skupiny.
  • Výběrové (anycast) označují také skupinu síťových rozhraní, data se však doručují jen jejímu nejbližšímu členovi.

IPv6 neobsahuje všesměrové (broadcast) adresy. Byly nahrazeny obecnějším modelem skupinových adres a pro potřeby doručení dat všem zařízením připojeným k určité síti slouží speciální skupinové adresy (např. ff02::1 označuje všechny uzly na dané lince).

IPv6 zavádí také koncepci dosahu (scope) adres. Adresa je jednoznačná vždy jen v rámci svého dosahu. Nejčastější dosah je pochopitelně globální, kdy adresa je jednoznačná v celém Internetu. Kromě toho se často používá dosah linkový, definující jednoznačnou adresu v rámci jedné linky (lokální sítě, např. Ethernetu). Propracovanou strukturu dosahů mají skupinové adresy (viz níže).

Adresní prostor je rozdělen následovně:

prefix význam
::/128 neurčená
::1/128 smyčka (loopback)
ff00::/8 skupinové
fe80::/10 individuální lokální linkové
ostatní individuální globální

Výběrové adresy nemají rezervovánu svou vlastní část adresního prostoru. Jsou promíchány s individuálními a je otázkou lokální konfigurace, aby uzel poznal, zda se jedná o individuální či výběrovou adresu.

Individuální adresy

Strukturu globálních individuálních IPv6 adres definuje RFC 3587. Je velmi jednoduchá a de facto odpovídá (až na rozměry jednotlivých částí) výše uvedené struktuře IPv4 adresy.

n bitů 64-n bitů 64 bitů
globální směrovací prefix adresa podsítě adresa rozhraní

Globální směrovací prefix je de facto totéž co adresa sítě, následuje adresa podsítě a počítače (přesněji síťového rozhraní). V praxi je adresa podsítě až na výjimky 16bitová a globální prefix 48bitový. Ten je pak přidělován obvyklou hierarchií, jejíž stávající pravidla jsou:

  • první dva bajty obsahují hodnotu 2001 (psáno v šestnáctkové soustavě)
  • další dva bajty přiděluje regionální registrátor (RIR)
  • další dva bajty přiděluje lokální registrátor (LIR)

Reálná struktura globální individuální adresy tedy vypadá následovně:

16 bitů 16 bitů 16 bitů 16 bitů 64 bitů
2001 přiděluje RIR přiděluje LIR adresa podsítě adresa rozhraní

Adresa rozhraní by pak měla obsahovat modifikovaný EUI-64 identifikátor. Ten získáte z MAC adresy jednoduchým postupem: invertuje se druhý bit MAC adresy a doprostřed se vloží dva bajty obsahující hodnotu fffe. Z ethernetové adresy 00:14:22:c9:0c:a5 tak vznikne identifikátor 0214:22ff:fec9:0ca5.

Skupinové adresy

Sktrutura skupinové adresy je definována v RFC 4291. Vypadá takto:

8 bitů 4 bity 4 bity 112 bitů
ffff příznaky dosah identifikátor skupiny

Příznaky jsou definovány tři:

  • T (Transient) rozlišuje adresy dočasné (T=1) od trvalých (T=0)
  • P (Prefix) se používá pro skupinové adresy vycházející z individuálního prefixu definované v RFC 3306.
  • R (Rendezvous Point) umožňuje do skupinové adresy zakódovat adresu rendezvous pointu pro protokol PIM-SM (definuje RFC 3956).

Velmi podstatná je hodnota dosahu, která omezuje šíření skupinově adresovaných dat. Pokud je dosah řekněme 2, je adresa omezena na jednu linku (lokální síť) a nebude šířena za její hranice. Čili datagram se předá řekněme v rámci jednoho Ethernetu, ale žádné z připojených zařízení je už nebude šířit nikam dál. Definované dosahy jsou:

hodnota význam
0rezervováno
1jediné rozhraní (interface-local)
2linka, síť linkové vrstvy (link-local)
3rezervováno
4administrativně definovaná síť (admin-local)
5místo, koncová síť (site-local)
6nepřiřazeno
7nepřiřazeno
8organizace (organization-local)
9nepřiřazeno
Anepřiřazeno
Bnepřiřazeno
Cnepřiřazeno
Dnepřiřazeno
Eglobální
Frezervováno

Identifikátor rozhraní pak obsahuje identifikátor skupiny, jednoznačný v daném rozsahu.

Externí odkazy