RFC1180 Semejstvo protokolov TCP/IP v perevode Brezhneva i Smelyanskogo Original - RFC1180 T.Socolofsky and C.Kale http://www.alcpress.com/rfc/tcpip/rfc1180.htm ¡ http://www.alcpress.com/rfc/tcpip/rfc1180.htm Perevod s anglijskogo: Brezhnev A.F., Smelyanskij R.L. Soderzhanie 1. Vvedenie ....................................................... 1 2. Osnovy TCP/IP .................................................. 1 2.1. Modul' IP sozdaet edinuyu logicheskuyu set' ..................... 1 2.2. Struktura svyazej protokol'nyh modulej ........................ 2 2.3. Terminologiya ................................................. 3 2.4. Potoki dannyh ................................................ 3 2.5. Rabota s neskol'kimi setevymi interfejsami ................... 5 3. Ethernet ....................................................... 6 3.1. Analogiya s razgovorom ........................................ 7 4. Protokol ARP ................................................... 7 4.1. ARP-tablica dlya preobrazovaniya adresov ....................... 8 4.2. Poryadok preobrazovaniya adresov ............................... 8 4.3. Zaprosy i otvety protokola ARP ............................... 9 4.4. Prodolzhenie preobrazovaniya adresov ........................... 10 5. Mezhsetevoj protokol IP ......................................... 11 5.1. Pryamaya marshrutizaciya ......................................... 11 5.2. Kosvennaya marshrutizaciya ...................................... 12 5.3. Pravila marshrutizacii v module IP ............................ 14 5.4. IP-adres ..................................................... 15 5.5. Vybor adresa ................................................. 17 5.6. Podseti ...................................................... 17 5.7. Kak naznachat' nomera setej i podsetej ........................ 18 5.8. Imena ........................................................ 19 5.9. IP-tablica marshrutov ......................................... 20 5.10. Podrobnosti pryamoj marshrutizacii ............................ 21 5.11. Poryadok pryamoj marshrutizacii ................................ 22 5.12. Podrobnosti kosvennoj marshrutizacii ......................... 22 5.13. Poryadok kosvennoj marshrutizacii ............................. 23 6. Ustanovka marshrutov ............................................ 25 6.1. Fiksirovannye marshruty ....................................... 25 6.2. Perenapravlenie marshrutov .................................... 26 6.3. Slezhenie za marshrutizaciej ................................... 28 6.4. Protokol ARP s predstavitelem ................................ 30 7. Protokol UDP ................................................... 32 7.1. Porty ........................................................ 33 7.2. Kontrol'noe summirovanie ..................................... 33 8. Protokol TCP ................................................... 34 9. Protokoly prikladnogo urovnya ................................... 35 9.1. Protokol TELNET .............................................. 36 9.2. Protokol FTP ................................................. 37 9.3. Protokol SMTP ................................................ 37 9.4. r-komandy .................................................... 37 9.5. NFS .......................................................... 38 9.6. Protokol SNMP ................................................ 38 9.7. X-Window ..................................................... 38 10. Vzaimozavisimost' protokolov semejstva TCP/IP ................. 39 Prilozhenie 1. Putevoditel' po RFC ................................. 40 Prilozhenie 2. Standarty semejstva protokolov TCP/IP ............... 75 -- 11 --  * 1. Vvedenie *  Semejstvo protokolov TCP/IP shiroko primenyaetsya vo vsem mire dlya ob®edineniya komp'yuterov v set' Internet. Edinaya set' Internet sostoit iz mnozhestva setej razlichnoj fizicheskoj prirody, ot lokal'nyh setej tipa Ethernet i Token Ring, do global'nyh setej tipa NSFNET. Osnovnoe vnima- nie v knige udelyaetsya principam organizacii mezhsetevogo vzaimodejstviya. Mnogie tehnicheskie detali, istoricheskie voprosy opushcheny. Bolee podrobnuyu informaciyu o protokolah TCP/IP mozhno najti v RFC (Requests For Comments) - special'nyh dokumentah, vypuskaemyh Setevym Informacionnym Centrom (Network Information Center - NIC). Prilozhenie 1 soderzhit putevoditel' po RFC, a prilozhenie 2 otrazhaet polozhenie del v oblasti standartizacii protokolov semejstva TCP/IP na nachalo 1991 goda. V knige privodyatsya primery, osnovannye na realizacii TCP/IP v OS UNIX. Odnako osnovnye polozheniya primenimy ko vsem realizaciyam TCP/IP. Nadeyus', chto eta kniga budet polezna tem, kto professional'no rabo- taet ili sobiraetsya nachat' rabotat' v srede TCP/IP: sistemnym administra- toram, sistemnym programmistam i menedzheram seti.  * 2. Osnovy TCP/IP *  Termin "TCP/IP" obychno oboznachaet vse, chto svyazano s protokolami TCP i IP. On ohvatyvaet celoe semejstvo protokolov, prikladnye programmy i dazhe samu set'. V sostav semejstva vhodyat protokoly UDP, ARP, ICMP, TEL- NET, FTP i mnogie drugie. TCP/IP - eto tehnologiya mezhsetevogo vzaimo- dejstviya, tehnologiya internet. Set', kotoraya ispol'zuet tehnologiyu internet, nazyvaetsya "internet". Esli rech' idet o global'noj seti, ob®e- dinyayushchej mnozhestvo setej s tehnologiej internet, to ee nazyvayut Internet. 2.1. Modul' IP sozdaet edinuyu logicheskuyu set' Arhitektura protokolov TCP/IP prednaznachena dlya ob®edinennoj seti, sostoyashchej iz soedinennyh drug s drugom shlyuzami otdel'nyh raznorodnyh paketnyh podsetej, k kotorym podklyuchayutsya raznorodnye mashiny. Kazhdaya iz podsetej rabotaet v sootvetstvii so svoimi specificheskimi trebovaniyami i imeet svoyu prirodu sredstv svyazi. Odnako predpolagaetsya, chto kazhdaya pod- set' mozhet prinyat' paket informacii (dannye s sootvetstvuyushchim setevym zagolovkom) i dostavit' ego po ukazannomu adresu v etoj konkretnoj pod- -- 22 -- seti. Ne trebuetsya, chtoby podset' garantirovala obyazatel'nuyu dostavku paketov i imela nadezhnyj skvoznoj protokol. Takim obrazom, dve mashiny, podklyuchennye k odnoj podseti mogut obmenivat'sya paketami. Kogda neobhodimo peredat' paket mezhdu mashinami, podklyuchennymi k raz- nym podsetyam, to mashina-otpravitel' posylaet paket v sootvetstvuyushchij shlyuz (shlyuz podklyuchen k podseti takzhe kak obychnyj uzel). Ottuda paket naprav- lyaetsya po opredelennomu marshrutu cherez sistemu shlyuzov i podsetej, poka ne dostignet shlyuza, podklyuchennogo k toj zhe podseti, chto i mashina-poluchatel'; tam paket napravlyaetsya k poluchatelyu. Ob®edinennaya set' obespechivaet datagrammnyj servis. Problema dostavki paketov v takoj sisteme reshaetsya putem realizacii vo vseh uzlah i shlyuzah mezhsetevogo protokola IP. Mezhsetevoj uroven' yavlyaetsya po sushchestvu bazovym elementom vo vsej arhitekture protokolov, obespechivaya vozmozhnost' standartizacii protokolov verhnih urovnej. 2.2. Struktura svyazej protokol'nyh modulej Logicheskaya struktura setevogo programmnogo obespecheniya, realizuyushchego protokoly semejstva TCP/IP v kazhdom uzle seti internet, izobrazhena na ris.1. Pryamougol'niki oboznachayut obrabotku dannyh, a linii, soedinyayushchie pryamougol'niki, - puti peredachi dannyh. Gorizontal'naya liniya vnizu risunka oboznachaet kabel' seti Ethernet, kotoraya ispol'zuetsya v kachestve primera fizicheskoj sredy; "o" - eto transiver. Znak "*" - oboznachaet ------------------------------ | prikladnye processy | | ... \ | / ... \ | / ... | | ------- ------- | | | TCP | | UDP | | | ------- ------- | | \ / | | ------ | | ------- | IP | | | | ARP | -*---- | | ------- | | | \ | | | -------- | | | ENET | | | ---@---- | | | | ------------|----------------- | -------------------o-------- kabel' Ethernet Ris.1. Struktura protokol'nyh modulej v uzle seti TCP/IP -- 33 -- IP-adres, a "@" - adres uzla v seti Ethernet (Ethernet-adres). Ponimanie etoj logicheskoj struktury yavlyaetsya osnovoj dlya ponimaniya vsej tehnologii internet. V dal'nejshem my budem chasto ssylat'sya na etu shemu. 2.3. Terminologiya Vvedem ryad bazovyh terminov, kotorye my budem ispol'zovat' v dal'- nejshem. Drajver - eto programma, neposredstvenno vzaimodejstvuyushchaya s setevym adapterom. Modul' - eto programma, vzaimodejstvuyushchaya s drajverom, sete- vymi prikladnymi programmami ili drugimi modulyami. Drajver setevogo adaptera i, vozmozhno, drugie moduli, specifichnye dlya fizicheskoj seti peredachi dannyh, predostavlyayut setevoj interfejs dlya protokol'nyh modulej semejstva TCP/IP. Nazvanie bloka dannyh, peredavaemogo po seti, zavisit ot togo, na kakom urovne steka protokolov on nahoditsya. Blok dannyh, s kotorym imeet delo setevoj interfejs, nazyvaetsya kadrom; esli blok dannyh nahoditsya mezhdu setevym interfejsom i modulem IP, to on nazyvaetsya IP-paketom; esli on - mezhdu modulem IP i modulem UDP, to - UDP-datagrammoj; esli mezhdu modulem IP i modulem TCP, to - TCP-segmentom (ili transportnym soobshche- niem); nakonec, esli blok dannyh nahoditsya na urovne setevyh prikladnyh processov, to on nazyvaetsya prikladnym soobshcheniem. |ti opredeleniya, konechno, nesovershenny i nepolny. K tomu zhe oni menyayutsya ot publikacii k publikacii. Bolee podrobnye opredeleniya mozhno najti v RFC-1122, razdel 1.3.3. 2.4. Potoki dannyh Rassmotrim potoki dannyh, prohodyashchie cherez stek protokolov, izobra- zhennyj na ris.1. V sluchae ispol'zovaniya protokola TCP (Transmission Con- trol Protocol - protokol upravleniya peredachej), dannye peredayutsya mezhdu prikladnym processom i modulem TCP. Tipichnym prikladnym processom, ispol'zuyushchim protokol TCP, yavlyaetsya modul' FTP (File Transfer Protocol - protokol peredachi fajlov). Stek protokolov v etom sluchae budet FTP/TCP/IP/ENET. Pri ispol'zovanii protokola UDP (User Datagram Protocol - protokol pol'zovatel'skih datagramm), dannye peredayutsya mezhdu priklad- nym processom i modulem UDP. Naprimer, SNMP (Simple Network Management Protocol - prostoj protokol upravleniya set'yu) pol'zuetsya transportnymi uslugami UDP. Ego stek protokolov vyglyadit tak: SNMP/UDP/IP/ENET. Moduli TCP, UDP i drajver Ethernet yavlyayutsya mul'tipleksorami n x 1. Dejstvuya kak mul'tipleksory, oni pereklyuchayut neskol'ko vhodov na odin vyhod. Oni takzhe yavlyayutsya demul'tipleksorami 1 x n. Kak demul'tiplek- sory, oni pereklyuchayut odin vhod na odin iz mnogih vyhodov v sootvetstvii s polem tipa v zagolovke protokol'nogo bloka dannyh (ris.2). Kogda Ethernet-kadr popadaet v drajver setevogo interfejsa Ethernet, on mozhet byt' napravlen libo v modul' ARP (Address Resolution Protocol - adresnyj protokol), libo v modul' IP (Internet Protocol - mezhsetevoj pro- tokol). Na to, kuda dolzhen byt' napravlen Ethernet-kadr, ukazyvaet zna- chenie polya tipa v zagolovke kadra. Esli IP-paket popadaet v modul' IP, to soderzhashchiesya v nem dannye mogut byt' peredany libo modulyu TCP, libo UDP, chto opredelyaetsya polem "protokol" v zagolovke IP-paketa. Esli UDP-datagramma popadaet v modul' UDP, to na osnovanii znacheniya polya "port" v zagolovke datagrammy opredelyaetsya prikladnaya programma, kotoroj dolzhno byt' peredano prikladnoe soobshchenie. Esli TCP-soobshchenie popadaet v modul' TCP, to vybor prikladnoj programmy, kotoroj dolzhno byt' peredano soobshchenie, osushchestvlyaetsya na osnove znacheniya polya "port" v zago- lovke TCP-soobshcheniya. Mul'tipleksirovanie dannyh v obratnuyu storonu osushchestvlyaetsya dovol'no prosto, tak kak iz kazhdogo modulya sushchestvuet tol'ko odin put' vniz. Kazhdyj protokol'nyj modul' dobavlyaet k paketu svoj zagolovok, na osnovanii kotorogo mashina, prinyavshaya paket, vypolnyaet demul'tipleksirova- nie. 1 2 3 .... n | 1 2 3 .... n ^ \ | | / | \ | | / | ----------------- potok ------------------- potok | mul'tipleksor | dannyh | demul'tipleksor | dannyh ----------------- | ------------------- | | | ^ | v V | | 1 1 Ris.2. Mul'tipleksor n x 1 i demul'tipleksor 1 x n -- 55 -- Dannye ot prikladnogo processa prohodyat cherez moduli TCP ili UDP, posle chego popadayut v modul' IP i ottuda - na uroven' setevogo inter- fejsa. Hotya tehnologiya internet podderzhivaet mnogo razlichnyh sred peredachi dannyh, zdes' my budem predpolagat' ispol'zovanie Ethernet, tak kak imenno eta sreda chashche vsego sluzhit fizicheskoj osnovoj dlya IP-seti. Mashina na ris.1 imeet odnu tochku soedineniya s Ethernet. SHestibajtnyj Ethernet-adres yavlyaetsya unikal'nym dlya kazhdogo setevogo adaptera i ras- poznaetsya drajverom. Mashina imeet takzhe chetyrehbajtnyj IP-adres. |tot adres oboznachaet tochku dostupa k seti na interfejse modulya IP s drajverom. IP-adres dol- zhen byt' unikal'nym v predelah vsej seti Internet. Rabotayushchaya mashina vsegda znaet svoj IP-adres i Ethernet-adres. 2.5. Rabota s neskol'kimi setevymi interfejsami Mashina mozhet byt' podklyuchena odnovremenno k neskol'kim sredam pere- dachi dannyh. Na ris.3 pokazana mashina s dvumya setevymi interfejsami Eth- ernet. Zametim, chto ona imeet 2 Ethernet-adresa i 2 IP-adresa. Iz predstavlennoj shemy vidno, chto dlya mashin s neskol'kimi setevymi interfejsami modul' IP vypolnyaet funkcii mul'tipleksora n x m i demul'- tipleksora m x n (ris.4). --------------------------------- | prikladnye processy | | ... \ | / .... \ | / ... | | ------- ------- | | | TCP | | UDP | | | ------- ------- | | \ / | | ------ | | ------- | IP | ------- | | | ARP | -*--*- | ARP | | | ------- | | ------- | | \ | | / | | -------- -------- | | | ENET | | ENET | | | ---@---- ---@---- | | | | | ----------|---------|------------ | | | ---o--------------- --------------o---- Ethernet 2 Ethernet 1 Ris.3. Uzel seti TCP/IP s dvumya setevymi interfejsami -- 66 -- 1 2 3 .... n | 1 2 3 ...... n ^ \ | | / | \ | | / | ----------------- potok ------------------- potok | mul'tipleksor | dannyh | demul'tipleksor | dannyh ----------------- | ------------------- | / | | ... \ V / | | ..... \ | 1 2 3 m 1 2 3 m Ris.4. Mul'tipleksor n x m i demul'tipleksor m x n Takim obrazom, on osushchestvlyaet mul'tipleksirovanie vhodnyh i vyhodnyh dannyh v oboih napravleniyah. Modul' IP v dannom sluchae slozhnee, chem v pervom primere, tak kak mozhet peredavat' dannye mezhdu setyami. Dannye mogut postupat' cherez lyuboj setevoj interfejs i byt' retranslirovany cherez lyuboj drugoj setevoj interfejs. Process peredachi paketa v druguyu set' nazyvaetsya retranslyaciej IP-paketa. Mashina, vypolnyayushchaya retranslya- ciyu, nazyvaetsya shlyuzom. [1] Kak pokazano na ris.5, retransliruemyj paket ne peredaetsya modulyam TCP ili UDP. Nekotorye shlyuzy voobshche mogut ne imet' modulej TCP i UDP.  * 3. Ethernet *  V etom razdele my kratko rassmotrim tehnologiyu Ethernet. Kadr Ethernet soderzhit adres naznacheniya, adres istochnika, pole tipa i dannye. Razmer adresa v Ethernet - 6 bajt. Kazhdyj setevoj adapter imeet svoj Ethernet-adres. Adapter kontroliruet obmen informaciej, pro- ------- ------- | TCP | | UDP | ------- ------- \ / ---------- | | | IP | | ____ | | / \ | ---------- / \ dannye dannye postupayut otpravlyayutsya otsyuda syuda Ris.5. Primer mezhsetevoj retranslyacii paketa modulem IP ____________________ [1] V dokumentacii po TCP/IP terminy shlyuz (gateway) i IP- marshrutizator (IP-router) chasto ispol'zuyutsya kak sinonimy. My sochli voz- mozhnym ispol'zovat' bolee rasprostranennyj termin "shlyuz". ishodyashchij v seti, i prinimaet adresovannye emu Ethernet-kadry, a takzhe Ethernet-kadry s adresom "FF:FF:FF:FF:FF:FF" (v 16-richnoj sisteme), koto- ryj oboznachaet "vsem", i ispol'zuetsya pri shirokoveshchatel'noj peredache. Ethernet realizuet metod MDKN/OS (mnozhestvennyj dostup s kontrolem nesushchej i obnaruzheniem stolknovenij). Metod MDKN/OS predpolagaet, chto vse ustrojstva vzaimodejstvuyut v odnoj srede, v kazhdyj moment vremeni mozhet peredavat' tol'ko odno ustrojstvo, a prinimat' mogut vse odnovre- menno. Esli dva ustrojstva pytayutsya peredavat' odnovremenno, to proisho- dit stolknovenie peredach, i oba ustrojstva posle sluchajnogo (kratkogo) perioda ozhidaniya pytayutsya vnov' vypolnit' peredachu. 3.1. Analogiya s razgovorom Horoshej analogiej vzaimodejstviyam v srede Ethernet mozhet sluzhit' razgovor gruppy vezhlivyh lyudej v nebol'shoj temnoj komnate. Pri etom ana- logiej elektricheskim signalam v koaksial'nom kabele sluzhat zvukovye volny v komnate. Kazhdyj chelovek slyshit rech' drugih lyudej (kontrol' nesushchej). Vse lyudi v komnate imeyut odinakovye vozmozhnosti vesti razgovor (mnozhestvennyj dostup), no nikto ne govorit slishkom dolgo, tak kak vse vezhlivy. Esli chelovek budet nevezhliv, to ego poprosyat vyjti (t.e. udalyat iz seti). Vse molchat, poka kto-to govorit. Esli dva cheloveka nachinayut govorit' odnovremenno, to oni srazu obnaruzhivayut eto, poskol'ku slyshat drug druga (obnaruzhenie stolknovenij). V etom sluchae oni zamolkayut i zhdut nekotoroe vremya, posle chego odin iz nih vnov' nachinaet razgovor. Drugie lyudi sly- shat, chto vedetsya razgovor, i zhdut, poka on konchitsya, a zatem mogut nachat' govorit' sami. Kazhdyj chelovek imeet sobstvennoe imya (analog unikal'nogo Ethernet-adresa). Kazhdyj raz, kogda kto-nibud' nachinaet govorit', on nazyvaet po imeni togo, k komu obrashchaetsya, i svoe imya, naprimer, "Slushaj Petya, eto Andrej, ... lya-lya-lya ..." Esli kto-to hochet obratit'sya ko vsem, to on govorit: "Slushajte vse, eto Andrej, ... lya-lya-lya ..." (shirokoveshcha- tel'naya peredacha).  * 4. Protokol ARP *  V etom razdele my rassmotrim to, kak pri posylke IP-paketa opredelya- etsya Ethernet-adres naznacheniya. Dlya otobrazheniya IP-adresov v Ethernet- adresa ispol'zuetsya protokol ARP (Address Resolution Protocol - adresnyj protokol). Otobrazhenie vypolnyaetsya tol'ko dlya otpravlyaemyh IP-paketov, tak kak tol'ko v moment otpravki sozdayutsya zagolovki IP i Ethernet. 4.1. ARP-tablica dlya preobrazovaniya adresov Preobrazovanie adresov vypolnyaetsya putem poiska v tablice. |ta tab- lica, nazyvaemaya ARP-tablicej, hranitsya v pamyati i soderzhit stroki dlya kazhdogo uzla seti. V dvuh stolbcah soderzhatsya IP- i Ethernet-adresa. Esli trebuetsya preobrazovat' IP-adres v Ethernet-adres, to ishchetsya zapis' s sootvetstvuyushchim IP-adresom. Nizhe priveden primer uproshchennoj ARP- tablicy. --------------------------------------------- | IP-adres Ethernet-adres | --------------------------------------------- | 223.1.2.1 08:00:39:00:2F:C3 | | 223.1.2.3 08:00:5A:21:A7:22 | | 223.1.2.4 08:00:10:99:AC:54 | --------------------------------------------- Tabl.1. Primer ARP-tablicy Prinyato vse bajty 4-bajtnogo IP-adresa zapisyvat' desyatichnymi chis- lami, razdelennymi tochkami. Pri zapisi 6-bajtnogo Ethernet-adresa kazhdyj bajt ukazyvaetsya v 16-richnoj sisteme i otdelyaetsya dvoetochiem. ARP-tablica neobhodima potomu, chto IP-adresa i Ethernet-adresa vybi- rayutsya nezavisimo, i net kakogo-libo algoritma dlya preobrazovaniya odnogo v drugoj. IP-adres vybiraet menedzher seti s uchetom polozheniya mashiny v seti internet. Esli mashinu peremeshchayut v druguyu chast' seti internet, to ee IP-adres dolzhen byt' izmenen. Ethernet-adres vybiraet proizvoditel' setevogo interfejsnogo oborudovaniya iz vydelennogo dlya nego po licenzii adresnogo prostranstva. Kogda u mashiny zamenyaetsya plata setevogo adap- tera, to menyaetsya i ee Ethernet-adres. 4.2. Poryadok preobrazovaniya adresov V hode obychnoj raboty setevaya programma, takaya kak TELNET, otprav- lyaet prikladnoe soobshchenie, pol'zuyas' transportnymi uslugami TCP. Modul' TCP posylaet sootvetstvuyushchee transportnoe soobshchenie cherez modul' IP. V rezul'tate sostavlyaetsya IP-paket, kotoryj dolzhen byt' peredan drajveru Ethernet. IP-adres mesta naznacheniya izvesten prikladnoj programme, modulyu TCP i modulyu IP. Neobhodimo na ego osnove najti Ethernet-adres mesta naznacheniya. Dlya opredeleniya iskomogo Ethernet-adresa ispol'zuetsya ARP-tablica. 4.3. Zaprosy i otvety protokola ARP Kak zhe zapolnyaetsya ARP-tablica? Ona zapolnyaetsya avtomaticheski modu- lem ARP, po mere neobhodimosti. Kogda s pomoshch'yu sushchestvuyushchej ARP-tablicy ne udaetsya preobrazovat' IP-adres, to proishodit sleduyushchee: 1) Po seti peredaetsya shirokoveshchatel'nyj ARP-zapros. 2) Ishodyashchij IP-paket stavitsya v ochered'. Kazhdyj setevoj adapter prinimaet shirokoveshchatel'nye peredachi. Vse drajvery Ethernet proveryayut pole tipa v prinyatom Ethernet-kadre i pere- dayut ARP-pakety modulyu ARP. ARP-zapros mozhno interpretirovat' tak: "Esli vash IP-adres sovpadaet s ukazannym, to soobshchite mne vash Ethernet-adres". Paket ARP-zaprosa vyglyadit primerno tak: ----------------------------------------------------------- | IP-adres otpravitelya 223.1.2.1 | | Ethernet-adres otpravitelya 08:00:39:00:2F:C3 | ----------------------------------------------------------- | Iskomyj IP-adres 223.1.2.2 | | Iskomyj Ethernet-adres | ----------------------------------------------------------- Tabl.2. Primer ARP-zaprosa Kazhdyj modul' ARP proveryaet pole iskomogo IP-adresa v poluchennom ARP-pakete i, esli adres sovpadaet s ego sobstvennym IP-adresom, to posy- laet otvet pryamo po Ethernet-adresu otpravitelya zaprosa. ARP-otvet mozhno interpretirovat' tak: "Da, eto moj IP-adres, emu sootvetstvuet takoj-to Ethernet-adres". Paket s ARP-otvetom vyglyadit primerno tak: ----------------------------------------------------------- | IP-adres otpravitelya 223.1.2.2 | | Ethernet-adres otpravitelya 08:00:28:00:38:A9 | ----------------------------------------------------------- | Iskomyj IP-adres 223.1.2.1 | | Iskomyj Ethernet-adres 08:00:39:00:2F:C3 | ----------------------------------------------------------- Tabl.3. Primer ARP-otveta |tot otvet poluchaet mashina, sdelavshaya ARP-zapros. Drajver etoj mashiny proveryaet pole tipa v Ethernet-kadre i peredaet ARP-paket modulyu ARP. Modul' ARP analiziruet ARP-paket i dobavlyaet zapis' v svoyu ARP- tablicu. Obnovlennaya tablica vyglyadit sleduyushchim obrazom: --------------------------------------------- | IP-adres Ethernet-adres | --------------------------------------------- | 223.1.2.1 08:00:39:00:2F:C3 | | 223.1.2.2 08:00:28:00:38:A9 | | 223.1.2.3 08:00:5A:21:A7:22 | | 223.1.2.4 08:00:10:99:AC:54 | --------------------------------------------- Tabl.4. ARP-tablica posle obrabotki otveta 4.4. Prodolzhenie preobrazovaniya adresov Novaya zapis' v ARP-tablice poyavlyaetsya avtomaticheski, spustya nes- kol'ko millisekund posle togo, kak ona potrebovalas'. Kak vy pomnite, ranee na shage 2 ishodyashchij IP-paket byl postavlen v ochered'. Teper' s ispol'zovaniem obnovlennoj ARP-tablicy vypolnyaetsya preobrazovanie IP- adresa v Ethernet-adres, posle chego Ethernet-kadr peredaetsya po seti. Polnost'yu poryadok preobrazovaniya adresov vyglyadit tak: 1) Po seti peredaetsya shirokoveshchatel'nyj ARP-zapros. 2) Ishodyashchij IP-paket stavitsya v ochered'. 3) Vozvrashchaetsya ARP-otvet, soderzhashchij informaciyu o sootvetstvii IP- i Ethernet-adresov. |ta informaciya zanositsya v ARP-tablicu. 4) Dlya preobrazovaniya IP-adresa v Ethernet-adres u IP-paketa, postav- lennogo v ochered', ispol'zuetsya ARP-tablica. 5) Ethernet-kadr peredaetsya po seti Ethernet. Koroche govorya, esli s pomoshch'yu ARP-tablicy ne udaetsya srazu osushchest- vit' preobrazovanie adresov, to IP-paket stavitsya v ochered', a neobhodi- maya dlya preobrazovaniya informaciya poluchaetsya s pomoshch'yu zaprosov i otvetov protokola ARP, posle chego IP-paket peredaetsya po naznacheniyu. Esli v seti net mashiny s iskomym IP-adresom, to ARP-otveta ne budet i ne budet zapisi v ARP-tablice. Protokol IP budet unichtozhat' IP-pakety, napravlyaemye po etomu adresu. Protokoly verhnego urovnya ne mogut otli- chit' sluchaj povrezhdeniya seti Ethernet ot sluchaya otsutstviya mashiny s isko- mym IP-adresom. Nekotorye realizacii IP i ARP ne stavyat v ochered' IP-pakety na to vremya, poka oni zhdut ARP-otvetov. Vmesto etogo IP-paket prosto unichtozha- etsya, a ego vosstanovlenie vozlagaetsya na modul' TCP ili prikladnoj pro- cess, rabotayushchij cherez UDP. Takoe vosstanovlenie vypolnyaetsya s pomoshch'yu tajmautov i povtornyh peredach. Povtornaya peredacha soobshcheniya prohodit uspeshno, tak kak pervaya popytka uzhe vyzvala zapolnenie ARP-tablicy. Sleduet otmetit', chto kazhdaya mashina imeet otdel'nuyu ARP-tablicu dlya kazhdogo svoego setevogo interfejsa.  * 5. Mezhsetevoj protokol IP *  Modul' IP yavlyaetsya bazovym elementom tehnologii internet, a cent- ral'noj chast'yu IP yavlyaetsya ego tablica marshrutov. Protokol IP ispol'zuet etu tablicu pri prinyatii vseh reshenij o marshrutizacii IP-paketov. Soder- zhanie tablicy marshrutov opredelyaetsya administratorom seti. Oshibki pri ustanovke marshrutov mogut zablokirovat' peredachi. CHtoby ponyat' tehniku mezhsetevogo vzaimodejstviya, nuzhno ponyat' to, kak ispol'zuetsya tablica marshrutov. |to ponimanie neobhodimo dlya uspesh- nogo administrirovaniya i soprovozhdeniya IP-setej. 5.1. Pryamaya marshrutizaciya Na ris.6 pokazana nebol'shaya IP-set', sostoyashchaya iz 3 mashin: A, B i C. Kazhdaya mashina imeet takoj zhe stek protokolov TCP/IP kak na ris.1. Kazhdyj setevoj adapter etih mashin imeet svoj Ethernet-adres. Menedzher seti dol- zhen prisvoit' mashinam unikal'nye IP-adresa. A B C | | | --------------o------o------o------ Ethernet 1 IP-set' "development" Ris.6. Prostaya IP-set' Kogda A posylaet IP-paket B, to zagolovok IP-paketa soderzhit v pole otpravitelya IP-adres uzla A, a zagolovok Ethernet-kadra soderzhit v pole otpravitelya Ethernet-adres A. Krome etogo, IP-zagolovok soderzhit v pole poluchatelya IP-adres uzla B, a Ethernet-zagolovok soderzhit v pole polucha- telya Ethernet-adres B. ----------------------------------------------------- | adres otpravitel' poluchatel' | ----------------------------------------------------- | IP-zagolovok A B | | Ethernet-zagolovok A B | ----------------------------------------------------- Tabl.5. Adresa v Ethernet-kadre, peredayushchem IP-paket ot A k B V etom prostom primere protokol IP yavlyaetsya izlishestvom, kotoroe malo chto dobavlyaet k uslugam, predostavlyaemym set'yu Ethernet. Odnako protokol IP trebuet dopolnitel'nyh rashodov na sozdanie, peredachu i obra- botku IP-zagolovka. Kogda v mashine B modul' IP poluchaet IP-paket ot mashiny A, on sopostavlyaet IP-adres mesta naznacheniya so svoim i, esli adresa sovpadayut, to peredaet datagrammu protokolu verhnego urovnya. V dannom sluchae pri vzaimodejstvii A s B ispol'zuetsya pryamaya marshru- tizaciya. 5.2. Kosvennaya marshrutizaciya Na ris.7 predstavlena bolee realistichnaya kartina seti internet. V dannom sluchae set' internet sostoit iz treh setej Ethernet, na baze koto- ryh rabotayut tri IP-seti, ob®edinennye shlyuzom D. Kazhdaya IP-set' vklyuchaet chetyre mashiny; kazhdaya mashina imeet svoi sobstvennye IP- i Ethernet- adresa. ----- D ------- A B C | | | E F G | | | | | | | | | ----o-----o-----o-----o-- | --o-----o-----o-----o--- Ethernet 1 | Ethernet 2 IP-set' "development" | IP-set' "accounting" | | H I J | | | | --o----o-----o-----o---------- Ethernet 3 IP-set' "fuctory" Ris.7. Set' internet, sostoyashchaya iz treh IP-setej Za isklyucheniem D vse mashiny imeyut stek protokolov, analogichnyj poka- zannomu na ris.1. SHlyuz D soedinyaet vse tri seti i, sledovatel'no, imeet tri IP-adresa i tri Ethernet-adresa. Mashina D imeet stek protokolov TCP/IP, pohozhij na tot, chto pokazan na ris.3, no vmesto dvuh modulej ARP i dvuh drajverov, on soderzhit tri modulya ARP i tri drajvera Ethernet. Obratim vnimanie na to, chto mashina D imeet tol'ko odin modul' IP. Menedzher seti prisvaivaet kazhdoj seti Ethernet unikal'nyj nomer, nazyvaemyj IP-nomerom seti. Na ris.7 IP-nomera ne pokazany, vmesto nih ispol'zuyutsya imena setej. Kogda mashina A posylaet IP-paket mashine B, to process peredachi idet v predelah odnoj seti. Pri vseh vzaimodejstviyah mezhdu mashinami, podklyu- chennymi k odnoj IP-seti, ispol'zuetsya pryamaya marshrutizaciya, obsuzhdavshayasya v predydushchem primere. Kogda mashina D vzaimodejstvuet s mashinoj A, to eto pryamoe vzaimo- dejstvie. Kogda mashina D vzaimodejstvuet s mashinoj E, to eto pryamoe vza- imodejstvie. Kogda mashina D vzaimodejstvuet s mashinoj H, to eto pryamoe vzaimodejstvie. |to tak, poskol'ku kazhdaya para etih mashin prinadlezhit odnoj IP-seti. Odnako, kogda mashina A vzaimodejstvuet s mashinami, vklyuchennymi v druguyu IP-set', to vzaimodejstvie uzhe ne budet pryamym. Mashina A dolzhena ispol'zovat' shlyuz D dlya retranslyacii IP-paketov v druguyu IP-set'. Takoe vzaimodejstvie nazyvaetsya "kosvennym". Marshrutizaciya IP-paketov vypolnyaetsya modulyami IP i yavlyaetsya prozrach- noj dlya modulej TCP, UDP i prikladnyh processov. Esli mashina A posylaet mashine E IP-paket, to IP-adres i Ethernet- adres otpravitelya sootvetstvuyut adresam A. IP-adres mesta naznacheniya yavlyaetsya adresom E, no poskol'ku modul' IP v A posylaet IP-paket cherez D, Ethernet-adres mesta naznacheniya yavlyaetsya adresom D. ---------------------------------------------------- | adres otpravitel' poluchatel' | ---------------------------------------------------- | IP-zagolovok A E | | Ethernet-zagolovok A D | ---------------------------------------------------- Tabl.6. Adresa v Ethernet-kadre, soderzhashchem IP-paket ot A k E (do shlyuza D) Modul' IP v mashine D poluchaet IP-paket i proveryaet IP-adres mesta naznacheniya. Opredeliv, chto eto ne ego IP-adres, shlyuz D posylaet etot IP-paket pryamo k E. ---------------------------------------------------- | adres otpravitel' poluchatel' | ---------------------------------------------------- | IP-zagolovok A E | | Ethernet-zagolovok D E | ---------------------------------------------------- Tabl.7. Adresa v Ethernet-kadre, soderzhashchem IP-paket ot A k E (posle shlyuz D) Itak, pri pryamoj marshrutizacii IP- i Ethernet-adresa otpravitelya sootvetstvuyut adresam togo uzla, kotoryj poslal IP-paket, a IP- i Ethernet-adresa mesta naznacheniya sootvetstvuyut adresam poluchatelya. Pri kosvennoj marshrutizacii IP- i Ethernet-adresa ne obrazuyut takih par. V dannom primere set' internet yavlyaetsya ochen' prostoj. Real'nye seti mogut byt' gorazdo slozhnee, tak kak mogut soderzhat' neskol'ko shlyuzov i neskol'ko tipov fizicheskih sred peredachi. V privedennom primere nes- kol'ko setej Ethernet ob®edinyayutsya shlyuzom dlya togo, chtoby lokalizovat' shirokoveshchatel'nyj trafik v kazhdoj seti. 5.3. Pravila marshrutizacii v module IP Vyshe my pokazali, chto proishodit pri peredache soobshchenij, a teper' rassmotrim pravila ili algoritm marshrutizacii. Dlya otpravlyaemyh IP-paketov, postupayushchih ot modulej verhnego urovnya, modul' IP dolzhen opredelit' sposob dostavki - pryamoj ili kosvennyj - i vybrat' setevoj interfejs. |tot vybor delaetsya na osnovanii rezul'tatov poiska v tablice marshrutov. Dlya prinimaemyh IP-paketov, postupayushchih ot setevyh drajverov, modul' IP dolzhen reshit', nuzhno li retranslirovat' IP-paket po drugoj seti ili peredat' ego na verhnij uroven'. Esli modul' IP reshit, chto IP-paket dol- zhen byt' retranslirovan, to dal'nejshaya rabota s nim osushchestvlyaetsya takzhe, kak s otpravlyaemymi IP-paketami. Vhodyashchij IP-paket nikogda ne retransliruetsya cherez tot zhe setevoj interfejs, cherez kotoryj on byl prinyat. Reshenie o marshrutizacii prinimaetsya do togo, kak IP-paket peredaetsya setevomu drajveru, i do togo, kak proishodit obrashchenie k ARP-tablice. 5.4. IP-adres Menedzher seti prisvaivaet IP-adresa mashinam v sootvetstvii s tem, k kakim IP-setyam oni podklyucheny. Starshie bity 4-h bajtnogo IP-adresa opre- delyayut nomer IP-seti. Ostavshayasya chast' IP-adresa - nomer uzla (host- nomer). Dlya mashiny iz tabl.1 s IP-adresom 223.1.2.1 setevoj nomer raven 223.1.2, a host-nomer - 1. Napomnim, chto IP-adres uzla identificiruet tochku dostupa modulya IP k setevomu interfejsu, a ne vsyu mashinu. Sushchestvuyut 5 klassov IP-adresov, otlichayushchiesya kolichestvom bit v setevom nomere i host-nomere. Klass adresa opredelyaetsya znacheniem ego pervogo okteta. V tabl.8 privedeno sootvetstvie klassov adresov znacheniyam pervogo okteta i ukazano kolichestvo vozmozhnyh IP-adresov kazhdogo klassa. 0 8 16 24 31 --------------------------------------------------- Klass A |0| nomer seti | nomer uzla | --------------------------------------------------- --------------------------------------------------- Klass B |10| nomer seti | nomer uzla | --------------------------------------------------- --------------------------------------------------- Klass C |110| nomer seti | nomer uzla | --------------------------------------------------- --------------------------------------------------- Klass D |1110| gruppovoj adres | --------------------------------------------------- --------------------------------------------------- Klass E |11110| zarezervirovano | --------------------------------------------------- Ris.8. Struktura IP-adresov ------------------------------------------------------- | Klass Diapazon znachenij Vozmozhnoe Vozmozhnoe | | pervogo okteta kol-vo setej kol-vo uzlov | ------------------------------------------------------- | A 1 - 126 126 16777214 | | B 128-191 16382 65534 | | C 192-223 2097150 254 | | D 224-239 - 2**28 | | E 240-247 - 2**27 | ------------------------------------------------------- Tabl.8. Harakteristiki klassov adresov Adresa klassa A prednaznacheny dlya ispol'zovaniya v bol'shih setyah obshchego pol'zovaniya. Oni dopuskayut bol'shoe kolichestvo nomerov uzlov. Adresa klassa B ispol'zuyutsya v setyah srednego razmera, naprimer, setyah universitetov i krupnyh kompanij. Adresa klassa C ispol'zuyutsya v setyah s nebol'shim chislom komp'yuterov. Adresa klassa D ispol'zuyutsya pri obrashche- niyah k gruppam mashin, a adresa klassa E zarezervirovany na budushchee. Nekotorye IP-adresa yavlyayutsya vydelennymi i traktuyutsya po-osobomu. ------------------------------ | vse nuli | Dannyj uzel ------------------------------ ------------------------------ | nomer seti | vse nuli | Dannaya IP-set' ------------------------------ ------------------------------ | vse nuli | nomer uzla | Uzel v dannoj (lokal'noj) IP-seti ------------------------------ ------------------------------ | vse edinicy | Vse uzly v dannoj (lokal'noj) IP-seti ------------------------------ ------------------------------ | nomer seti | vse edinicy | Vse uzly v ukazannoj IP-seti ------------------------------ ------------------------------ | 127 | chto-nibud' (chasto 1) | "Petlya" ------------------------------ Ris.9. Vydelennye IP-adresa Kak pokazano na ris.9, v vydelennyh IP-adresah vse nuli sootvetst- vuyut libo dannomu uzlu, libo dannoj IP-seti, a IP-adresa, sostoyashchie iz vseh edinic, ispol'zuyutsya pri shirokoveshchatel'nyh peredachah. Dlya ssylok na vsyu IP-set' v celom ispol'zuetsya IP-adres s nulevym nomerom uzla. Osobyj smysl imeet IP-adres, pervyj oktet kotorogo raven 127. On ispol'zuetsya dlya testirovaniya programm i vzaimodejstviya processov v predelah odnoj mashiny. Kogda programma posylaet dannye po IP-adresu 127.0.0.1, to obra- zuetsya kak by "petlya". Dannye ne peredayutsya po seti, a vozvrashchayutsya -- 1177 -- modulyam verhnego urovnya, kak tol'ko chto prinyatye. Poetomu v IP-seti zap- reshchaetsya prisvaivat' mashinam IP-adresa, nachinayushchiesya so 127. 5.5. Vybor adresa Prezhde chem vy nachnete ispol'zovat' set' s TCP/IP, vy dolzhny poluchit' odin ili neskol'ko oficial'nyh setevyh nomerov. Vydeleniem nomerov (kak i mnogimi drugimi voprosami) zanimaetsya DDN Network Information Center (NIC) [2]. Vydelenie nomerov proizvoditsya besplatno i zanimaet okolo nedeli. Vy mozhete poluchit' setevoj nomer vn