23
Retele Retele de de calculatoare calculatoare Sabin Sabin - - Corneliu Corneliu Buraga Buraga 2006/2007 2006/2007 www.infoiasi.ro/~busaco www.infoiasi.ro/~busaco / / [ [ 1 1 ] ] Retele Retele de de calculatoare calculatoare Nivelul Nivelul aplicatie aplicatie II II Sabin-Corneliu Buraga [email protected] http://www.infoiasi.ro/~busaco

Computer Networks. Applications: file transfer & service overview

Embed Size (px)

DESCRIPTION

Computer Networks course (in Romanian).

Citation preview

Page 1: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[11]]

ReteleRetele

de de calculatoarecalculatoare NivelulNivelul

aplicatieaplicatie

––

IIII

Sabin-Corneliu Buraga [email protected]

http://www.infoiasi.ro/~busaco

Page 2: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[22]]

CuprinsCuprins

Protocoale

la nivelul

aplicatie–Transferul

de fisiere

•TFTP (Trivial File Transfer Protocol)•FTP (File Transfer Protocol)

–Startarea

serviciilor

Internet (inetd)–Privire

de ansamblu

Page 3: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[33]]

TFTPTFTP•

Asigura

transferul

de fisiere

intre

procese

Efort

minim (nu

se ofera

securitate)•

Usor

de implementat, folosind

UDP

Utilizat

deseori

la initializarea

statiilor

de lucru

fara

disc sau

a altor

dispozitive

(in conjunctie

cu RARP) •

Vezi

si

RFC 783, 906, 1350

Page 4: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[44]]

TFTPTFTP

Mesajele

protocolului

sint

datagrame

UDP, codificate

in network byte order

Primii

2 octeti

codul

operatiei

(opcode)•

Tipuri

de mesaje: cerere

de citire,

cerere

de scriere, date propriu-zise, confirmare, eroare

Page 5: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[55]]

TFTPTFTP•

Fisierele

pot fi

transferate

in doua

moduri:

netascii

pentru

fisiere

text•

Toate

liniile

se termina

cu \r\n (CR LF)

Ambele

puncte

terminale

trebuie

sa

converteasca

liniile in/din formatul

netascii

(pentru

Unix: \n ⇔

\r\n)

octet

pentru

fisiere

binare•

Nu

se realizeaza

nici

o translatie

a liniilor

Problema: pierderea

pachetelor

de date•

Solutie: retransmiterea

pachetelor

neconfirmate, cu controlul

duplicarii

Page 6: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[66]]

TFTPTFTP•

Comportamentul

concurent

al serverului

TFTP

Din motive de limitare

a resurselor, nu

se poate

utiliza

intotdeauna

fork()

Serverul

va

putea

crea

un port UDP nou, dialogul cu clientul

realizindu-se prin

intermediul

acestuia

Transferul

fisierelor–

Nu

se transmite

lungimea

fisierului

Fiecare

pachet

de date va

avea

maxim 512 octeti–

Ultimul

mesaj

de date va

contine

0 bytes de date

Se pot trimite

maxim 65535 de pachete

de date

Page 7: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[77]]

FTPFTP•

Folosit

atit

interactiv, cit si

de programe

Asigura

transferul

sigur

si

eficient

al datelor•

Utilizeaza

doua

conexiuni

TCP:

Conexiunea de control –

pentru

trimiterea

comenzilor si

receptionarea

codurilor

de stare

Conexiunea de date –

pentru

transferul

efectiv•

Conexiunea

de control trebuie

sa

fie operationala

in timpul

transferului

prin

conexiunea

de date•

Conexiunile

de date se creeaza

dinamic,

pentru

fiecare

client in parte•

Vezi

si

RFC 959, 1068

Page 8: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[88]]

FTP|modelFTP|model•

PI = Protocol Interpreter

DTP = Data Transfer Protocol

Server PIServer PI

SistemSistemde de fisierefisiere

InterfataInterfata utilizutiliz..

UtilizUtiliz. PI. PI

UtilizatorUtilizator

Utiliz.DTPUtiliz.DTPServer DTPServer DTP SistemSistem de de fisierefisiere

DataData

ControlControl

Page 9: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[99]]

FTP|conexiuniFTP|conexiuni•

Conexiunea

de control utilizeaza

portul

21

Conexiunea

de date foloseste

portul

20•

Comenzile

si

raspunsurile

sint

linii

de text

Pentru

interactivitate

se foloseste

protocolul

TELNET•

Modelul

standard al conexiunilor:

ControlControl

DateDateAAA BBB

Page 10: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1010]]

FTP|caracterizareFTP|caracterizare

Moduri

de transfer– Text (ASCII) –

continutul

este

transferat

linie

cu linie, modificindu-se sfirsitul

de linie in functie

de calculatorul

sursa

si

destinatie:

CR LF (Windows), LF (UNIX/Linux)– Binar

continutul

e transferat

neschimbat

Page 11: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1111]]

FTP|caracterizareFTP|caracterizare

Tipuri

de acces–

Anonim

(FTP anonymous) –

RFC 1635

Autentificare

cu numele

anonymous si drept

parola

o adresa

de e-mail

Acces

public la o serie

de resurse (aplicatii, date, multimedia etc.)

Autentificat•

Necesita

un nume

de utilizator

existent,

insotit

de o parola

valida•

Pentru

transferul

de date in/din contul

personal

Page 12: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1212]]

FTP|comenziFTP|comenzi•

Comenzi

de control al accesului

USER, PASSword, ChangeWorkingDir, QUIT,…•

