IP adresa
IP adresa (anglicky IP address) je v informatice číslo, které jednoznačně identifikuje síťové rozhraní v počítačové síti, která používá IP protokol. V současné době je nejrozšířenější IPv4, která používá 32bitové IP adresy, které jsou zapisovány dekadicky po jednotlivých oktetech (tj. po osmicích bitů), například 192.168.0.2
. Z důvodu nedostatku adres je IPv4 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
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 přechází 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 (např. www.seznam.cz).
IPv4 adresy
Internet protokol používá od začátku tzv. IPv4 formát IP adresy. IP adresou je v IPv4 32bitové číslo, které je definováno jako čtyři oktety, tj. čtyři osmice bitů (ne všechny počítače v minulosti používaly osmibitové slovo, resp. bajt). V běžném textu je IP adresa zapisována čtyřmi desítkovými čísly oddělenými tečkami, kde každé číslo reprezentuje jednu osmici z IP adresy (tj. jeden bajt), např.
192.168.48.39
Protože se jedná o 32bitové číslo, lze takových IP adres zapsat 232 (tj. zhruba 4 miliardy, přesně je to 4 294 967 296). Rozsah použitelných adres se nazývá adresní prostor. Adresní prostor IPv4 však nikdy nebude obsahovat 4 miliardy adres, protože určitá jeho část je rezervována pro jiné potřeby protokolu a nemohou být použity. Dále jsou z praktických důvodů (viz směrování) IP adresy shlukovány do větších celků, čímž se adresní prostor dále zmenšuje. V souvislosti s prudkým rozmachem počítačů v domácnostech to vedlo k vyčerpání IPv4 adres.
Struktura adresy
Adresa se v IPv4 dělí na tři základní části:
číslo sítě | číslo podsítě | číslo síťového rozhraní |
Tyto tři části umožňují, aby bylo snadné určit umístění IP adresy na světě. Jedná se o obdobu poštovní adresy (stát, ulice, jméno adresáta). Hranici mezi adresou síťového rozhraní a počítače určuje maska sítě, která v binárním tvaru obsahuje jedničky tam, kde se v adrese nachází číslo sítě a podsítě, a nuly tam, kde je číslo síťového rozhraní (počítače).
Třídy IP adres
Původně sloužila v IPv4 k určení podsítě první osmice bitů (první číslo v zápisu IP adresy). Když se to ukázalo jako nedostatečné, byly zavedeny tzv. třídy IP adres (A, B, C a D), kde bylo rozdělení na podsítě určeno tzv. maskou sítě a ta byla určena prvními několika bity samotné IP adresy. Tento způsob se po čase ukázal také jako nedostatečný, protože poskytoval relativně hodně velkých podsítí (třída A) a málo malých podsítí (třída C), a proto bylo zavedeno beztřídní dělení na podsítě (viz dále).
Classless delegace
Rozdělení na podsítě podle tříd IP adres se ukázalo jako nepružné a s rostoucím nedostatkem IPv4 adres byly hledány způsoby pro vylepšení. Tím bylo tzv. CIDR (Classless Inter-Domain Routing, beztřídní mezidoménové směrování), které bylo zavedeno roku 1993 a ve kterém je v IP adrese možné hranici čísla sítě a čísla síťového rozhraní umisťovat mezi dva libovolné bity dané IP adresy (IP adresa je v počítači zapsána bitově, takže nevadí, že hranice není mezi desítkovými čísly zápisu IP adresy). Hranici určuje tzv, maska sítě. Adresa síťového rozhraní je pak zapisována buď pomocí IP adresy a délky prefixu nebo desítkovým zápisem masky sítě - viz příklad níže (oba zápisy jsou ekvivalentní, podsíť používá rozsah adres 192.168.0.0–192.168.31.255):
192.168.24.0/19 192.168.24.0/255.255.224.0
Vyhrazené adresy
Jak již bylo zmíněno, nelze využít všechny IP adresy, protože některé mají speciální určení. Například nejnižší adresa v síti (s nulovou adresou stanice) slouží v IPv4 jako označení celé (pod)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 1× 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 16× 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 256× 256 adres; tj. 65 536 adres, z nichž je použitelných jen 65 024)
- 100.64.0.0/10 - IPv4 Prefix for Shared Address Space podle specifikace RFC 6598[1]
Adresy v IPv6
V souvislosti s vyčerpáním IPv4 adres byl zaveden protokol IPv6, který používá 128bitové IP adresy, kterých je obrovské množství (2128 ≈ 3×1038). IPv6 adresa 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ž plný zápis 0000:0000:0000:0000:0000:0000:0000:0001
.
Skupinové adresy
Protože IPv6 neobsahuje všesměrové (broadcast) adresy, byly pro potřeby doručení jedné zprávy více příjemcům zavedeny tzv. skupinové adresy. Například adresa ff02::1
označuje všechny uzly na dané lince.
Reference
- GRÉGR, Tomáš Podermański a Matěj. Implementujeme Carrier Grade NAT: nečekané nástrahy. Root.cz [online]. [cit. 2020-01-06]. Dostupné online. (česky)