IP adresa

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

IP adresa je v informatice číslo, které jednoznačně identifikuje síťové rozhraní v počítačové síti, která používá IP (internetový protokol). V současné době je nejrozšířenější verze IPv4, která používá 32bitové adresy zapsané dekadicky po jednotlivých oktetech (osmicích bitů), například 192.168.0.2. Z důvodu nedostatku IP adres je postupně nahrazován protokolem IPv6, který používá 128bitové IP adresy zapsané hexadecimálně, například 2001:db8:0:1234:0:567:8:1.

Charakteristika[editovat | editovat zdroj]

IP adresa slouží k rozlišení síťových rozhraní připojených k počítačové síti. Síťovým rozhraním může být síťová karta (Ethernet, Wi-Fi), IrDA port, ale může se jednat i o virtuální zařízení (loopback, rozhraní pro virtuální počítač a podobně).

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 (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).

IP protokol byl původně vyvinut pro potřeby komunikace v Internetu. IP adresa musí být v dané síti jednoznačná (jedno rozhraní může mít více IP adres, ale stejná IP adresa nemůže být na více rozhraních), avšak lze používat NAT a privátní IP adresy (viz níže).

Veškerá data jsou mezi síťovými rozhraními přenášena v podobě IP datagramů.

Jelikož by pro běžné uživatele počítačových sítí bylo velice obtížné pamatovat si číselné adresy, existuje služba DNS (Domain Name System), která umožňuje používat snadněji zapamatovatelná doménová jména počítačů, která jsou automaticky převáděna na IP adresy.

Adresy v IPv4[editovat | editovat zdroj]

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 294 967 296. 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[editovat | editovat zdroj]

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 sí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.

Třídy IP adres[editovat | editovat zdroj]

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 byly proto rozděleny do tříd podle toho, jaká část IP adresy určuje síť a jaká část IP adresy určuje síťové rozhraní v síti (tj. počítač). První dvě třídy byly vyhrazeny pro zvláštní účely. Odpovídající třída byla určena hodnotami prvních několika bitů v IP adrese (z pohledu člověka tedy 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 7 24 27 = 128 224−2 = 16 777 214
B 10 128–191 255.255.0.0 14 16 214 = 16384 216−2 = 65 534
C 110 192–223 255.255.255.0 21 8 221 = 2 097 152 28−2 = 254
D 1110 224–239 multicast
E 1111 240–255 vyhrazeno jako rezerva
Rozsahy IP adres a masky sítě
Třída 1. bajt minimum maximum maska podsítě
A 0–127 0.0.0.0 127.255.255.255 255.0.0.0
B 128–191 128.0.0.0 191.255.255.255 255.255.0.0
C 192–223 192.0.0.0 223.255.255.255 255.255.255.0
D 224–239 224.0.0.0 239.255.255.255 255.255.255.255
E 240–255 240.0.0.0 255.255.255.255

Například síť třídy A je taková síť, kde první číslo čtyřčíselné IP adresy označuje síť a zbylá tři čísla označují adresu hostitele. Třída B používá první dvě pro označení síťové adresy a zbývající dvě pro hostitele a síť třídy C používá první tři čísla pro označení sítě a poslední pro označení hostitele.

Classless delegace[editovat | editovat zdroj]

Související informace naleznete také v článku Classless Inter-Domain Routing.

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í původního systému. Od roku 1993 je používáno tzv. CIDR (Classless Inter-Domain Routing, beztřídní mezidoménové směrování), ve kterém je možno v IP adrese hranici mezi číslem sítě a číslem počítače umisťovat libovolně (mezi dva libovolné bity). Adresa síťového rozhraní je pak zapisována pomocí IP adresy a délky prefixu (místo prefixu, který určuje délku čísla sítě v bitech lze použít i desítkový zápis masky sítě), například:

192.168.24.0/21
192.168.24.0/255.255.248.0

Výše uvedené zápisy jsou totožné a vyjadřují, že číslo sítě je určeno prvními 21 bity adresy, zbytek IP adresy je číslo síťového rozhraní, takže tato síť používá rozsah adres 192.168.24.0–192.168.31.255.

Související informace naleznete také v článku Maska sítě.

Vyhrazené adresy[editovat | editovat zdroj]

Nejnižší adresa v síti (s nulovou adresou stanice) slouží jako označení celé sítě (např. „síť 192.168.24.0“), nejvyšší adresa v síti (adresa stanice obsahuje samé binární jedničky) slouží jako adresa pro všesměrové vysílání (broadcast), takové adresy tedy nelze použít pro normální účely.

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 (tzv. privátní IP adresy), 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 1krát 16 777 216 adres; tj. 16 777 216 adres, z nichž je použitelných jen 16 777 214)
  • ve třídě B: 172.16.0.0 až 172.31.255.255 (celkem 16krát 65 536 adres; tj. 1 048 576 adres, z nichž je použitelných jen 1 048 544)
  • ve třídě C: 192.168.0.0 až 192.168.255.255 (celkem 256krát 256 adres; tj. 65 536 adres, z nichž je použitelných jen 65 024)
Související informace naleznete také v článku Privátní síť.

Adresy v IPv6[editovat | editovat zdroj]

Trvalejším řešením problémů s nedostatkem adres je nová verze protokolu, označovaná IPv6, která je ovšem stále využívána jen menšinou zařízení připojených k internetu. V IPv6 adresa má 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[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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

8 bitů 4 bity 4 bity 112 bitů
ff 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
0 rezervováno
1 jediné rozhraní (interface-local)
2 linka, síť linkové vrstvy (link-local)
3 rezervováno
4 administrativně definovaná síť (admin-local)
5 místo, koncová síť (site-local)
6 nepřiřazeno
7 nepřiřazeno
8 organizace (organization-local)
9 nepřiřazeno
A nepřiřazeno
B nepřiřazeno
C nepřiřazeno
D nepřiřazeno
E globální
F rezervováno

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