Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Greške
  • Protokol za prijenos datoteka FTP. FTP protokol. FTP FTP (English File Transfer Protocol) je protokol dizajniran za prijenos datoteka preko računarskih mreža. FTP

Protokol za prijenos datoteka FTP. FTP protokol. FTP FTP (English File Transfer Protocol) je protokol dizajniran za prijenos datoteka preko računarskih mreža. FTP

FTP je vrsta protokola za prijenos podataka koji se koristi za kopiranje i premještanje datoteka na Internetu i unutar TCP mreža. FTP se često koristi za preuzimanje stranica i dokumenata raznih vrsta na hosting računare. FTP koristi klijent-server arhitekturu i razne veze unutar mreže radi prijenosa naredbi i informacija od klijenta do servera i obrnuto. Korisnicima FTP-a je dozvoljeno da prođu kroz proceduru autentifikacije koristeći login i lozinku, ili, ako je takav obrazac dozvoljen na serveru, korisnici mogu dobiti pristup u anonimnom načinu.
Pored uobičajenog protokola, koristi se i FTPS, koji je posebna ekstenzija standardnog FTP-a koja omogućava klijentima pristup serveru i korištenje šifriranih sesija prijenosa podataka. Ovaj pristup se implementira slanjem "auth tls" naredbe za autentifikaciju, dok je serveru dozvoljeno da prihvati ili odbije veze koje ne zahtijevaju TLS veze.

SFTP

SFTP je standard za internet prijenos za premještanje i kopiranje datoteka preko sigurne i sigurne SSH (Secure Shell) veze. Ova vrsta veze može obezbijediti pristup i siguran prijenos, koji se provodi uz enkripciju kako login i lozinke, tako i sadržaja samog prijenosa, čime se štite lozinke i povjerljiva informacija od otvoreni prenos online.
Za razliku od FTP-a, SFTP protokol, uprkos sličnim funkcijama, koristi drugačiji protokol za prijenos podataka, pa stoga standardni klijenti ne mogu komunicirati sa SFTP serverima.

Karakteristike FTP standarda

Ovaj standard je jedan od najstarijih mrežni protokoli, koji je nastao prije 45 godina i danas se široko koristi na internetu. Jedan od kritične karakteristike Protokol je korištenje nekoliko veza: jedne u svrhu prenošenja kontrolnih komandi, a druge - za direktan prijenos datoteka. U tom slučaju možete otvoriti nekoliko paralelne veze, od kojih svaki može prenositi podatke u oba smjera.
Postoje dva načina rada FTP-a, koji se razlikuju po načinu uspostavljanja veza: pasivni i aktivni. Tokom aktivnog režima, server uspostavlja vezu za prenos informacija do korisnika, a u pasivnom režimu, obrnuto.
Ovaj standard se koristi dugo vremena i na prvi pogled je izuzetno jednostavan. Ali ova jednostavnost može biti prilično zavaravajuća, jer veliki broj korisnika može imati problema prilikom pristupa ovaj standard posebno ako server ili korisnik koristi zaštitni zid ili NAT.

Karakteristike aktivnog načina rada

Tokom aktivnog režima, klijent inicira kontrolnu vezu sa portom servera 21 prenosom komande "port", koja označava adresu i port za prenos informacija. Nakon primanja ove naredbe, server pokreće svoju vezu 20. porta sa navedenim korisničkim portom.
Glavni nedostatak ovu metodu obavezno je da korisnik ima namjensku IP adresu na Internetu. Osim toga, neki problemi mogu nastati ako se klijent nalazi iza firewall-a ili NAT-a.

Funkcije pasivnog načina rada

Da bi uspostavio pasivnu vezu, korisnik mora poslati posebnu komandu "pasv" serveru. Kao odgovor na ovu naredbu, server šalje informaciju o adresi i portu sa kojim bi klijent trebao uspostaviti vezu. Nakon prijema ovih podataka, korisnik se povezuje na serverski računar i prenosi informacije.
Kada se koristi pasivni način rada, apsolutno sve veze inicira klijent, te stoga nema zahtjeva za to. Korisniku je dozvoljeno da koristi NAT i firewall, kao i da ne koristi namjensku IP adresu. Dakle, danas je upravo tako pasivni način rada.

Konfigurisanje kada se koristi zaštitni zid

Kada koriste zaštitni zid i aktivni način rada, korisnici mogu imati problema s pristupom. Ako je zaštitni zid konfiguriran da odbija dolazne veze koje nisu inicirane iznutra, serverski računar neće moći uspostaviti komunikaciju i započeti prijenos informacija. A zbog činjenice da port za informacije ima dinamičku raznolikost, postoje određene poteškoće tokom konfiguracije firewall-a. Najbolja opcija v u ovom slučaju je specificirati opseg portova koji će se koristiti i organizaciju posebnih dozvoljenih pravila zaštitnog zida za njih.
U slučaju korištenja pasivnog načina rada slične složenosti, rizikujete da naiđete server računar... U ovom slučaju možete koristiti slično rješenje - navedite određeni raspon korištenih portova u opcijama i kreirajte posebno pravilo za ovaj raspon.

Konfigurisanje kada se koristi NAT

Za ispravno funkcionisanje FTP preko NAT-a i uspješan prijenos datoteka nisu dovoljni samo za postavljanje prosljeđivanja radnih portova, jer će serverski računar koji radi ispod NAT-a prenositi internu adresu porta, a klijent jednostavno neće moći da se poveže i prenese informacije.
Neke moderne NAT implementacije mogu nadgledati kontrolni kanal FTP veze i lažirati za normalan rad prijenos podataka interne adrese na eksternu. Dodatno, FTP serveri imaju mogućnost specificiranja eksterni port da se pojavi u kontrolnoj sesiji.
Najčešće, za normalan prijenos datoteka preko FTP-a preko NAT-a, prosljeđivanje porta 21 je dovoljno za implementaciju kontrolne sesije, kao i specificiranje i prosljeđivanje raspona dinamičke adrese koristi se za prenos podataka na Internetu.

Dizajniran za prijenos datoteka preko TCP mreža (na primjer, Internet). Koristi port 21. FTP se često koristi za preuzimanje web stranica i drugih dokumenata sa privatnog razvojnog uređaja na otvorene hosting servere.

Protokol je izgrađen na arhitekturi klijent-server i koristi različite mrežne veze za prijenos naredbi i podataka između klijenta i servera. Korisnici FTP-a mogu se autentifikovati prenošenjem svog korisničkog imena i lozinke u čistom tekstu, ili, ako je dozvoljeno na serveru, mogu se povezati anonimno. Možete koristiti SSH protokol za siguran prenos, koji sakriva (šifruje) korisničko ime i lozinku, kao i šifruje sadržaj.

Prve FTP klijentske aplikacije bile su interaktivni alati komandne linije koji su implementirali standardne komande i sintaksu. Od tada su razvijeni grafički korisnički interfejsi za mnoge koji se koriste do danas operativni sistemi... Ova sučelja uključuju opšte programe za web dizajn kao što je Microsoft Expression Web i specijalizirane FTP klijente (kao što je FileZilla).

FTP je jedan od najstarijih aplikativnih protokola, koji datira mnogo prije HTTP-a, pa čak i prije TCP/IP-a, 1971. godine. U početku je radio na vrhu NCP protokola. I danas se široko koristi za distribuciju softvera i pristup udaljenim hostovima.

Collegiate YouTube

    1 / 5

    Kako POSTAVITI SAJT na Internet? Šta je FTP?

    GSM/GPRS modem NEOWAY M590, idemo online, radimo sa FTP i narodmon.ru

    Šta je FTP i kako ugostiti web stranicu na Internetu

    Kućni server, 2. dio. Instaliranje Ubuntua Server + web server+ FTP

    Naučite FTP i objavljivanje web stranica na internetu na hindskom

    Titlovi

Opis protokola

Razlika od HTTP-a

Nekretnina FTP HTTP
Na osnovu radnih sesija Da br
Ugrađena autentifikacija korisnika Da br
Uglavnom dizajniran za prijenos Velike binarne datoteke Mali tekstualni fajlovi
Model veze Dvostruka veza Jedna veza
Uglavnom prilagođen za prijem/prenos Prijem i prijenos Prijem
Podržava tekstualne i binarne načine prijenosa Da br
Podržava određivanje tipova prenesenih podataka (MIME zaglavlja) br Da
Podržava operacije preko sistem podataka(mkdir, rm, preimenuj, itd.) Da br

