fajlov. hash |ta komanda pobuzhdaet ftp vydavat' na ekrane simvol '# ' posle kazhdogo bloka dannyh, kotoryj posylaetsya udalennoj mashinoj. Razmer blokov dannyh mozhet byt' razlichnym v zavisimosti ot versii programmnogo obespecheniya. Dlya togo, chtoby uvidet' tekushchee znachenie, s komandoj ftp ispol'zujte mnogoslovnyj rezhim. |ta komanda vklyuchaet i vyklyuchaet vydachu simvola '#' na ekran ee pri povtornom nabore. help |ta komanda vydaet na ekran informaciyu o rabote ftp. Esli posle help zadat' imya komandy, to poyavitsya informaciya ob etoj komande. Esli nabrat' prosto help, to poyavitsya informaciya obo vseh komandah ftp. lcd |ta komanda izmenyaet rabochij direktorij, ispol'zuemyj ftp, na vashej mashine. Vy mozhete zadat' imya direktoriya, kotoryj vam nuzhen kak rabochij, naprimer: ftp> lcd /ysr/deb Esli vy ne zadali imya direktoriya, to budet ispol'zovat'sya vash domashnij direktorij. ls |ta komanda raspechatyvaet abreviaturnyj spisok soderzhaniya direktoriya udalennoj mashiny, s kotoroj vy svyazany. Vy svyazany v dannyj moment. 5-11 Instrukciya po nastrojke Vy mozhete zadat' imya direktoriya, kotoryj vy hotite raspechatat'. Naprimer: ftp> ls /usr/bin Esli vy ne zadali imya, budet raspechatan tekushchij direktorij. Mozhno zadat', chtoby rezul'taty vypolneniya komandy byli pomeshcheny v fajl do poyavleniya ih na displee. |to delaetsya ftp, esli ukazat' imya fajla na vashej mashine kuda sleduet pomestit' listing direktoriya, naprimer: ftp> ls /usr/bin printfile Imya direktoriya nuzhno zadat' do vyvoda fajla (zdes' printfile). Naprimer, esli vy hotite raspechatat' tekushchij direktorij v fajl s imenem printfile: ftp> ls . printfile gde "." stavitsya, chtoby podcherknut', chto direktorij tekushchij. mdelete |ta komanda udalyaet spisok fajlov na udalennoj mashine, s kotoroj vy svyazany v dannyj moment. Vy mozhete zadat' imena fajlov dlya udaleniya pri vyzove komandy. Naprimer: ftp> mdelete imya 1fajla udalennoj mashiny imya 2fajla... V protivnom sluchae vy mozhete prosto ispol'zovat' imya komandy. Programma ftp zaprosit vas ob imeni(ah): ftp> mdelete (remote-files) imya 1fajla 2fajla... mdir Po etoj komande vydaetsya spisok listing direktoriya udalennoj mashiny i rezul'tat pomeshchaetsya v fajl vashej mashiny. Vy mozhete zadat' spisok fajlov udalennoj mashiny i imya fajla vashej mashiny, kuda pomestit' rezul'tat pri vyzove komandy. Naprimer: ftp> mdir imya 1fajla udalennoj mashiny... printfile 5-12 Instrukciya po nastrojke (Zamet'te, chto posledee imya eto imya fajla vashej mashiny printfile). Vozmozhno prosto ispol'zovat' imya komandy. Togda programma ftp zaprosit u vas imya fajlov, naprimer: ftp> mdir (remote-files) imya 1fajla udalennoj mashiny...printfile local-file printfile?y mget |ta komanda kopirovaniya odnogo ili bolee fajlov s udalennoj mashiny, k kotoroj vy podklyucheny v dannyj moment na vashu mashinu. Fajly posle kopirovaniya budut imet' tezhe imena. Vy mozhete ukazat' spisok fajlov dlya kopirovaniya: ftp> mget imya 1fajla udalennoj mashiny imya 2fajla... Esli vy ne zadali imena fajlov pri vyzove komandy, programma ftp zaprosit vas o nih: ftp> mget (remote-files) imya 1fajla udalennoj mashiny imya 2fajla ... mkdir |ta komanda sozdaet direktorij na udalennoj mashine, k kotoroj vy v dannyj moment podklyuchaetes'. Vy mozhete zadat' im direktoriya pri vyzove komandy, naprimer: ftp> mkdir /u/mydir Esli vy ne zadali imya, ftp zaprosit vas o nem, naprimer: ftp> mkdir (directory-name) imya direktoriya |ta komanda podderzhivaetsya ne vsegda. mls |ta komanda poluchaet abreviaturnyj spisok gruppy fajlov tekushchego direktoriya na udalennoj mashine i pomeshchaet rezul'tat v fajl na vashej mashine. 5-13 Instrukciya po nastrojke Vy mozhete zadat' spisok fajlov udalennoj mashiny i fajl vashej mashiny, kuda pomestit' rezul'tat pri vyzove komandy, naprimer: ftp> mls imya 1fajla udalennoj mashiny ...printfile Vy mozhete ne ukazyvat' imena pri vyzove komandy, i togda prgramma zaprosit vas o nih: ftp> mls (remote-files) imya 1fajla udalennoj mashiny...printfile local-file printfile?y mput |ta komanda kopiruet odin ili bolee fajlov s vashej mashiny v udalennuyu mashinu, s kotoroj vy svyazany v dannyj moment. Na udalennoj mashine fajly budut imet' tezhe imena. Vy mozhete zadat' spisok falov pri vyzove komandy,naprimer: ftp> mput 1fajl vashej mashiny 2fajl vashej mashiny... Esli vy ne ukazali imena, programma ftp vas ob etom zaprosit: ftp> mput (local-files) imya 1fajla vashej mashiny imya 2fajla... nmap Ispol'zujte etu komandu dlya ustanovki i otmeny mehanizma preobrazovaniya imen fajlov. |ta komanda polezna pri svyazi s UNIX nesovmestimymi mashinami i v kotoryh ispol'zuetsya drugoj sposob imenovaniya fajlov. Pereimenovyvanie fajlov lokal'noj mashiny proizvoditsya s pomoshch'yu get i mget komand, a udalennoj mashiny s pomoshch'yu put i mput komand. Komanda mput kompleksnaya. Dlya bolee detal'noj informacii po etoj komande smotri opisanie po ftp(TC). ntrans Ispol'zujte etu komandu dlya vklyucheniya i vyklyucheniya mehanizma translyacii simvolov imeni fajla. |ta komanda polezna pri svyazi s UNIX nesovmestimoj udalennoj mashinoj, gde primenyaetsya drugoj sposob imenovaniya fajlov. Translyaciya imen fajlov lokal'noj mashiny proizvoditsya s pomoshch'yu get i mget komand, a udalennoj mashiny s pomoshch'yu put i mput komand. Komanda mtrans kompleksnaya. Dlya bolee detal'noj informacii po etoj komande smotri opisanie v v rukovodstve po ftp(TC). 5-14 Instrukciya po nastrojke open |ta komanda ustanavlivaet svyaz' s udalennoj mashinoj, kotoraya predpolagaetsya dlya peredachi fajlov. Pri vyzove komandy vy mozhete ukazat' imya mashiny, naprimer: ftp> open admin Esli imya ne ukazano, programma zaprosit ego: ftp> open (to) imya mashiny Esli vy ukazali imya mashiny pri vyzove komandy, vy mozhete takzhe ukazat' nomer porta na udalennoj mashine. Esli ukazan port, to ftp otkroet svyaz' cherez etot port, esli on predpochtitel'nee togo, chto zadaetsya po umolchaniyu. Izmeneniya porta delayutsya v tom sluchae, esli vas ob etom porosyat ili eto zadaetsya sistemnym administratorom. Esli port ne zadan, to programma ego ne zaprashivaet. prompt |ta komanda predotvrashchaet vash zapros k ftp o razreshenii na perehod mezhdu fajlami v mnogofajlovyh komandah, takih kak mget. |ta komanda podklyuchaetsya i otklyuchaetsya pri povtornom nabore. put |ta komanda peremeshchaet fajl iz vashej mashiny v udalennuyu mashinu, k kotoroj vy v dannyj moment podklyucheny.(Dlya peredachi neskol'kih fajlov odnovremenno ispol'zujte komandu mput). Vy mozhete zadat' imya fajla vashej mashiny i imya fajla udalennoj mashiny pri vyzove komandy ftp,primer: ftp> put imya vashego fajla imya fajla udalennoj mashiny ili ftp> put imya vashego fajla 5-15 Instrukciya po nastrojke Esli vy ne ukazali imya fajlov(a), to programma vas o nih zaprosit, naprmer: ftp> put (local-file) imya vashego fajla (remote-file) imya fajla udalennoj mashiny Esli vy ne ukazhete imya fajla udalennoj mashiny, to komanda put sozdast fajl na udalennoj mashine pod tem zhe imenem, chto i na vashej mashine. pwd |ta komanda vynuzhdaet ftp pechatat' imya tekushchego rabochego direktoriya na udalennoj mashine, s kotoroj vy svyazany v dannyj moment. quit Komanda analogichna komande bye, o kotoroj govorilos' vyshe. quote Komanda zastavlyaet ftp posylat' parametry, kotorye vy vvodite v mashinu, posylat' k udalennoj mashine dlya vypolneniya. Parametry eto ftp komandy i drugie parametry. Te komandy, chto ftp podderzhivaet, mogut byt' otobrazheny na ekrane s pomoshch'yu komandy remotehelp. Vy mozhete vvesti etu komandu pri vyzove programmy ftp, naprimer: ftp> quote NLST Esli vy ukazali tol'ko imya komandy, ftp sprosit vas o komandnoj stroke, kotoruyu nuzhno ispol'zovat', naprimer: ftp> quote (command-line to send) NLST |tu komandu sleduet ispol'zovat' tol'ko po sovetu vashego sistemnogo administratora. recv |ta komanda analogichna komande get, opisannoj vyshe. remotehelp |ta komanda zaprashivaet pomoshch' ftp na udalennoj mashine, s kotoroj vy svyazany v dannyj moment. |ta informaciya soobshchaet o tom kakie komandy podderzhivaet udalennaya mashina. rename |ta komanda pereinovyvaet fajl na udalennoj mashine, s kotoroj vy svyazany v tekushchij moment. 5-16 Instrukciya po nastrojke Pri vyzove komandy vy mozhete ispol'zovat' imena fajlov, naprmer: ftp> rename imya 1fajla imya 2fajla Esli vy ispol'zovali tol'ko imya komandy pri vyzove programmy, to mashina zaprosit imena fajlov: ftp> rename (from-name) imya 1fajla (to-name) imya 2fajla mdir |ta komanda udalyaet direktorij na udalennoj mashine, s kotoroj vy svyazany v dannyj moment. Vy mozhete zadat' imya direktoriya, kotoryj sleduet udalit', pri vyzove komandy, naprimer: ftp> rmdir /u/mydir ili vy mozhete ne zadavat' imya pri vyzove komandy, i mashina zaprosit vas o nem: ftp> rmdir (directory-name) /u/mydir |ta komanda ne vsegda podderzhivaetsya. send |ta komanda analogichna komande put, opisannoj vyshe. sendport |ta komanda zastavlyaet ftp zapreshchat' vozmozhnost' zadaniya porta lokal'noj mashiny dlya dannyh udalennoj mashiny. |ta komanda mozhet podklyuchat'sya i otklyuchat'sya ee povtornym naborom. Pri vyzove ftp po umolchaniyu zadaetsya opredelennyj port. |tu komandu sleduet ispol'zovat' po sovetu vashego sistemnogo administratora. status |to komanda zastavlyaet ftp izobrazhat' svoj tekushchij status na vashem terminale. Status vklyuchaet rezhimy, kotorye vybrany komandami bell,form,hash,glob,port,type. 5-17 Instrukciya po nastrojke type |ta komanda ustanavlivaet v kakom vide peredaetsya fajl. Dopustimy kody ASCII i dvoichnyj. |ta komanda analogichna komandam ascii i binary. Esli vy ne ukazali tip pri vyzove komandy, to ustanavlivaetsya ASCII. trace |ta komanda zastavlyaet ftp razreshat' paketnuyu trassirovku. |ta komanda vklyuchaetsya i otklyuchaetsya ee povtornym naborom. |tu komandu sleduet ispol'zovat' tol'ko po sovetu vashego sistemnogo administratora. user |ta komanda pozvolyaet vam identificirovat' samogo sebya na udalennoj mashine pri ustanovlenii svyazi. |ta avtoregistra- ciya razreshena s opciej -n pri vyzove ftp. V etom sluchae dannaya komanda ne nuzhna.(Smotri razdel "Ispol'zovanie fajla .netrc dlya avtomaticheskoj registracii" ranee v etoj glave). Esli avtomaticheskaya registraciya zapreshchena, to ispol'zujte etu komandu dlya sobstvennoj registracii i identifikacii na udalennoj mashine. Udalennoj mashine nuzhno soobshchit' tri vida informacii kto vy: registracionnoe imya, parol' i imya resursa. Imya pol'zovatelya trebuetsya dlya vseh mashin, parol' i imya resursa trebuyutsya tol'ko dlya nekotoryh sistem. Vash sistemnyj administrator dolzhen skazat' chto trebuetsya dlya vashih mashin. On zhe dolzhen podskazat' vam pravil'noe imya, parol' i imya resursa, kotoryj vy hotite ispol'zovat'. Vy mozhete vvesti vsyu etu informaciyu pri vyzove komandy user, naprimer: ftp> user mike cat myaccount Vy mozhete ne ukazyvat' vsyu etu informaciyu pri vyzove komandy. Togda programma vas o nej zaprosit, naprimer: 5-18 Instrukciya po nastrojke ftp> user (usename) mike(imya pol'zovatelya) password: Account: myaccount(imya resursa) Zamet'te, chto eho ne otrazhaet vash parol' pri ego nabore dlya zashchity vashej informacii. Esli vy ne nabrali parol' ili imya resursa, to zaprosa o nih ne budet. verbose |ta komanda zastavlyaet ftp zapreshchat' mnogoslovnyj rezhim. |ta komanda vklyuchaetsya i vyklyuchaetsya pri povtornom nabore. V mnogoslovnom rezhime ftp protokol'nye soobshcheniya, poslannye udalennoj mashinoj poyavlyayutsya na vashem terminale. Krome togo, v etom rezhime otobrazhaetsya statistika posle peredachi kazhdogo fajla. Esli etot rezhim zapreshchen, to dannaya informaciya ne izobrazhaetsya. ? Drugoe nazvanie komandy help. Primery raboty ftp. ------------------- |tot razdel illyustriruet kak mozhno ispol'zovat' ftp. Nizhe dany tri primera. Vetih primerah ispol'zuyutsya tri mashiny, lokal'naya mashina s imenem HERE i udalennaya mashina s imenem THERE. Opisanie 1 primera. ------------------- |tot primer pokazyvaet ispol'zovanie ftp dlya posylki i priema fajlov. Komanda ftp vyzyvaetsya s imenem glavnoj mashiny i proishodit avtomaticheskaya registraciya pol'zovatelya na drugoj mashine, t.k. ne ispol'zuetsya opciya -n. Mnogoslovnyj rezhim zapreshchen ispol'zovaniem komandy verbose. Pol'zovatel' zatem izmenyaet rabochij direktorij na udalennoj mashine na /etc direktorij. T.k. net opcii -d i est' komanda verbose, mnogoslovnyj rezhim zapreshchen i nikakih soobshchenij, krome prompta ftp, ne poyavlyaetsya. Pol'zovatel', ispol'zuya komandu ls, poluchaet abreviaturnyj listing direktoriya /etc mashiny THERE. komanda ftp vydaet tri fajla v kataloge /etc. Komanda get passwd zatem kopiruet fajl passwd s mashiny THERE v mashinu HERE. Fajl po imeni passwd sozdaetsya v mashine HERE, esli bylo ukazano imya mashiny. 5-19 Instrukciya po nastrojke Komanda put ispol'zuetsya, chtoby skopirovat' fajl po imeni wall iz tekushchego rabochego direktoriya lokal'noj mashiny(HERE) v direktorij udalennoj mashiny (THERE) /etc. |tot fajl kopiruetsya stem zhe imenem, t.k. svoe imya ne bylo ukazano. Posle okonchaniya peredachi, poyavlyaetsya listing /etc, v kotorom uzhe chetyre fajla, vklyuchaya wall, kotoryj byl tol'ko chto skopirovan s mashiny HERE. Zatem ispol'zuetsya komanda bye, chtoby vernut'sya v obolochku operacionnoj sistemy na lokal'noj mashine HERE. +------------------------------------------------------------------+ | $ ftp THERE | | Connected to THERE | | 220 THERE FTP server (Version 4.160 #1) ready | | Name (THERE:stevea): | | Password (THERE:stevea): | | 331 Password required for stevea. | | 230 User stevea logged in. | | ftp> verbose | | Verbose mode off. | | ftp> cd /etc | | ftp> ls | | passwd | | volcopy | | whodo | | ftp> get paswd | | ftp>put wall | | ftp> ls | | passwd | | volcopy | | wall | | whodo | | ftp> bye | | $ | +------------------------------------------------------------------+ Opisanie 2 primera. ------------------- |tot primer illyustriruet ekrannye izobrazheniya, kotorye mozhno poluchit', ispol'zuya neskol'ko opcij ftp. Posle vyzova ftp c imenem udalennoj glavnoj mashiny, pol'zovatel' vyzyvaet komandu, kotoraya pozvolit vernut' rezhim otladki. Posle etogo komanda ftp vydaet soobshcheniya na ekran, chto svidetel'stvuet o razreshenii dannoj opcii. Pol'zovatel' zatem zamenyaet rabochij direktorij na udalennoj mashine na /etc. T.k. prisutstvuyut otladochnyj i mnogoslovnyj rezhimy, na ekrane budut poyavlyat'sya soobshcheniya o posylke komand k udalennoj mashine (--> CWD/etc) i otvety, poluchennye s udalennoj mashiny (250 CWD command successful - komanda proshla uspeshno). Zamet'te, chto cd komanda, kotoraya imeet takuyuzhe formu, kak komanda izmeneniya direktoriya v UNIX, posylaetsya v vide CDW komandy (izmenenie rabochego direktoriya na udalennoj mashine). |ta komanda primenyaetsya ftp vmesto cd, chtoby ona rabotala nezavisimo ot sistemnoj komandy. 5-20 Instrukciya po nastrojke Sledom za cd komandoj pol'zovatel' stavit pwd komandu, chtoby podtverdit' izmenenie rabochego direktoriya. Komandy ftp budut izobrazhat' na vashem ekrane soobshcheniya, posylaemye mezhdu vashej (lokal'noj) i udalennoj mashinoj, a zatem poyavitsya tekushchij rabochij direktorij na udalennoj mashine. Zatem pol'zovatel' nabiraet hash opciyu, na chto poyavlyaetsya soobshchenie, chto dannaya opciya razreshena. Komanda get wall myfile prikazyvaet ftp vosstanovit' fajl wall i pomestit' ego v fajl myfile v tekushchem rabochem direktorii na vashej mashine. Komanda ftp vydast soobshcheniya, posylaemye mezhdu lokal'noj i udalennoj mashinami o nachale peredachi i zatem pechataet hash metku dlya kazhdogo bloka, poluchennoj informacii. Posle zaversheniya peredachi na ekrane poyavlyaetsya statistika, v kotoroj vremya, potrebovavsheesya dlya peredachi, i data peredachi fajla. Posle polucheniya fajla pol'zovatel' zakryvaet svyaz' komandoj close i vyhodit iz ftp komandoj bye. +------------------------------------------------------------------+ | $ ftp THERE | | Connected to THERE | | 220 THERE FTP server (Version 4.160 #1) ready | | Name (THERE:stevea): | | Password (THERE:stevea): | | 331 Password required for stevea. | | ftp> debug | | Debugging on (debug = 1) | | ftp> cd /etc | | ---> CDW /etc | | 200 CDW command okay. | | ftp> pwd | | ---> PWD | | 251 | | ftp> hash | | Hash mark printing on (1024 bytes/hash mark). | | ftp> get wall mefile | | ---> PORT 3,20,0,2,4,51 | | 200 PORT command okay. | | ---> RETR wall | | 150 Opening data connection for wall (3.20.0.2.1075)(24384bytes)| | #######################. | | 226 Transfer complete. | | 24550 bytes received in 12.00 seconds (2 Kbytes/s) | | ftp> close | | ---> QUIT | | 221 Goodbye. | | ftp> bye | | $ | +------------------------------------------------------------------+ 5-21 Instrukciya po nastrojke KOMANDA rcp. ____________________________________________________________________ Drugaya komanda,pozvolyayushchyaya vam kopirovat' fajly mezhdu dvumya UNIX sovmestimymi mashinami v global'noj seti - eto rcp. |ta komanda analogichna ftp, no imeet sintaksis bolee pohozhij na komandu UNIX cp. |tu komandu mozhno ispol'zovat' tol'ko s mashinami, imeyushchimi operacionnuyu sistemu UNIX ili sovmkstimuyu s UNIX. Vyzov rcp. ---------- Programma rcp vyzyvaetsya iz obolochki UNIX. Vy dolzhny ukazat' imya fajla dlya kopirovaniya i kuda ego nuzhno skopirovat'. Zamet'te, chto rcp analogichna cp. Vy mozhete ispol'zovat' etu programmu dlya kopirovaniya fajla iz svoej mashiny v udalennuyu ili naoborot. Sleduyushchij primer pokazyvaet kak fajl po imeni remotefile c mashiny admit byl skopirovan v fajl localfile na vashej mashine(lokal'noj mashine). Kak pokazano imena fajlov sootvetstvuyut uslovnostyam UNIX. Imena fajlov mogut imet' odnu iz treh form, gde imya fajla oznachaet fajl ili direktorij. |ti formy sleduyushchie: - user@machine:filename - machine:filename - filename gde: machine imya mashiny, kotoraya soderzhit ili budet soderzhat' fajl. Esli imya fajla ne predeleno, to vasha lokal'naya mashina prisvaivaet ego sebe. user imya pol'zovatelya toj mashiny, kotoruyu vy ukazali. Esli vy ne ukazali imya pol'zovatelya, ispol'zuetsya vashe imya na vashej mashine. V lyubom sluchae vy dolzhny imet' razreshenie dlya vas na mashine, na kotoroj raspolozhen nuzhnyj vam fajl. Administrator udalennoj mashiny mozhet kak konfigurirovana udalennaya mashina. 5-22 Instrukciya po nastrojke filename eto standartnoe imya v UNIX, kotoroe mozhet vklyuchat' put' v direktorii. Esli imya fajla, kotoroe vy ukazali ne nachinaetsya so (/), togda fajl pomeshchaetsya ili imeetsya v domashnem direktorii pol'zovatelya. Imya fajla mozhet byt' universal'nym, no eti imena dolzhny byt' zaklyucheny v kavychki, chtoby predotvratit' ih rasshirenie operacionnoj sistemoj na vashej lokal'noj mashine. Esli vy ukazali tol'ko imya direktoriya, dostupnogo rcp komandam, to fajl(y), kotoryj(e) vy ukazali dlya kopirovaniya, to fajl(y) kopiruetsya v etot direktorij s tem zhe imenem. Opcii rcp. ---------- Pri vyzove komandy vy mozhete ukazat' sleduyushchie opcii: -r |ta opciya razreshaet kopirovanie direktorij. Esli vy zadali fajl dlya kopirovaniya i eto direktorij i postavili opciyu -r, to skopiruetsya vse derevo. Kogda zadaetsya eta opciya, to naznachenie komandy rcp eto kopirovanie direktoriya. Esli vy ne ukazali etu opciyu i hotite skopirovat' direktorij, to v otvet poyavitsya soobshchenie ob oshibke. -p |ta opciya pozvolyaet predohranit' ot izmeneniya rezhima i razmerov fajla-istochnika v kopiyah, ignoriruya umask. Kogda vy ukazyvaete opciyu -p, to fajl dubliruetsya. Esli opcii net, to ispol'zuetsya umask. 5-23 Instrukciya po nastrojke Primery. -------- V sleduyushchih primerah ispol'zuyutsya dve udalennye mashiny seti po imeni THERE-C i THERE-C1. Pervyj primer pokazyvaet kopirovanie fajla po imeni list iz tekushchego direktoriya pol'zovatelya v domashnij direktorij pol'zovatelya na mashine THERE-C: $ rcp list THERE-C:list Vo vtorom primere kopiruetsya direktorij c ierarhiej /net/src na lokal'noj mashine v derevo kornevogo kataloga src v domashnem direktorii na THERE-C: $ rcp -r /net/src THERE-C:src V tret'em primere pokazano kak pol'zovatel' kopiruet fajl list iz domashnego direktoriya pol'zovatelya po imeni mike na THERE-C v direktorij /usr/tmp na THERE-C1. Kopiya na THERE-C1 prinadlezhit pol'zovatelyu po imeni deb. $ rcp mike@THERE-C:list deb@THERE-C1:/usr/tmp GLAVA 6. PROTOKOL VREMENNOJ SINHRONIZACII. ____________________________________________________________________ Vedenie 6-1 Format soobshcheniya 6-3 TSP soobshcheniya 6-4 Soobshchenie o regulirovke vremeni 6-4 Soobshchenie o podtverzhdenii 6-5 Soobshchenie-zapros hozyaina 6-5 Podtverzhdenie hozyaina 6-6 Soobshchenie ob ustanovlenii setevogo vremeni 6-6 Soobshchenie o dejstvii hozyaina 6-7 Soobshchenie o dejstvii podchinennogo 6-7 Soobshchenie o kandidature hozyaina 6-8 Soobshchenie o kandidature,posylayushchej soobshchenie 6-8 Soobshchenie ob otkaze v vybore 6-9 Soobshchenie o neskol'kih hozyaevah 6-9 Soobshchenie o konflikte 6-10 Soobshchenie o vyhode 6-10 Soobshchenie ob ustanovke daty 6-11 Soobshchenie o trebovanii ustanovki daty 6-11 Soobshchenie, podtverzhdayushchee ustanovku daty 6-12 Soobshchenie o nachale trassirovki 6-12 Soobshchenie ob okonchanii trassirovki 6-13 Soobshchenie o mestopolozhenii glavnogo hozyaina 6-13 Soobshchenie o mestopolozhenii udalennogo hozyaina 6-14 Soobshchenie o proverke 6-14 Soobshchenie ob obnaruzhenii petli 6-15 6-1 Instrukciya po nastrojke VVEDENIE. ____________________________________________________________________ Protokol vremennoj sinhronizacii (TSP) byl razrabotan dlya special'nogo ispol'zovaniya programmoj timed(ADMN). |ta programma yavlyaetsya lokal'noj oblast'yu sinhronizatora setevyh chasov dlya UNIX operacionnoj sistemy s povyshennymi sposobnostyami, kotorye predostavlyaet TCP/IP. Programma timed postroena na baze DAPRA UDP protokola i v osnove imeet shemu "hozyain-podchinennyj". TSP nuzhna dlya dvuh celej. Pervaya - eto podderzhka soobshchenij dlya sinhronizacii chasov razlichnyh mashin v lokal'noj oblasti seti. Vtoraya - podderzhka soobshchenij dlya vybora novogo hozyaina, kotoryj vybiraetsya sredi podchinennyh "vremennyh demonov" (vremennoj demon - eto process operacionnoj sistemy, obsluzhivayushchij vremennye funkcii sistemy, chasy sistemy), kogda po kakim-libo prichinam hozyain ischezaet. Koroche govorya, sinhronizaciya programmnogo obespecheniya, kotoroe rabotaet v nekotoroj lokal'noj oblasti seti, sostoit iz nabora demonov (odin na mashinu) i osnovana na strukture hozyain-podchinennyj. Nastoyashchaya sistema sohranyaet sinhronizaciyu v predelah 20 millisekund, esli eto podderzhivaetsya apparatno. V protivnom sluchae luchshee, chto mozhet byt' eto 1sekunda. Demon-hozyain ihmeryaet vremennuyu raznicu mezhdu chasami, ustanovlennymi na ego mashine i vsemi drugimi mashinami. Tekushchee ispolnenie ispol'zuet ICMP (Trebovaniya k zameru vremeni) dlya zamera vremenoj raznicy mezhdu chasami raznyh mashin. Vremya glavnogo komp'yutera seti yavlyaetsya srednim mezhdu vremenami, predostavlyaemymi vsemi ispravnymi chasami. CHasy schitayutsya neispravnymi, kogda znachenie vremeni bol'she, chem na opredelennuyu velichinu prevyshaet nekotoryj interval, yavlyayushchijsya raznicej mezhdu znacheniyami vremeni v odnoj i toj zhe seti. Hozyain zatem posylaet kazhdomu demonu-podchinennomu znachenie vremeni dlya korrekcii svoih chasov. |tot process periodicheski povtoryaetsya. Esli vypolnena korrekciya i vremennaya raznica ne prevyshaet predel'no dopustimoj, to zaderzhki na sinhronizaciyu budet. Kogda mashiny vklyucheny i soedineny s set', to za vremenem sledit demon-podchinennyj. On sprashivaet hozyaina o pravil'nom vremeni i reguliruet chasy do nachala raboty pol'zovatelej. Takim obrazom, vremennoj demon reguliruet vremya vremya seti i ustranyaet raznicu vo vremeni mezhdu mashinami. Dopolnitel'no demon na mashine-shlyuze mozhet igrat' rol' podmasteriya. Demon-podmaster'e yavlyaetsya podchinennym v odnoj seti, u kotoroj uzhe est' hozyain i yavlyaetsya hozyainom v drugih setyah. Podmaster'e, krome togo, otvechaet za peredachu paketov ot odnoj seti v druguyu. CHtoby byt' uverennym, chto predostavlyaemyj servis prodolzhitelen i nadezhen, neobhodimo vypolnit' vybor algoritma, kotoryj pozvolyaet vybrat' novogo hozyaina. Takoc vybor prihoditsya delat', esli proishodit ustranenie tekushchego hozyaina (naprimer, oshibka pri zagruzke) ili pri raz®edinenii seti. 6-2 Instrukciya po nastrojke S pomoshch'yu etogo algoritma podchinennyej mogut opredelit' prekrashchenie raboty hozyainom; togda podchinennye vybirayut novogo hozyaina sredi samih sebya. Vazhno otmetit', chto posle prekrashcheniya raboty hozyaina rashozhdenie chasov proishodit postepenno i poetomu net neobhodimosti vybora hozyaina nemedlenno. Vsya rabota demonov proishodit pod upravleniem TSP protokola. Bol'shinstvo svyazej etogo protokola ne schitayutsya nadezhnymi poka ne budet poslano soobshchenie. Nadezhnost' dostigaetsya ispol'zovaniem podtverzhdenij, soglasuyushchih chisel i povtornyh peredach, kogda teryaetsya soobshchenie. Kogda poyavlyaetsya soobshchenie o neobhodimosti podtverzhdeniya i net podtverzhdeniya posle mnogih popytok, to demon, kotoryj posylal soobshchenie, prinimaet na sebya obyazannosti adresata. |ta glava ne opisyvaet v detalyah kakova nadezhnost' ispolneniya, no pokazyvaet kogda soobshcheniya tipa zaprosa yavlyayutsya nadezhnym mehanizmom svyazi. Format soobshchenij v TSP odinakov dlya vseh tipov soobshchenij; odnako v nekotoryh versiyah ne ispol'zuyutsya nekotorye polya. Sleduyushchij razdel opisyvaet format soobshcheniya. Posleduyushchie razdely opisyvayut v detalyah razlichnye tipy soobshchenij, ih ispol'zovanie i soderzhanie kazhdogo polya soobshcheniya. ____________________________________________________________________ V sleduyushchih versiyah timed format veroyatno budet izmenen. ____________________________________________________________________ 6-3 Instrukciya po nastrojke FORMAT SOOBSHCHENIYA. ____________________________________________________________________ Vse polya izmeryayutsya v bajtah. Polya sleduet zagruzhat' v sistemu v poryadke vozrastaniya ih dliny. Struktura TSP soobshcheniya sleduyushchaya: 1. Tip soobshcheniya dlinoj v odin bajt. 2. Nomer versii v odin bajt, kotoryj opredelyaet versiyu protokola, kotoruyu ispol'zuet soobshchenie. 3. Nomer chislovoj posledovatel'nosti v dva bajta, kotoryj ispol'zuetsya dlya vyyavleniya dublikatov soobshchenij pri povtornoj peredache soobshcheniya. 4. Vosem' bajt otvoditsya pod paket specificheskih dannyh. |to pole soderzhit dva po chetyre bajta pod znachenie vremeni i odin dlya ispol'zovaniya v zavisimosti ot tipa etogo paketa. 5. Stroka, zavershayushchayasya nulem dlya razmeshcheniya 256 simvolov ASCII s imenem mashiny, posylayushchej soobshchenie. 6-4 Instrukciya po nastrojke SOOBSHCHENIYA TSP. ____________________________________________________________________ Sleduyushchie razdely opisyvayut tipy soobshchenij, pokazyvaya ih polya i ob®snyaya ih soderzhanie. V celyah posleduyushchego obsuzhdeniya vremennoj demon mozhet schitat'sya v odnom iz treh sostoyaniyah - podchinennyj, hozyain ili kandidat na vybory hozyainom. Razdel peredachi soobshchenij otnositsya ko vsem aktivnym demonam. Soobshchenie o regulirovke vremeni. -------------------------------- Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |----------------+----------------+--------------------------------+ | Sekundy dlya regulirovki | +------------------------------------------------------------------| | Mikrosekundy dlya regulirovki | |------------------------------------------------------------------+ | Imya mashiny | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Tip: TSP_ADJTIME(1) Hozyain posylaet eto soobshchenie podchinennomu, chtoby poluchit' raznicu mezhdu chasami podchinennoj mashiny i setevym vremenem, kotoroe est' u hozyaina. Podchinennyj sootvetstvenno reguliruet vremya mashiny. |to soobshchenie trebuet podtverzhdeniya. 6-5 Instrukciya po nastrojke Podtverzhdenie soobshcheniya. ------------------------ Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |----------------+----------------+--------------------------------+ | ( ne ispol'zuetsya ) | +------------------------------------------------------------------| | ( ne ispol'zuetsya ) | |------------------------------------------------------------------+ | Imya mashiny | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Tip: TSP_ACK (2) Oba i hozyain i podchinennye ispol'zuyut eto soobshchenie tol'ko dlya podtverzhdeniya. Ono ispol'zuetsya v neskol'kih razlichnyh kontekstah. Naprimer, v otvet na soobshchenie o regulirovke vremeni. Soobshchenie-zapros hozyaina. ------------------------- Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |----------------+----------------+--------------------------------+ | ( ne ispol'zuetsya ) | +------------------------------------------------------------------| | ( ne ispol'zuetsya ) | |------------------------------------------------------------------+ | Imya mashiny | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Tip: TSP_MASTERREQ (3) Vnov' nachinayushchij rabotu demon peredaet eto soobshchenie dlya vyyavleniya hozyaina. Nikakih drugih dejstvij ono ne vypolnyaet. Soobshchenie trebuet otveta hozyaina. 6-6 Instrukciya po nastrojke Otvet-podtverzhdenie hozyaina. ---------------------------- Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |----------------+----------------+--------------------------------+ | ( ne ispol'zuetsya ) | +------------------------------------------------------------------| | ( ne ispol'zuetsya ) | |------------------------------------------------------------------+ | Imya mashiny | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Tip: TSP_MASTERACK (4) Hozyain posylaet eto soobshchenie, chtoby podtverdit' poluchenie zaprosa k hozyainu i soobshcheniya o konflikte. Soobshchenie ob ustanovke setevogo vremeni. ---------------------------------------- Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |----------------+----------------+--------------------------------+ | Sekundy dlya ustanovki vremeni | +------------------------------------------------------------------+ | Mikrosekundy dlya ustanovki vremeni | |------------------------------------------------------------------+ | Imya mashiny | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Tip: TSP_SETTIME (5) Hozyain posylaet eto soobshchenie podchinennym demonam dlya ustanovki vremeni. |ti dannye posylayutsya vnov' nachavshim rabotu demonam ili pri izmenenii setevoj daty. Ono soderzhit vremya hozyaina kak vremya seti. Soobshchenie trebuet podtverzhdeniya-otveta. Sleduyushchim shagom sinhronizacii budet vyyavlenie malen'koj vremennoj raznicy s zaderzhkoj raboty v kanale svyazi. 6-7 Instrukciya po nastrojke Soobshchenie o dejstvii hozyaina. ----------------------------- Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |----------------+----------------+--------------------------------+ | ( ne ispol'zuetsya ) | +------------------------------------------------------------------| | ( ne ispol'zuetsya ) | |------------------------------------------------------------------+ | Imya mashiny | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Tip: TSP_MASTERUP (6) Hozyain posylaet eto soobshchenie dlya zaprosa imen aktivnyh podchinennyh. Podchinennye otvechayut v sleduyushchem soobshchenii. Soobshchenie o dejstvii podchinennogo. ---------------------------------- Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |----------------+----------------+--------------------------------+ | ( ne ispol'zuetsya ) | +------------------------------------------------------------------| | ( ne ispol'zuetsya ) | |------------------------------------------------------------------+ | Imya mashiny | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Tip: TSP_SLAVEUP (7) Podchinennyj posylaet eto soobshchenie hozyainu v otvet na ego soobshchenie, kotoroe ukazano vyshe. |to soobshchenie takzhe posylaetsya, kogda nachinaet rabotu novyj podchinennyj dlya informacii hozyaina o neobhodimosti ego sinhronizacii. 6-8 Instrukciya po nastrojke Soobshcheniya o kandidature hozyaina. -------------------------------- Bajt 1 | Bajt 2 | Bajt 3 | Bajt 4 +================X================X================O===============+ | Tip | Nomer versii | Nomer posledovatel'nosti | |------------