1.08k likes | 1.22k Views
TCP/IP - Aplikacioni sloj. Aplikacioni sloj. Aplikacioni sloj. Klijent - server model TELNET FTP Elektronska pošta (SMTP, POP3) DNS. Klijent-server model.
E N D
TCP/IP - Aplikacioni sloj TCP/IP
Aplikacioni sloj TCP/IP
Aplikacioni sloj • Klijent-server model • TELNET • FTP • Elektronska pošta (SMTP, POP3) • DNS TCP/IP
Klijent-server model • Klijent, aplikacioni program koji se izvršava na lokalnoj mašini, zahteva uslugu (servis) od drugog aplikacionog programa, server, koji se izvršava na udaljenoj mašini. • Server nudi usluge mnogim klijentima. Relacija tipa: ˝više-prema-jedan˝: više klijenata može koristiti servise jednog servera • Klijentski program se izvršava samo onda kada je usluga servera potrebna. • Serverski program, radi sve vreme, zato što unapred ne zna kada će neki klijent zatražiti uslugu. TCP/IP
TELNET • Klijent-server program opšte namene • Omogućiti korisniku da pristupi aplikacionom programu na udaljenom računaru: • korisnik se prijavi za rad (login-uje) na udaljenom računaru • koristi aplikacije dostupne na udaljenom računaru i prenosi rezultate nazad na svoj računar • Lokalni terminal se ponaša kao da je terminal udaljenog sistema TCP/IP
TELNET - koncepti • Sistemi sa raspodelom vremena • Više korisnika putem izdvojenih terminala koriste jedan veliki računar. • Terminal (tastatura + monitor) se koristi za unos podataka i prikaz razultata. Obrada se vrši na centralnom računaru • Iluzija da svaki korisnik radi na posebnom sistemu. TCP/IP
Lokalni login TCP/IP
Udaljeni login TCP/IP
NVT • Različiti računari i operativni sistemi koriste različita kodiranja karaktera i prepoznaju različite specijalne kombinacije karaktera • NVT (Network Virtual Terminal - mrežni virtuelni terminal) - definiše univerzalni skup karaktera TCP/IP
NVT skup karaktera • Definiše dva skupa 8-bitnih karaktera: • Za podatke • Za kontrolne informacije Podatak Kontrolni karakter ASCII TCP/IP
Neki kontrolni karakteri TCP/IP
Ugrađivanje TELENT koristi istu TCP konekciju za prenos podataka i kontrolnih karaktera. To se poštiže ugradnjom kontrolnih karaktera u tok bajtova IAC (Interpret As Control - interpretiraj kao kontrolu)označava početak niza kontrolnih karaktera TCP/IP
Opcije TELNET pruža mogućnost klijentu i serveru da se dogovore oko opcija koje će koristiti tokom sesije. Opcije su dodatne mogućnosti raspoložive korisnicima sa naprednijim terminalima. Korisnici sa jednostavnijiim terminalima mogu koristiti podrazumevane opcije. TCP/IP
Opcije TCP/IP
Pregovaranje - primer TCP/IP
Pregovaranje oko podopcija Pojedine opcije zahtevaju dodatne informacije. Klijent i server razmenjuju dodatne informacije kroz proceduru pregovaranje oko podopcija NVT karakteri za pregovaranje oko podopcija TCP/IP
Simetrija Klijent i server su ravnopravni. Na početku sesije obe strane koriste podrazumevane opcije. Ako bilo koja strana želi da dozvoli neku opciju, ona je može ponuditi ili zatražiti Koncept pregovaranja omogućava lako proširenje TELNET-a TCP/IP
Kontrola servera NVT karakteri koji se koriste za kontrolu aplikacije koja se izvršava na udaljenom serveru. TCP/IP
Out-of-band signalizacija Da bi u svim situacijama obezbedio dejstvo kontrolnih karaktera, TELENT koristi out-of-band signalizaciju. Kod out-of-band signalizacije, kontrolni karakteri se šalju udaljenom procesu izvan redosleda TCP/IP
Načini rada • Podrazumevani • Krakter-orijentisani • Linijski TCP/IP
Podrazumevani način rada • Eho obavlja klijent • Klijent šalje severu liniju teksta • Klijent je spreman da prihvati novu liniju od korisnika tek kada od severa dobije komandu GA (Go Ahead) TCP/IP
Karakter-orijentisani način rada • Eho karaktera obavlja server • Klijent šalje serveru svaki pojedinačni karakter kojeg korisnik unese preko tastature. Server vraća nazad primljene karaktere, a klijent ih prikazuje na ekranu. • Nije efikasan jer generiše nepotrebno veliki mrežni saobraćaj. Jedan karakter - tri TCP segmenta. TCP/IP
Linijski način rada • Editovanje linije teksta se obavlja na strani klijenta (eho, brisanje, umetanje karaktera i sl.) • Serveru se šalju komplente linije • Za razliku od podrazumevanog načina rada, linijski način rada omogućava punu-dupleks komunikaciju, jer klijent može, bez čekanja na komandu GA, da pošalje serveru više linija teksta, jednu za drugom TCP/IP
FTP FTP (File Transfer Protocol – Protokol za prenos fajlova) je aplikacioni protokol za kopiranje fajlova sa jednog na neki drugi host. TCP/IP
FTP konekcije FTP zahteva dve TCP konekcije. Dobro-poznati port 21 se koristi za upravljačku konekciju, a port 20 za konekciju za prenos podataka Upravljačka konekcija je otvorena za sve vreme trajanja sesije Konekcija za prenos podataka se otvara, a onda i zatvara za prenos svakog pojedinačnog fajla TCP/IP
Otvaranje upravljačke konekcije (1) Server je izvršio pasivno otvaranje dobro-poznatog porta 21 i čeka na klijenta. (2) Klijent koristi dinamički prort i inicira aktivno otvaranje konekcije sa serverom. TCP/IP
Kreiranje konekcije za prenos podataka (1) Klijent, a ne server, izvršava pasivno otvaranje dinamičkog porta. (2) Klijent šalje broj dinamičkog porta serveru, korišćenjem komande PORT (prenosi se preko upravljačke konekcije) (3) Server izvršava aktivno otvaranje konekcije sa klijentom koristeći dobro-poznati port 20 za sebe i primljeni dinamički broj porta za klijenta. TCP/IP
Komunikacija preko upravljačke konekcije Komunikacija se stvaruje putem komandi i odziva kodiranih u NVT skupom karatkera. TCP/IP
Komunikacija preko konekcije za podatke Za prenos fajlova. Prenosu svakog fajla prethodi priprema prenosa preko upravljačke konekcije, kojom se definiše tip, strukutra i način prenosa fajla. TCP/IP
Komande Upravljačka konekcije Komande Odzivi TCP/IP
Komande za pristup TCP/IP
Komande za definisanje porta TCP/IP
Komande za prenos fajlova TCP/IP
Ostale komande TCP/IP
Odzivi • Odziv se sastoji od trocifarskog koda (xyz) i pratećeg teksta TCP/IP
Prva cifra odziva • Prva cirfra. Prva cifra odziva definiše status kmande. Na ovoj poziciji može se naći jedna od pet cifara (1-5): • 1yz (pozitivan preliminarni odziv). Akcija zahtevana komandom je startovana. Kada završi akciju, server će poslati još jedan odziv. • 2yz (konačni pozitivan odziv). Akcija je završena. Server je spreman da prihvati sledeću komandu. • 3yz (pozitivan među-odziv). Komanda je prihvaćena, ali su neophodne dodatne informacije. • 4yz (prolazni negativan odziv). Akcija nije startovana, jer server trenutno nije u mogućnosti da je izvrši. Ista komanda može biti poslata kasnije. • 5yz (konačni negativni odziv). Komanda nije prihvaćena i ne bi trebalo pokušavati ponovo. TCP/IP
Druga cirfra odziva • Druga cifra. Druga cifra odziva takođe definiše status komande. Na ovoj poziciji meže se naći jedna od šest cifara (1-6): • x0z - odziv se odnosi na sintaksu komande • x1z - odziv je informativne prirode • x2z - odziv se odnosi na konekciju • x3z - odziv se odnosi na autorizaciju korisnika • x4z - značenje nije definisano • x5z - odziv se odnosi na fajl sistem TCP/IP
Treća cifra odziva • Treća cifra ukazuje na dodatne informacije TCP/IP
Prenos fajlova - tri operacije • Fajl se kopira sa serverskog na klijentski računar. Ova operacija se pod kontrolom komande RETR i zove se preuzimanje fajla. • Fajl se kopira sa klijentskog na serverski računar. Ova operacija je pod kontrolom komande STOR i zove se smeštanje fajla. • Server šalje klijentu spisak direktorijuma ili imena fajlova. Ova operacija je pod kontrolom komande LIST. TCP/IP