Prilično upečatljiva karakteristika FTP protokola je da koristi višestruke (barem dvostruke) veze. U ovom slučaju, jedan kanal je kontrolni, preko kojeg se primaju komande serveru i vraćaju njegovi odgovori (obično preko TCP porta 21), a kroz ostatak se odvija stvarni prenos podataka, po jedan kanal za svaki prenos. Stoga je u okviru jedne sesije putem FTP protokola moguć prijenos više datoteka istovremeno, i to u oba smjera. Svaki kanal podataka ima svoj vlastiti TCP port, čiji broj bira server ili klijent, u zavisnosti od načina prenosa.

FTP ima binarni način prijenosa, koji smanjuje troškove prometa i skraćuje vrijeme prijenosa velike datoteke... HTTP protokol nužno zahtijeva kodiranje. binarne informacije v tekstualni oblik, na primjer koristeći Base64 algoritam.

Počevši sa radom preko FTP-a, klijent ulazi u sesiju i sve operacije se izvode unutar ove sesije (drugim rečima, server pamti Trenutna drzava). HTTP protokol ne "pamti" ništa - njegov zadatak je da da podatke i zaboravi, dakle, pamti stanje kada koristeći HTTP izvode se metodama izvan protokola.

Povezivanje i prijenos podataka

Podrška za web pretraživač

Sintaksa

Sintaksa za FTP URL-ove je opisana u RFC1738, u obliku: ftp: // [<пользователь>[:<пароль>]@]<хост>[:<порт>]/<путь>(parametri u uglaste zagrade opciono). Na primjer:

Više detalja o određivanju korisničkog imena i lozinke je napisano u dokumentaciji pretraživača. Podrazumevano, većina web pretraživača koristi pasivni (PASV) način rada, koji bolje zaobilazi zaštitne zidove krajnjih korisnika.

Sigurnost

FTP nije dizajniran kao siguran (posebno prema današnjim standardima) protokol i ima brojne sigurnosne propuste. U maju 1999. godine, autori RFC 2577 sumirali su ranjivosti u sljedećoj listi problema:

  • Napadi odbijanja
  • Lažni napadi
  • Napadi grube sile
  • Hvatanje paketa, njuškanje
  • Zaštita korisničkog imena
  • Krađa luka

FTP ne može šifrirati svoj promet, svi prijenosi su čisti tekst, tako da korisnička imena, lozinke, komande i podatke može pročitati svako ko može presresti paket preko mreže. Ovaj problem je uobičajen u mnogim specifikacijama Internet protokola (uključujući SMTP, Telnet, POP, IMAP) koje su razvijene prije stvaranja mehanizama za šifriranje kao što su TLS i SSL. Uobičajeno rešenje Ovaj problem je korištenje "sigurnih", TLS-zaštićenih verzija ranjivih protokola (FTPS za FTP, TelnetS za Telnet, itd.) ili drugog sigurnijeg protokola kao što je SFTP / SCP koji se isporučuje sa većinom implementacija Secure Shell protokola.

Secure FTP

Postoji nekoliko metoda bezbednog prenosa datoteka, koje se u jednom ili drugom trenutku nazivaju "Bezbedan FTP".

FTPS

Eksplicitni FTPS je proširenje FTP standarda koje omogućava klijentima da zatraže da se FTP sesija šifrira. Ovo se postiže slanjem naredbe "AUTH TLS". Server ima mogućnost da dozvoli ili odbije veze koje ne zahtevaju TLS. Ovo proširenje protokola je definirano u RFC 4217. Implicitni FTPS je naslijeđeni FTP standard koji zahtijeva korištenje SSL ili TLS veze. Ovaj standard je morao koristiti portove različite od uobičajenog FTP-a.

SFTP

SFTP, ili "SSH File Transfer Protocol", nije povezan sa FTP-om, osim što takođe prenosi datoteke i ima sličan skup komandi za korisnike. SFTP, ili siguran FTP, je program koji koristi SSH (Secure Shell) za prijenos datoteka. Za razliku od standardni FTPšifrira i komande i podatke, sprječavajući prijenos lozinki i povjerljivih informacija preko mreže. SFTP je po funkcionalnosti sličan FTP-u, ali pošto koristi drugačiji protokol, standardni FTP klijenti ne mogu komunicirati sa SFTP serverom i obrnuto.

FTP preko SSH (ne SFTP)

FTP preko SSH (ne SFTP) odnosi se na praksu tuneliranja redovne FTP sesije preko SSH veze. Budući da FTP koristi više TCP veza, tuneliranje preko SSH-a je posebno teško. Kada mnogi SSH klijenti pokušaju tunelirati kontrolni kanal (originalna "klijent-server" veza na portu 21), samo će taj kanal biti zaštićen; Prilikom prijenosa podataka, FTP softver na oba kraja će uspostaviti nove TCP veze (data pipes) koje zaobilaze SSH vezu i na taj način gube intrinzičnu sigurnost.

Inače, za klijenta softver SSH zahtijeva određeno poznavanje FTP-a za praćenje i ponovno pisanje poruka u toku. FTP upravljanje i autonomno otvaranje novih preusmjeravanja za stream FTP podaci. Softverski paketi podržava ovaj način rada:

  • Tectia ConnectSecure (Win / Linux / Unix)
  • Tectia Server za IBM z/OS iz SSH Communications Security Suite
  • (pod GPL licencom)

FTP preko SSH-a se ponekad naziva siguran FTP; ali nemojte ga brkati s drugim metodama kao što su SSL / TLS (FTPS). Drugi načini prijenosa datoteka pomoću SSH-a i nisu vezani za FTP - SFTP i SCP; u svakom od njih, i vjerodajnice i podaci o fajlu uvijek su zaštićeni SSH protokolom.

istorija

Prva implementacija protokola (1971) predviđala je razmjenu poruka između klijenta i servera, koja se sastojala od zaglavlja (72 bita) i podataka varijabilna dužina... Zaglavlje poruke uključivalo je zahtjev ili odgovor od FTP servera, vrstu i dužinu prenesenih podataka. Parametri zahtjeva (na primjer, putanja i naziv datoteke), informacije sa servera (na primjer, lista datoteka u direktoriju) i sami fajlovi su proslijeđeni kao podaci. Dakle, komande i podaci su se prenosili istim kanalom.

1972. godine protokol je potpuno izmijenjen i poprimio je oblik blizak modernom. Komande sa parametrima iz odgovora klijenta i servera se prenose preko TELNET-veze (kontrolni kanal), za prenos podataka se kreira posebna veza (kanal podataka).

U narednim izdanjima dodata je mogućnost rada u pasivnom režimu, prijenos datoteka između FTP servera, uvedene su komande za dobivanje informacija, promjenu trenutnog direktorija, kreiranje i brisanje direktorija, spremanje datoteka pod jedinstvenim imenom. Komande za prenos e-pošte preko FTP-a postojale su neko vreme, ali su kasnije uklonjene iz protokola.

1980. FTP protokol je počeo da koristi TCP. Posljednja revizija protokola objavljena je 1985. Godine 1997. pojavio se dodatak protokolu koji omogućava šifriranje i potpisivanje informacija u kontrolnom kanalu i kanalu podataka. Godine 1999. objavljen je dodatak internacionalizaciji protokola koji preporučuje korištenje UTF-8 kodiranja za serverske komande i odgovore i definira novi tim LANG, koji postavlja jezik odgovora.

Osnovne komande

  • ABOR - Prekini prijenos datoteke
  • CDUP - Promjena direktorija uzvodno.
  • CWD - Promjena imenika.
  • DELE - Brisanje datoteke (DELE ime datoteke).
  • EPSV - Uđite u napredni pasivni način rada. Koristi se umjesto PASV.
  • POMOĆ - Prikazuje listu naredbi koje server prihvata.
  • LIST - Vraća listu datoteka u direktoriju. Lista se prenosi preko podatkovne veze.
  • MDTM - Vraća vrijeme izmjene datoteke.
  • MKD - Kreirajte direktorij.
  • NLST - Vraća listu datoteka u direktoriju u više kratki format nego LIST. Lista se prenosi preko podatkovne veze.
  • NOOP - Prazan rad.
  • PASS - Lozinka.
  • PASV - Ulazak u pasivni način rada. Server će vratiti adresu i port na koji se morate povezati da biste preuzeli podatke. Prijenos će početi kada unesete sljedeće komande: RETR, LIST, itd.
  • PORT - Ulazak u aktivni mod. Na primjer PORT 12,34,45,56,78,89. Za razliku od pasivnog režima, za prenos podataka, sam server se povezuje sa klijentom.
  • PWD - Vraća trenutni direktorij.
  • QUIT - Prekini vezu.
  • REIN - Ponovo inicijalizirajte vezu.
  • RETR - Preuzmite datoteku. RETR-u mora prethoditi naredba PASV ili PORT.
  • RMD - Ukloni direktorij.
  • RNFR i RNTO - Preimenujte datoteku. RNFR - šta preimenovati, RNTO - šta.
  • VELIČINA - Vraća veličinu datoteke.
  • STOR - Upload file. STOR-u mora prethoditi naredba PASV ili PORT.
  • SYST - Vraća tip sistema (UNIX, WIN, ...).
  • TYPE - Podesite vrstu prenosa datoteke (binarni, tekstualni).
  • KORISNIK - Korisničko ime za prijavu na server.

FTP kodovi odgovora

Ispod je Kratki opis kodovi odgovora koje FTP server može vratiti. Ove kodove je standardizirao IETF u RFC 959. Kao što je ranije spomenuto, kod odgovora je trocifreni broj. Prva cifra je odgovorna za jedan od tri ishoda: uspjeh, neuspjeh ili naznaku greške ili nepotpun odgovor.

  • 2xx - Uspješan odgovor
  • 4xx / 5xx - Naredba se ne može izvršiti
  • 1xx / 3xx - Greška ili nepotpun odgovor

Druga cifra označava vrstu greške:

  • x0z - Sintaktički.
  • x1z - Informacije. Odgovara informativnoj poruci.
  • x2z - Veze. Poruka je ili za kontrolnu vezu ili za podatkovnu vezu.
  • x3z - Usklađuje poruke o autentifikaciji korisnika i pravima.
  • x4z - Nije utvrđeno.
  • x5z - Sistem datoteka. Odgovara poruci o stanju sistema datoteka.

Treća znamenka konačno određuje grešku.

Primjer

220 FTP server spreman. KORISNIK ftp // Anonymous 230 Prijava uspješna. PASV 227 Ulazak u pasivni način (192,168,254,253,233,92) // Klijent mora otvoriti konekciju na prenijetu IP LISTU 150 Evo liste direktorija. // Server šalje listu datoteka u direktoriju 226 Direktorij šalje OK. CWD dolazni 250 direktorij je uspješno promijenjen. PASV 227 Ulazak u pasivni način (192,168,254,253,207,56) STOR gyuyfotry.avi 150 U redu za slanje podataka. // Klijent šalje sadržaj datoteke 226 File receive OK. QUIT 221 Zbogom.

Argument 192,168,254,253,207,56 znači da se očekuje veza sa serverom na hostu sa IP adresom 192.168.254.253 na portu 207<< 8 + 56 = 53048 (где << - операция побитового сдвига, 207 записывается в младший разряд, а потом сдвигается в старший, чтобы в младший записать 56 или 207*256+56=53048).

Mnogi FTP serveri imaju direktorij (koji se zove dolazni, upload, itd.) otvoren za pisanje i koji se koristi za otpremanje datoteka na server. Ovo omogućava korisnicima da popune servere svježim podacima.

Fxp

Fxp(English File eXchange Protocol) je metoda direktnog prijenosa datoteka između dva FTP servera, bez njihovog učitavanja na vaš računar. U FXP sesiji, klijent otvara dvije FTP veze na dva različita servera, zahtijevajući datoteku na prvom serveru, navodeći IP adresu drugog servera u naredbi PORT.

Nesumnjiva prednost podrške FXP standardu je u tome što krajnji korisnici koji žele kopirati datoteke s jednog FTP servera na drugi više ne podliježu ograničenju propusnog opsega svoje internetske veze. Nema potrebe da preuzimate datoteku za sebe da biste je kasnije otpremili na drugi FTP server. Dakle, vrijeme prijenosa datoteka ovisit će samo o brzini veze između dva udaljena FTP-servera, koja je u većini slučajeva očito veća od one "korisničke".

FXP su počeli da koriste sajber kriminalci za napad na druge servere: naredba PORT specificira IP adresu i port napadnutog servisa na računaru žrtve, a RETR/STOR komande pozivaju ovaj port u ime FTP servera, a ne mašine koja napada , koji je omogućio organizovanje velikih DDoS napada koristeći više FTP servera odjednom, ili zaobilazeći sigurnosni sistem računara žrtve ako se oslanja samo na provjeru IP-a klijenta, a FTP server koji se koristi za napad se nalazi na pouzdanom mreži ili na mrežnom prolazu. Kao rezultat toga, sada skoro svi serveri provjeravaju da li IP adresa navedena u naredbi PORT odgovara IP adresi FTP klijenta i, prema zadanim postavkama, zabranjuju korištenje IP adresa trećih strana tamo. Stoga korištenje FXP-a nije moguće kada radite sa javnim FTP serverima.

FTP arhive su jedan od glavnih informacionih resursa na Internetu. U stvari, to je distribuirano skladište tekstova, programa, fotografija i drugih informacija koje se pohranjuju u obliku datoteka na raznim kompjuterima širom svijeta.

Informacije u FTP arhivama uglavnom su podijeljene u tri kategorije:

  • Zaštićene informacije čiji način pristupa određuju njihovi vlasnici i dopuštaju ih posebnim ugovorom sa potrošačem. Ova vrsta resursa uključuje komercijalne arhive (na primjer, komercijalne verzije programa u arhivama ftp.microsoft.com), zatvoreni nacionalni i međunarodni nekomercijalni resursi (na primjer, radovi na međunarodnim projektima CES ili IAEA), privatne nekomercijalne informacije sa posebnim načinima pristupa (na primjer, privatne dobrotvorne fondacije).
  • Resursi informacija ograničene upotrebe, kao što su shareware programi. Ova klasa može uključivati ​​resurse ograničenog vremena upotrebe ili ograničenog vremena djelovanja.
  • Besplatni izvori informacija ili besplatni softver kada je u pitanju softver. Ovi resursi uključuju sve što se može slobodno nabaviti putem mreže bez posebne registracije. To može biti dokumentacija, programi ili nešto drugo. Treba napomenuti da besplatni softver nema certifikat kvaliteta, ali su njegovi programeri otvoreni za razmjenu iskustava.

Od navedenih resursa, najzanimljivije su posljednje dvije kategorije, koje su, po pravilu, dizajnirane u obliku FTP-arhiva.

FTP tehnologija je razvijena kao dio ARPA projekta i dizajnirana je za razmjenu velikih količina informacija između strojeva različitih arhitektura. Glavni fokus projekta bio je osigurati pouzdan prijenos, tako da se sa moderne tačke gledišta čini da je FTP preopterećen redundantnim, rijetko korištenim funkcijama. Srž tehnologije je FTP protokol.

FTP protokol.

FTP (File Transfer Protocol, ili "Protokol za prijenos podataka") je jedan od najstarijih protokola na Internetu i uključen je u njegove standarde. Prve FTP specifikacije datiraju iz 1971. godine. Od tada, FTP je prošao kroz mnoge modifikacije i značajno proširio svoje mogućnosti. FTP se može koristiti i u korisničkim programima i kao poseban uslužni program za operativni sistem.

FTP je dizajniran da reši probleme deljenja pristupa fajlovima na udaljenim hostovima, direktnog ili indirektnog korišćenja resursa udaljenih računara, obezbeđivanje nezavisnosti klijenta od fajl sistema udaljenih hostova, efikasan i pouzdan prenos podataka.

FTP razmjena podataka se odvija preko TCP kanala. Razmjena je izgrađena na "klijent-server" tehnologiji. FTP se ne može koristiti za prijenos povjerljivih podataka, jer ne pruža zaštitu za prenijete informacije i prenosi čist tekst između servera i klijenta. FTP server može zahtijevati od FTP klijenta da se autentifikuje (to jest, prilikom povezivanja na FTP server, korisnik će morati da unese svoj ID i lozinku). Međutim, lozinka i korisnički ID će se prenijeti sa klijenta na server. u običnom tekstu.

FTP modeli rada.

Najjednostavniji model FTP protokola prikazan je na slici 1. U FTP-u vezu inicira interpretator korisničkog protokola. Centrala se kontroliše preko kontrolnog kanala u standardu TELNET protokola. FTP komande se generišu od strane tumača korisničkog protokola i šalju na server. Odgovori servera se također šalju korisniku putem kontrolnog kanala. Općenito, korisnik ima mogućnost uspostavljanja kontakta sa serverskim tumačem protokola i drugim sredstvima osim korisničkog tumača protokola.

FTP komande definiraju parametre kanala za prijenos podataka i sam proces prijenosa. Oni također određuju prirodu rada sa udaljenim i lokalnim sistemima datoteka.

