IP-adresa

IP-adresa je tvořena čtyřmi bajty. IP-adresa se zapisuje notací, kde jednotlivé bajty se mezi sebou oddělují tečkou. Rozeznáváme:

IP-adresa se skládá ze dvou částí:
1. Adresy (lokální) sítě.
2. Adresy počítače v (lokální) síti.

Problém je v tom jak zjistit, která část IP-adresy je adresou sítě a která adresou počítače. Není ani zcela jasné co to znamená slovo síť, protože jeho význam se postupně měnil a kromě slova síť se zavedly pojmy subsíť a supersíť. K tomu však musíme dospět postupně.


      Síť - historická epocha I

Tato epocha byla od počátku Internetu až do roku 1993. V této epoše bylo slovo síť specifikováno normou RFC-796 (J.Postel, 1.9.1981). Těchto dvanáct let je poznamenáno představou, že čtyři bajty na IP-adresy přece musí stačit.

Obr. 6.1 Struktura IP-adresy

IP-adresa se dělí na adresu sítě a adresu počítače v rámci této sítě.

Kolik bajtů z IP-adresy tvoří adresu sítě určují počáteční bity prvního bajtu IP-adresy. IP-adresy se dělí do pěti tříd:

Tab. 6.1 Třídy IP-adres
 
Třída
1. bajt IP-adresy
2. bajt IP-adresy
3. bajt IP-adresy
4. bajt IP-adresy
A 0sssssss
1-12710
adresa počítače
B 10ssssss ssssssss
128-19110
adresa počítače
C 110sssss ssssssss ssssssss
192-22310
adresa počítače
E
1110mmmm mmmmmmmm mmmmmmmm mmmmmmmm
224-23910
F >23910

Jednotlivé třídy adres jsou shrnuty v tab. 6.1, kde s vyznačuje bity používané pro adresu sítě a m bity používané pro adresný oběžník.

Z tabulky je dále patrné, že sítí třídy A může být celkem 128 - 2 = 126 a v každé může být 28+8+8= 16 M adres. Obdobně třídy B může být 14 K a každá může obsahovat až 64 K adres. A konečně sítí třídy C může být 2 M a každá může obsahovat až 256 adres. Některé adresy jsou však vyhrazeny speciální účely.


Speciální IP-adresy

IP-adresa je obecně tvaru:
    síť.počítač
    kde síť je v případě třídy A tvořena jedním bajtem, v případě třídy B tvořena dvěma bajty a v případě třídy C tvořena třem bajty.
    Jsou–li na místě sítě nebo počítače binárně samé nuly (00…0), pak se to vyjadřuje slovem “tento”. Jsou-li tam naopak samé jedničky (11…1), pak se to vyjadřuje slovem “všichni” (či oběžník).
Přehled speciálních adres ve dvojková notaci je uveden v tab. 6.2.
Tab. 6.2 Speciální IP-adresy
         
        Typ adresy Význam
        0.0.0.0  Tento počítač na této síti.
        00…0.počítač Počítač na této síti
        síť.00…0 Adresa sítě jako takové
        síť.11...1 (samé jedničky na místě adresy počítače) Všeobecný oběžník (broadcast) zasílaný do sítě síť - možno poslat i na vzdálenou síť
        11...1 (samé jedničky, tj. desítkově 255.255.255.255) Všeobecný oběžník na lokální síti (limited broadcast) – směrovače jej nepředávají dále
        127.cokoliv Programový smyčka (loopback) – nikdy neopouští počítač,
        zpravidla se používá adresa 127.0.0.1


Každé síťové rozhraní (interface) má alespoň jednu jednoznačnou adresu (unicast), kromě toho celý systém má jednu adresu programové smyčky 127.0.0.1. Adresa 127.0.0.1 není v Internetu jednoznačná, protože jí má každý počítač (host).


Síťová maska

Síťová maska se používá pro určení adresy sítě. Adresa sítě je částí IP adresy. Síťová maska určuje, které bity v IP-adrese tvoří adresu sítě.

Síťová maska je opět čtyřbajtové číslo. Toto číslo vyjádřené v dvojkové soustavě má v bitech určujících adresu sítě jedničky a v ostatních bitech nuly.

Princip síťové masky se dobře pochopí, používáme-li dvojkovou notaci.

