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

1. 8. 2000

Sdílet

V tomto pokračování našeho seriálu o sítích dokončíme stručný úvod doproblematiky architektury TCP/IP, jíž jsme se začali zabývat v minulém dílu. V závěru článku najdete doporu...

V tomto pokračování našeho seriálu o sítích dokončíme stručný úvod do
problematiky architektury TCP/IP, jíž jsme se začali zabývat v minulém dílu. V

závěru článku najdete doporučení pro další zdroj informací moderní, kompaktní

původní českou publikaci o sítích s TCP/IP.



Mapování adres

Při práci s adresami používá IP služby dalších protokolů síťové vrstvy (na

hranici mezi spojovou a síťovou vrstvou) pro zjištění mapování síťových adres a

fyzických (spojové vrstvy):



- Address Resolution Protocol (ARP) se používá při znalosti cílové IP adresy

stanice (rozhraní) pro nalezení příslušné fyzické adresy rozhraní (MAC). Každá

stanice, pokud chce komunikovat se vzdálenou stanicí a zná její síťovou adresu,

potřebuje zjistit její adresu fyzickou, aby se mohl datagram zapouzdřit do

rámce s cílovou adresou MAC. Zdrojová stanice prozkoumá svoji paměť s

informacemi o mapování fyzických a síťových adres (ARP cache), a pokud nenajde

informaci odpovídající hledané síťové adrese, musí použít protokol ARP. Vyšle

žádost (paket) protokolu ARP s informacemi o zdrojové dvojici adres (fyzické a

síťové) a s cílovou IP adresou, kterou adresuje všem stanicím v síti (na

všeobecnou adresu MAC).

Očekává zpět odpověď s „vyplněným“ polem cílové fyzické adresy. Pokud je cílová

stanice připojena na stejný segment, reaguje odpovědí zaslanou na adresu

zdrojové stanice s doplněnou informací a současně zkontroluje obsah své paměti

ARP, zda ji nemůže doplnit o dvojici adres obdržených v žádosti ARP. Pokud

cílová stanice není lokální, ale je připojena k jinému segmentu intersítě,

potom odpoví místo ní svou fyzickou adresou směrovač, připojený ke stejnému

segmentu jako zdrojová stanice, pokud o cílové stanici ví (zná cestu do

příslušné sítě). Chová se jako zástupce cílové stanice (proxy ARP).

Aby se však minimalizovalo vysílání zpráv protokolu ARP na všeobecnou adresu,

každá stanice musí (podle RFC 1122/1123) mít zkonfigurovanou podsíťovou masku,

podle níž pozná, zda cílová stanice leží na stejné podsíti, a současně má

nakonfigurovanou implicitní adresu směrovače (případně několika směrovačů)

připojeného k podsíti, jemuž posílají všechny pakety určené mimo lokální

segment (na adresu MAC rozhraní směrovače připojenému k témuž segmentu jako

zdrojová stanice). Současně musí stanice pro komunikaci s jinými (pod)sítěmi

mít mechanismus, jak zjistit a reagovat na selhání implicitního směrovače,

případně jak reagovat na informaci o lepší cestě k cílové (pod)síti.



- Reverse Address Resolution Protocol (RARP) se používá při znalosti vlastní

fyzické adresy pro získání vlastní IP adresy; nejčastěji pro zjištění vlastní

IP adresy při startu systému (v případě bezdiskových stanic, které potřebují

zjistit svoji IP adresu od serveru v síti). Stanice vygeneruje žádost RARP na

všeobecnou adresu se svou adresou fyzickou a očekává odpověď s informací o

přidělené IP adrese. RARP server obsahuje databázi hardwarových adres (např.

MAC) s přiřazenými IP adresami. RARP žádost obsahuje pouze vlastní hardwarovou

adresu a RARP server vrací odpověď s vyplněnou korespondující IP adresou

žadatele. Vzhledem k tomu, že vlastní IP adresa je nedostatečná informace pro

plnou komunikaci v IP sítích, je protokol RARP používán zřídka a častěji se

používá komplexnější aplikační protokol BootP nebo DHCP.



Řízení

Protokol řídicích hlášení (Internet Control Message Protocol, ICMP) není

primárně řídicím protokolem, ale pouze slouží k přenosu specifických zpráv

týkajících se chyb a zvláštních okolností při přenosu datagramů.

ICMP zprávy se často vysílají v situaci, kdy je síť zahlcená nebo má nějaký

problém, proto jsou koncipovány tak, aby samy nepřispívaly k dalšímu