Kontrolna sesija inicijalizira kanal podataka. Prilikom organiziranja kanala za prijenos podataka, slijed radnji se razlikuje od organizacije kontrolnog kanala. U tom slučaju server pokreće razmjenu podataka u skladu sa parametrima dogovorenim u sesiji upravljanja.

Kanal podataka je postavljen za isti host kao i kontrolni kanal preko kojeg se konfigurira kanal podataka. Kanal podataka može se koristiti i za prijem i za prijenos podataka.

Algoritam FTP protokola je sljedeći:

  1. FTP server koristi TCP port 21 kao svoju kontrolnu vezu, koji uvijek čeka vezu od FTP korisnika.
  2. Nakon što se uspostavi kontrolna veza između modula tumača korisničkog protokola i modula tumača serverskog protokola, korisnik (klijent) može slati komande serveru. FTP komande određuju parametre veze za prijenos podataka: ulogu sudionika veze (aktivan ili pasivan), port veze (i za modul "Program za prijenos podataka korisnika" i za modul "Program za prijenos podataka sa servera"), prijenos tip, tip prenesenih podataka, struktura podataka i kontrolne direktive koje ukazuju na radnje koje korisnik želi izvršiti (na primjer, spremanje, čitanje, dodavanje ili brisanje podataka ili datoteke i druge).
  3. Nakon što su svi parametri kanala za prijenos podataka dogovoreni, jedan od učesnika u vezi, koja je pasivna (na primjer, "Program prijenosa korisničkih podataka"), prelazi u način čekanja za otvaranje veze na navedeni port. za prenos podataka. Aktivni modul (npr. "Program za prijenos podataka servera") tada otvara vezu i započinje prijenos podataka.
  4. Nakon što se prijenos završi, veza između poslužiteljskog alata za prijenos i alata za prijenos korisnika je zatvorena, ali kontrolna veza između tumača poslužiteljskog protokola i tumača korisničkog protokola ostaje otvorena. Korisnik, bez zatvaranja FTP sesije, može ponovo otvoriti kanal za prijenos podataka.

Moguće je da se podaci mogu prenijeti na treću mašinu. U ovom slučaju korisnik organizira kontrolni kanal sa dva servera i direktnim kanalom podataka između njih. Kontrolne komande prolaze kroz korisnika, a podaci idu direktno između servera. Kontrolni kanal mora biti otvoren prilikom prijenosa podataka između strojeva. U suprotnom, ako se zatvori, prijenos podataka se prekida. Veza sa dva servera prikazana je na slici 2.


Algoritam rada pri povezivanju dva FTP servera, od kojih se nijedan ne nalazi na korisničkom lokalnom hostu:

  1. Modul User Protocol Interpreter je dao instrukcije serverskom modulu Server Protocol Interpreter 1 da radi u pasivnom režimu, nakon čega je modul Server Protocol Interpreter 1 poslao korisniku adresu i broj porta (N) koje će slušati.
  2. Modul tumača korisničkog protokola je dodijelio modul servera 2 "Tumač protokola servera 2" kao aktivni učesnik vezu i naložio mu da pošalje podatke hostu "Server Protocol Interpreter 1" na portu (N).
  3. "Tumač korisničkih protokola" dao je "Tumači protokola servera 1" komandu "da sačuva primljene podatke u taj i takav fajl", a "Tumač serverskog protokola 2" - "da prenese sadržaj tog i tog fajla" .
  4. Tok podataka se formira između modula Server Protocol Interpreter 1 i Server 2 Protocol Interpreter, koji je kontroliran od strane klijenta.
Ispod je dijagram organizacije prijenosa podataka između dva FTP servera, što odgovara slici 2. Ovdje se koriste sljedeće oznake: User PI - interpreter korisničkog protokola; Server1 (2) tumač protokola server1 (server2).
Korisnik PI (U) S Server1 (S1) Korisnik PI (U) S Server2 (S2)
U Yu S1: Povežite se

U S S1: PASV

U b S1: 227 Ulazak u pasivni mod.

A1, A2, A3, A4, a1, a2

U Yu S2 Connect

U Yu S2: PORT A1, A2, A3, A4, a1, a2

U b S2: 200 U redu
U Yu S1: STOR ... U Yu S2: RETR ...

S1 Yu S2: Poveži ...

FTP prijenos podataka zasniva se na mehanizmu uspostavljanja veze između odgovarajućih portova i odabiru parametara prijenosa. Svaki FTP učesnik mora podržavati podrazumevani port podataka. Uslužni program za komunikaciju prema zadanim postavkama koristi isti port kao i za slanje komandi (označite ga sa "U"), a uslužni program za komunikaciju sa serverom koristi port L-1, gdje je L kontrolni port. Međutim, učesnici u vezi koriste portove za prijenos podataka koje je za njih izabrao "Tumač korisničkih protokola", jer zbog kontrolnih procesa koji učestvuju u vezi, samo "Tumač korisničkih protokola" može promijeniti portove za prijenos podataka oba " Program za prijenos podataka korisnika" i "Programi za prijenos podataka na serveru".

Pasivna strana veze mora, prije nego što se da naredba "pokreni prijenos", "slušati" svoj port za prijenos podataka. Aktivna strana koja daje naredbu za početak prijenosa podataka određuje smjer kretanja podataka.

Kada se veza uspostavi, počinje prijenos između programa prijenosa servera i programa prijenosa korisnika. Istovremeno, obavještenja o prijemu podataka se prenose putem kanala "Server Protocol Interpreter" - "User Protocol Interpreter". FTP zahtijeva da kontrolna veza bude otvorena dok se podatkovna veza prenosi. FTP sesija se smatra zatvorenom tek nakon što je kontrolna veza zatvorena.

Obično je FTP server odgovoran za otvaranje i zatvaranje kanala podataka. FTP server mora sam zatvoriti kanal za prijenos podataka u sljedećim slučajevima:

  1. Server je završio prijenos podataka u formatu koji zahtijeva da se veza zatvori.
  2. Server je primio naredbu "prekini vezu" od korisnika.
  3. Korisnik je promijenio parametre porta podataka.
  4. Kontrolna veza je zatvorena.
  5. Došlo je do grešaka koje sprečavaju nastavak prenosa podataka.

Protocol Commands .

Kontrolne naredbe za kontrolu prijenosa podataka koje se razmjenjuju između tumača serverskog protokola i tumača korisničkog protokola mogu se podijeliti u tri velike grupe:

  • Sistemske komande za kontrolu pristupa.
  • Komande kontrole toka podataka.
  • Komande FTP servisa.

Razmotrimo nekoliko najtipičnijih timova iz svake grupe. Među naredbama za kontrolu pristupa sistemu treba istaći sljedeće:

USER. Obično ova komanda otvara FTP sesiju između klijenta i servera. Argument naredbe je ime (identifikator) korisnika za rad sa datotečnim sistemom. Ova naredba se može izdati ne samo na početku, već i na sredini sesije, ako, na primjer, korisnik želi promijeniti identifikator u čije ime će se radnje izvršiti. U ovom slučaju se oslobađaju sve varijable koje se odnose na stari identifikator. Ako se podaci razmjenjuju dok se identifikator mijenja, razmjena se završava starim identifikatorom korisnika.

PASS. Ova naredba se izdaje nakon unosa korisničkog ID-a i kao argument sadrži korisničku lozinku. Podsjećamo, FTP autentifikacijski podaci se prenose preko mreže u čistom tekstu, stoga, kako bi se osigurala sigurnost kanala, korisnik treba poduzeti dodatne mjere.

CWD. Komanda omogućava korisnicima da rade sa različitim direktorijumima na udaljenom sistemu datoteka. Argument naredbe je niz koji specificira putanju direktorija na udaljenom sistemu datoteka u kojem korisnik želi raditi.

REIN. Komanda za ponovnu inicijalizaciju. Ova komanda briše sve varijable trenutnog korisnika, resetuje parametre veze. Ako u trenutku naredbe dođe do prijenosa podataka, prijenos se nastavlja i završava s istim parametrima.

QUIT. Komanda zatvara kontrolni kanal. Ako u trenutku slanja naredbe dođe do prijenosa podataka, kanal se zatvara nakon završetka prijenosa podataka.

Komande kontrole protoka postavljaju parametre prijenosa podataka. Svi parametri opisani ovim naredbama imaju zadanu vrijednost, tako da se naredbe kontrole toka koriste samo kada trebate promijeniti vrijednost zadanih parametara prijenosa. Naredbe kontrole toka mogu se izdati bilo kojim redoslijedom, ali sve moraju prethoditi naredbama FTP usluge. Od naredbi za kontrolu protoka podataka treba razlikovati sljedeće:

