Počítačové sítě Svět, který nám pomáhá komunikovat (10) Internet, intranet a elektronická pošta už dnes neodmyslitelně patří k naší každodenní práci s počítači. Podívejme se na některé z prvků, které jsou jejich základem. Jednoduchý protokol pro přenos pošty (Simple Mail Transfer Protocol, SMTP) slouží k přenosu elektronické pošty mezi stanicemi sítí TCP/IP. Přenos elektronické pošty je spolu s prohlížením WWW stránek patrně nejrozšířenější aplikací v sítích TCP/IP. SMTP používá ke své činnosti port s číslem 25. Architektura protokolu je uvedena na obr. 1. SMTP definuje pouze způsob komunikace mezi koncovými uzly (User Agent, UA) a poštovními servery (Message Agent Server), avšak nezabývá se jejich formátem či implementací. Mezi dvěma koncovými uzly může ležet větší množství poštovních serverů. Protokol SMTP definuje pouze přenos zpráv elektronické pošty prostřednictvím transportního spojení TCP s použitím sedmibitových ASCII znaků formátovaných do řádků s oddělovači CR a LF (návrat vozíku a konec řádku). Formát zpráv odpovídá samostatnému doporučení RFC822, které popisuje formát záhlaví zprávy a jejího těla. Pro případný přenos binárních souborů se používá formátování podle doporučení RFC1341 MIME (Multipurpose Internet Mail Extension), které specifikuje převod binárních dat na posloupnost ASCII znaků. Pro výběr zpráv z poštovního serveru koncovým uzlem se používá protokolu POP3 (Post Office Protocol 3). Při přenosu zpráv odešle koncový uzel zprávu nejbližšímu (svému) poštovnímu serveru. Ten ji prostřednictvím přímého TCP spojení předá poštovnímu serveru příjemce nebo nejbližšímu mezilehlému poštovnímu serveru, který zprávu předává dále, dokud nedorazí k cílovému poštovnímu serveru. Koncový uzel si pak z poštovního serveru zprávu vyzvedne pomocí protokolu POP3. Logika spojená se jmény Je zřejmé, že v prostředí sítí TCP/IP by bylo použití IP adres ve tvaru dvaatřicetibitových slov z uživatelského hlediska velmi těžkopádné. Přirozenější komunikace může probíhat např. prostřednictvím logických názvů (jmen) tvořených srozumitelnými posloupnostmi písmen a číslic. V prostředí TPC/IP byla proto vypracována hierarchická struktura jmen označovaná jako doménový jmenný systém (Domain Name System, DNS). Logické jméno uzlu je tvořeno posloupností podjmen oddělených vzájemně tečkami. Jednotlivá podjména, která označují tzv. domény, mohou odpovídat např. samostatnému uzlu, skupinám uzlů, oblastem či organizacím. Pořadí domén je strukturováno tak, aby podjméno domény největšího rozsahu leželo nejvíce vpravo. Obecná struktura doménových jmen má tvar: jméno_služby.jméno_uzlu.jméno_oddělení. ... .jméno_země tj. např. www.stratos.meteorologie.cesky_meteoustav.cz Jednoznačné přiřazení logických jmen a IP adres je udržováno na tzv. jmenných doménových serverech (Domain Names Servers, DNS servery). Servery jednotlivých oblastí jsou vázány hierarchicky, viz obr. 2. Při získávání IP adres na základě znalosti doménového jména (Domain Name Resolving) se klient dotáže nejprve svého doménového serveru. Nenalezne-li tento DNS server záznam ve své tabulce, postoupí dotaz nadřízenému DNS serveru ve své hierarchii. Takto se postupuje až k tomu DNS serveru, jenž má příslušný záznam ve své tabulce a odpoví na dotaz požadovanou IP adresou. Výhodou je, že každý uzel sítě k tomu, aby zjistil libovolnou IP adresu na základě doménového jména, potřebuje znát pouze adresu jediného DNS serveru. Ten pak na pozadí zabezpečí nezbytnou komunikaci s ostatními DNS servery. Pro úspěšný start Startovací protokol (Bootstrap Protocol, BootP) slouží k získávání základních informací o konfiguraci systému nevybaveného prostředky pro zahájení činnosti, např. pevnými disky, při jeho startu. Programové vybavení realizující protokol BootP je obvykle uloženo v paměti ROM. Po zapnutí systému se prostřednictvím UDP vyšle tzv. univerzální zpráva, tj. zpráva, která je přijata všemi stanicemi sítě, s dotazem, zda v síti existuje BootP server. Pokud ano, BootP server, na němž je správcem sítě udržována tabulka přiřazení stanic a jim odpovídajících IP adres, na základě předané MAC adresy zašle odpověď obsahující IP adresu a masku podsítě stanici, která vyslala dotaz. Následně pak lze prostřednictvím protokolu TFTP (viz výše) zavést do stanice potřebné programové vybavení, např. operační systém. BootP server používá veřejný port s číslem 67, klient port s číslem 68. Protokol BootP je v moderních sítích stále častěji nahrazován protokolem pro dynamickou konfiguraci hostitelského systému (Dynamic Host Configuration Protocol, DHCP). DHCP rozšiřuje možnosti protokolu BootP zejména o automatizované přidělování IP adres. DHCP server disponuje určitou množinou IP adres, které může požadujícím stanicím přidělovat podle určitých pravidel. Z toho plynou dvě základní výhody protokolu DHCP oproti protokolu BootP. Především odpadá složitá ruční konfigurace BootP serveru, založená na pevném přidělení jednotlivých IP adres příslušným stanicím, která mnohdy vedla k chybám, znemožňujícím komunikaci. Druhou nespornou výhodou je skutečnost, že množina IP adres může být menší, než je skutečný počet stanic v síti, samozřejmě za předpokladu, že ne všechny stanice jsou do ní připojeny současně. To platí obzvláště dobře v případě poskytovatelů internetových služeb, kdy uživatelé přistupují k síti obvykle jen na omezenou kratší dobu a prakticky nikdy ne všichni současně. Protokol DHCP umožňuje přidělovat IP adresy třemi různými způsoby: * automatické - pro přidělování stálých IP adres; * dynamické - pro přidělování IP adres dočasně na určitou dobu; * ruční - kdy správce sítě přidělí IP adresu staticky a protokol DHCP pouze zajistí transfer adresy příslušné stanici. Kromě toho umožňuje protokol DHCP také klientům žádat o specifické hodnoty konfiguračních parametrů. K nim zejména patří: * maska podsítě; * směrovač; * doména; * DNS server. Internet a jeho protokol Protokol pro přenos hypertextových informací (Hypertext Transfer Protocol, HTTP) je protokol určený pro výměnu informací v rozsáhlých distribuovaných hypermediálních prostředích. Byl vyvinut v roce 1990 v rámci globální iniciativy WWW (World Wide Web), kde byl použit pro přenos informací ve tvaru tzv. WWW stránek ve formátu HTML (Hypertext Markup Language), tj. v jazyku umožňujícím současný přenos textových a multimediálních informací v jediném dokumentu. Dnes je protokol HTML základním protokolem celosvětové sítě internet i vnitropodnikových sítí intranet. Protokol HTTP je koncipován jako bezestavový protokol pracující v režimu dotaz/odpověď. Pro přenos používá spolehlivé spojení na bázi TCP s vyhrazeným aplikačním portem číslo 80 na straně serveru. Protokol HTTP umožňuje přenášet informace v různorodých formátech, neboť klient při zasílání dotazu předává seznam formátů, které je schopen zpracovat. Server pak odešle data v jednom z požadovaných formátů. Toho lze s výhodou využít i pro přenos nestandardních formátů, pokud tyto formáty jak server, tak i klient podporují. K adresování informačních zdrojů v internetu používá HTTP adresové schéma označované jako URL (Uniform Resource Locator), které adresuje nejenom příslušný server, ale také požadovaný dokument, obsahuje specifikaci přístupového protokolu a případně další data pro autorizaci přístupu. Obecný formát URL (hranaté závorky označují, že parametr je nepovinný a může chybět) je: http://hostitelský_počítač[:číslo_portu][přístupová_cesta_k_dokumentu] např. http://www.prachy.cz:8080/dokumenty/kradeze.htm Protokol SMNP je spolu s aplikačním protokolem CMOT (v prostředí RM OSI) jedním z nepoužívanějších protokolů pro správu sítí. Slouží k monitorování aktivních prvků sítí, jejich vzdálenému řízení a konfiguraci. Architektura protokolu je opět založena na koncepci klient/server a tvoří ji tři základní prvky: * SNMP agent; * MIB databáze; * SNMP manažer. SNMP agentem se rozumí programové vybavení provozované na spravovaných aktivních prvcích sítě, jimiž mohou být rozbočovače, směrovače, přepínače, ale také záložní zdroje, síťové tiskárny a mnohá další zařízení. SNMP agent sleduje činnost prvku, na němž je provozován, a informace ukládá do předem definované informační databáze. Ta je obvykle označována jako MIB (Management Information Database, informační databáze pro správu). MIB je objektově orientovaná databáze s přiřazenými názvy parametrů a definovanou syntaxí, tj. typem a strukturou těchto parametrů. Prostřednictvím čtení a zápisu údajů do MIB sledovaných zařízení pak SNMP manažer, programové vybavení pro monitorování a správu sítě jako celku provozované obvykle na jedné ze stanic sítě, komunikuje s jednotlivými SNMP agenty umístěnými v těchto zařízeních. Tím je umožněno nejenom sledování stavu a činnosti jednotlivých zařízení čtením a vyhodnocením údajů, které do MIB uložil příslušný SNMP agent, ale také konfiguraci a řízení činnosti těchto zařízení zápisem SNMP manažerem do MIB vhodných parametrů, na jejichž základě SNMP agent upraví vlastnosti zařízení. Velkou výhodou použití MIB je relativní nezávislost mezi zařízením a v něm použitým SNMP agentem a SNMP manažerem, neboť struktura a názvy základních objektů používaných v různých MIB a prezentační prostředí ASN.1 jsou standardizovány. Je však ponechána volnost výrobcům zařízení v tom směru, že mohou MIB doplňovat i dalšími vlastními parametry, což však již vyžaduje použití SNMP agentů i SNMP manažeru od jednoho výrobce. Další aplikační protokoly Dalších používaných protokolů aplikační vrstvy TCP/IP je celá řada. V závěru seriálu se jich dotkneme pouze velmi stručně. Síťový protokol časování (Network Time Protocol, NTP) slouží k synchronizaci hodin jednotlivých uzlů v rámci celé sítě. Rezervační protokol (Resource Reservation Protocol, RSVP) je signalizační protokol umožňující přijímající stanici rezervovat si potřebnou šířku pásma v síti pro přenos dat citlivých na zpoždění, tj. zejména hlasu či obrazových informací). Přenosový protokol v reálném čase (Real-time Transport Protocol, RTP) slouží ke spolehlivému přenosu interaktivních multimediálních dat, především interaktivního videa. Doručování paketů je monitorováno řídicím protokolem RTCP (Real-time Control Protocol, řídicí protokol pro přenos v reálném čase). Poodhrnutá rouška Seriál, který právě skončil, rozhodně nemohl být a ani nebyl vyčerpávající učebnicí počítačových sítí. Ani si to nekladl za cíl. Problematika počítačových sítí není jenom ohromně široká, ale také velmi hluboká. Pod obecnými postupy, které jsou mnohdy velmi jednoduché a pochopitelné, se skrývají ohromně složité implementace vyvolávající v síti a k ní připojených zařízeních mnohdy miliony či miliardy drobných, neviditelných operací. Mým cílem bylo vysvětlit základní principy činnosti počítačových sítí, osvětlit a dát náplň termínům a pojmům, s nimiž se většina z nás dnes dostává denně do styku, a alespoň trochu přiblížit a zpopularizovat svět, který nám pomáhá komunikovat mezi sebou. Dag Jeger