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 (44):
Adresovßnφ v TCP/IP sφtφch - I.
V minulΘm dφlu naÜeho serißlu jsme si naznaΦili, ₧e
sφ¥ov² model TCP/IP zavßdφ na ·rovni sφ¥ovΘ vrstvy jednotnou
abstrakci vÜech dφlΦφch sφtφ, kterΘ tvo°φ v²slednou soustavu
vzßjemn∞ propojen²ch sφtφ - tzv. internet. Podstata tΘto
abstrakce spoΦφvß mj. i v pou₧itφ jednotn²ch 32-bitov²ch
adres, a to bez ohledu na skuteΦnΘ (fyzickΘ) adresy,
pou₧φvanΘ v jednotliv²ch dφlΦφch sφtφch. Podφvejme se nynφ
na otßzku IP adres pon∞kud podrobn∞ji.
![Obrßzek 44.1.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t233c111.gif) |
Obr. 44.1.: P°edstava IP adresy
a/ bez Φlen∞nφ na podsφt∞
b/ se Φlen∞nφm na podsφt∞ (tzv. subnetting)
Jak jsme si ji₧ takΘ uvedli minule, 32-bitovΘ adresy,
pou₧φvanΘ na ·rovnφ sφ¥ovΘ vrstvy (tzv. IP adresy), mohou
b²t chßpßny jako jednoslo₧kovΘ (lineßrnφ) adresy,
vyjad°ujφcφ prßv∞ a pouze adresu jednoho hostitelskΘho
poΦφtaΦe. Pro sφ¥ovou vrstvu je ale 32-bitovß IP adresa v₧dy
dvouslo₧kovß, tvo°enß Φφslem resp. adresou (dφlΦφ) sφt∞
a Φφslem resp. adresou hostitelskΘho poΦφtaΦe, kter² se
v tΘto sφti nachßzφ - viz obr. 44.1. a/. Tato p°edstava pak
odpovφdß Φlen∞nφ v²slednΘ soustavy sφtφ (internet-u) na
jednotlivΘ dφlΦφ sφt∞ (viz minule, obr. 43.1. a/), kter²mi
mohou b²t nap°φklad jednotlivΘ lokßlnφ sφt∞ typu Ethernet,
Token Ring apod., a₧ po velkΘ rozlehlΘ sφt∞ s velk²m poΦtem
hostitelsk²ch poΦφtaΦ∙.
Podstata sm∞rovßnφ v TCP/IP sφtφch
D∙vod, proΦ sφ¥ovß vrstva pracuje prßv∞ s takovouto
p°edstavou, a nikoli s p°edstavou jednolitΘ, dßle
nestrukturovanΘ v²slednΘ sφt∞, je veskrze praktick²: v zßjmu
minimalizace objemu sm∞rovacφch tabulek je sm∞rovßnφ
v TCP/IP sφtφch zalo₧eno jen na adresßch (dφlΦφch) sφtφ,
a nikoli na adresßch jednotliv²ch hostitelsk²ch poΦφtaΦ∙
v rßmci t∞chto sφtφ.
Prßv∞ vyslovenΘ tvrzenφ si zaslou₧φ pon∞kud up°esnit:
Ka₧d² hostitelsk² poΦφtaΦ, kter² chce odeslat n∞jak² IP
datagram jinΘmu hostitelskΘmu poΦφtaΦi, dokß₧e z IP adresy
p°φjemce snadno rozpoznat, zda tento le₧φ ve stejnΘ dφlΦφ
sφti Φi nikoli. Pokud ano (nachßzφ-li se nap°φklad v tΘ₧e
sφti typu Ethernet), poÜle mu odesilatel sv∙j datagram
p°φmo. Pokud se ale p°φjemce nachßzφ v jinΘ sφti, poÜle
odesilatel sv∙j datagram nejbli₧Üφ brßn∞ (resp. IP
sm∞rovaΦi, viz minule) ve "svΘ" sφti. Na nφ je pak
rozhodnout, kudy datagram poslat dßle. PodstatnΘ p°itom je,
₧e p°i svΘm rozhodovßnφ vychßzφ brßna pouze z tΘ Φßsti IP
adresy koneΦnΘho p°φjemce, kterß vyjad°uje p°φsluÜnou
cφlovou sφ¥. V prvnφm p°iblφ₧enφ si lze p°edstavit, ₧e ka₧dß
brßna mß svΘ sm∞rovacφ tabulky ve form∞ seznamu dvojic
<sφ¥,brßna>, a podle cφlovΘ sφt∞ p°φjemce si v nich najde,
kterΘ brßn∞ mß p°φsluÜn² datagram poslat dßle. Zb²vajφcφ
Φßst IP adresy p°φjemce, kterß vyjad°uje adresu
hostitelskΘho poΦφtaΦe v rßmci cφlovΘ sφt∞, pak vyu₧ije a₧
ta brßna (poslednφ v °et∞zci), kterß ji₧ le₧φ v p°φsluÜnΘ
cφlovΘ sφti, a kterß pak datagram poÜle p°φmo jeho koneΦnΘmu
adresßtovi.
T°φdy IP adres
32 bit∙, vyhrazen²ch pro IP adresy, je tedy nutnΘ
vhodn²m zp∙sobem rozd∞lit na dv∞ Φßsti, tak aby tyto mohly
vyjad°ovat adresu sφt∞ a adresu hostitelskΘho poΦφtaΦe
v rßmci tΘto sφt∞. Otßzkou ovÜem je, jak toto rozd∞lenφ
provΘst. Filosofie sφ¥ovΘho modelu TCP/IP toti₧ p°edpoklßdß,
₧e jednotliv²mi dφlΦφmi sφt∞mi mohou b²t jak "malΘ" sφt∞
s n∞kolika mßlo uzly (hostitelsk²mi poΦφtaΦi), tak i "velkΘ"
sφt∞ s tisφci i desφtkami tisφc uzl∙. T°icet dva bit∙, kterΘ
jsou k dispozici, pak nelze rozd∞lit jedin²m zp∙sobem, kter²
by pamatoval na sφt∞ s velk²m poΦtem uzl∙, a souΦasn∞ m∞l
i dostateΦn∞ velkou rezervu pro rychle rostoucφ poΦet
jednotliv²ch dφlΦφch sφtφ.
╪eÜenφ, uplatn∞nΘ u IP adres, pak spoΦφvß v zavedenφ
t°φ r∙zn²ch zp∙sob∙ rozd∞lenφ 32 bit∙ na dv∞ Φßsti, resp.
v zavedenφ t°φ r∙zn²ch formßt∙ IP adres: jednoho pro dφlΦφ
sφt∞ s velk²m poΦtem uzl∙ resp. hostitelsk²ch poΦφtaΦ∙,
jednoho pro "st°edn∞ velkΘ" sφt∞, a jednoho pro "malΘ" sφt∞,
s relativn∞ mal²m poΦtem uzl∙. Tyto formßty, oznaΦovanΘ jako
t°φdy A, B a C (class A, B and C), ukazuje obrßzek 44.2.
![Obrßzek 44.2.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t233c112.gif) |
Obr. 44.2.: T°φdy IP adres
Adresy t°φdy A majφ pro adresu sφt∞ vyhrazeno 7 bit∙, a
pro adresu hostitelskΘho poΦφtaΦe 24 bit∙. Adres tΘto t°φdy
je tedy relativn∞ velmi mßlo, poΦφtajφ vÜak s velmi velk²m
poΦet uzlov²ch poΦφtaΦ∙. Jsou urΦeny pro velkΘ rozlehlΘ
sφt∞, jako nap°. sφ¥ ARPAnet (viz 39. dφl serißlu), kterß se
stala zßrodkem sφt∞ Internet, pro velkΘ ve°ejnΘ sφt∞,
p°φpadn∞ i velkΘ podnikovΘ sφt∞. Adresy t°φdy B, kterΘ
p°ipouÜtφ a₧ 65534 uzl∙ (hostitelsk²ch poΦφtaΦ∙), jsou
urΦeny pro st°edn∞ velkΘ sφt∞, nap°. pro univerzitnφ sφt∞,
podnikovΘ sφt∞ apod., a pou₧φvajφ se tΘ₧ v souvislosti
s tzv. subnetting-em (podsφt∞mi, viz dßle). Adresy t°φdy C,
kterΘ poΦφtajφ jen se 254 uzly, jsou pak urΦeny pro vÜechny
ostatnφ sφt∞.
Symbolick² zßpis IP adres
32-bitovΘ IP adresy je samoz°ejm∞ mo₧nΘ vyjad°ovat jako
celß dvojkovß Φφsla. Pro Φlov∞ka to ale nenφ p°φliÜ
srozumitelnΘ, a tak se pro symbolick² zßpis IP adres zavedla
vhodnß konvence, oznaΦovanß jako teΦkovanß desφtkovß notace
(dotted decimal notation). SpoΦφvß v tom, ₧e 32 bit∙ IP
adresy se rozd∞lφ na Φty°i Φßsti po osmi bitech (oktety),
a ka₧dß z t∞chto Φßstφ se pak vyjßd°φ jako celΘ desφtkovΘ
Φφslo bez znamΘnka (s pou₧itφm teΦky jako odd∞lovaΦe
jednotliv²ch Φßstφ). Nap°φklad nep°φliÜ mnemonick² tvar
10000000 00000001 00000010 00000011 tak dostßvß p°ehledn∞jÜφ
podobu: 128.1.2.3. V²znam desφtkovΘ notace ilustruje tΘ₧
tabulka 44.3.
| prvnφ oktet adresy | sφ¥ovß Φßst adresy | Φßst adresy, p°edstavujφcφ relativnφ adresu uzlu v rßmci sφt∞ | maximßlnφ poΦet hostitelsk²ch poΦφtaΦ∙ |
t°φda A | 1-126 | p | q.r.s | 16777214 |
t°φda B | 128-191 | p.q | r.s | 65534 |
t°φda C | 192-223 | p.q.r | s | 254 |
Tabulka 44.3.: Desφtkovß teΦkovanß notace a IP adresy (je-li p.q.r.s obecn² tvar IP adresy)
Jak volit IP adresy?
V principu je mo₧nΘ volit IP adresy dle vlastnφho
uvß₧enφ. Je ovÜem nutnΘ dbßt na dodr₧enφ jednΘ zßsadnφ
podmφnky, a tou je jednoznaΦnost. Nesmφ se toti₧ stßt, aby
se v jakΘmkoli konglomerßtu vzßjemn∞ propojen²ch sφtφ adresy
dvou r∙zn²ch sφtφ shodovaly (p°esn∞ji ty Φßsti IP adres,
kterΘ vyjad°ujφ adresu sφt∞) - jinak toti₧ bude mφt
mechanismus sm∞rovßnφ velkΘ problΘmy.
U ka₧dΘ poΦφtaΦovΘ sφt∞ Φi soustavy sφtφ, budovanΘ
pomocφ protokol∙ TCP/IP, je vÜak prakticky jen otßzkou Φasu,
kdy je jejich provozovatelΘ budou chtφt p°ipojit do dnes ji₧
celosv∞tovΘ sφt∞ Internet (viz nap°. CW 7/92). TakΘ zde
samoz°ejm∞ platφ zßsada jednoznaΦnosti adres, tak₧e vÜechny
nov∞ p°ipojovanΘ sφt∞ musφ mφt dosud nepou₧itΘ adresy.
V Internetu proto existuje centrßlnφ autorita (konkrΘtn∞:
DDN Network Information Center, SRI International, 333
Rawenswood Avenue, Menlo Park, California 94025), kterß se
starß o hospoda°enφ s IP adresami, a p°id∞luje je vÜem
potencißlnφm zßjemc∙m (p°esn∞ji: p°id∞luje tu Φßst IP adres,
kterß p°edstavuje adresu sφt∞, zatφmco zb²vajφcφ Φßst IP
adres si volφ ₧adatel. Ve skuteΦnosti tak p°id∞luje vlastn∞
celΘ skupiny IP adres se shodnou prvnφ Φßstφ). SkuteΦnΘ
p°ipojenφ k sφti Internet p°itom v∙bec nenφ podmφnkou pro
p°id∞lenφ adresy, tak₧e je naopak dobrΘ si p°id∞lenφ adresy
vy₧ßdat co nejd°φve, pokud mo₧no jeÜt∞ p°ed zprovozn∞nφm
jakΘkoli sφt∞ na bßzi TCP/IP (a tφm se vyhnout pozd∞jÜφ
zm∞n∞ IP adres, kterß je samoz°ejm∞ mo₧nß, ale obvykle
znaΦn∞ pracnß).
V naÜich zem∞pisn²ch Üφ°kßch vÜak nenφ nutnΘ se pro
p°id∞lenφ IP adresy obracet a₧ do USA. DDN NIC, kterß adresy
spravuje, toti₧ delegovala svou pravomoc v p°id∞lovßnφ IP
adres pro oblast ╚SFR v²poΦetnφmu centru pra₧skΘ VèCHT
(Technickß 5, 166 28 Praha 6).
Subnetting
Jak jsme si ji₧ naznaΦili v²Üe, p°i sm∞rovßnφ v TCP/IP
sφtφch se vychßzφ pouze z tΘ Φßsti IP adresy, kterß
p°edstavuje adresu (dφlΦφ) sφt∞. V²hodou jsou neskonale
menÜφ sm∞rovacφ tabulky, ne₧ jakΘ by musely b²t v p°φpad∞
sm∞rovßnφ podle cel²ch IP adres.
![Obrßzek 44.4.](/file/23364/Chip_1997-10_cd.bin/tema/_peterka/gifs/t233c114.gif) |
Obr. 44.4.: P°edstava Φlen∞nφ na podsφt∞ (tzv.subnetting)
P°esto se ale v sφti Internet zßhy ukßzalo, ₧e i tak
vychßzφ sm∞rovacφ tabulky v∞tÜφ, ne₧ by bylo vhodnΘ. Proto
se zp∞tn∞ do TCP/IP prosadil mechanismus, oznaΦovan²
v angliΦtin∞ jako subnetting, kter² se sna₧φ dalÜφ nßr∙st
sm∞rovacφch tabulek omezit.
MyÜlenku tohoto mechanismu si m∙₧eme ukßzat na p°φkladu
organizace, p°ipojenΘ k sφti Internet, kterß provozuje vφce
dφlΦφch sφtφ, a pro ka₧dou z nich mß p°id∞lenu samostatnou
adresu (nejspφÜe t°φdy C). Ka₧dß z t∞chto dφlΦφch sφtφ je
pak ovÜem "samostatn∞ viditelnß" i z vn∞ p°φsluÜnΘ
organizace, a jako se samostatnou je s nφ takΘ naklßdßno
- ve sm∞rovacφch tabulkßch ka₧dß zabφrß samostatnou polo₧ku.
Kdyby se ovÜem p°φsluÜnß organizace sama postarala
o pot°ebnΘ sm∞rovßnφ mezi sv²mi sφt∞mi, a navenek
vystupovala jako jedin² celek, mohla by mφt p°id∞lenu jen
jednu sφ¥ovou adresu (nap°φklad t°φdy B mφsto vφce sφ¥ov²ch
adres t°φdy C), a ve sm∞rovacφch tabulkßch by tak zabφrala
jen jednu polo₧ku. VÜechny dφlΦφ sφt∞, pat°φcφ p°φsluÜnΘ
organizaci, by tak navenek vystupovaly jako sφ¥ jedinß,
s jedinou spoleΦnou adresou (p°esn∞ji: s IP adresami, kterΘ
se shodujφ v Φßsti, vyjad°ujφcφ adresu sφt∞). SkuteΦnΘ
vnit°nφ Φlen∞nφ tΘto navenek jednotnΘ sφt∞ by pak bylo pln∞
v kompetenci p°φsluÜnΘ organizace. Ta by takΘ musela zm∞nit
p°esn² zp∙sob, jak²m sama interpretuje IP adresy sv²ch
hostitelsk²ch poΦφtaΦ∙, a to podle obrßzku 44.1. b/ - tu
Φßst, kterß z vn∞jÜφho pohledu p°edstavuje Φφslo resp.
adresu hostitelskΘho poΦφtaΦe, by pro sebe musela rozd∞lit
na dv∞ Φßsti - Φφslo resp. adresu svΘ dφlΦφ sφt∞ (podsφt∞,
neboli subnet, odsud subnetting), a na Φφslo resp. adresu
hostitelskΘho poΦφtaΦe v rßmci tΘto podsφt∞.
V nejjednoduÜÜφm p°φpad∞ adresy t°φdy B tak, ₧e t°etφ oktet
bude pova₧ovat za Φφslo podsφt∞, a Φtvrt² za Φφslo uzlu
(hostitelskΘho poΦφtaΦe) - viz obrßzek 44.4. V obecnΘm
p°φpad∞ pak podle tzv. masky podsφt∞ (subnet mask), viz
obrßzek 44.1. a/, kterß ob∞ Φßsti IP adresy nov∞ definuje.
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