VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:44/92
RoΦnφk:1992
Rubrika/kategorie: Co je Φφm ... v poΦφtaΦov²ch sφtφch
Dφl:51

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ dφl | nßsledujφcφ dφl

Ji°φ Peterka: Co je Φφm ... v poΦφtaΦov²ch sφtφch (51):

JmΘna v TCP/IP sφtφch - I.

V minul²ch dφlech naÜeho serißlu jsme si ukßzali, ₧e v sφtφch na bßzi protokol∙ TCP/IP (a samoz°ejm∞ takΘ v Internetu) se pou₧φvajφ jednotnΘ IP adresy ΦφselnΘho charakteru, a ₧e takΘ veÜkerΘ sm∞rovßnφ je zalo₧eno prßv∞ na t∞chto adresßch. Jakkoli jsou ale tyto ΦφselnΘ adresy vhodnΘ pro p°φsluÜn² sφ¥ov² software, pro u₧ivatele p°φliÜ v²sti₧nΘ nejsou. LidΘ rad∞ji pracujφ se snßze zapamatovateln²mi symbolick²mi jmΘny, nap°φklad "aviion.mff.cuni.cs", ne₧ s mßlo mnemonick²mi Φφseln²mi adresami typu 129.1.2.3. Jak je to ale s mo₧nostφ pou₧φvat takovßto symbolickß jmΘna v TCP/IP sφtφch?

Zamysleme se nejprve znovu nad tφm, co je vlastn∞ IP adresa. Ve 44. dφlu jsme dosp∞li k tomu, ₧e IP adresa je dvouslo₧kovß, a ₧e jejφ dv∞ slo₧ky reprezentujφ jednak adresu dφlΦφ sφt∞, jednak adresu hostitelskΘho poΦφtaΦe (resp. brßny) v tΘto dφlΦφ sφti. HostitelskΘ poΦφtaΦe vÜak mohou b²t p°φmo p°ipojeny i do dvou Φi vφce dφlΦφch sφtφ (pak jsou v angliΦtin∞ oznaΦovßny jako multihomed hosts), a brßny dokonce musφ b²t takto p°ipojeny nejmΘn∞ do dvou sφtφ, majφ-li v∙bec fungovat jako brßny. Pak ovÜem majφ takΘ dv∞ Φi vφce r∙zn²ch IP adres. Domyslφme-li tuto skuteΦnost do d∙sledku, je p°esn∞jÜφ chßpat IP adresu nikoli jako adresu poΦφtaΦe resp. brßny jako takovΘ, ale jako rozhranφ mezi sφtφ a hostitelsk²m poΦφtaΦem resp. brßnou. Navφc, dojde-li k p°emφst∞nφ poΦφtaΦe Φi brßny, jejich IP adresy se zm∞nφ.

JmΘna vs. IP adresy

Symbolickß jmΘna bran a hostitelsk²ch poΦφtaΦ∙, kterß skuteΦn∞ lze v TCP/IP sφtφch pou₧φvat, vÜak nejsou p°esn²m symbolick²m ekvivalentem Φφseln²ch IP adres. JmΘna se vztahujφ k poΦφtaΦ∙m resp. brßnßm jako takov²m, a nikoli k jejich rozhranφm. Jeden hostitelsk² poΦφtaΦ tedy m∙₧e mφt jedinΘ jmΘno, ale souΦasn∞ vφce IP adres (je ovÜem takΘ mo₧nΘ, aby m∞l jmen n∞kolik). Dojde-li k p°itom k p°emφst∞nφ poΦφtaΦe, jeho jmΘno (Φi jmΘna) se m∞nit nemusφ (zatφmco jeho IP adresa resp. adresy ano).

Otßzkou ovÜem je, jak² tvar by m∞la symbolickß jmΘna mφt, kdo je oprßvn∞n je p°id∞lovat, a jak z t∞chto jmen zφskßvat jim odpovφdajφcφ IP adresy, kterΘ jsou pot°eba pro vlastnφ komunikaci.

Flat namespace

Je-li t°eba p°id∞lit symbolickß jmΘna relativn∞ malΘmu poΦtu hostitelsk²ch poΦφtaΦ∙ a bran, je vÜe jednoduchΘ - staΦφ vymyslet dostateΦn² poΦet navzßjem r∙zn²ch jmen, a ty jednotliv²m poΦφtaΦ∙m a brßnßm p°id∞lit. Na syntaktick² tvar t∞chto jmen p°itom nenφ t°eba klßst n∞jakΘ zvlßÜtnφ po₧adavky - samoz°ejm∞ krom∞ jejich jednoznaΦnosti - a nenφ ani nutnΘ tato jmΘna jakkoli strukturovat Φi Φlenit na Φßsti. VÜechna takovßto symbolickß jmΘna jsou pak pova₧ovßna za dßle ned∞litelnß (v angliΦtin∞ se °φkß, ₧e tvo°φ "flat namespace", doslova: ploch² prostor jmen). Udr₧et takov²to systΘm dßle ned∞liteln²ch jmen v konzistentnφm stavu vÜak vy₧aduje existenci centrßlnφ autority, kterß bude dbßt na p°φpustnost nov∞ p°id∞lovan²ch jmen - hlavn∞ podle toho, jestli nekolidujφ s n∞kter²m ji₧ p°id∞len²m jmΘnem. Se zvyÜovßnφm poΦtu p°id∞lovan²ch symbolick²ch jmen vÜak zaΦne nar∙stat administrativnφ i technickß zßt∞₧ tΘto centrßlnφ instituce, a problematickΘ se stßvß i hledßnφ nov²ch, dosud nepou₧it²ch symbolick²ch jmen. V takov²ch kolosech, jako je Internet, se prßv∞ naznaΦenΘ °eÜenφ stalo velmi brzy ne·nosnΘ.