Jednotlivé třídy sítí používají jako adresu sítě různě dlouhou část IP adresy. Třída A používá pro adresu sítě první bajt. Čili standardní síťová maska pro adresy třídy A má v prvním bajtu samé jedničky a ve zbylých třech bajtech samé nuly:

11111111.00000000.00000000.00000000

což vyjádřeno v desítkové soustavě je:

255.0.0.0 (šestnáctkově ff.00.00.00)

Obdobně standardní síťová maska pro třídu B je desítkově:

255.255.0.0 (šestnáctkově ff.ff.00.00)

Konečně pro třídu C:

255.255.255.0 (šestnáctkově ff.ff.ff.00).

Síťové masky odpovídající třídám A,B a C se nazývají standardní síťové masky.

Síťová maska slouží k řešení úlohy: Jak určit adresu sítě, na které leží počítač o IP adrese:

170.85.255.248, tj. dvojkově 10101010.01010101.11111111.11111000

Řešení je jednoduché: Nejprve se podíváme do tabulky tříd IP-adres a zjistíme, že naše adresa je třídy B. Používáme standardní síťovou masku, pak maska pro třídu B je:

11111111.11111111.00000000.00000000

Vynásobíme-li nyní IP-adresu bit po bitu se síťovou maskou, pak získáme adresu sítě:

        10101010.01010101.11111111.11111000
x       11111111.11111111.00000000.00000000
       ------------------------------------
        10101010.01010101.00000000.00000000
Výsledek převedeme do desítkové soustavy a zjistíme, že počítač leží na síti 170.85.0.0.