PORT. Naredba dodjeljuje adresu i port hosta koji će se koristiti kao aktivni član veze podatkovne veze. Argumenti naredbe su 32-bitna IP adresa i 16-bitni broj porta veze. Ove vrijednosti su podijeljene u šest 8-bitnih polja i predstavljene su u decimalnom obliku: h1, h2, h3, h4, p1, p2, gdje je hN adresni bajtovi (od visokog do niskog) i pN je bajtovi porta (od visokog do niskog).

PASV. Ova naredba se šalje modulu, koji će igrati pasivnu ulogu u prijenosu podataka ("slušanje" veze). Odgovor na ovu naredbu mora biti string koji sadrži adresu i port hosta koji su u načinu čekanja za povezivanje u formatu PORT komande - "h1, h2, h3, h4, p1, p2".

Komande TYPE, STRU, MODE određuju, redom, tip podataka koji se prenose (ASCII, Slika i drugi), strukturu ili format prenosa podataka (File, Record, Page), način prenosa (Stream, Block i drugi). Upotreba ovih komandi je veoma važna kada se gradi interoperabilnost u heterogenim okruženjima i veoma različitim operativnim i fajl sistemima interakcionih hostova.

Naredbe FTP usluge određuju radnje koje će se izvršiti na navedenim datotekama. Obično je argument komandi u ovoj grupi put do datoteke. Sintaksa za navedenu stazu mora zadovoljiti zahtjeve formata za sistem datoteka rukovaoca naredbama. Od naredbi FTP servisa mogu se razlikovati sljedeće:

RETR. Ova naredba daje instrukcije modulu Server Communications Utility da pošalje kopiju datoteke specificirane parametrom naredbe u komunikacijski modul na drugom kraju veze.

STOR. Naredba nalaže modulu "Serverski program za prijenos podataka" da prima podatke putem kanala za prijenos podataka i pohranjuje ih kao datoteku čiji je naziv specificiran parametrom ove naredbe. Ako takav fajl već postoji, biće zamenjen novim, ako ne, kreiraće se novi.

RNFR i RNTO timovi moraju pratiti jedan za drugim. Prva komanda sadrži staro ime datoteke kao argument, druga novo. Uzastopna primjena ovih naredbi preimenuje datoteku.

ABOR. Komanda daje instrukcije serveru da prekine izvršenje prethodne naredbe usluge (na primjer, prijenos datoteke) i zatvori kanal za prijenos podataka.

Komanda DELE briše navedenu datoteku.

MKD i RMD naredbe, respektivno, kreiraju i brišu direktorij naveden u argumentu.

Naredbe LIST i NLST navode datoteke u specificiranom direktoriju.

Sve naredbe FTP protokola šalju se od strane "User Protocol Interpreter" u običnom tekstu - jedna naredba po redu. Svaka komandna linija - identifikator i argumenti - završavaju znakovima ... Ime naredbe je odvojeno od argumenta razmakom - .

Rukovalac komandom vraća trocifreni kod za svaku komandu. Obrada kodova formira određenu hijerarhijsku strukturu i, po pravilu, određena komanda može vratiti samo određeni skup kodova. Nakon koda za obradu naredbe slijedi razmak - nakon čega slijedi tekst objašnjenja. Na primjer, linija za uspješan završetak operacije izgleda ovako: "200 Command u redu".

Ispod je primjer rada sa FTP protokolom. Legenda: S - server, U - korisnik.

S: 220 Servis spreman za novog korisnika
U: KORISNIK Gluk
> S: 331 Korisničko ime u redu, potrebna je lozinka
U: PROLAŽI mrmljanje
S: 230 Korisnik prijavljen, nastavite
U: RETR test.txt
S: 150 Status datoteke u redu; o otvaranju podatkovne veze

<Идет передача файла...>

S: 226 Zatvaranje podatkovne veze, prijenos datoteke uspješan
U: TIP I
S: 200 Naredba u redu
U: STOR /home/images/first.my
S: 550 Pristup odbijen
U: ODUSTAJ

TFTP i SFTP protokoli.

FTP protokol ima dva "mala brata": SFTP - Jednostavan FTP i TFTP - Trivijalni FTP.

TFTP je najjednostavniji protokol za prijenos datoteka. Radi na vrhu UDP transportnog protokola i pruža samo najosnovnije operacije prijenosa datoteka, naime pisanje i čitanje datoteka. TFTP je dizajniran da bude jednostavan i lak za korištenje protokol. Ne dozvoljava popis direktorija i nema nikakvu autentifikaciju, ali može prenositi 8-bitne informacije prema svim Internet standardima.

Pošto se prenos podataka vrši preko UDP-a, TFTP protokol implementira sopstvene metode pouzdane isporuke podataka – pakete potvrde, numerisanje blokova podataka i paketa potvrde itd. Sve je vrlo slično pojednostavljenoj verziji emulacije TCP protokola.

TFTP radi sa samo pet naredbi:

  1. Zahtjev za čitanje (RRQ) - zahtjev za čitanje.
  2. Zahtjev za pisanje (WRQ) - zahtjev za pisanje.
  3. Podaci (DATA) - paket podataka.
  4. Acknowledgment (ACK) - potvrda.
  5. Greška (ERROR) - greška.

Proces prijenosa podataka počinje zahtjevom od TFTP klijenta do servera za čitanje ili pisanje datoteke. Veza se uspostavlja nakon prijema potvrde o spremnosti za jedan od zahtjeva, bilo za pisanje ili za čitanje.

Prilikom otvaranja veze, svaka od strana bira (nasumično) jedinstveni identifikator - TID, koji se koristi i UDP kao port veze. Svaki proslijeđeni paket je povezan s dva TID-a koji odgovaraju svakoj strani veze. Početni zahtjev šalje inicijator TF TP veze na UDP port 69 (port za inicijalizaciju), koji specificira port za vezu. Dalja razmjena se već odvija preko portova koje su odabrali učesnici u prijenosu podataka.

Ako server dozvoli zahtjev, otvara se razmjena i prenosi se navedeni fajl (u blokovima od 512 bajtova). Svaki paket prenesenih podataka sadrži jedan blok (512 bajtova) i broj bloka u prenesenom toku. Dolazak svakog bloka na odredišni host mora biti potvrđen ACK (potvrda) paketom, sa brojem primljenog bloka. Tek nakon prijema paketa potvrde biće poslan sljedeći paket podataka.

Ako je dužina paketa manja od 512 bajtova, to služi kao signal za zatvaranje komunikacijskog kanala. Ako se paket izgubi tokom prenosa, nakon određenog vremenskog perioda server će ponovo poslati ovaj paket podataka.

Postoje tri vrste situacija koje uzrokuju slanje loših paketa:

  1. Nepotvrđeni zahtjev, na primjer, datoteka nije pronađena, nema prava pristupa itd.
  2. Nevažeći format paketa, na primjer, došlo je do greške pri prebacivanju.
  3. Gubitak pristupa potrebnom resursu.

Uz veliki broj poruka o grešci, veza se može prekinuti na inicijativu jedne od strana.

Shema TFTP transakcije je sljedeća:

  1. Host A šalje WRQ zahtjev hostu B. Izvorni port je TIDA, odredišni port je 69. Paket sadrži ime datoteke, tip prijenosa.
  2. Host B šalje ACK (broj bloka - 0) hostu A. Izvorni port je TIDB, odredišni port je TIDA.
  3. Host A šalje (preko veze TIDA do TIDB) naredbu DATA i blok podataka. Paket sadrži i broj bloka.

SFTP protokol za prijenos datoteka popularan je u slučajevima kada korisniku treba malo fleksibilniji i pouzdaniji protokol od TFTP-a, a ne tako složen i glomazan kao FTP.

SFTP podržava mehanizme provjere autentičnosti korisnika, prijenos datoteka, pretraživanje direktorija, promjenu trenutnog direktorija, preimenovanje i brisanje datoteka. Za većinu operacija koje korisnik obavlja sa udaljenim FTP serverom, ova usluga je dovoljna. SFTP može prenositi 8-bitni tok podataka i koristi, poput TFTP-a, samo jedan kanal veze - i za komande i za podatke. Za razliku od TFTP-a, SFTP radi na vrhu TCP-a, port 115.

SFTP naredbe se šalju jedna po jedna nakon primanja odgovora obrade od prethodne naredbe. Sve naredbe se sastoje od četiri ASCII znaka i znaka za razmak, koji odvaja naredbu od argumenata. Odgovor servera se sastoji od koda odgovora i tekstualne poruke. Svaka komanda i odgovor moraju završiti simbolom ("\ 0" je isto što i završetak linije u C). SFTP koristi samo 11 osnovnih naredbi i samo 4 koda odgovora za kontrolu prijenosa podataka (simboli: "+" - uspješan, "-" - greške, "!" - pažnja, "" - ostalo).