Hierarchickß jmΘna

Je ale v∙bec mo₧nΘ obejφt se bez centrßlnφ instituce, kterß by dbala na konzistentnost celΘho systΘmu symbolick²ch jmen? Odpov∞∩ je kladnß, a spoΦφvß v tom, ₧e prßvo p°id∞lovat novß jmΘna bude decentralizovßno, a s nφm i souvisejφcφ odpov∞dnost za jejich jednoznaΦnost.

Zp∙sob tΘto decentralizace byl inspirovßn velk²mi organizacemi, kterΘ jsou hierarchicky Φlen∞ny na r∙znΘ organizaΦnφ slo₧ky, a ve kter²ch vyÜÜφ slo₧ky delegujφ n∞kterΘ pravomoci slo₧kßm ni₧Üφm. Podobn∞ jsou na vφce slo₧ek Φlen∞na i symbolickß jmΘna, a tyto jejich slo₧ky jsou hierarchicky uspo°ßdßny - od nejvyÜÜφ a₧ po nejni₧Üφ. Za nejvyÜÜφ slo₧ku stßle zodpovφdß jedinß centrßlnφ autorita, ale za slo₧ky ni₧Üφ ·rovn∞ ji₧ mohou odpovφdat jinΘ subjekty, kter²m centrßlnφ autorita deleguje p°φsluÜnou pravomoc.

Uka₧me si to na hypotetickΘm p°φkladu sφt∞, propojujφcφ vysokΘ Ükoly v Praze, a na p°φkladu jmen o t°ech slo₧kßch, kterΘ vyjad°ujφ vysokou Ükolu jako takovou, fakultu v rßmci tΘto vysokΘ Ükoly, a jmΘno p°φsluÜnΘho poΦφtaΦe na tΘto fakult∞. Adresy tohoto typu by mohly vypadat nap°φklad takto:

aviion.mff.cuni

(poΦφtaΦ se jmΘnem aviion na Matematicko-fyzikßlnφ fakult∞ (mff) Univerzity Karlovy (cuni)), nebo:

vax.fel.cvut

(tj. poΦφtaΦ se jmΘnem vax na ElektrotechnickΘ fakult∞ pra₧skΘho ╚VUT).

JednotlivΘ slo₧ky t∞chto hierarchick²ch jmen jsou p°itom zapisovßny tak, ₧e slo₧ka nejvyÜÜφ ·rovn∞ je nejvφce vpravo, a jednotlivΘ slo₧ky jsou odd∞lovßny teΦkami.

Pro tento nßmi zvolen² p°φklad by stßle jeÜt∞ musela existovat centrßlnφ autorita, kterß by vÜak odpovφdala jen za jmΘna, resp. slo₧ky nejvyÜÜφ ·rovn∞, vyjad°ujφcφ jmΘna jednotliv²ch vysok²ch Ükol (tj. cvut, cuni atd.). Ka₧dß novß vysokß Ükola, kterß by se cht∞la zapojit do tohoto systΘmu jmen, by se musela obrßtit na tuto centrßlnφ autoritu pro p°id∞lenφ novΘho jmΘna (resp. jeho nejvyÜÜφ slo₧ky). Centrßlnφ autorita pak p°id∞lenφm ka₧dΘho novΘho jmΘna nejvyÜÜφ ·rovn∞ vlastn∞ vytvß°φ samostatn² prostor symbolick²ch jmen, kterΘmu se obvykle °φkß domΘna (v naÜem p°φpad∞ jde nap°. o domΘny cvut, cuni). Tφm vÜak odpov∞dnost centrßlnφ autority konΦφ, nebo¥ sprßvu ka₧dΘ domΘny - tj. odpov∞dnost za p°id∞lovßnφ dalÜφch slo₧ek jmen - deleguje jednotliv²m vysok²m Ükolßm, kterΘ se stßvajφ sprßvci p°φsluÜn²ch domΘn. Ti si pak sami volφ jmΘna (slo₧ky) druhΘ ·rovn∞, v naÜem p°φpad∞ odpovφdajφcφ jednotliv²m fakultßm (tj. nap°φklad mff, fel). Tφm vznikajφ dalÜφ domΘny ni₧Üφ ·rovn∞ (subdomΘny), kterΘ op∞t majφ svΘ sprßvce - v naÜem p°φpad∞ jednotlivΘ fakulty - kterΘ si zase samy volφ jmΘna t°etφ ·rovn∞. A jeliko₧ jsme se v naÜem hypotetickΘm p°φkladu omezili jen na t°i ·rovn∞, jde ji₧ o jmΘna konkrΘtnφch poΦφtaΦ∙ na p°φsluÜn²ch fakultßch. V praxi ovÜem nenφ poΦet ·rovnφ (resp. slo₧ek) omezen.

