Na sítě s Ritou - Moderní síťové technologie a propojování sítí

1. 7. 2000

Sdílet

V minulých dílech seriálu o sítích jsme se zejména bavili o jejicharchitekturách (protokolových, vrstvových) a jejich typech (lokálních, metropolitních a rozlehlých). Zabývali jsme se ...

V minulých dílech seriálu o sítích jsme se zejména bavili o jejich
architekturách (protokolových, vrstvových) a jejich typech (lokálních,

metropolitních a rozlehlých). Zabývali jsme se tak vlastně stavebními bloky

jakékoli sítě a pravidly její výstavby. Dnes se podíváme na konkrétní řešení

protokolové struktury, která teprve umožňuje skutečnou síťovou komunikaci,

neboť obsahuje všechny protokolové vrstvy potřebné pro koncového uživatele a

jeho komunikaci s ostatními, pro něho důležitými uzly sítě (další uživatelé,

servery poskytující požadované služby, periferní zařízení). Vzhledem k významu

architektury TCP/IP pro současný Internet se ve stručnosti podíváme právě na

ni, a ostatní používané (a zajímavé) protokolové architektury pro tuto chvíli

ponecháme stranou (Novell IPX/SPX, Banyan Vines, AppleTalk, DECnet, OSI apod.).

V jednom článku samozřejmě není možné pokrýt celou problematiku TCP/IP, kterou

se dnes zabývá přes 2 800 dokumentů RFC internetové komunity.

Internet a TCP/IP

Síť Internet, umožňující propojení heterogenních sítí za použití souboru

protokolů Transmission Control Protocol/Internet Protocol (TCP/

/IP), není třeba představovat. Vzhledem k růstu popularity Internetu není divu,

že i architektura TCP/IP se stala jednou z nejvyužívanějších v oblasti síťové

komunikace. Termín intersíť (internet) se používá pro označení několika sítí

propojených prostřednictvím některého mechanismu pro propojování síťových

segmentů, nejčastěji směrovači, zatímco Internet (s velkým počátečním písmenem)

chápeme jako označení největší celosvětové intersítě.

TCP/IP jako soubor protokolů pro propojování heterogenních sítí od různých

dodavatelů byl vyvinut v 70. letech na základě objednávky Government\s

(Defense) Advanced Research Projects Agency (DARPA, původně ARPA) USA pod

záštitou Ministerstva obrany USA (Department of Defense, DoD). Cílem bylo

propojit různorodé počítače mnoha vojenských a výzkumných pracovišť a universit

do rozsáhlé sítě. Prakticky do počátku 90. let byl Internet doménou výzkumných

a akademických pracovišť, ale postupně o jeho přednosti začaly projevovat zájem

i soukromé organizace. Došlo k otevření jeho využívání subjekty nejrůznějšího

charakteru (vládní, nevládní organizace, výrobní společnosti, poskytovatelé

služeb, dealeři i soukromé osoby). Správa a rozvoj Internetu včetně nových

specifikací protokolů zůstává ve veřejné doméně.

Všechny informace o síti Internet (konvencích a síťových protokolech) jsou od

roku 1969 publikovány v tzv. Request for Comments (RFC), vydávaných Radou pro

architekturu Internetu (Internet Architecture Board, IAB) a veřejně dostupných

dnes prostřednictvím WWW, elektronické pošty nebo z FTP serveru. Specifikace

skupiny IETF (Internet Engineering Task Force) jsou považovány za de facto

normy, tj. žádnému z orgánů spravujících vývoj Internetu a jeho technických

specifikací nebyl přiznán statut mezinárodní normalizační organizace (na rozdíl

od ISO, IEC, ITU, IEEE apod.). Nejdůležitější z RFC jsou uvedeny na obrázku

Hlavní protokoly síťové architektury TCP/IP (čísla RFC odpovídají hlavním

normalizovaným protokolům). Aktuální přehled existujících RFC a jejich status

je k dispozici např. na adrese

http://info.internet.isi.edu:80/in-notes/rfc/rfc-index.txt.

Vrstvová architektura TCP/IP

Protokolová architektura TCP/IP samozřejmě nezahrnuje pouze dva protokoly,

které má ve zkratkách ve svém názvu. Na rozdíl od sedmivrstvového referenčního

modelu OSI však protokolovou architekturu TCP/IP tvoří jen čtyři vrstvy (viz

obrázek Porovnání architektury TCP/IP s referenčním modelem OSI pro srovnání

architektury TCP/IP a referenčního modelu OSI), od nejnižší po nejvyšší:

- vrstva rozhraní sítě (network interface),

- vrstva mezisíťová (internet layer),

- transportní vrstva (transport layer),

- aplikační vrstva (application layer).

Přestože architektura TCP/IP nemůže odpovídat rozvrstvení podle referenčního

modelu OSI, neboť vznikla před jeho oficiálním přijetím (v roce 1969), z

hlediska komunikačních funkcí a hranic mezi nimi modelu vcelku odpovídá.

Nejnižší vrstva, vrstva rozhraní sítě, svými funkcemi odpovídá dvěma nejnižším

vrstvám podle OSI, fyzické a spojové. Druhá nejnižší vrstva, vrstva mezisíťová,

přesně odpovídá funkcemi, službami i rozhraními vrstvě síťové podle

referenčního modelu OSI. Podobně je tomu u následující vrstvy, transportní,

která plní transportní funkce definované v referenčním modelu OSI. Nejvyšší

vrstva architektury TCP/IP, aplikační, v sobě zahrnuje funkce tří nejvyšších

vrstev podle OSI, prezentační, relační a aplikační.

Vrstva rozhraní sítě

Nejnižší vrstva architektury TCP/IP umožňuje přístup k fyzickému přenosovému

médiu. Je přímo zodpovědná za přístup k síti, a je proto specifická pro každou

síť podle její implementace. V současnosti se může využívat všech známých typů

přenosových prostředí, lokálních sítí (Ethernet, Token Ring, FDDI) i rozlehlých

sítí (X.25, ATM, apod.) pro podporu TCP/IP. Využití každého typu fyzické

„podsítě“ (v tomto smyslu fyzického podkladu pro protokoly TCP/IP) je

definováno v příslušných RFC.

Vrstva mezisíťová

Mezisíťová vrstva (internet layer) odpovídá svými funkcemi a službami vrstvě

síťové referenčního modelu OSI. Její funkce zahrnují především síťovou

(logickou) adresaci, směrování a předávání datagramů přes komunikační podsíť.

Další funkcí této vrstvy je provádět segmentaci a znovusestavování datagramů do

a z rámců specifikovaných protokolem nižší vrstvy.

Protokoly, pracující v této vrstvě, poskytují následující služby

prostřednictvím zmíněných protokolů:

- segmentace, sestavování a předávání datagramů protokol IP verze 4 a 6,

- mapování adres protokoly ARP, RARP,

- předávání zpráv pro řízení protokol ICMP,

- směrování protokoly RIP, OSPF, EGP, BGP,

- správa skupin stanic protokol IGMP.

Protokol IP

Protokol intersítě (Internet Protocol, IP) je zodpovědný za vysílání datagramů

(TCP/IP používá místo pojmu paket pro síťovou datovou jednotku pojem datagram)

na základě síťových adres obsažených v jejich záhlavích a poskytuje síťovou

službu bez spojení. Každý datagram je samostatná datová jednotka, která musí

obsahovat všechny informace o adresátovi i odesilateli, číslo jeho pořadí ve

zprávě (pokud povolená velikost datové jednotky nižší vrstvy je menší než

celková délka datagramu, musí být rozdělen do několika fragmentů), neboť

datagramy se posílají nezávisle na sobě a pořadí jejich doručení nemusí

odpovídat jejich pořadí ve zprávě. Protokol IP nezaručuje doručení datagramu,

proto je tato síťová služba označena jako nespolehlivá, ale s nejlepší vůlí

datagram doručit (best effort). Architektura TCP/IP nepoužívá žádný spolehlivý

protokol na síťové vrstvě, proto se spoléhá na protokoly vyšších vrstev, že v

případě ztráty datagramů zajistí jejich opětovný přenos. Protokol IP prošel

několika verzemi své specifikace a momentálně se za „normu“ považuje verze 4

protokolu (RFC 791). Již několik posledních let se připravuje nová, vylepšená

verze protokolu (next generation), která je označena jako verze 6. Nicméně není

zatím plně schválená, a proto nadále se používá známého protokolu verze 4

(IPv4).