SFTP komande imaju skoro istu sintaksu i svrhu kao i slične FTP komande.

U sljedećem SFTP scenariju, SFTP server - "MIT-XX" čeka vezu. Korisnik "MKL" (lozinka "foo") povezan na SFTP server, zatražio je listu datoteka standardnog formata iz direktorija "PS" naredbom "LIST F PS:", a zatim je zatražio listu datoteka u proširenom formatu od isti direktorij sa naredbom "LIST V PS: ". Zatim je korisnik napravio zahtjev za datoteku pod nazivom "Small.File" - naredba "RETR SMALL.FILE". Kao odgovor, server je vratio svoju veličinu - 69 i pripremio je za slanje. Nakon toga, korisnik je pročitao datoteku naredbom SEND. Naredba DONE je zatvorila vezu.

Legenda: S - SFTP server, U - SFTP korisnik.

S: + MIT-XX SFTP usluga
U: KORISNIK MKL
S: + MKL ok, pošalji lozinku
U: PASS foo
S:! MKL se prijavio
U: LISTA F PS:
S: + PS:
Small.File
U: LISTA V PS:
S: + PS:
Small.File 1 69 (7) P775240 2.8.94. 20:08 MKL
U: RETR SMALL.FILE
S: 69
U: POŠALJI
S: Ovo je mali fajl, fajl se šalje bez završne nule.
U: URAĐENO
S: + MIT-XX zatvaranje veze

Kao što možete vidjeti iz prikazanog scenarija, SFTP je jednostavan protokol izgrađen prema trivijalnoj shemi "zahtjev-odgovor" s minimalnim skupom naredbi koji vam omogućava da izvršite sve potrebne operacije za kontrolu prijenosa i postavljanja podataka na disk. .

SFTP je prilično zadovoljavajući za rad sa jednim korisnikom i jednim serverom i jednostavan je za korištenje i programiranje.

FTP uslužni program.

Obični korisnik više poznaje kombinaciju FTP kao ime uslužnog programa koji vam omogućava razmjenu datoteka između FTP servera i klijentskih računala. Neki od uslužnih programa koriste uslugu komandne linije, neki imaju grafičko sučelje, ali, po pravilu, svi podržavaju standard FTP protokola i definiraju osnovni skup naredbi koje treba da podržavaju sve implementacije FTP servisa.

FTP uslužni program pruža korisniku ljusku sa interfejsom za rad komandna linija... Ovisno o implementaciji i verziji FTP programa, može podržati određene funkcije rada sa udaljenim sistemom datoteka. FTP uslužne komande su obično izgrađene na principu rada sa lokalnim sistemom datoteka i veoma se razlikuju od FTP komandi.

U suštini, FTP uslužni program je tumač komandi ljuske u FTP komande (i sekvence). Slanje naredbi za FTP vezu, analiza odgovora FTP servera, otvaranje kanala za prijenos podataka, proces prijenosa podataka - sve se to dešava unutar FTP modula. Korisnik je obaviješten o svim događajima prijenosa naredbi i podataka u skladu sa interpretacijom ovih događaja od strane FTP uslužnog programa.

Kao primjer, ovdje je skripta za prijenos tekstualne datoteke sa FTP servera na lokalni host.

C: \> ftp
ftp> otvori ftp.sun.com
220-Dobro došli na Sun Microsystems Corporate FTP server.
220-
220- ftp FTP server (ftpd Wed Oct 30 23:31:06 PST 1996) spreman.
Korisnik (ftp.sun.com: (nema)): ftp
331 Prijava gostiju ok, pošaljite svoju kompletnu e-mail adresu kao lozinku.
Lozinka:
230 Prijava gostiju u redu, primjenjuju se ograničenja pristupa.
ftp> dir
200 PORT komanda uspješna.
150 Otvaranje ASCII podaci o načinu rada priključak za / bin / ls.
ukupno 34
dr-xr-xr-x 8 root 0 512 14. februar 1997.
d - x - x - x 3 root korisnika 512 31. listopada 1996. itd
drwxrwx-wt 3 root 42 5120 21. novembar 10:37 dolazni
drwxrwxr-x 12 root 42 4096 Nov 19 23:26 pub
dr-xr-xr-x 4 root korisnika 512 7. lipnja 1996. usr
-rw-r - r-- 1 root korisnik 49 Sep 27 1996 welcome.msg
226 Transfer je završen.
624 bajtova primljeno za 19,66 sekundi (0,03 kbajta/sek)
ftp> get welcome.msg primer.txt
200 PORT komanda uspješna.
150 Otvaranje podatkovne veze ASCII moda za welcome.msg (49 bajtova).
226 Transfer je završen.
50 bajtova primljeno za 2,73 sekunde (0,02 kbajta/s)
ftp> quit
221 Zbogom.

Sintaksa naredbe:

ftp [-v] [-d] [-n]

  • v - potiskuje odgovore servera i statistiku prijenosa podataka;
  • n - kontrolira način identifikacije korisnika. Ako je ovaj prekidač specificiran, prvo se provjerava .netrc datoteka;
  • i - onemogućava potvrdu prijenosa datoteka prilikom masovnog kopiranja datoteka;
  • d - uključuje mod za otklanjanje grešaka;
  • g - isključuje transparentnost prolaznih imena.