Tato metoda určení adresy sítě se může zdát až příliš komplikovanou v případě, že se používají standardní síťové masky. Může se zdát, že síťová maska je důležitá tak pro tvůrce operačního systému, nikoliv však pro správce. Význam síťové masky doceníme v následující historické epoše.


      Síť - historická epocha II

      V roce 1993 vyšly normy RFC-1517 až 1520. Tyto dnes již málo citované normy od základu změnily pohled na slovo síť jak je chápáno v Internetu. Přestalo se na sítě hledět přes třídy, ale výhradně přes síťové masky.

      Jenže ono to úplně nejde abstrahovat od sítí, takže v podstatě dělení IP-adresy na adresu sítě a adresu počítače zůstalo, pouze část IP-adresy dříve odpovídající adrese počítače se rozdělila na dvě části: na dresu subsítě a adresu počítače.

      Obr 6.2 Struktura IP-adresy

      Z hlediska síťové masky je adresa sítě i subsítě jeden celek. Ta část IP-adresy, kde jsou v masce jedničky je prostě síť. Jenže nyní dochází k nejednoznačnosti v terminologii. Jednou slovo síť označuje ve smyslu třídy (A, B, nebo C) a podruhé je sítí myšleno obecně část IP-adresy, kde v odpovídající masce jsou jedničky. Pokud na čas zapomeneme na třídy a budeme používat libovolné masky, pak už nestačí mluvit o síti např. 192.168.0.0 ale vždy k ní musíme dopsat masku, abychom vyjádřili co touto sítí míníme. Pokud bychom uvažovali třídně, pak se pro tuto síť použije vždy maska 255.255.255.0, protože se jedná o síť třídy C. Maska 255.255.255.0 pro síť 192.168.0.0 se nazýva standardní síťovou maskou.

      Kromě subsítí se používají i supersítě, u kterých je počet jedniček masky menší než u standardní síťové masky.

      Jako příklad je v tab. 6.3 uvedeno dělení sítě 192.168.0.0 na subsítě s různými maskami (standardní maska je zobrazena tučně).

      Tab. 6.3 Příklad dělení sítě 192.168.0.0 na subsítě
      Maska
      Počet jedniček v masce (zleva)
      Síť je tvořena intervalem IP-adres Zkrácený zápis sítě (včetně masky)
      255.248.0.0
      13
      192.168.0.0 až 192.175.255.255 192.168.0.0/13
      255.252.0.0
      14
      192.168.0.0 až 192.171.255.255 192.168.0.0/14
      255.254.0.0
      15
      192.168.0.0 až 192.169.255.255 192.168.0.0/15
      255.255.0.0
      16
      192.168.0.0 až 192.168.255.255 192.168.0.0/16
      255.255.248.0
      21
      192.168.0.0 až 192.168.7.255 192.168.0.0/21
      255.255.252.0
      22
      192.168.0.0 až 192.168.3.255 192.168.0.0/22
      255.255.254.0
      23
      192.168.0.0 až 192.168.1.255 192.168.0.0/23
      255.255.255.0
      24
      192.168.0.0 až 192.168.0.255 192.168.0.0/24
      255.255.255.128
      25
      192.168.0.0 až 192.168.0.127 192.168.0.0/25
      255.255.255.192
      26
      192.168.0.0 až 192.168.0.63 192.168.0.0/26
      255.255.255.224
      27
      192.168.0.0 až 192.168.0.31 192.168.0.0/27
      255.255.255.240
      28
      192.168.0.0 až 192.168.0.15 192.168.0.0/28
      255.255.255.248
      29
      192.168.0.0 až 192.168.0.7 192.168.0.0/29
      255.255.255.252
      30
      192.168.0.0 až 192.168.0.3 192.168.0.0/30
      255.255.255.254
      31
      192.168.0.0 až 192.168.0.1 Pozor, takováto síť je nesmysl, protože má jen dvě IP-adresy, tedy adresu sítě samotné a adresu oběžníku, nedostávají se už adresy pro počítače na této sítí.  192.168.0.0/31
      255.255.255.255
      32
      Adresa samostatného počítače (host address)
      192.168.0.0
      192.168.0.0/32

      Adresy s maskami majícími méně jedniček než je standardní maska se nazývají adresy supersítí (v tabulce nahoře) a adresy s maskami o více jedničkách než má standardní maska se nazývají adresy subsítí (dolní část tabulky).

      Jelikož dvojkové vyjádření síťové masky je tvořenou zprava souvislou řadou jedniček, tak se místo vyjádření “síť 192.168.0.0 s maskou 255.255.255.252” častěji zkrácen na 192.168.0.0/30, kde číslo 30 vyjadřuje počet jedniček masky.

      Už slyším jak se čtenář čílí, proč je maska tvořena souvislou řadou jedniček. Ano teoreticky to tak byt nemusí, je to jen nepsané pravidlo, ale docela dobré pravidlo.

      Vezměte si např. síť 192.168.0.0 s maskou 255.255.255.95. 95 je binárně 01011111, tj. k dispozici jsou změny na místech x1x11111, takže síť je 00000000 (desítkově 0) adresy pro počítače jsou 00100000 (desítkově 32) a 10000000 (desítkově 128) a oběžník je 10100000 což je desítkově 160. Těžko řešitelným problémem je pak mezi tyto adresy vložit další subsítě.
      Myslíte, že byste takovou síť chtěli spravovat? Pointa spočívá v tom, že většina software takové sítě i podporuje.


       

      Subsítě

      Síťová maska nerozlišuje mezi částí IP-adresy určené pro síť a pro subsíť.

      Obr. 6.3 IP-adresa a její síťová maska

      Používají se také vyhrazené adresy – viz tab. 6.4.
      Tab. 6.4 Speciální adresy

         
        siť.subsíť.00…0 Adresa subsítě jako takové
        síť.00…0.00…0 Adresa sítě
        síť.subsíť.11…1 Oběžník na subsíti
        síť.11…1.11…1 Pozor, toto je oběžník pro všechny subsítě dané sítě
      Problém je pochopitelně se subsítí, která má na místě pro subsíť nuly, pak se těžko rozlišuje mezi adresou sítě a subsítě. Rovněž u případu, kdy na místě pro subsíť jsou samé jedničky je nejednoznačnost, zda-li obžník je oběžníkem na subsíť nebo na všechny subsítě. Proto se tyto subsítě snažíme nepoužívat. Mnohý software takové subsítě vůbec nepodporuje, jiný software je v případě použití takovýchto subsítí třeba speciálně konfigurovat.

       Pro rozdělení sítě na různě dlouhé subsítě používáme variabilní síťovou masku. Např. viz tab. 6.6.

      Tab. 6.6
       

         
        Subsíť dvojkově
        (poslední bajt)
        Síťová maska 
        (dvojkově)
        Adresa subsítě 
        (desítkově) 194.149.115.
        Síťová maska 
        (desítkově)
        Max. počet
        počítačů v subsíti 
        (bez adresy subsítě 
        a oběžníku)
        00000000 až 00000011
        11111100
        .0
        .252
        0 (nejednoznačná subsíť)
        00000100 až 00000111
        11111100
        .4/30
        .252
        2
        00001000 až 00001111
        11111000
        .8/29
        .248
        6
        00010000 až 00011111
        11110000
        .16/28
        .240
        14
        00100000 až 00111111
        11100000
        .32/27
        .224
        30
        01000000 až 01111111
        11000000
        .64/26
        .192
        62
        10000000 až 10111111
        11000000
        .128/26
        .192
        62
        11000000 až 11011111
        11100000
        .192/27
        .224
        30
        11100000 až 11101111
        11110000
        .224/28
        .240
        14
        11110000 až 11100011
        11111000
        .240/29
        .248
        6
        11111000 až 11111011
        11111100
        .248/30
        .252
        2
        11111100 až 11111111
        11111100
        .252/30
        .252
        0 (nejednoznačná subsíť)


      Z předchozí tabulky je vidět, že nejdelší subsíť má 64 prvků, potřebujeme-li na jednu LAN více jak 62 rozhraní, pak je dobré použít celou adresu třídy C.

      Nyní si můžeme dát nový příklad. Určete adresu sítě, na které leží počítač o IP-adrese 10.0.0.239 používáme-li síťovou masku 255.255.255.240.

      IP-adresu i masku převedeme do dvojkové soustavy a bit po bitu vynásobíme:

       
              00001010.00000000.00000000.11101111 tj. 10.0.0.239
      x       11111111.11111111.11111111.11110000 tj. 255.255.255.240
        -----------------------------------------
              00001010.00000000.00000000.11100000 = 10.0.0.224
      Adresa leží na síti 10.0.0.224. Ale může to být adresa počítače? Ne. Proč? Oddělíme adresu sítě a adresu počítače:
        00001010.00000000.0000000.1110|1111
        <-------------síť------------>|<poč>
      adresa je tvaru síť.jedničky, nejedná se tedy o adresu počítače, ale o adresu oběžníku na síti 10.0.0.224.

      Podobně jako u sítí je možné poslat příkazem ping všeobecný oběžník, tak i v našem případě:

        ping 10.0.0.224
      zjistí zda-li na subsíti je nějaký počítač “živý” a UNIXové implementace příkazu ping nám sdělí které počítače na subsíti jsou “živé”.

        Supersítě, autonomní systémy

      Zatímco subsítě se používají na LAN, tj. používají se v konfiguraci jednotlivých síťových rozhraní (síťových karet), tak supersítě se používají pro agregace IP-adres. Agregace IP-adres je výhodná pro směrování a pro administrativu při přidělování IP-adres.
      V současné době je při pohledu z velké vzdálenosti (z Měsíce) Internet soustavou vzájemně propojených poskytovatelů Interentu. Poskytovatel Internetu (provider) poskytuje připojení k Internetu buď pro komerční nebo nekomerční účely. Kromě poskytovatelů tvoří Internet ještě několik organizací, které ze zabývají správu a vývojem v této oblasti, avšak ze síťového hlediska se od poskytovatelů neliší.
      Poskytovatelé dopravují IP-datagramy buď vrámci sebe nebo mezi sebou. Dva poskytovatelé si mohou vyměňovat IP-datagramy mezi sebou, existují však i tranzitní poskytovatelé kteří přes sebe IP-datagramy tranzitují.

      Neříká se, že se Internet dělí na poskytovatele, ale z hlediska dopravy IP-datagramů se Internet dělí na autonomní systémy. Každý poskytovatel má pak přidělen jeden nebo více autonomních systémů. Autonomní systém je reprezentován dvoubajtovým číslem.

      Internet je tedy z hlediska směrování (tj. dopravy IP-paketů) rozdělen na autonomní systémy (AS). Pro směrování mezi AS se dříve používal protokol EGP, nyní se však masově přechází k protokolu BGP verze 4.

      Poskytovatelé Internetu jsou správci autonomního systému. Správci AS žádají o intervaly IP-adres, které přidělují sobě a svým zákazníkům. Jednotliví poskytovatelé jsou pak i se svými zákazníky součástí konkrétního AS. V kapitole o administrativní stránce věci se dozvíme, že problém je ještě složitější, že o přidělení IP-adresy žádají tzv. lokální Internet Registry, kteří mohou mít svůj vlastní AS nebo mohou sdílet AS s někým dalším.
       

      Proč je snaha v rámci autonomního systému používat intervaly adres? Důvod je prostý. Interval adres je možné agregovat do jedné adresy supersítě. Ve směrových tabulkách směrovačů vzdálených autonomních systémů může celý interval adres vystupovat jako jedna položka, čímž se šetří paměť směrovače a zjednodušuje se správa.

      Agregace je jednoduchá. Např. je-li přidělen interval adres sítí 194.149.96.0 až 194.149.128.0. Pak je jej možné agregovat na adresu supersítě 194.149.96.0 se síťovou maskou 255.255.224.0. Častěji se však píše adresa 194.149.96.0/19 (maska 255.255.224.0 je tvořena 19 jedničkami).

      Obr. 6.5 Internet se dělí na autonomní systémy, autonomní systémy se mohou dělit na supersítě, supersítě na sítě a sítě se mohou dělit na subsítě



       

      IP-adresy v intranetu

      Použití technologie Internetu uvnitř uzavřené firemní sítě se nejprve označovalo internet (s malým i), později se objevilo slovo intranet, které se uchytilo (zlí jazykové tvrdí, že za to mohou němci, protože v němčině byl internet s malým počátečním i nepřekonatelným trnem v oku němčinářům).

      IP-adresy musí být v Internetu přidělovány celosvětově jednoznačně. Ještě před časem mnohé podniky budovaly svou uzavřenou podnikovou síť na bázi protokolu TCP/IP a ani ve snu je nenapadlo, že by se někdy připojovaly k Internetu. I zvolili si naprosto libovolné adresy vlastních sítí. Dnes chtějí tyto sítě propojit přes firewall do Internetu a zjišťují, že stejné adresy už v Internetu někdo používá. Jsou nuceni své sítě přečíslovat, což je velice nepříjemná operace.

      Většinou firmy používající v intranetu adresy, které kolidují s adresami v Ineternetu zpočátku hledají nějaká netradiční řešení jak se vyhnout přečíslování intranetu. Takovým řečením je např. NAT (Network Address Translator), avšak tato řešení přinášejí jiná negativa, proto po zbytečně vynaloženém úsilí firmy stejně nakonec přistoupí k přeadresování celého intranetu.

      Pro uzavřené podnikové sítě si zvolte IP-adresy sítí podle RFC1918 uvedené v tab.6.7.

      Tab. 6.7
      Třída A  10.0.0.0/8 10.0.0.0 až 10.255.255.255
      Třída B  172.16.0.0/12 172.16.0.0 až 172.31.255.255
      Třída C  192.168.0.0/16 192.168.0.0 až 192.168.255.255

      Použití těchto adres navíc zvyšuje bezpečnost, protože v Internetu jsou nepoužitelné (stovky podniků je používají na svých uzavřených sítích). O přidělení adres v těchto rozsazích není třeba nikoho žádat.

      Častou otázkou je jak to poskytovatelé Internetu dělají, že tyto adresy nelze použít, oni je nějak filtrují? Filtrace není třeba, oni je prostě jen nemají ve směrovacích tabulkách, takže je nemohou dopravovat.

      Pro intranety jsou vyhrazeny i čísla autonomních systémů 65001 až 65535.


      Více jak 254 rozhraní na LAN

      Někdy se stane, že na lokální síti je např. 300 počítačů. Nestačí tedy jedna síť třídy C. Přidělí se dvě sítě třídy C. Je zde nebezpečí chybné konfigurace v případě, že použijeme dvě samostatné sítě. Pak na LAN musí být i směrovač, který směruje mezi těmito sítěmi (nebo se použije proxy ARP). Počítače místo aby komunikovaly na síti přímo mezi sebou, tak musí využívat služeb směrovače. Horší na tom je, že data jdou sítí dvakrát což pří třech stech počítačích na LAN je obzvláště nepříjemné. Jednou od odesilatele na směrovač a podruhé ze směrovače k adresátovi.

      Rozumné je v tomto případě použít supersíť skládající se ze dvou sítí třídy C, tj. supersíť s maskou /23, tj. 255.255.255.128.