Adresace IP

Síťové adresy IP verze 4 jsou 32bitové (v délce čtyř oktetů) a typicky jsou

zapisovány jako čtveřice přirozených desítkových čísel (každé vyjadřující

hodnotu oktetu) oddělených tečkou (např. binární IP adresa 10000000 00001010

00000010 00011110 se v dekadické notaci píše 128.10.2.30). Adresa má dvě části:

- adresu sítě první část adresy, přidělená správcem IP adres (regionálně/

kontinentálně American Registry for Internet Numbers, ARIN, Réseau IP

Européenne, RIPE a Asia Pacific Network Information Center, APNIC, resp.

poskytovatelé přístupu k Internetu),

- adresu uzlu v síti poslední část adresy, přidělena správcem sítě.

Adresy mohou být individuální, skupinové nebo všeobecné. Každé rozhraní v

(globální) síti musí mít jedinečnou IP adresu (pro soukromé sítě, nepřipojující

se k Internetu, přímo tato podmínka neplatí). Ve výjimečných případech nemusí

mít přidělenu adresu žádnou (možnost výhradně pro sériové porty směrovače) nebo

může mít přidělenu více jak jedinou IP adresu (primární a sekundární adresy).

Třídy adres

Adresy mohou být tvořeny podle jednoho z následujících pěti formátů (tříd):

- třída A používá první oktet adresy pro identifikaci sítě a zbývající tři

oktety pro identifikaci rozhraní. Poskytuje největší rozsah adres stanic v

rámci jedné sítě, ale je omezena na 126 platných adres sítě. Adresa 127.0.0.0

je rezervovaná pro adresu lokální smyčky (loopback), tj. softwarová

zpětnovazební adresa (obvykle 127.0.0.1) pro lokální meziprocesovou komunikaci

v rámci jednoho počítače (bez vysílání do sítě, proto by se v síti neměla nikdy

objevit). Získání adresy třídy A je dnes prakticky nemožné;

- třída B používá první dva oktety adresy pro identifikaci sítě a zbývající dva

oktety pro identifikaci rozhraní. Adresy třídy B jsou již téměř rozděleny mezi

abonenty Internetu, podniky a poskytovatele přístupu k Internetu;

- třída C používá první tři oktety adresy pro identifikaci sítě a zbývající

oktet pro identifikaci rozhraní. Adresy třídy C poskytují minimální prostor pro

adresování stanic v síti (jen 254 možných adres), ale jsou dnes prakticky

jedinými dostupnými adresami pro přímé připojení k Internetu;

- třída D zatímco třídy A-C adres sloužily k adresaci jednotlivých uzlů a sítí,

třída D se věnuje adresaci skupin (RFC 1112); skupinová adresace se používá pro

řadu moderních aplikací, např. videokonference;

- třída E třída nejmenšího rozsahu adres slouží jen pro experimentální účely.

Všechny platné adresy v rámci jedné sítě (třídy A-C) neoznačují stanice,

protože v adresním prostoru IP adres jsou některé adresy vyhrazeny pro

speciální účely. Jsou to adresy určené např. pro všeobecné vysílání, ladění

komunikačních programů apod. Tyto „adresy“ jsou rezervovány pro svůj určený

význam (přitom binární 0 znamená „tento počítač /tato síť“, 1 znamená

„všechny“):

- 0.0.0.0 „tento“ počítač na „této“ síti (počítač ještě nezná svoji adresu, ale

musí komunikovat např. při zavádění systému přes síť ze serveru, tato adresa

tedy může sloužit jako zdrojová, nikoli však jako cílová);

- adresu sítě v části identifikace stanice jsou dvojkově 0 (např. adresa

10.0.0.0 neoznačuje žádnou stanici, ale síť třídy A);

- adresu počítače v části identifikace sítě jsou dvojkově 0, tj. počítač nezná

adresu sítě, ale zná svoji adresu v této síti (např. 0.0.0.5);

- všeobecnou adresu lokální (broadcast) všechny bity adresy jsou nastaveny na

dvojkovou 1 (adresa 255.255.255.255), tato adresa se výhodně využívá k adresaci

stanic nebo serverů při neznalosti ani jejich příslušnosti k síti. Jedná se o

lokální adresu; protože za běžného režimu pakety na tuto cílovou všeobecnou

adresu nejsou propuštěny směrovačem dále a zůstávají v lokální síti (nebo

podsíti), tato adresa může být pouze cílová;

- všeobecnou adresu v síti (směrovanou, directed) v části identifikace stanice

jsou dvojkově 1 (např. adresa 10.255.255.255 je všeobecnou adresou pro síť

10.0.0.0, tj. všechny stanice připojené k této síti jsou touto adresou

specifikovány), tato adresa může být pouze cílová. Všeobecné adresy a práci s

nimi specifikují RFC 919 a 922.

Pro adresy soukromých sítí jsou podle RFC 1918 vyčleněna následující síťová

čísla:

- třída A 10.0.0.0,

- třída B 172.16.0.0 až 172.31.0.0,

- třída C 192.168.0.0 až 192.168.255.0.

Původně tato síťová čísla byla určena pro sítě, které se neměly připojovat k

Internetu, ale z důvodu nedostatku adres se dnes používají pro podnikové sítě,

které používají vlastní mechanismus adresace skrytý za systémem „ochranné zdi“

(firewallem).

Podsíťové adresy

Vzhledem k neefektivnímu rozdělení adres, především nedostatku adres stanic pro

adresy třídy C a naopak nevyčerpatelnému přebytku adres uzlů v třídě A, se

přistoupilo k mechanismu tzv. podsíťování (subnetting). Část adresy původně

určená stanici v rámci sítě se rozdělí na dvě části: adresu podsítě (v rámci

pevně dané adresy sítě) a adresu stanice. Dodržuje se pravidlo, že pro

podsíťové adresy se využívá souvislého toku bitů zleva od (nedotknutelné)

adresy sítě (RFC 950 a 1812). Jakmile se používá podsíťování, je třeba přesně

rozlišovat mezi adresou sítě, adresou její podsítě a adresou stanice v rámci

dané podsítě. Zatímco v případě adresace bez použití podsíťování bylo při

pohledu na první oktet adresy zřejmé, jaká je její struktura (třída, adresa

sítě i stanice), pak s podsíťováním to již není tak jednoduché. Proto nestačí

pouhá IP adresa, ale musí být doplněna ještě tzv. podsíťovou maskou (subnet

mask). Maska má stejný formát jako adresa, 32 bitů v podobě čtyř desítkově

vyjádřených oktetů. Na pozicích bitů označujících v dané IP adrese rozhraní

adresu sítě a adresu podsítě je hodnota bitů masky 1, na pozicích bitů