Važne komande su komande za prijem/prenos podataka get, put, mget, mput i bin. Naredbe get i put dizajnirane su za slanje i primanje jedne datoteke. Naredbe mget i mput rade isto kao i prethodne, ali za grupu datoteka. Komanda bin omogućava prijenos podataka u binarnom načinu, što je važno za prijenos programa i arhiva; osim toga, ovaj način je koristan za znakovne podatke sa proizvoljnom dužinom reda (ASCII ograničava dužinu reda na 254 znaka). Još jedna korisna komanda je hash komanda. Red: "ftp> hash #", kada radite sa sporim linijama ili prenosite velike datoteke, omogućava vam da vidite napredak prijenosa podataka (znak # se izdaje nakon svakog prijenosa bloka, umjesto # možete staviti drugi simbol) .

Jedan od najstarijih mrežnih protokola je FTP. Čemu služi, koja je njegova uloga u mrežnoj "komunikaciji" računara, kako funkcionira ovaj protokol i vrijedi li ga koristiti - odgovore na sva ova pitanja naći ćete u članku ispod.

Šta je suština FTP tehnologije

Moderni FTP se koristi na malo drugačiji način nego prije. Prvobitno je dizajniran za rukovanje velikim količinama podataka. Stoga nije izmišljen samo FTP protokol, već i FTP arhiva. Sada je ovo drugo postalo globalno spremište za mnoge fajlove koji se nalaze na serverima širom sveta. Arhiv se formira od veliki broj FTP serveri i postoje posebni tražilice koji vam omogućavaju da pretražujete podatke po hostu, kao što su Napalm ili FileSearch.

Ne može svaki dio FTP arhive stati vanjski korisnik preko pretraživača. Postoji server sa različitim nivoima pristupa. Mnogi ljudi poznaju FTP kao protokol koji je potreban za upload web stranice na hosting, odnosno neophodan je za povjerljivo korištenje. Za potpuno iste svrhe koriste FTP arhivu za komercijalne organizacije koje pohranjuju neku vrstu povjerljive informacije u njima.

Ali postoje i mnoge javne FTP arhive koje su poput dijeljenja datoteka. Upravo za takve arhive stvorene su posebne tražilice - tako da korisnici mogu odjednom pronaći datoteke, a ne članke sa dugim opisom programa ili igrica, umjesto samih aplikacija.

Koja je svrha FTP-a

FTP protokol je namijenjen za prijenos podataka između klijenta i servera. Zove se "protokol za prijenos podataka". Budući da postoji već dugo vremena, FTP je postao jedan od standarda Interneta. Protokol je prvi put korišten davne 1971. godine. Tokom svog postojanja dosta se promijenio. Neke funkcije su uklonjene, a akcenat je stavljen na činjenicu da je FTP vrlo pogodan za razmjenu podataka između udaljenih računala. Vremenom je postao pogodniji za obični korisnici... Uostalom, možete ući na FTP server pomoću posebnog programa ili koristeći standardne usluge operativnih sistema. Na primjer, možete se čak povezati na FTP server koristeći standardni.

Osim toga, FTP je dizajniran za distribuciju prava pristupa između njih. Različiti korisnici serveri imaju svoj skup prava. Na primjer, neki mogu samo čitati podatke, dok drugi mogu premještati, preimenovati, uređivati ​​i otpremati datoteke na host. Budući da je kreirati FTP server jednako lako kao i koristiti ga, mnogi korisnici koriste ovaj protokol za kreiranje daljinski pristup na njihove kompjutere.

Neki ljudi brkaju FTP i TCP. Iako se ovi koncepti ne mogu porediti. FTP je protokol, a TCP je kanal preko kojeg radi. I ovaj kanal se uspostavlja između serverskog uređaja i klijentskog uređaja. "Uređaj", a ne računar, jer se FTP može koristiti na pametnim telefonima koji koriste specijalni programi, ne samo na računaru.

Imajte na umu da je FTP dobar protokol za rad na udaljenom računaru ako treba da prenesete neke podatke tamo, ili obrnuto - preuzmite ih.

Ali za prijenos povjerljivih informacija, ovaj protokol uopće nije prikladan. Zbog toga su programeri servisa odbili koristiti FTP kao glavni protokol, te su umjesto toga odabrali WebDAV. FTP je otvoreni protokol koji ne šifrira podatke. Čak i ako postavite autentifikaciju lozinkom za klijente na serveru, podaci koje unesu tokom autorizacije će se prenijeti na host u čistom tekstu. Odnosno, vrijedi ih presresti, a napadači će moći prodrijeti u server.

Kako funkcioniše FTP protokol

Sve u svemu, model FTP protokola je vrlo jednostavan, tako da ne biste trebali naići na probleme dok ga koristite. Najčešći model je kada korisnik koristi program tumača. Pomoću njega možete izvršiti sve naredbe u prikladnom interfejsu, tako da ih ne morate znati i unositi u terminal. Vi šaljete komande interpretatoru, a on ih prenosi na server preko kontrolne veze. Kontrolna veza radi u TELNET protokolu. Dakle, uspostavljanjem kontakta sa serverskim tumačem, korisnik se prijavljuje na host i može koristiti više naredbi.

Skup komandi koje se prenose preko kontrolne veze određuje ponašanje servera i klijenta, kao i proces prenosa podataka. Pored toga, komande se mogu koristiti za manipulisanje klijentskim i serverskim sistemima datoteka.

Za prijenos podataka koristi se drugi kanal, različit od kontrolnog. Ali ovaj drugi pokreće poziv na podatkovnu vezu. Način na koji radi podatkovna veza razlikuje se od načina rada kontrolnog kanala, jer server inicira razmjenu datoteka i podataka. Mada ovu vezu može se koristiti u oba smjera: i za prijem i za prijenos podataka.

Ali šta je to opšti algoritam radi za bilo koji FTP protokol na serveru:

  1. Server je uvijek u nekoj vrsti stanja čekanja od strane korisnika. U svakom trenutku, klijent se može povezati sa serverom, tako da kontrolni kanal drži port 21 otvorenim. Na njemu idu svi menadžerski timovi. Port 21 je postavljen po defaultu, ali se može promijeniti. Tada će korisnik morati ručno unijeti broj porta, inače neće moći pristupiti kontrolnom kanalu.
  2. Nakon povezivanja preko porta kontrolnog kanala, program na strani klijenta može izdati komande serverskom tumaču. Ove komande određuju i promjene unutar serverskog sistema datoteka i način prijenosa podataka, njihov sadržaj, volumen, tip načina rada i još mnogo toga.
  3. Nakon što su sve komande za prenos podataka dogovorene, jedan od učesnika u vezi prelazi u pasivni režim pripravnosti (server ili klijent). On čeka dok mu se ne da broj porta da ga otvori i primi ili pošalje podatke o njemu.
  4. Nakon završetka procesa prijenosa podataka, veza je zatvorena, ali je kontrolni kanal i dalje otvoren. Ovo omogućava korisniku da uradi sve ponovo: da naredbu serveru i ponovo počne da prenosi podatke. U ovom slučaju, ne morate ponovo kreirati sesiju. Zbog toga FTP radi sa dvije vrste konekcija.

Budući da je ovo najčešći model za FTP protokol, postoje složeniji slučajevi. Na primjer, kada ne radi korisnik sa serverom, već server sa serverom. U ovom slučaju, klijent kontroliše prenos podataka direktno između servera, bez posrednika. I postoji mnogo sličnih primjera server-klijent konfiguracije. Ovo je jedna od prednosti FTP-a - fleksibilnost.

Glavna stvar koju treba razumjeti FTP rad protokol je interakcija veza i portova. Većina grešaka tokom rada ovog protokola povezana je sa činjenicom da jedna od strana u vezi nije konfigurisala svoj port. Postoji pasivna i aktivna strana protokola. Pasivni mora pažljivo slušati i čekati da aktivni prenese broj porta, koji se mora odmah otvoriti. Ako port nije otvoren, prijenos podataka neće započeti.

Nemojte misliti da morate ručno čekati neke komande od aktivnog sudionika veze - sve se to radi automatski. Problemi se javljaju kada je, na primjer, jedan ili drugi port već zauzet na vašem računalu, ili je blokiran za dolazne/odlazne veze. U takvim trenucima morat ćete "zasukati rukave" i ručno konfigurirati računar tako da može ispravno raditi kada FTP pomoć.

Koje komande koristi FTP protokol?

Najvjerovatnije vam neće trebati u radu, jer ćete koristiti korisnički agent u obliku programa sa korisničkim sučeljem. Jedan takav program je FileZIlla. Ali svašta se može dogoditi. Možda imate samo Far Maneger na dohvat ruke, gdje sve treba obaviti preko terminala. U ovom slučaju, trebali biste se upoznati sa core teams za FTP.

Da biste se povezali sa serverom, morat ćete koristiti naredbu USER. Potrebno je odrediti ime korisnika koji želi otvoriti sesiju sa serverom. Nakon što unesete korisnički ID u naredbu USER, potrebno je da upišete lozinku za prijavu. Da biste to učinili, koristite specijalni tim- PROLAZI.

Jedna od najpopularnijih funkcija koje možete koristiti za "surfovanje" serverom je CWD. Komanda je potrebna da biste se mogli kretati između direktorija servera. Da biste koristili naredbu, unesite CWD i putanju direktorija u koji želite ići.

Ako u nekom slučaju trebate ponovo inicijalizirati, odnosno izostaviti sve podatke i postavke trenutne veze, tada koristite REIN naredbu. Za vrijeme njegove upotrebe prijenos podataka se ne prekida, a parametri prijenosa ostaju isti kao i prije REIN komande. Ili možete učiniti još više na radikalan način- zatvorite kontrolnu vezu pomoću naredbe QUIT. Također ne prekida prijenos podataka, a tek nakon završetka preuzimanja sesija se potpuno prekida.

Da biste registrovali port u aktivni način rada, odnosno da biste ga dodijelili pasivnom članu, trebate koristiti naredbu PORT. Problem je u tome što je ovu naredbu vrlo teško napisati - morat ćete navesti 32 bita IP servera i 16 bita broja porta, što je potpuno nezgodno. Stoga je bolje pronaći način da koristite pojednostavljeni klijent za rad s FTP protokolom, kako se ne biste preopteretili. U takvom klijentu, promjena broja porta je trivijalna stvar. Dovoljno je otići do postavki, pronaći željeni predmet i upišite drugi broj umjesto trenutnog.

Koristit ćete naredbe RETR i STOR za prijenos podataka sa i na server. Prva komanda je potrebna za slanje odabrane datoteke na klijentski uređaj, a druga na server. A da biste preimenovali datoteku, trebate koristiti dvije uzastopne komande. Prvo napišite RNFR sa starim imenom datoteke, a zatim RNTO sa novim imenom datoteke. Trebat će vam i naredba DELE koja je potrebna za brisanje podataka iz sistema datoteka, tačnije datoteke koja je trenutno odabrana.

Druge naredbe se koriste za uklanjanje direktorija. Da biste uklonili označeni direktorij, potrebna vam je naredba RMD. I stvarati novi folder, koristite liniju MKD. Također, korisnicima je često potrebna funkcija pregledavanja datoteka koje se nalaze u direktoriju. Da biste to učinili, koristite naredbu LIST ili NLST.

Koji su analozi FTP-a

FTP protokol za prijenos podataka ima svoje direktne "nasljednike", odnosno protokole koji su formirani od FTP-a. To su dva protokola: TFTP i SFTP. Prvi protokol nije najpopularniji jer je vrlo ograničen u smislu naredbi. Mnogo je manje pogodan za upravljanje datotečnim sistemom servera od FTP-a. Sa njim nećete moći čak ni da vidite listu datoteka direktorijuma. TFTP je potreban samo za prijenos najjednostavnijih 8-bitnih informacija, ne više. A u ovom protokolu postoji samo 5 komandi koje su potrebne za čitanje, pisanje, traženje paketa podataka i druge jednostavne operacije.

Ali SFTP protokol je mnogo uspješniji od TFTP-a, au nekim slučajevima i od FTP-a. Poenta je da je to siguran FTP protokol. To je kombinacija šifrirane SSH veze i FTP protokola za prijenos podataka. Osim toga, u SFTP-u, mnogi dodatne funkcije isključeni, koji su odavno uvedeni u FTP, ali ih niko ne koristi. Stoga je SFTP i sigurniji od FTP-a, a istovremeno i skromniji u dobrom smislu riječi. Preporučuje se da odaberete upravo SFTP u slučajevima kada radite sa nekim povjerljivim podacima. Tada čak i ako hakeri presretnu poslane podatke preko kontrolne veze, oni će i dalje biti šifrirani i neće donijeti nikakvu vrijednost napadačima.

I bolje je koristiti FTP protokol u normalnim klijentskim programima, a ne u terminalu. Uostalom, na ovaj način ćete značajno ubrzati rad na protokolu za prijenos podataka i dobiti pristup njegovim sofisticiranijim funkcijama.

Šta je FTP

FTP (File Transfer Protocol, ili "Protokol za prijenos podataka") je jedan od najstarijih protokola na Internetu i uključen je u njegove standarde. Prve FTP specifikacije datiraju iz 1971. godine. Od tada, FTP je prošao kroz mnoge modifikacije i značajno proširio svoje mogućnosti. FTP se može koristiti i u korisničkim programima i kao poseban uslužni program za operativni sistem.

FTP je dizajniran da reši probleme deljenja pristupa fajlovima na udaljenim hostovima, direktnog ili indirektnog korišćenja resursa udaljenih računara, obezbeđivanje nezavisnosti klijenta od fajl sistema udaljenih hostova, efikasan i pouzdan prenos podataka.

    Glavna svrha FTP protokola je prijenos (kopiranje, prijenos) datoteka sa udaljenog računara na lokalni računar, i obrnuto.

    FTP je jedan od protokola za prijenos informacija preko Interneta.

    FTP je općeprihvaćena specifikacija komandi koje programi koriste da bi obavili svoj posao.

    FTP je univerzalni jezik, na kojoj različiti programi na različitim tipovima računara mogu međusobno komunicirati.

    Danas skoro svi FTP funkcije su također dostupni putem HTTP-a, međutim FTP se i dalje koristi kao glavni protokol za pristup velikim arhivama datoteka na mreži.

Uz FTP, možete raditi sa svojim datotekama na udaljenom računaru kao da su na vašem lokalnom računaru.

Nivo aplikacije. Aplikacijski sloj je zapravo samo zbirka različitih protokola pomoću kojih korisnici mreže pristupaju zajedničkim resursima kao što su datoteke, štampači ili hipertekst web stranice, a također organiziraju svoju suradnju, na primjer, koristeći protokol Email... Jedinica podataka na kojoj radi sloj aplikacije obično se naziva poruka.

Postoji veoma širok izbor protokola aplikacijskog sloja. Navedimo kao primjere barem nekoliko najčešćih implementacija servisa datoteka: NCP u Novell NetWare operativnom sistemu, SMB u Microsoft Windows NT, NFS, FTP i TFTP, koji su dio TCP/IP steka.

OSI model, iako vrlo važan, samo je jedan od mnogih komunikacijskih modela. Ovi modeli i njihovi povezani stekovi protokola mogu se razlikovati po broju slojeva, njihovim funkcijama, formatima poruka, uslugama koje se pružaju na gornjim slojevima i drugim parametrima.

SIGURNOST.

Podaci koji se prenose putem FTP-a nisu šifrovani sa klijenta na server. Obični FTP ne pruža sigurnost prilikom slanja lozinke za autorizaciju na serveru.

Možete koristiti zaštićeni način protokola prijenosa FTP fajlovi... Za dodatni nivo sigurnosti, preporučljivo je koristiti "sigurni" FTP - siguran FTP. Ova karakteristika je implementirana simulacijom prenosa FTP saobraćaja kroz tunel koristeći SSH2 server. Za krajnjeg korisnika to znači da ćete korištenjem vašeg omiljenog FTP klijenta (program za rad sa web-stranicom preko FTP-a - CuteFTP, na primjer), nakon jednostavnih dodatnih postavki, biti sigurni da je sigurnosni problem u prijenosu datoteka riješen. .

Podršku za režim "SFTP preko SSH2" pružaju neki moderni FTP programi, koji uključuju CuteFTP Pro i SecureFX , na primjer.

Kada koristite FAR, stepen sigurnosti rada sa FTP-om se takođe može povećati. Istina, ne baš kao što je gore opisano, ali i vrlo kvalitetno. TO FAR potrebno je instalirati dodatni modul FarScp , nakon čega možete prenositi datoteke ne putem FTP-a, kao i obično, već pomoću scp (sigurne kopije) klijenta koji radi i preko SSH i SSH2.

Kako funkcioniše FTP... Za prijenos datoteke preko FTP-a potrebna su vam dva programa: FTP klijent i FTP server.

Rice. 1. Šema FTP protokola

FTP klijent.

FTP klijent je program sa kojim se možete povezati na FTP server. Moderni operativni sistemi imaju FTP uslužne programe komandne linije, ali neki imaju prozorski interfejs.

Primjer FTP klijenta - CuteFTP, Go! Zilla, ReGet, itd. Oni se nazivaju menadžeri preuzimanja... Oni imaju korisničko sučelje i omogućavaju korisnicima da jednostavno preuzimaju i uploaduju datoteke.

FTP server.

FTP server – Računar koji sadrži javno dostupne datoteke i konfigurisan je da podržava FTP (FTP server mora imati softver koji podržava FTP).

    Program koji podržava FTP na FTP serveru prati sve zahtjeve koji dolaze s drugih računara (na primjer, s vašeg), obrađuje ih i daje odgovor.

    Prilikom instaliranja FTP servera, specificira se direktorij dostupan za svakog korisnika ili korisničku grupu.

    Za svaku datoteku i direktorij FTP servera možete definirati prava pristupa korisnika postavljanjem atributa:

Samo za čitanje itd.

Šta je FTP veza.

FTP veza znači da ste se povezali na udaljeni računar koristeći FTP protokol.


Rice. 2. Organizacija razmjene informacija između dvije udaljene mašine

Kontrolna pitanja

1. Kada se prvi pojavioFTPprotokoli?

- 1971; *

- Godine 1099.;

- Godine 1989.

2.Šta je protokolFTP ?

- to je protokol za prevođenje datoteka;

- to je protokol za prijenos datoteka; *

- to je protokol za prijem fajlova.

3. Šta jeFTP klijent?

- to je program koji sadrži javne datoteke; *

- to je program sa kojim se možete povezati na FTP server;

- ovo je korisnik (grupa korisnika).

4. Šta jeFTP server?

- ovo je računar koji sadrži javno dostupne datoteke; *

- ovo je lokalni računar;

- ovo je računar hosting provajdera.

5. Šta je lweb stranica kružnog toka?

- ovo je izvorna stranica; *

- ovo je odredišna web stranica;

- ovo je modificirana web stranica.

6. Šta je hosting?

- to je proces obrade fajlova;

- to je stvaranje nove web stranice;

- ovo je postavljanje stranice na računar hosting provajdera kako bi se omogućio pristup stranici za sve korisnike Interneta. *

7.Šta jeudaljena lokacija?

- ovo je krajnji čvor (server) na kojem je stranica objavljena; *

- ovo je izvorno mjesto;

- to je kompjuter na Internetu.

(preuzimanje) ?

- to je kopiranje datoteka sa vašeg računara na Internet na vaš računar; *

- to je kopiranje datoteka sa vašeg računara na udaljeni računar;

- to je kopiranje datoteka sa vašeg računara na Internet.

9. Šta je

- to je kopiranje fajlova sa vašeg računara na računar na Internetu; *

- to je kopiranje datoteka sa vašeg računara na Internet na vaš računar;

- to je kopiranje datoteka sa vašeg računara na udaljeni računar.

10. Šta jeporuka?

- to je jedinica podataka kojom upravlja sloj aplikacije; *

- ovo je fajl;

- to je tekstualni dokument.

Top srodni članci