zkomplikování situace např. zbytečně vysokým počtem datagramů. ICMP zprávy se

proto negenerují v souvislosti s problémy datagramů na všeobecnou nebo

skupinovou adresu, zpráv se zdrojovou adresou neidentifikující konkrétní

stanici (např. 127.0.0.1 nebo 0.0.0.0), nebo směrováním a doručením ICMP zpráv.

ICMP není pouze protokol pro informaci o chybách v datagramech a jejich

směrování, ale slouží ke zjišťování doplňujících informací a také k ověření

komunikace mezi stanicemi. Právě posledně jmenované možnosti využívá tzv. Ping

(Packet Internet Groper) pro nejjednodušší způsob zjištění dosažitelnosti

cílové stanice/sítě (ve srovnání s jinými obdobnými možnostmi, jako Telnet nebo

traceroute, ping pracuje na nejnižší možné vrstvě, u cílové stanice je

implementován v jádru operačního systému). Na základě vyslání zprávy ICMP typu

Echo request s adresou IP cílové stanice (případně s všeobecnou adresou pro

danou síť) se očekává od cíle odpověď, potvrzující funkčnost a dosažitelnost

stanice (pro budoucí komunikaci).



Směrování

Směrování IP datagramů podporují následující směrovací protokoly:



- Routing Information Protocol, RIP,

- Open Shortest Path First, OSPF,

- Interior Gateway Routing Protocol, IGRP,

- Enhanced Interior Gateway Routing Protocol, E-IGRP,

- Exterior Gateway Protocol, EGP,

- Border Gateway Protocol, BGP.



Kromě vlastního směrování (propojování sítí se budeme věnovat podrobněji v

následující části seriálu) se směrovačů v IP světě týkají ještě další

specifické protokoly:



- protokol virtuálního směrovače pro zálohování (Virtual Router Redundancy

Protocol, VRRP),

- protokol Hot Standby Router Protocol (HSRP).



Komunikace ve skupině stanic

Komunikace ve skupině (multicasting ) využívá nejen specifických skupinových

adres, ale musí být podporována protokolem síťové vrstvy, který umožňuje

stanicím se do skupiny přihlásit nebo se z ní odhlásit, a také protokolem pro

směrování datagramů adresovaných na skupinovou adresu.

Protokol správy skupin (Internet Group Management Protocol, IGMP) tuto funkci

vykonává v síťové vrstvě a používá IP datagramy (číslo protokolu je 2). Druhá

verze protokolu IGMP je specifikovaná v RFC 2236.



Mezi skupinové směrovací protokoly patří:



- skupinový směrovací protokol na bázi vektorů vzdáleností (Distance Vector

Multicast Routing Protocol, DVMRP)

- skupinový protokol OSPF (Multicast OSPF, MOSPF)

- skupinové vysílání nezávislé na protokolu (Protocol Independent Multicast,

PIM).



Transportní vrstva

Transportní vrstva odpovídá transportní vrstvě podle referenčního modelu OSI,

protože poskytuje mechanismus pro koncový přenos dat mezi dvěma stanicemi.

Nabízí transportní službu se spojením nebo bez spojení za použití jednoho ze

dvou protokolů: TCP nebo UDP.

Transmission Control Protocol (TCP) poskytuje transportní službu se spojením,

tedy spolehlivý přenos dat, který nebyl zajištěn datagramově orientovaným IP.

Vykonává další funkce transportní vrstvy, jako řízení koncového zabezpečení a

datového toku, řízení koncového spojení.



Vlastnosti podporované transportním protokolem TCP:



- spolehlivá transportní služba doručí adresátovi všechna přenášená data tak,

jak je odesílatel vyslal (tzn. bez ztráty nebo zkreslení dat či duplicitních

paketů) s využitím pozitivního potvrzování a opětovných přenosů (Positive

Acknowledgement with Retransmission, PAR),

- služba se spojením fáze navázání spojení mezi dvěma procesy, přenos dat a

ukončení spojení,

- efektivní využití přenosových kanálů vysílání s využitím vyrovnávacích

pamětí, kdy odesílatel začne vysílat, až se nashromáždí dostatek dat, nebo po

vypršení časového limitu,

- transparentní přenos libovolných dat,

- plně duplexní spojení (současný obousměrný přenos dat) potvrzení o správném

příjmu TCP segmentu je součástí datového TCP segmentu vysílaného opačným směrem

(piggybacking),

- rozlišení mezi více potenciálními adresáty (procesy) na daném počítači pomocí

portů.