sloužících pro adresu stanice má maska hodnotu 0. Implicitní masky (bez

jakéhokoli podsíťování, mají následující hodnoty:

- třída A implicitní maska 255.0.0.0,

- třída B implicitní maska 255.255.0.0,

- třída C implicitní maska 255.255.255.0.

Při podsíťování nelze ale používat zcela libovolný počet bitů pro adresaci

podsítí: musí existovat možnost adresovat alespoň nějaké stanice v podsíti

(proto se nepoužívá ani poslední bit, ani předposlední bit části adresy stanice

pro podsíťování), a naopak musí být jednoznačné, zda se jedná o adresu sítě či

její podsítě (nepoužívá se první, tedy jediný bit pro podsíťování, bez ohledu

na třídu adres). Jinými slovy, např. pro konkrétní adresu třídy B (např.

150.67.0.0), která má k dispozici dva oktety v části adresy stanice, lze použít

minimálně 2, maximálně však 14 bitů pro adresaci podsítí. Adresa podsítě by

neměla mít všechny bity nulové (kolize s adresou sítě), ani všechny bity

jedničkové (kolize s adresou všeobecnou), aby se vyloučila nejednoznačnost. Z

důvodů nedostatku adres je však možné se setkat s tzv. nulovou podsítí (subnet

zero), která používá tuto nedoporučenou variantu adresace. Je však třeba si

uvědomit, že ne všechna zařízení v intersíti (především směrovače) musí být

nutně nakonfigurována tak, aby této adrese (adresám IP stanic připojeným k této

podsíti) správně rozuměla.

Podle výše uvedených pravidel pro jednotlivé třídy adres lze sítě dělit jen do

určitého počtu podsítí:

-třída A pro adresy podsítí lze použít bity 10–30 adresy (prvních 8 bitů je

rezervovaných pro adresu sítě), proto masky mohou vypadat v rozsahu

(255.192.0.0 255.255.255.252) a celkem lze adresovat maximálně 221 –2 podsítí v

rámci jediné sítě;

- třída B pro adresy podsítí lze použít bity 18–30 adresy (prvních 16 bitů je

rezervovaných pro adresu sítě), proto masky mohou vypadat v rozsahu (255.255.

192.0 255.255.255.252) a celkem lze adresovat maximálně 213 –2 podsítí v rámci

jediné sítě;

- třída C pro adresy podsítí lze použít bity 26–30 adresy (prvních 8 bitů je

rezervovaných pro adresu sítě), proto masky mohou vypadat v rozsahu (255.

255.255.192–255.255.255.252) a celkem lze adresovat maximálně 25–2 podsítí v

rámci jediné sítě.

Kombinací konkrétní IP adresy stanice a příslušné podsíťové masky lze zjistit,

v jaké podsíti (případně síti, pokud se jedná o implicitní masku) stanice leží.

Používá se logický součin obou dvojkově vyjádřených čísel (logický součin dává

výsledek 1, pouze pokud oba operandy jsou 1). Tabulka Využití bitů pro

podsíťování v adrese třídy B uvádí počet podsítí adresy třídy B při využití

různého počtu bitů adresy.

Dokončení problematiky TCP/IP naleznete v příštím čísle PC WORLDu.

Autorkou seriálu o sítích je Ing. Rita Pužmanová, CSc., specialista na

propojování komunikačních sítí (rita@ieee.org)

Seznam použitých zkratek

APNIC Asia Pacific Network Information Center

ARIN American Registry for Internet Numbers

ARP Address Resolution Protocol

ARPA Advanced Research Projects Agency

BGP Border Gateway Protocol

BOOTP Bootstrap Protocol

DARPA Defense Advanced Research Projects Agency

DHCP Dynamic Host Configuration Protocol

DNS Domain Name System

DoD Department of Defense

DVMRP Distance Vector Multicast Routing Protocol

EGP Exterior Gateway Protocol

E-IGRP Enhanced Interior Gateway Routing Protocol

FTP File Transfer Protocol

HSRP Hot Standby Router Protocol

HTTP Hypertext Transfer Protocol

IAB Internet Architecture Board

ICMP Internet Control Message Protocol

IETF Internet Engineering Task Force

IGMP Internet Group Management Protocol

IGRP Interior Gateway Routing Protocol

IP Internet Protocol

MAC Medium Access Control

MOSPF Multicast Open Shortest Path First

NFS Network File System

OSPF Open Shortest Path First

PAR Positive Acknowledgement with Retransmission

PIM Protocol Independent Multicast

Ping Packet Internet Groper

RARP Reverse Address Resolution Protocol

RFC Request for Comments

RIP Routing Information Protocol

RIPE Réseau IP Européenne

RPC Remote Procedure Call

RSVP Resource ReSerVation Protocol

RTP Real-time Transport Protocol

SMTP Simple Mail Transfer Protocol

SNMP Simple Network Management Protocol

TCP Transmission Control Protocol

TFTP Trivial File Transfer Protocol

UDP User Datagram Protocol

VRRP Virtual Router Redundancy Protocol

Příklad: IP adresa 151.88.19.103 (třída B adresy) s podsíťovou maskou

255.255.255.224 znamená, že se používá k adresaci podsítí nejen celý třetí

oktet adresy (8 bitů), ale ještě první tři bity posledního oktetu (je k

dispozici celkem 11 bitů pro adresaci podsítí), a proto je stanice připojena k

podsíti 151.88.19.96, která patří do sítě 151.88.0.0. Všeobecná adresa pro síť

je 151.88.255.255 a všeobecná adresa pro naši podsíť je 151.88.19.127 (pouze

bity v části adresy stanice v rámci podsítě 5 bitů jsou nastaveny na 1).

Následující operace (logický součin) ukazuje, jak z kombinace IP adresy a

příslušné podsíťové masky lze zjistit číslo (adresu) podsítě:

IP adresa 151.88.19.103 = 10010111.0111000.00010011.01100111

podsíťová maska 255.255.255.224 = 11111111.11111111.11111111.11100000

adresa podsítě 151.88.19.96 = 10010111.0111000.00010011.01100000