Comenzi

de transfer a parametrilor

PORT, PASiVe, TYPE, MODE, STRUcture,…•

Comenzi

de realizare

a serviciilor

FTP

RETRieve, STORe, APPEnd, ABORt, PrintWorkingDir, LIST,…

Raspunsul

de stare–

Linie

de text continind:

NNN un cod de stare

(utilizat

de software) si un mesaj

explicativ

(destinat

oamenilor)

Page 13: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1313]]

FTP|codulFTP|codul

de starede stare•

Prima cifra

semnifica:

1 replica pozitiva

preliminara (“am indeplinit, dar

asteapta”)

2 replica pozitiva

finala (“succes”)

3 replica pozitiva

intermediara (“am nevoie

si

de alte

informatii”)

4 replica negativa

tranzitorie (“eroare, incerc

iar”)

5 replica negativa

finala (“eroare

fatala”)

Page 14: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1414]]

FTP|codulFTP|codul

de starede stare•

A doua

cifra

specifica

grupuri

de functii:

0 privitor

la sintaxa–

1 informare

(ajutor, informatii

de stare)

2 referitor

la conexiuni–

3 privitor

autentificarea

utilizatorului

4 nespecificat–

5 referitor

la sistemul

de fisiere

Exemplu: 226 Transfer complete

Page 15: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1515]]

FTP|transferFTP|transfer

Structuri folosite– Fisier

(file)

Fisierul

transferat

e un flux (stream) de octeti– Inregistrare

(record)

Fisierul

transmis

reprezinta

o serie

de inregistrari– Pagina

(page)

Fisierul

transferat

e o serie

de blocuri

de date; folosit

pentru

acces

direct –

fisierul

este

compus

din date si

din “gauri”

intre

date

Page 16: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1616]]

FTP|transferFTP|transfer

Moduri de transfer– STREAM

fisier

transmis

ca flux de date – BLOCK

fisier

transmis

ca serie

de blocuri

precedate de antete

continind

contoare

si

descriptori

de

bloc (EOF, EOR, restart marker)– COMPRESSED

se transmit blocuri

compresate, conform unui

algoritm

simplu

de compresie

(e.g., gzip)

Page 17: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1717]]

FTP|exempluFTP|exemplu1.

Clientul

se conecteaza

la serverul

FTP

aflat

la adresa

193.231.30.2252.

Utilizatorul

este

autentificat

3.

Clientul

(la adresa

193.231.30.197) asteapta comanda

utilizatorului

4.

Utilizatorul

introduce “dir”5.

Clientul

se conecteaza

la portul

de date FTP (20),

folosind

un socket atasat

local la 23976.

Clientul

trimite

serverului

(via portul

21) comanda

PORT 197.231.30.197.9.93

(9*256+93=2397)7.

Clientul

asteapta

codul

de raspuns

standard 200

Page 18: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1818]]

FTP|exempluFTP|exemplu8.

Daca

nu

este

OK, se afiseaza

eroarea

9.

Clientul

trimite

serverului (via portul

de control 21) comanda

LIST

10.Clientul

asteapta

codul

de raspuns

15011.Daca

nu

e OK, se afiseaza

eroarea

12.Clientul

citeste

de la portul

de date (20) informatiile

trimise

de server

13.Clientul

asteapta

codul

de raspuns

22614.Daca

nu

este

OK, se afiseaza

eroarea

15.Daca

este

OK, se afiseaza

continutul

directorului

de pe

server

Page 19: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[1919]]

StartareaStartarea

aplicatiiloraplicatiilor

InternetInternet•

Fiecare

serviciu

(telnet, FTP etc.)

are asociat

un proces

(daemon) care se poate

initializa

la momentul

boot-arii

(vezi

/etc/rc

la UNIX/Linux)•

Startarea

se poate

simplifica

prin

intermediul

super-serverului

inetd (configurat

prin

/etc/inetd.conf)

Ca alternativa, se poate

folosi

xinetd

Page 20: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[2020]]

StartareaStartarea

aplicatiiloraplicatiilor

InternetInternet1.

Pentru

fiecare

server gasit

in fisierul

de configuratie:

socket(), bind(), listen()2.

select()

3.

accept()

pentru

serviciile

TCP4.

fork()•

Parintele

inchide

socket-ul

conectat

inapoi

la pasul

2•

Copilul

inchide

toti

descriptorii

de socket diferiti

de

socket-ul

conectat−

se duplica

socket-ul

la descriptorii

0, 1, 2 –

dup()

se inchide

socket-ul−

daca

utilizatorul

nu

e root, se executa

setuid()

si

setgid()

se lanseaza

serverul

via exec()

Page 21: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[2121]]

ServiciileServiciile InternetInternet

((privireprivire

de de ansambluansamblu))

Aplicatie (protocol) IP ICMP UDP TCP

Ping Traceroute

OSPF

RIP

BGP

BOOTP

TFTP

SNMP

SMTP

Telnet

FTP

HTTP

NNTP

DNS

NFS

RPC

Page 22: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[2222]]

RezumatRezumat

Protocoale

la nivelul

aplicatie–Transferul

de fisiere

•TFTP (Trivial File Transfer Protocol)•FTP (File Transfer Protocol)

–Startarea

serviciilor

Internet (inetd)–Privire

de ansamblu

Page 23: Computer Networks. Applications: file transfer & service overview

ReteleRetele de de calculatoarecalculatoare

SabinSabin--CorneliuCorneliu BuragaBuraga 2006/2007 2006/2007 –– www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco// [[2323]]

Intrebari?