User Datagram Protocol (UDP) poskytuje nespolehlivou transportní službu

(nezaručuje doručení zpráv do cíle) pro ty aplikace, které nepožadují

zabezpečení přenosu v takovém rozsahu, jako je poskytuje TCP (ověření doručení

v pořadí, zajištění opakovaného přenosu), nebo pro transakčně orientované

aplikace (dotaz-odpověď), pro něž může být navazování spojení příliš zdlouhavé.

UDP neposkytuje spolehlivý koncový přenos dat, nemá fáze navazování a ukončení

spojení, proto hned první segment UDP obsahuje uživatelská data. Zprávy

zpracovává obdobným způsobem jako TCP, pouze záhlaví je kratší, protože

neobsahuje pole pro informace o velikosti okna, číslech segmentů a potvrzení.



Aplikační vrstva

Vrstva aplikací a procesů (Process/Application Layer) je nejvyšší vrstvou

síťové architektury Internetu a obsahuje všechny protokoly poskytující

uživatelům konkrétní aplikace. Na obrázku Hlavní protokoly síťové architektury

je kromě příslušných RFC uvedena rovněž závislost jednotlivých aplikačních

protokolů na transportní službě a protokolu. Některé aplikační protokoly jsou

přísně závislé na typu transportní služby, proto vyžadují buď protokol TCP

(např. FTP, Telnet, HTTP apod.), nebo protokol UDP (např. SNMP, DHCP, BOOTP,

TFTP). Některé z protokolů však mohou používat kterýkoli z transportních

protokolů. Výběr protokolu se pak konkretizuje v rámci implementace (např. DNS).

Mezi nejpoužívanější aplikační protokoly patří následující (podrobnější popis

jednotlivých protokolů je mimo možnosti tohoto článku):



- TELNET protokol virtuálního terminálu (pro vzdálený přístup);

- protokol přenosu souborů (File Transfer Protocol, FTP);

- jednoduchý protokol přenosu souborů (Trivial File Transfer Protocol, TFTP);

- jednoduchý protokol transferu pošty (Simple Mail Transfer Protocol, SMTP);

- služba jmen (Domain Name System, DNS) protokol pro mapování jmen a adres

stanic IP;

- síťový systém souborů (Network File System, NFS) protokol umožňující přístup

k souborům v síti, navržený firmou Sun Microsystems (informační RFC 1813);

- jednoduchý protokol pro management sítě (Simple Network Management Protocol,

SNMP);

- poštovní protokol (Post Office Protocol, POP) protokol pro přístup a získání

elektronické pošty z poštovního serveru;

- protokol transferu hypertextových informací (Hypertext Transfer Protocol,

HTTP) aplikační protokol vyvinutý pro distribuované, spolupracující informační

systémy používající hypermedia;

- protokol při startu (BOOTP) protokol aplikační vrstvy sloužící pro získání

základních informací o konfiguraci při startu systému, především IP adresy;

- protokol dynamické konfigurace stanice (Dynamic Host Configuration Protocol,

DHCP);

- rezervační protokol (Resource ReSerVation Protocol, RSVP) signalizační

protokol umožňující přijímající stanici rezervovat šířku pásma v síti pro

přenos dat citlivých na zpoždění (především hlasu a obrazu);

- přenosový protokol v reálném čase (Real-time Transport Protocol, RTP)

podporuje přenos interaktivního videa, zakládá se na synchronizaci časového

přenosu a zjištění ztráty nebo nesprávného pořadí dat;

-volání vzdálených procedur (Remote Procedure Call, RPC) umožňuje komunikaci

mezi klientem a serverem na základě požadavku ze strany klienta, specifikující

proceduru a její vstupní parametry, vykonání procedury serverem a odpovědi

serveru (při úspěšném vykonání procedury odpověď obsahuje výstupní parametry).



Závěrem

V tomto článku bylo možné pouze nastínit základní prvky architektury TCP/IP,

protokoly a jejich vazby, nikoli podrobnosti, které jsou pro samotné

implementace stejně důležité. Pokusila jsem se podrobněji zaměřit na způsob

adresace v IP a vysvětlit jeho principy, protože s adresami se v dnešní době

setkáváme neustále při elektronické komunikaci.

Pro kompletní informace o architektuře TCP/IP a jednotlivých protokolech,

možnostech směrování, a také managementu a bezpečnosti v IP doporučuji

publikaci:

Propojování sítí s TCP/IP, Rita Pužmanová, Pavel Šmrha (Kopp, ISBN

80–7232–080–7)

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