SystΘm domΘnov²ch jmen

Mechanismus, kter² v TCP/IP sφtφch implementuje prßv∞ naznaΦen² systΘm hierarchick²ch jmen, se jmenuje DNS (Domain Name System). Ten mß dv∞ Φßsti - prvnφ z nich p°edepisuje syntaxi hierarchick²ch jmen (oznaΦovan²ch nynφ jako domΘnovß jmΘna), a pravidla pro delegovßnφ pravomocφ a odpov∞dnosti za jejich p°id∞lovßnφ. Druhß Φßst pak urΦuje zp∙sob implementace distribuovanΘho systΘmu, kter² umo₧≥uje efektivn∞ p°evßd∞t domΘnovß jmΘna na jim odpovφdajφcφ IP adresy (o tom si budeme povφdat p°φÜt∞).

VÜechno podle Internetu

Standard DNS nep°edepisuje ₧ßdn² povinn² tvar jednotliv²ch slo₧ek domΘnov²ch jmen. Nep°edepisuje ani, ₧e Φlen∞nφ na domΘny r∙zn²ch ·rovnφ musφ odpovφdat organizaΦnφmu Φlen∞nφ - stejn∞ tak dob°e m∙₧e toto Φlen∞nφ vychßzet nap°φklad z ·zemnφho Φlen∞nφ.

Ka₧d² konglomerßt vzßjemn∞ propojen²ch sφtφ (internet) na bßzi TCP/IP si tedy m∙₧e volit zp∙sob Φlen∞nφ na jednotlivΘ domΘny i jejich jmΘna zcela podle svΘho (viz nßÜ hypotetick² p°φklad). V praxi se ale tΘm∞° vÜechny takovΘto konglomerßty p°izp∙sobujφ tomu, jak jsou domΘnovß jmΘna organizovßna v Internetu - mj. i z toho prostΘho d∙vodu, aby na n∞j mohly b²t co nejsnßze p°ipojeny (pokud jeÜt∞ nejsou).

SystΘm domΘnov²ch jmen, pou₧φvan² v "sφti" Internet, mß jeden pikantnφ rys - vznikl toti₧ v dob∞, kdy jeho auto°i v∙bec neuva₧ovali o tom, ₧e by se v∙bec n∞kdy rozÜφ°il mimo ·zemφ USA. Proto zavedli domΘny nejvyÜÜφ ·rovn∞ (tzv. top-level domains, viz tabulka 51.1.), kterΘ vyjad°ujφ charakter p°φsluÜn²ch organizacφ, ale jsou pou₧itelnΘ jen pro takovΘ organizace, kterΘ sφdlφ v USA (a v Φßsti Kanady). Jakmile se ale Internet dostal i mimo Spojen²ch stßt∙, musely se zavΘst jeÜt∞ dalÜφ domΘny nejvyÜÜφ ·rovn∞, odpovφdajφcφ jednotliv²m stßt∙m. JmΘna t∞chto domΘn nejvyÜÜφ ·rovn∞ tvo°φ dvoupφsmenovΘ nßrodnφ k≤dy (Country Code), kterΘ definuje standard ISO 3166, pro ╚eskoslovensko pak: cs. Tak₧e nap°φklad

xinu.cs.purdue.edu

je poΦφtaΦ (xinu) na kated°e computer science (cs) na Purdue University (purdue), kterß je vzd∞lßvacφ institucφ (edu), v USA. Naopak

aviion.mff.cuni.cs

je poΦφtaΦ (aviion) na Matematicko-fyzikßlnφ fakult∞ (mff) Univerzity Karlovy (cuni) v ╚eskoslovensku (cs).

NßÜ hypotetick² p°φklad tedy nebyl tak daleko od skuteΦnosti. Pouze jsme v n∞m neuva₧ovali, ₧e celΘ ╚eskoslovensko tvo°φ v rßmci Internetu jednu domΘnu nejvyÜÜφ ·rovn∞ (domΘnu cs), jejφm₧ sprßvcem je pra₧skß VèCHT. U nφ pak musφ b²t registrovßny vÜechny domΘny druhΘ ·rovn∞.

domΘna v²znam
com v²d∞leΦnΘ organizace
edu vzd∞lßvacφ instituce (Ükoly)
govvlßdnφ instituce
milvojenskΘ instituce
net provoznφ a sprßvnφ st°ediska sφtφ
orgostatnφ organizace
int mezinßrodnφ organizace
nßrodnφ k≤d stßt
Tabulka 51.1.: DomΘny nejvyÜÜφ ·rovn∞ v sφti Internet


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ dφl | nßsledujφcφ dφl
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm