Straturi de transport ale rețelei de legătură fizică model OSI. Model de referință OSI

Doar pentru că un protocol este un acord adoptat de două entități care interacționează, în acest caz două computere care funcționează într-o rețea, nu înseamnă că este neapărat standard. Dar, în practică, atunci când implementează rețele, acestea folosesc de obicei protocoale standard. Acestea pot fi de marcă, naționale sau standarde internaționale.

La începutul anilor 80, o serie de organizații internaționale de standardizare - ISO, ITU-T și altele - au dezvoltat un model care a jucat un rol semnificativ în dezvoltarea rețelelor. Acest model se numește model ISO/OSI.

Model de interoperabilitate a sistemelor deschise (Interconexiune sistem deschis, OSI) definește diferite niveluri de interacțiune între sisteme în rețele de comutare de pachete, le dă nume standard și specifică ce funcții ar trebui să îndeplinească fiecare strat.

Modelul OSI a fost dezvoltat pe baza experienței extinse acumulate în crearea rețelelor de calculatoare, în principal globale, în anii 70. O descriere completă a acestui model ocupă mai mult de 1000 de pagini de text.

În modelul OSI (Fig. 11.6), mijloacele de comunicare sunt împărțite în șapte niveluri: aplicație, reprezentant, sesiune, transport, rețea, canal și fizic. Fiecare strat se ocupă de un aspect specific al interacțiunii cu dispozitivele de rețea.


Orez. 11.6.

Modelul OSI descrie doar comunicațiile sistemului implementate de sistemul de operare, utilitare de sistemși hardware. Modelul nu include mijloace pentru interacțiunea cu aplicația utilizatorului final. Aplicațiile își implementează propriile protocoale de comunicare accesând instrumentele de sistem. Prin urmare, este necesar să se facă distincția între nivelul de interacțiune dintre aplicații și strat de aplicație.

De asemenea, trebuie reținut că aplicația poate prelua funcțiile unora dintre straturile superioare ale modelului OSI. De exemplu, unele SGBD-uri au instrumente încorporate acces de la distanță la dosare. În acest caz, aplicația nu folosește serviciul de fișiere de sistem atunci când accesează resursele de la distanță; ocolește straturile superioare ale modelului OSI și accesează direct facilitățile sistemului responsabile de transport mesaje prin rețea, care sunt situate la nivelurile inferioare ale modelului OSI.

Deci, să presupunem că o aplicație face o solicitare unui strat de aplicație, cum ar fi un serviciu de fișiere. Pe baza acestei solicitări, software-ul la nivel de aplicație generează un mesaj într-un format standard. Un mesaj tipic constă dintr-un antet și un câmp de date. Antetul conține informații de serviciu care trebuie transmise prin rețea la stratul de aplicație al mașinii de destinație pentru a-i spune ce lucru trebuie făcut. În cazul nostru, antetul trebuie să conțină în mod evident informații despre locația fișierului și tipul de operație care trebuie efectuată. Câmpul de date mesaj poate fi gol sau poate conține unele date, cum ar fi datele care trebuie scrise pe o telecomandă . Dar pentru a livra aceste informații la destinație, mai sunt încă multe sarcini de rezolvat, a căror responsabilitate revine nivelurilor inferioare.

După generarea mesajului strat de aplicațieîl trimite în jos în stivă nivel reprezentativ. Protocol nivel reprezentativ pe baza informațiilor primite de la antetul la nivel de aplicație, efectuează acțiunile necesare și adaugă propriile informații de serviciu la antetul mesajului nivel reprezentativ, care conține instrucțiuni pentru protocol nivel reprezentativ mașină de destinație. Mesajul rezultat este transmis nivel de sesiune, care la rândul său își adaugă antetul etc. (Unele protocoale plasează informațiile de serviciu nu numai la începutul mesajului sub forma unui antet, ci și la sfârșit, sub forma unui așa-numit „trailer”.) În cele din urmă, mesajul ajunge în partea de jos, nivel fizic, care, de fapt, îl transmite prin linii de comunicație către aparatul destinatar. În acest moment, mesajul este „încărcat” cu anteturi de toate nivelurile (

Pentru a oferi o reprezentare unificată a datelor în rețelele cu dispozitive și software eterogene, organizația internațională de standarde ISO (International Standardization Organization) a dezvoltat un model de bază pentru comunicarea sistemelor deschise OSI (Open System Interconnection). Acest model descrie regulile și procedurile de transmitere a datelor în diferite medii de rețea atunci când se organizează o sesiune de comunicare. Elementele principale ale modelului sunt straturile, procesele de aplicare și conexiunile fizice. În fig. Figura 1.10 prezintă structura modelului de bază.

Fiecare strat al modelului OSI îndeplinește o sarcină specifică în timpul transmiterii datelor prin rețea. Modelul de bază stă la baza dezvoltării protocoalelor de rețea. OSI împarte funcțiile de comunicare în rețea în șapte straturi, fiecare dintre ele deservește diferite părți ale procesului de interconectare a sistemelor deschise.

Modelul OSI descrie doar comunicațiile de sistem, nu aplicațiile utilizatorului final. Aplicațiile își implementează propriile protocoale de comunicare accesând facilitățile sistemului.

Orez. 1.10. Modelul OSI

Dacă o aplicație poate prelua funcțiile unora dintre straturile superioare ale modelului OSI, atunci pentru a face schimb de date accesează direct instrumentele de sistem care îndeplinesc funcțiile straturilor inferioare rămase ale modelului OSI.

Interacțiunea straturilor modelului OSI

Modelul OSI poate fi împărțit în două modele diferite, așa cum se arată în Fig. 1.11:

Un model orizontal bazat pe protocol care oferă un mecanism de interacțiune între programe și procese pe diferite mașini;

Un model vertical bazat pe servicii furnizate de straturi adiacente unul altuia pe aceeași mașină.

Fiecare strat al computerului expeditor interacționează cu același strat al computerului receptor ca și cum ar fi conectat direct. O astfel de conexiune se numește conexiune logică sau virtuală. În realitate, interacțiunea are loc între nivelurile adiacente ale unui computer.

Deci, informațiile de pe computerul care trimite trebuie să treacă prin toate nivelurile. Acesta este apoi transmis prin mediul fizic către computerul receptor și trece din nou prin toate straturile până când ajunge la același nivel de la care a fost trimis către computerul expeditor.

În modelul orizontal, două programe necesită un protocol comun pentru schimbul de date. Într-un model vertical, straturile adiacente schimbă date utilizând interfețele de programare a aplicațiilor (API).

Orez. 1.11. Diagrama interacțiunii computerului în modelul de referință de bază OSI

Înainte de a fi trimise în rețea, datele sunt împărțite în pachete. Un pachet este o unitate de informație transmisă între stațiile din rețea.

La trimiterea datelor, pachetul trece secvenţial prin toate straturile de software. La fiecare nivel, informațiile de control ale acestui nivel (antet) sunt adăugate la pachet, care sunt necesare pentru transmiterea cu succes a datelor prin rețea, așa cum se arată în Fig. 1.12, unde Zag este antetul pachetului, Con este sfârșitul pachetului.

La capătul de recepție, pachetul trece prin toate straturile în ordine inversă. La fiecare strat, protocolul de la acel nivel citește informațiile pachetului, apoi elimină informațiile adăugate pachetului la acel nivel de către partea care trimite și trece pachetul la stratul următor. Când pachetul ajunge la Stratul de aplicație, toate informațiile de control vor fi eliminate din pachet și datele vor reveni la forma inițială.

Orez. 1.12. Formarea unui pachet pentru fiecare nivel al modelului cu șapte niveluri

Fiecare nivel al modelului își îndeplinește propria funcție. Cu cât nivelul este mai mare, cu atât problema pe care o rezolvă este mai complexă.

Este convenabil să ne gândim la straturile individuale ale modelului OSI ca la grupuri de programe concepute pentru a îndeplini funcții specifice. Un strat, de exemplu, este responsabil pentru furnizarea conversiei datelor din ASCII în EBCDIC și conține programele necesare pentru a îndeplini această sarcină.

Fiecare strat oferă un serviciu stratului de deasupra acestuia, solicitând, la rândul său, serviciu de la stratul de dedesubt. Straturile superioare solicită serviciul aproape în același mod: de regulă, aceasta este o cerință pentru a ruta unele date de la o rețea la alta. Implementarea practică a principiilor de adresare a datelor este atribuită nivelurilor inferioare. În fig. 1.13 oferă o scurtă descriere a funcțiilor tuturor nivelurilor.

Orez. 1.13. Funcțiile straturilor de model OSI

Modelul luat în considerare determină interacțiunea sistemelor deschise de la diferiți producători în aceeași rețea. Prin urmare, ea efectuează acțiuni de coordonare pentru ei pe:

Interacțiunea proceselor de aplicare;

Formulare de prezentare a datelor;

Stocarea uniformă a datelor;

Managementul resurselor de rețea;

Securitatea datelor și protecția informațiilor;

Diagnosticarea programelor și hardware-ului.

Strat de aplicație

Stratul de aplicație oferă proceselor de aplicație un mijloc de acces la zona de interacțiune, este nivelul superior (al șaptelea) și este direct adiacent proceselor de aplicare.

În realitate, stratul de aplicație este un set de diverse protocoale prin care utilizatorii rețelei accesează resurse partajate, cum ar fi fișiere, imprimante sau pagini Web hipertext și, de asemenea, își organizează colaborarea, de exemplu, folosind protocolul de poștă electronică. Elementele speciale de servicii pentru aplicații oferă servicii pentru programe de aplicații specifice, cum ar fi programele de transfer de fișiere și programele de emulare a terminalelor. Dacă, de exemplu, un program trebuie să transfere fișiere, atunci se va utiliza protocolul de transfer, acces și gestionare a fișierelor FTAM (File Transfer, Access, and Management). În modelul OSI, un program de aplicație care trebuie să îndeplinească o anumită sarcină (de exemplu, actualizarea unei baze de date pe un computer) trimite date specifice sub forma unei Datagrame la nivelul aplicației. Una dintre sarcinile principale ale acestui nivel este de a determina modul în care trebuie procesată cererea de aplicare, cu alte cuvinte, ce formă ar trebui să ia cererea.

Unitatea de date pe care stratul de aplicație operează este de obicei numită mesaj.

Stratul de aplicație îndeplinește următoarele funcții:

1. Efectuarea diferitelor tipuri de muncă.

Transfer de fișier;

Managementul locurilor de muncă;

Managementul sistemului, etc.;

2. Identificarea utilizatorilor prin parole, adrese, semnături electronice;

3. Determinarea abonaților funcționali și a posibilității de acces la noi procese de aplicare;

4. Determinarea suficienței resurselor disponibile;

5. Organizarea cererilor de conectare cu alte procese de aplicare;

6. Transferul cererilor la nivel reprezentativ pentru metodele necesare de descriere a informațiilor;

7. Selectarea procedurilor pentru dialogul planificat al proceselor;

8. Gestionarea datelor schimbate între procesele aplicației și sincronizarea interacțiunii dintre procesele aplicației;

9. Determinarea calității serviciului (timpul de livrare a blocurilor de date, rata de eroare acceptabilă);

10. Acord pentru corectarea erorilor și determinarea fiabilității datelor;

11. Coordonarea restricțiilor impuse sintaxei (seturi de caractere, structura datelor).

Aceste funcții definesc tipurile de servicii pe care stratul de aplicație le oferă proceselor de aplicație. În plus, stratul de aplicație transferă către procesele de aplicație serviciile oferite de straturile fizice, de legătură, de rețea, de transport, de sesiune și de prezentare.

La nivel de aplicație, este necesar să se furnizeze utilizatorilor informații deja procesate. Sistemul și software-ul utilizatorului se pot ocupa de acest lucru.

Stratul de aplicație este responsabil pentru accesul aplicației la rețea. Sarcinile acestui nivel sunt transferul de fișiere, schimbul de mesaje de e-mail și gestionarea rețelei.

Cele mai comune protocoale din primele trei straturi includ:

FTP (File Transfer Protocol) protocol de transfer de fișiere;

TFTP (Trivial File Transfer Protocol) este cel mai simplu protocol de transfer de fișiere;

e-mail X.400;

Lucru Telnet cu un terminal la distanță;

SMTP (Simple Mail Transfer Protocol) este un protocol simplu de schimb de e-mail;

CMIP (Common Management Information Protocol) protocol comun de gestionare a informațiilor;

IP SLIP (Serial Line IP) pentru linii seriale. Protocol pentru transmiterea datelor în serie caracter cu caracter;

SNMP (Simple Network Management Protocol) este un protocol simplu de gestionare a rețelei;

Protocol FTAM (File Transfer, Access, and Management) pentru transferul, accesarea și gestionarea fișierelor.

Stratul de prezentare

Funcțiile acestui nivel sunt prezentarea datelor transferate între procesele de aplicare în forma necesară.

Acest strat asigură că informațiile transmise de stratul de aplicație vor fi înțelese de stratul de aplicație într-un alt sistem. Dacă este necesar, stratul de prezentare, în momentul transmiterii informațiilor, convertește formatele de date într-un format comun de prezentare, iar în momentul recepției, în consecință, efectuează conversia inversă. În acest fel, straturile de aplicație pot depăși, de exemplu, diferențele sintactice în reprezentarea datelor. Această situație poate apărea pe o rețea LAN cu diferite tipuri de computere (IBM PC și Macintosh) care trebuie să facă schimb de date. Astfel, în câmpurile bazei de date, informațiile trebuie prezentate sub formă de litere și cifre, și adesea sub forma unei imagini grafice. Aceste date trebuie procesate, de exemplu, ca numere în virgulă mobilă.

Baza pentru prezentarea generală a datelor este sistemul ASN.1, uniform pentru toate nivelurile modelului. Acest sistem servește la descrierea structurii fișierelor și rezolvă, de asemenea, problema criptării datelor. La acest nivel se poate realiza criptarea și decriptarea datelor, datorită cărora se asigură secretul schimbului de date pentru toate serviciile aplicației simultan. Un exemplu de astfel de protocol este protocolul Secure Socket Layer (SSL), care oferă mesagerie securizată pentru protocoalele stratului de aplicație din stiva TCP/IP. Acest nivel asigură conversia datelor (codificare, compresie etc.) a stratului de aplicație într-un flux de informații pentru stratul de transport.

Nivelul reprezentativ îndeplinește următoarele funcții principale:

1. Generarea cererilor de stabilire a sesiunilor de interacțiune între procesele de aplicare.

2. Coordonarea prezentării datelor între procesele de aplicare.

3. Implementarea formularelor de prezentare a datelor.

4. Prezentarea materialului grafic (desene, imagini, diagrame).

5. Clasificarea datelor.

6. Transmiterea cererilor de încheiere a sesiunilor.

Protocoalele stratului de prezentare sunt de obicei o parte integrantă a protocoalelor din primele trei straturi ale modelului.

Stratul de sesiune

Stratul de sesiune este un strat care definește procedura de desfășurare a sesiunilor între utilizatori sau procesele aplicației.

Stratul de sesiune oferă gestionarea conversațiilor pentru a înregistra ce parte este activă în prezent și oferă, de asemenea, facilități de sincronizare. Acestea din urmă permit inserarea punctelor de control în transferuri lungi, astfel încât, în caz de eșec, să vă puteți întoarce la ultimul punct de control, mai degrabă decât să începeți de la capăt. În practică, puține aplicații folosesc stratul de sesiune și este rar implementat.

Stratul de sesiune controlează transferul de informații între procesele aplicației, coordonează recepția, transmiterea și livrarea unei sesiuni de comunicare. În plus, stratul de sesiune conține în plus funcțiile de gestionare a parolelor, managementul dialogului, sincronizarea și anularea comunicării într-o sesiune de transmisie după o eroare din cauza erorilor din straturile inferioare. Funcțiile acestui nivel sunt de a coordona comunicarea între două programe de aplicație care rulează pe stații de lucru diferite. Acest lucru se întâmplă sub forma unui dialog bine structurat. Aceste funcții includ crearea unei sesiuni, gestionarea trimiterii și primirii pachetelor de mesaje în timpul unei sesiuni și încheierea unei sesiuni.

La nivel de sesiune, se stabilește care va fi transferul între două procese de aplicare:

Half-duplex (procesele vor transmite și vor primi date pe rând);

Duplex (procesele vor transmite date și le vor primi în același timp).

În modul half-duplex, stratul de sesiune emite un token de date procesului care inițiază transferul. Când este timpul ca al doilea proces să răspundă, simbolul de date îi este transmis. Stratul de sesiune permite transmiterea numai către partea care are simbolul de date.

Stratul de sesiune oferă următoarele funcții:

1. Stabilirea și terminarea la nivel de sesiune a unei conexiuni între sistemele care interacționează.

2. Efectuarea unui schimb de date normal și urgent între procesele de aplicare.

3. Managementul interacțiunii dintre procesele de aplicare.

4. Sincronizarea conexiunilor de sesiune.

5. Notificarea proceselor de aplicare cu privire la situații excepționale.

6. Stabilirea unor semne în procesul de aplicare care permit, după o eroare sau eroare, restabilirea executării acesteia de la cel mai apropiat marcaj.

7. Întreruperea procesului de aplicare atunci când este necesar și reluarea corectă a acestuia.

8. Încheiați o sesiune fără a pierde date.

9. Transmiterea de mesaje speciale despre desfășurarea sesiunii.

Stratul de sesiune este responsabil pentru organizarea sesiunilor de schimb de date între mașinile finale. Protocoalele de nivel de sesiune sunt de obicei o componentă a primelor trei straturi ale modelului.

Stratul de transport

Stratul de transport este conceput pentru a transmite pachete printr-o rețea de comunicații. La nivelul de transport, pachetele sunt împărțite în blocuri.

Pe drumul de la expeditor la destinatar, pachetele pot fi corupte sau pierdute. În timp ce unele aplicații au propria lor gestionare a erorilor, există altele care preferă să se ocupe imediat de o conexiune fiabilă. Sarcina stratului de transport este de a se asigura că aplicațiile sau straturile superioare ale modelului (aplicație și sesiune) transferă date cu gradul de fiabilitate pe care îl necesită. Modelul OSI definește cinci clase de servicii furnizate de stratul de transport. Aceste tipuri de servicii se disting prin calitatea serviciilor furnizate: urgență, capacitatea de a restabili comunicațiile întrerupte, disponibilitatea mijloacelor de multiplexare a conexiunilor multiple între diferite protocoale de aplicație printr-un protocol de transport comun și, cel mai important, capacitatea de a detecta și corectarea erorilor de transmisie, cum ar fi distorsiunea, pierderea și duplicarea pachetelor.

Stratul de transport determină adresarea dispozitivelor fizice (sisteme, părțile acestora) în rețea. Acest nivel garantează livrarea blocurilor de informații către destinatari și controlează această livrare. Sarcina sa principală este de a oferi forme eficiente, convenabile și fiabile de transfer de informații între sisteme. Când sunt procesate mai multe pachete, stratul de transport controlează ordinea în care sunt procesate pachetele. Dacă trece un duplicat al unui mesaj primit anterior, acest strat recunoaște acest lucru și ignoră mesajul.

Funcțiile stratului de transport includ:

1. Controlul transmisiei prin rețea și asigurarea integrității blocurilor de date.

2. Detectarea erorilor, eliminarea parțială a acestora și raportarea erorilor necorectate.

3. Restabilirea transmisiei după defecțiuni și defecțiuni.

4. Mărirea sau împărțirea blocurilor de date.

5. Asigurarea prioritatilor la transferul blocurilor (normale sau urgente).

6. Confirmarea transferului.

7. Eliminarea blocurilor în cazul situațiilor de blocaj în rețea.

Pornind de la stratul de transport, toate protocoalele superioare sunt implementate în software, de obicei incluse în sistemul de operare al rețelei.

Cele mai comune protocoale de nivel de transport includ:

TCP (Transmission Control Protocol) protocol de control al transmisiei stivei TCP/IP;

UDP (User Datagram Protocol) protocol de datagramă utilizator al stivei TCP/IP;

NCP (NetWare Core Protocol) protocolul de bază al rețelelor NetWare;

SPX (Sequenced Packet eXchange) schimb ordonat de pachete de stivă Novell;

TP4 (Transmission Protocol) – protocol de transmisie clasa 4.

Stratul de rețea

Nivelul de rețea asigură așezarea canalelor care conectează sistemele de abonat și administrativ prin intermediul rețelei de comunicații, selectarea rutei celei mai rapide și mai sigure.

Stratul de rețea stabilește comunicarea într-o rețea de calculatoare între două sisteme și asigură așezarea canalelor virtuale între ele. Un canal virtual sau logic este funcționarea componentelor rețelei care creează iluzia componentelor care interacționează care așează calea dorită între ele. În plus, stratul de rețea raportează erori la nivelul de transport. Mesajele de nivel de rețea sunt de obicei numite pachete. Acestea conțin date. Nivelul de rețea este responsabil pentru adresarea și livrarea acestora.

Găsirea celei mai bune căi pentru transmiterea datelor se numește rutare, iar soluția acesteia este sarcina principală a stratului de rețea. Această problemă este complicată de faptul că calea cea mai scurtă nu este întotdeauna cea mai bună. Adesea, criteriul de alegere a unei rute este timpul de transmitere a datelor de-a lungul acestei rute; depinde de capacitatea canalelor de comunicație și de intensitatea traficului, care se poate modifica în timp. Unii algoritmi de rutare încearcă să se adapteze la schimbările de încărcare, în timp ce alții iau decizii bazate pe medii pe termen lung. Ruta poate fi selectată pe baza altor criterii, de exemplu, fiabilitatea transmisiei.

Protocolul stratului de legătură asigură livrarea datelor între orice nod numai într-o rețea cu topologia standard corespunzătoare. Aceasta este o limitare foarte strictă care nu permite construirea de rețele cu o structură dezvoltată, de exemplu, rețele care combină mai multe rețele de întreprindere într-o singură rețea sau rețele foarte fiabile în care există conexiuni redundante între noduri.

Astfel, în cadrul rețelei, livrarea de date este reglementată de nivelul de legătură de date, dar livrarea de date între rețele este gestionată de nivelul de rețea. Atunci când se organizează livrarea pachetelor la nivel de rețea, se folosește conceptul de număr de rețea. În acest caz, adresa destinatarului constă din numărul de rețea și numărul computerului din această rețea.

Rețelele sunt conectate între ele prin dispozitive speciale numite routere. Un router este un dispozitiv care colectează informații despre topologia conexiunilor de rețea și, pe baza acestuia, transmite pachete de nivel de rețea către rețeaua de destinație. Pentru a transmite un mesaj de la un expeditor aflat într-o rețea către un destinatar situat pe o altă rețea, trebuie să efectuați un număr de transferuri de tranzit (hopuri) între rețele, alegând de fiecare dată ruta corespunzătoare. Astfel, o rută este o secvență de routere prin care trece un pachet.

Stratul de rețea este responsabil pentru împărțirea utilizatorilor în grupuri și pachete de rutare bazate pe traducerea adreselor MAC în adrese de rețea. Stratul de rețea asigură, de asemenea, transmiterea transparentă a pachetelor către stratul de transport.

Stratul de rețea îndeplinește următoarele funcții:

1. Crearea conexiunilor de rețea și identificarea porturilor acestora.

2. Detectarea și corectarea erorilor care apar în timpul transmisiei printr-o rețea de comunicații.

3. Controlul fluxului de pachete.

4. Organizarea (ordonarea) secvenţelor de pachete.

5. Rutare și comutare.

6. Segmentarea și fuzionarea pachetelor.

La nivel de rețea, sunt definite două tipuri de protocoale. Primul tip se referă la definirea regulilor de transmitere a pachetelor de date ale nodului final de la nod la router și între routere. Acestea sunt protocoalele care se referă de obicei atunci când oamenii vorbesc despre protocoale de nivel de rețea. Cu toate acestea, un alt tip de protocol, numit protocoale de schimb de informații de rutare, este adesea inclus în stratul de rețea. Folosind aceste protocoale, routerele colectează informații despre topologia conexiunilor la internet.

Protocoalele de nivel de rețea sunt implementate de modulele software ale sistemului de operare, precum și de software-ul și hardware-ul routerului.

Cele mai frecvent utilizate protocoale la nivel de rețea sunt:

IP (Internet Protocol) Protocol Internet, un protocol de rețea al stivei TCP/IP care furnizează informații despre adresă și rutare;

IPX (Internetwork Packet Exchange) este un protocol de schimb de pachete internetwork conceput pentru adresarea și rutarea pachetelor în rețelele Novell;

X.25 este un standard internațional pentru comunicațiile globale cu comutare de pachete (implementat parțial la nivelul 2);

CLNP (Connection Less Network Protocol) este un protocol de rețea fără conexiune.

Stratul de legătură de date

Unitatea de informare la nivelul de legătură este cadrul. Cadrele sunt o structură organizată logic în care pot fi plasate datele. Sarcina stratului de legătură este de a transmite cadre de la nivelul de rețea la nivelul fizic.

Stratul fizic transferă pur și simplu biți. Aceasta nu ia în considerare faptul că în unele rețele în care liniile de comunicație sunt utilizate alternativ de mai multe perechi de calculatoare care interacționează, mediul fizic de transmisie poate fi ocupat. Prin urmare, una dintre sarcinile stratului de legătură este de a verifica disponibilitatea mediului de transmisie. O altă sarcină a stratului de legătură este implementarea mecanismelor de detectare și corectare a erorilor.

Stratul de legătură asigură că fiecare cadru este transmis corect prin plasarea unei secvențe speciale de biți la începutul și la sfârșitul fiecărui cadru pentru a-l marca și, de asemenea, calculează o sumă de control prin însumarea tuturor octeților cadrului într-un anumit mod și adăugând suma de control. la cadru. Când sosește cadrul, receptorul calculează din nou suma de control a datelor primite și compară rezultatul cu suma de control din cadrul. Dacă se potrivesc, cadrul este considerat corect și acceptat. Dacă sumele de control nu se potrivesc, se înregistrează o eroare.

Sarcina stratului de legătură este de a prelua pachetele care vin din stratul de rețea și de a le pregăti pentru transmisie, plasându-le într-un cadru de dimensiunea corespunzătoare. Acest strat este responsabil pentru determinarea unde începe și unde se termină un bloc, precum și cu detectarea erorilor de transmisie.

La același nivel, sunt determinate regulile de utilizare a stratului fizic de către nodurile de rețea. Reprezentarea electrică a datelor pe LAN (biți de date, metode de codificare a datelor și token-uri) sunt recunoscute la acest nivel și numai la acest nivel. Aici sunt detectate și corectate erorile (cerând ca datele să fie retransmise).

Stratul de legătură de date asigură crearea, transmiterea și recepția cadrelor de date. Acest strat servește cererile de la nivelul de rețea și utilizează serviciul de nivel fizic pentru a primi și transmite pachete. Specificațiile IEEE 802.X împart stratul de legătură de date în două substraturi:

Controlul legăturii logice LLC (Logical Link Control) asigură controlul logic al comunicării. Substratul LLC oferă servicii de nivel de rețea și este asociat cu transmiterea și recepția mesajelor utilizatorului.

Controlul accesului media MAC (Media Assess Control). Substratul MAC reglează accesul la mediul fizic partajat (trecerea jetonului sau detectarea coliziunii sau coliziunii) și controlează accesul la canalul de comunicație. Substratul LLC este situat deasupra substratului MAC.

Stratul de legătură de date definește accesul media și controlul transmisiei printr-o procedură de transmitere a datelor pe canal.

Când blocurile de date transmise sunt mari, stratul de legătură le împarte în cadre și transmite cadrele sub formă de secvențe.

La primirea cadrelor, stratul formează blocuri de date transmise de la acestea. Mărimea unui bloc de date depinde de metoda de transmisie și de calitatea canalului prin care este transmis.

În rețelele locale, protocoalele de nivel de legătură sunt utilizate de computere, poduri, comutatoare și routere. În computere, funcțiile stratului de legătură sunt implementate prin eforturile comune ale adaptoarelor de rețea și driverelor acestora.

Stratul de legătură de date poate îndeplini următoarele tipuri de funcții:

1. Organizarea (stabilirea, managementul, terminarea) conexiunilor de canal și identificarea porturilor acestora.

2. Organizarea si transferul de personal.

3. Detectarea si corectarea erorilor.

4. Managementul fluxului de date.

5. Asigurarea transparenței canalelor logice (transmiterea datelor codificate în orice mod prin acestea).

Cele mai frecvent utilizate protocoale la nivelul de legătură de date includ:

HDLC (High Level Data Link Control) protocol de control al legăturii de date la nivel înalt pentru conexiuni seriale;

IEEE 802.2 LLC (Tipul I și Tipul II) oferă MAC pentru medii 802.x;

Tehnologie de rețea Ethernet conform standardului IEEE 802.3 pentru rețelele care utilizează topologia magistrală și acces multiplu cu ascultare a frecvenței purtătorului și detectarea conflictelor;

Token ring este o tehnologie de rețea conform standardului IEEE 802.5, care utilizează o topologie inel și o metodă de acces la inel cu trecere de token;

FDDI (Fiber Distributed Date Interface Station) este o tehnologie de rețea conform standardului IEEE 802.6 care utilizează medii de fibră optică;

X.25 este un standard internațional pentru comunicațiile globale cu comutare de pachete;

Rețea Frame Relay organizată folosind tehnologii X25 și ISDN.

Strat fizic

Stratul fizic este conceput pentru a interfața cu mijloacele fizice de comunicare. Conectivitatea fizică este un set de medii fizice, hardware și software care permite transmiterea semnalelor între sisteme.

Mediul fizic este substanța materială prin care sunt transmise semnalele. Mediul fizic este fundația pe care se construiește conectivitatea fizică. Eterul, metalele, sticla optică și cuarțul sunt utilizate pe scară largă ca medii fizice.

Stratul fizic constă dintr-un substrat de interfață media și un substrat de conversie de transmisie.

Prima dintre ele asigură împerecherea fluxului de date cu canalul fizic de comunicare utilizat. Al doilea efectuează transformări legate de protocoalele utilizate. Stratul fizic oferă interfața fizică către canalul de date și, de asemenea, descrie procedurile de transmitere și recepție a semnalelor de la canal. Acest nivel definește parametrii electrici, mecanici, funcționali și procedurali pentru comunicarea fizică în sisteme. Stratul fizic primește pachete de date de la stratul de legătură superior și le convertește în semnale optice sau electrice corespunzătoare la 0 și 1 din fluxul binar. Aceste semnale sunt trimise prin mediul de transmisie către nodul receptor. Proprietățile mecanice și electrice/optice ale mediului de transmisie sunt determinate la nivel fizic și includ:

Tipuri de cabluri și conectori;

Dispunerea contactelor în conectori;

Schema de codificare a semnalului pentru valorile 0 și 1.

Stratul fizic îndeplinește următoarele funcții:

1. Stabilirea și deconectarea conexiunilor fizice.

2. Transmiterea și recepția codului serial.

3. Ascultarea, dacă este necesar, a canalelor.

4. Identificarea canalului.

5. Notificarea defecțiunilor și defecțiunilor.

Notificarea defecțiunilor și defecțiunilor se datorează faptului că la nivel fizic este detectată o anumită clasă de evenimente care interferează cu funcționarea normală a rețelei (coliziune a cadrelor trimise de mai multe sisteme simultan, întrerupere a canalului, întrerupere de curent, pierdere contact mecanic etc.). Tipurile de servicii furnizate stratului de legătură de date sunt determinate de protocoalele stratului fizic. Ascultarea unui canal este necesară în cazurile în care un grup de sisteme este conectat la un canal, dar numai unul dintre ele are voie să transmită semnale în același timp. Prin urmare, ascultarea unui canal vă permite să determinați dacă este liber pentru transmisie. În unele cazuri, pentru a defini mai clar structura, stratul fizic este împărțit în mai multe subniveluri. De exemplu, stratul fizic al unei rețele fără fir este împărțit în trei substraturi (Fig. 1.14).

Orez. 1.14. Stratul fizic LAN fără fir

Funcțiile stratului fizic sunt implementate în toate dispozitivele conectate la rețea. Pe partea computerului, funcțiile stratului fizic sunt realizate de adaptorul de rețea. Repetoarele sunt singurul tip de echipament care funcționează doar pe stratul fizic.

Stratul fizic poate oferi atât transmisie asincronă (serial) cât și sincronă (paralelă), care este folosită pentru unele mainframe și minicalculatoare. La nivelul fizic, trebuie definită o schemă de codificare care să reprezinte valori binare în scopul transmiterii lor pe un canal de comunicație. Multe rețele locale folosesc codificarea Manchester.

Un exemplu de protocol de nivel fizic este specificația tehnologiei 10Base-T Ethernet, care definește cablul utilizat ca pereche răsucită neecranată de Categoria 3, cu o impedanță caracteristică de 100 ohmi, un conector RJ-45, o lungime maximă a segmentului fizic de 100 de metri, Cod Manchester pentru reprezentarea datelor și alte caracteristici ale mediului și semnalelor electrice.

Unele dintre cele mai comune specificații ale stratului fizic includ:

EIA-RS-232-C, CCITT V.24/V.28 – caracteristicile mecanice/electrice ale unei interfețe seriale dezechilibrate;

EIA-RS-422/449, CCITT V.10 – caracteristicile mecanice, electrice și optice ale unei interfețe seriale echilibrate;

Ethernet este o tehnologie de rețea conform standardului IEEE 802.3 pentru rețele care utilizează o topologie de magistrală și acces multiplu cu ascultare operatorului și detectare a coliziunilor;

Token ring este o tehnologie de rețea conform standardului IEEE 802.5, care utilizează o topologie inel și o metodă de acces la inel cu trecere de token.

În știința rețelelor, ca și în orice alt domeniu al cunoașterii, există două abordări fundamentale ale învățării: trecerea de la general la specific și invers. Ei bine, nu este că în viață oamenii folosesc aceste abordări în forma lor pură, dar totuși, în stadiile inițiale, fiecare elev își alege una dintre direcțiile menționate mai sus. Pentru învățământul superior (cel puțin modelul (post)sovietic) prima metodă este mai tipică, pentru autoeducație cel mai adesea a doua: o persoană lucra în rețea, rezolvând din când în când sarcini administrative mici cu un singur utilizator și deodată a vrut să-și dea seama cum, de fapt, cum funcționează toate prostiile astea?

Dar scopul acestui articol nu este discuțiile filozofice despre metodologia de predare. Aș dori să prezint în atenția rețelelor începători că general si cel mai important, din care, ca dintr-un aragaz, poti dansa la cele mai sofisticate magazine private. Înțelegând modelul OSI cu șapte straturi și învățând să „recunoașteți” straturile acestuia în tehnologiile pe care le cunoașteți deja, puteți avansa cu ușurință în orice direcție a industriei de rețele pe care o alegeți. Modelul OSI este cadrul de care vor fi agățate orice cunoștințe noi despre rețele.

Acest model este menționat într-un fel sau altul în aproape orice literatură modernă despre rețele, precum și în multe specificații ale protocoalelor și tehnologiilor specifice. Fără a simți nevoia să reinventez roata, am decis să public fragmente din lucrările lui N. Olifer, V. Olifer (Centrul de Tehnologia Informației) cu titlul „Rolul protocoalelor de comunicare și scopul funcțional al principalelor tipuri de echipamente în rețelele corporative. ”, pe care o consider cea mai bună și mai cuprinzătoare publicație pe această temă.

editor sef

model

Doar pentru că un protocol este un acord între două entități care interacționează, în acest caz două computere care lucrează într-o rețea, nu înseamnă că este neapărat un standard. Dar, în practică, atunci când implementează rețele, acestea tind să folosească protocoale standard. Acestea pot fi standarde de proprietate, naționale sau internaționale.

Organizația Internațională de Standardizare (ISO) a dezvoltat un model care definește în mod clar diferitele niveluri de interacțiune între sisteme, le dă nume standard și specifică ce activitate ar trebui să facă fiecare nivel. Acest model se numește model Open System Interconnection (OSI) sau model ISO/OSI.

În modelul OSI, comunicarea este împărțită în șapte straturi sau straturi (Figura 1.1). Fiecare nivel tratează un aspect specific al interacțiunii. Astfel, problema interacțiunii este descompusă în 7 probleme particulare, fiecare dintre acestea putând fi rezolvată independent de celelalte. Fiecare strat menține interfețe cu straturile de deasupra și dedesubt.

Orez. 1.1. Model de interconectare a sistemelor deschise ISO/OSI

Modelul OSI descrie doar comunicațiile de sistem, nu aplicațiile utilizatorului final. Aplicațiile își implementează propriile protocoale de comunicare accesând facilitățile sistemului. Trebuie avut în vedere faptul că aplicația poate prelua funcțiile unora dintre straturile superioare ale modelului OSI, caz în care, dacă este necesar, internetworking accesează direct instrumentele de sistem care îndeplinesc funcțiile straturilor inferioare rămase ale sistemului. Modelul OSI.

O aplicație de utilizator final poate folosi instrumente de interacțiune cu sistem nu numai pentru a organiza un dialog cu o altă aplicație care rulează pe o altă mașină, ci și pur și simplu pentru a primi serviciile unui anumit serviciu de rețea, de exemplu, accesarea fișierelor de la distanță, primirea e-mailurilor sau imprimarea pe o imprimantă partajată.

Deci, să presupunem că o aplicație face o solicitare unui strat de aplicație, cum ar fi un serviciu de fișiere. Pe baza acestei solicitări, software-ul la nivel de aplicație generează un mesaj în format standard, care conține informații de serviciu (antet) și, eventual, date transmise. Acest mesaj este apoi transmis la nivelul reprezentativ. Stratul de prezentare își adaugă antetul mesajului și transmite rezultatul în stratul de sesiune, care la rândul său își adaugă antetul și așa mai departe. Unele implementări de protocol prevăd că mesajul conține nu doar un antet, ci și un trailer. În cele din urmă, mesajul ajunge la nivelul cel mai de jos, fizic, care de fapt îl transmite de-a lungul liniilor de comunicare.

Când un mesaj sosește pe o altă mașină prin intermediul rețelei, acesta se mută secvenţial de la un nivel la altul. Fiecare nivel analizează, prelucrează și șterge antetul nivelului său, îndeplinește funcții corespunzătoare acestui nivel și transmite mesajul la nivelul superior.

Pe lângă termenul mesaj, există și alte denumiri folosite de specialiștii în rețea pentru a desemna o unitate de schimb de date. Standardele ISO pentru protocoale de orice nivel folosesc termenul „unitate de date protocol” - Protocol Data Unit (PDU). În plus, sunt folosite adesea numele cadru, pachet și datagramă.

Funcții ale stratului modelului ISO/OSI

Stratul fizic: Acest strat se ocupă cu transmiterea de biți pe canale fizice, cum ar fi cablul coaxial, cablul cu perechi răsucite sau cablul cu fibră optică. Acest nivel este legat de caracteristicile mediilor fizice de transmisie a datelor, cum ar fi lățimea de bandă, imunitatea la zgomot, impedanța caracteristică și altele. La același nivel se determină caracteristicile semnalelor electrice, cum ar fi cerințele pentru marginile impulsurilor, nivelurile de tensiune sau curent ale semnalului transmis, tipul de codare, viteza de transmisie a semnalului. În plus, aici sunt standardizate tipurile de conectori și scopul fiecărui contact.

Funcțiile stratului fizic sunt implementate în toate dispozitivele conectate la rețea. Pe partea computerului, funcțiile stratului fizic sunt realizate de adaptorul de rețea sau portul serial.

Un exemplu de protocol de nivel fizic este specificația tehnologiei 10Base-T Ethernet, care definește cablul utilizat ca pereche răsucită neecranată de Categoria 3, cu o impedanță caracteristică de 100 ohmi, un conector RJ-45, o lungime maximă a segmentului fizic de 100 de metri, Cod Manchester pentru reprezentarea datelor pe cablu și a altor caracteristici ale mediului și semnalelor electrice.

Strat de legătură de date: stratul fizic transferă pur și simplu biți. Aceasta nu ține cont de faptul că în unele rețele în care liniile de comunicație sunt utilizate (partajate) alternativ de mai multe perechi de calculatoare care interacționează, mediul fizic de transmisie poate fi ocupat. Prin urmare, una dintre sarcinile stratului de legătură este de a verifica disponibilitatea mediului de transmisie. O altă sarcină a stratului de legătură este implementarea mecanismelor de detectare și corectare a erorilor. Pentru a face acest lucru, la nivelul de legătură de date, biții sunt grupați în seturi numite cadre. Stratul de legătură asigură că fiecare cadru este transmis corect prin plasarea unei secvențe speciale de biți la începutul și la sfârșitul fiecărui cadru pentru a-l marca și, de asemenea, calculează o sumă de control prin însumarea tuturor octeților cadrului într-un anumit mod și adăugând suma de control. la cadru. Când sosește cadrul, receptorul calculează din nou suma de control a datelor primite și compară rezultatul cu suma de control din cadrul. Dacă se potrivesc, cadrul este considerat corect și acceptat. Dacă sumele de control nu se potrivesc, se înregistrează o eroare.

Protocoalele stratului de legătură utilizate în rețelele locale conțin o anumită structură de conexiuni între computere și metode de adresare a acestora. Deși stratul de legătură de date asigură livrarea de cadre între oricare două noduri dintr-o rețea locală, face acest lucru numai într-o rețea cu o topologie de conexiune foarte specifică, exact topologia pentru care a fost proiectat. Topologiile tipice acceptate de protocoalele stratului de legătură LAN includ magistrală partajată, inel și stea. Exemple de protocoale de nivel de legătură sunt Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

În rețelele locale, protocoalele de nivel de legătură sunt utilizate de computere, poduri, comutatoare și routere. În computere, funcțiile stratului de legătură sunt implementate prin eforturile comune ale adaptoarelor de rețea și driverelor acestora.

În rețelele globale, care rareori au o topologie obișnuită, stratul de legătură de date asigură schimbul de mesaje între două computere învecinate conectate printr-o linie de comunicație individuală. Exemple de protocoale punct la punct (cum sunt adesea numite astfel de protocoale) sunt protocoalele PPP și LAP-B utilizate pe scară largă.

Nivel de rețea Acest nivel servește la formarea unui sistem de transport unificat care unește mai multe rețele cu principii diferite de transmitere a informațiilor între nodurile terminale. Să ne uităm la funcțiile stratului de rețea folosind rețelele locale ca exemplu. Protocolul de nivel de legătură în rețea locală asigură livrarea de date între orice nod numai într-o rețea cu corespondența topologie tipică. Aceasta este o limitare foarte strictă care nu permite construirea de rețele cu o structură dezvoltată, de exemplu, rețele care combină mai multe rețele de întreprindere într-o singură rețea sau rețele foarte fiabile în care există conexiuni redundante între noduri. Pentru a menține, pe de o parte, simplitatea procedurilor de transfer de date pentru topologiile standard și, pe de altă parte, pentru a permite utilizarea topologiilor arbitrare, este utilizat un strat de rețea suplimentar. La acest nivel este introdus conceptul de „rețea”. În acest caz, o rețea este înțeleasă ca o colecție de calculatoare conectate între ele în conformitate cu una dintre topologiile tipice standard și care utilizează unul dintre protocoalele stratului de legătură definite pentru această topologie pentru a transmite date.

Astfel, în cadrul rețelei, livrarea de date este reglementată de nivelul de legătură de date, dar livrarea de date între rețele este gestionată de nivelul de rețea.

Mesajele de nivel de rețea sunt de obicei numite pachete. Atunci când se organizează livrarea pachetelor la nivel de rețea, se folosește conceptul "numar de retea". În acest caz, adresa destinatarului constă din numărul de rețea și numărul computerului din această rețea.

Rețelele sunt conectate între ele prin dispozitive speciale numite routere. Router este un dispozitiv care colectează informații despre topologia conexiunilor de internet și, pe baza acestuia, transmite pachete de nivel de rețea către rețeaua de destinație. Pentru a transmite un mesaj de la un expeditor aflat într-o rețea către un destinatar situat pe o altă rețea, trebuie să efectuați un număr de transferuri de tranzit (hopuri) între rețele, alegând de fiecare dată ruta corespunzătoare. Astfel, o rută este o secvență de routere prin care trece un pachet.

Problema alegerii celei mai bune căi se numește rutare iar soluția sa este sarcina principală a nivelului de rețea. Această problemă este complicată de faptul că calea cea mai scurtă nu este întotdeauna cea mai bună. Adesea, criteriul de alegere a unei rute este timpul de transmitere a datelor de-a lungul acestei rute; acesta depinde de capacitatea canalelor de comunicație și de intensitatea traficului, care se poate modifica în timp. Unii algoritmi de rutare încearcă să se adapteze la schimbările de încărcare, în timp ce alții iau decizii bazate pe medii pe termen lung. Ruta poate fi selectată pe baza altor criterii, de exemplu, fiabilitatea transmisiei.

La nivel de rețea, sunt definite două tipuri de protocoale. Primul tip se referă la definirea regulilor de transmitere a pachetelor de date ale nodului final de la nod la router și între routere. Acestea sunt protocoalele care se referă de obicei atunci când oamenii vorbesc despre protocoale de nivel de rețea. Stratul de rețea include și un alt tip de protocol numit protocoale de schimb de informații de rutare. Folosind aceste protocoale, routerele colectează informații despre topologia conexiunilor la internet. Protocoalele de nivel de rețea sunt implementate de modulele software ale sistemului de operare, precum și de software-ul și hardware-ul routerului.

Exemple de protocoale de nivel de rețea sunt protocolul de rețea IP a stivei TCP/IP și protocolul de rețea a stivei Novell IPX.

Stratul de transport: Pe drumul de la expeditor la destinatar, pachetele pot fi corupte sau pierdute. În timp ce unele aplicații au propria lor gestionare a erorilor, există altele care preferă să se ocupe imediat de o conexiune fiabilă. Sarcina stratului de transport este să se asigure că aplicațiile sau straturile superioare ale stivei - aplicație și sesiune - transferă date cu gradul de fiabilitate pe care îl necesită. Modelul OSI definește cinci clase de servicii furnizate de stratul de transport. Aceste tipuri de servicii se disting prin calitatea serviciilor furnizate: urgență, capacitatea de a restabili comunicațiile întrerupte, disponibilitatea mijloacelor de multiplexare a conexiunilor multiple între diferite protocoale de aplicație printr-un protocol de transport comun și, cel mai important, capacitatea de a detecta și corectarea erorilor de transmisie, cum ar fi distorsiunea, pierderea și duplicarea pachetelor.

Alegerea clasei de serviciu la nivel de transport este determinată, pe de o parte, de măsura în care problema asigurării fiabilității este rezolvată de aplicațiile și protocoalele de nivel superior celui de transport, iar pe de altă parte, această alegere depinde de cât de fiabil este întregul sistem de transport de date online. Deci, de exemplu, dacă calitatea canalelor de comunicație este foarte ridicată și probabilitatea erorilor nedetectate de protocoalele de nivel inferior este mică, atunci este rezonabil să folosiți unul dintre serviciile de nivel de transport ușor care nu sunt împovărate cu numeroase verificări. , strângere de mână și alte tehnici pentru creșterea fiabilității. Dacă vehiculele sunt inițial foarte nesigure, atunci este recomandabil să apelați la cel mai dezvoltat serviciu de nivel de transport, care funcționează folosind mijloace maxime pentru detectarea și eliminarea erorilor - folosind stabilirea preliminară a unei conexiuni logice, monitorizarea livrării mesajelor folosind sume de control și numerotarea ciclică a pachetelor, stabilirea termenelor de livrare etc.

De regulă, toate protocoalele, începând de la nivelul de transport și mai sus, sunt implementate de software-ul nodurilor terminale ale rețelei - componente ale sistemelor lor de operare în rețea. Exemple de protocoale de transport includ protocoalele TCP și UDP ale stivei TCP/IP și protocolul SPX al stivei Novell.

Stratul de sesiune: stratul de sesiune oferă gestionarea conversațiilor pentru a înregistra ce parte este activă în prezent și oferă, de asemenea, facilități de sincronizare. Acestea din urmă vă permit să introduceți puncte de control în transferuri lungi, astfel încât, în caz de eșec, să vă puteți întoarce la ultimul punct de control, în loc să începeți totul de la capăt. În practică, puține aplicații folosesc stratul de sesiune și este rar implementat.

Stratul de prezentare: Acest strat oferă asigurarea că informațiile transmise de stratul de aplicație vor fi înțelese de stratul de aplicare într-un alt sistem. Dacă este necesar, stratul de prezentare convertește formatele de date într-un format comun de prezentare, iar la recepție, în consecință, efectuează conversia inversă. În acest fel, straturile de aplicație pot depăși, de exemplu, diferențele sintactice în reprezentarea datelor. La acest nivel se poate realiza criptarea și decriptarea datelor, datorită cărora se asigură secretul schimbului de date pentru toate serviciile aplicației simultan. Un exemplu de protocol care funcționează la nivelul de prezentare este protocolul Secure Socket Layer (SSL), care oferă mesaje securizate pentru protocoalele stratului de aplicație ale stivei TCP/IP.

Stratul de aplicație Stratul de aplicație este de fapt doar un set de diverse protocoale prin care utilizatorii rețelei accesează resurse partajate, cum ar fi fișiere, imprimante sau pagini Web hipertext și, de asemenea, își organizează colaborarea, de exemplu, folosind protocolul de poștă electronică. . Unitatea de date pe care operează stratul de aplicație este de obicei numită mesaj .

Există o varietate foarte mare de protocoale de nivel de aplicație. Să dăm ca exemple cel puțin câteva dintre cele mai comune implementări ale serviciilor de fișiere: NCP în sistemul de operare Novell NetWare, SMB în Microsoft Windows NT, NFS, FTP și TFTP, care fac parte din stiva TCP/IP.

Modelul OSI, deși foarte important, este doar unul dintre multele modele de comunicare. Aceste modele și stivele lor de protocoale asociate pot diferi în ceea ce privește numărul de straturi, funcțiile lor, formatele de mesaje, serviciile furnizate la straturile superioare și alți parametri.

Caracteristicile stivelor de protocoale de comunicare populare

Deci, interacțiunea computerelor în rețele are loc în conformitate cu anumite reguli de schimb de mesaje și formatele acestora, adică în conformitate cu anumite protocoale. Un set de protocoale organizat ierarhic care rezolvă problema interacțiunii dintre nodurile rețelei se numește stivă de protocoale de comunicație.

Există multe stive de protocoale care sunt utilizate pe scară largă în rețele. Acestea sunt stive care sunt standarde internaționale și naționale și stive de proprietate care au devenit larg răspândite datorită prevalenței echipamentelor de la o anumită companie. Exemple de stive de protocoale populare includ stiva IPX/SPX de la Novell, stiva TCP/IP utilizată pe Internet și multe rețele bazate pe sistemul de operare UNIX, stiva OSI a Organizației Internaționale de Standardizare, stiva DECnet a Digital Equipment Corporation și mai multe alții.

Utilizarea unei anumite stive de protocoale de comunicație într-o rețea determină în mare măsură fața rețelei și caracteristicile acesteia. Rețelele mai mici pot folosi o singură stivă. În rețelele corporative mari care conectează diverse rețele, mai multe stive sunt de obicei utilizate în paralel.

Echipamentele de comunicație implementează protocoale de nivel inferior, care sunt mai standardizate decât protocoalele de nivel superior, iar aceasta este o condiție prealabilă pentru o colaborare de succes între echipamente de la diferiți producători. Lista protocoalelor acceptate de un anumit dispozitiv de comunicație este una dintre cele mai importante caracteristici ale acestui dispozitiv.

Calculatoarele implementează protocoale de comunicație sub formă de elemente software corespunzătoare ale unui sistem de operare de rețea, de exemplu, protocoalele la nivel de legătură sunt de obicei implementate sub formă de drivere de adaptoare de rețea, iar protocoalele de nivel superior sunt implementate sub formă de componente server și client a serviciilor de rețea.

Abilitatea de a funcționa bine într-un anumit mediu de sistem de operare este o caracteristică importantă a echipamentelor de comunicații. Puteți citi adesea în anunțurile pentru un adaptor de rețea sau un hub că a fost conceput special pentru a funcționa într-o rețea NetWare sau UNIX. Aceasta înseamnă că dezvoltatorii de hardware și-au optimizat caracteristicile pentru protocoalele utilizate în acel sistem de operare de rețea sau pentru o anumită versiune a implementării lor dacă aceste protocoale sunt utilizate în sisteme de operare diferite. Datorită particularităților implementării protocoalelor în diferite sisteme de operare, una dintre caracteristicile echipamentelor de comunicație este certificarea acestuia pentru capacitatea de a lucra în mediul unui anumit sistem de operare.

La nivelurile inferioare - fizică și legătura de date - aproape toate stivele folosesc aceleași protocoale. Acestea sunt protocoale bine standardizate: Ethernet, Token Ring, FDDI și altele, care permit utilizarea aceluiași echipament în toate rețelele.

Rețeaua și protocoalele de nivel superior ale stivelor standard existente sunt foarte variabile și, în general, nu sunt conforme cu stratificarea recomandată de modelul ISO. În special, în aceste stive, funcțiile stratului de sesiune și prezentare sunt cel mai adesea combinate cu stratul de aplicație. Această discrepanță se datorează faptului că modelul ISO a apărut ca urmare a unei generalizări a stivelor deja existente și utilizate efectiv și nu invers.

Stiva OSI

Trebuie făcută o distincție între stiva de protocol OSI și modelul OSI. În timp ce modelul OSI definește conceptual procedura de interacțiune a sistemelor deschise, descompunând sarcina în 7 straturi, standardizează scopul fiecărui strat și introduce nume standard pentru straturi, stiva OSI este un set de specificații de protocol foarte specifice care formează o conexiune consistentă. stiva de protocoale. Această stivă de protocoale este susținută de guvernul SUA în programul său GOSIP. Toate rețelele de computere guvernamentale instalate după 1990 trebuie fie să suporte direct stiva OSI, fie să ofere un mijloc de migrare la stivă în viitor. Cu toate acestea, stiva OSI este mai populară în Europa decât în ​​SUA, deoarece Europa are mai puține rețele vechi instalate care folosesc propriile protocoale. Există, de asemenea, o mare nevoie de o stivă comună în Europa, deoarece există atât de multe țări diferite.

Acesta este un standard internațional, independent de producător. Poate permite colaborarea între corporații, parteneri și furnizori. Această interacțiune este complicată prin abordarea, denumirea și problemele de securitate a datelor. Toate aceste probleme sunt parțial rezolvate în stiva OSI. Protocoalele OSI necesită multă putere de procesare a procesorului, ceea ce le face mai potrivite pentru mașini puternice, mai degrabă decât pentru rețele de computere personale. Majoritatea organizațiilor doar planifică tranziția la stiva OSI. Printre cei care lucrează în această direcție se numără Departamentul Marinei SUA și rețeaua NFSNET. Unul dintre cei mai mari producători care acceptă OSI este AT&T. Rețeaua Stargroup se bazează în întregime pe stiva OSI.

Din motive evidente, stiva OSI, spre deosebire de alte stive standard, respectă pe deplin modelul de interconectare OSI; include specificații pentru toate cele șapte straturi ale modelului de interconectare a sistemelor deschise (Figura 1.3).


Orez. 1.3. Stiva OSI

Pe Stiva OSI acceptă protocoale Ethernet, Token Ring, FDDI, precum și protocoale LLC, X.25 și ISDN. Aceste protocoale vor fi discutate în detaliu în alte secțiuni ale manualului.

Servicii rețea, transport și sesiune niveluri sunt disponibile și în stiva OSI, dar nu sunt foarte comune. Stratul de rețea implementează atât protocoale fără conexiune, cât și protocoale bazate pe conexiune. Protocolul de transport al stivei OSI, în concordanță cu funcțiile definite pentru acesta în modelul OSI, ascunde diferențele dintre serviciile de rețea orientate spre conexiune și cele fără conexiune, astfel încât utilizatorii să primească calitatea dorită a serviciului indiferent de stratul de rețea subiacent. Pentru a oferi acest lucru, stratul de transport solicită utilizatorului să specifice calitatea dorită a serviciului. Au fost definite 5 clase de servicii de transport, de la cea mai joasă clasă 0 la cea mai înaltă clasă 4, care diferă prin gradul de toleranță la erori și cerințele pentru recuperarea datelor după erori.

Servicii nivelul de aplicare includ transferul de fișiere, emularea terminalului, servicii de directoare și e-mail. Dintre acestea, cele mai promițătoare sunt serviciul de directoare (standard X.500), poșta electronică (X.400), protocolul terminal virtual (VT), protocolul de transfer de fișiere, acces și gestionare (FTAM), protocol de redirecționare și gestionare a joburilor (JTM). . Recent, ISO și-a concentrat eforturile pe servicii de nivel superior.

X.400

este o familie de recomandări din partea Comitetului Consultativ Internațional pentru Telegrafie și Telefonie (CCITT) care descriu sistemele de redirecționare a mesajelor electronice. Astăzi, recomandările X.400 sunt cel mai popular protocol de mesagerie. Recomandările X.400 descriu modelul unui sistem de mesagerie, protocoalele de interacțiune între toate componentele acestui sistem, precum și numeroasele tipuri de mesaje și capabilitățile pe care le are expeditorul pentru fiecare tip de mesaj trimis.

Recomandările X.400 definesc următorul set minim necesar de servicii care urmează să fie furnizate utilizatorilor: controlul accesului, menținerea identificatorilor unici de mesaje de sistem, livrarea mesajelor sau notificarea de nelivrare cu motiv, indicarea tipului de conținut al mesajului, indicarea conversiei conținutului mesajului, transmiterea și marcajele de timp de livrare, selectarea unei categorii de livrare (urgent, non-urgent, normal), livrare multicast, livrare întârziată (până la un anumit moment de timp), transformarea conținutului pentru a interfața cu sisteme de poștă incompatibile, cum ar fi serviciile telex și fax, interogarea dacă a fost livrat un anumit mesaj, liste de corespondență, care pot avea o structură imbricată, mijloace de protejare a mesajelor împotriva accesului neautorizat, bazate pe un criptosistem asimetric cu cheie publică.

Scopul recomandărilor X.500 este de a dezvolta standarde globale pentru biroul de asistență. Procesul de livrare a unui mesaj necesită cunoașterea adresei destinatarului, ceea ce reprezintă o problemă în rețelele mari, de aceea este necesar să existe un birou de asistență care să ajute la obținerea adreselor expeditorilor și destinatarilor. În general, un serviciu X.500 este o bază de date distribuită de nume și adrese. Tuturor utilizatorilor li se permite să se conecteze la această bază de date folosind un set specific de atribute.

Următoarele operațiuni sunt definite în baza de date cu nume și adrese:

  • citire - obținerea unei adrese după un nume cunoscut,
  • cerere - obținerea unui nume pe baza atributelor de adresă cunoscute,
  • modificare care implică ștergerea și adăugarea înregistrărilor într-o bază de date.

Principalele provocări ale implementării recomandărilor X.500 provin din amploarea acestui proiect, care se pretinde a fi un serviciu de referință la nivel mondial. Prin urmare, software-ul care implementează recomandările X.500 este foarte greoaie și impune cerințe mari asupra performanței hardware.

Protocol VT rezolvă problema incompatibilității dintre diferitele protocoale de emulare a terminalelor. În prezent, un utilizator al unui computer personal compatibil cu un PC IBM, pentru a lucra simultan cu calculatoare VAX, IBM 3090 și HP9000, trebuie să achiziționeze trei programe diferite pentru a emula terminale de diferite tipuri și folosind protocoale diferite. Dacă fiecare computer gazdă ar avea software de protocol ISO de emulare a terminalului, atunci utilizatorul ar avea nevoie de un singur program care să accepte protocolul VT. În standardul său, ISO a acumulat funcții de emulare terminale utilizate pe scară largă.

Transferul de fișiere este cel mai comun serviciu de calculator. Accesul la fișiere, atât locale, cât și la distanță, este necesar pentru toate aplicațiile - editori de text, e-mail, baze de date sau programe de lansare de la distanță. ISO oferă un astfel de serviciu în protocol FTAM. Alături de standardul X.400, este cel mai popular standard de stivă OSI. FTAM oferă facilități pentru localizarea și accesarea conținutului fișierului și include un set de directive pentru inserarea, înlocuirea, extinderea și ștergerea conținutului fișierului. FTAM oferă, de asemenea, facilități pentru manipularea fișierului ca întreg, inclusiv crearea, ștergerea, citirea, deschiderea, închiderea fișierului și selectarea atributelor acestuia.

Protocolul de redirecționare și control al muncii JTM Permite utilizatorilor să trimită lucrări care trebuie finalizate pe computerul gazdă. Limbajul de control al jobului care permite trimiterea jobului spune computerului gazdă ce acțiuni ar trebui efectuate pentru ce programe și fișiere. Protocolul JTM acceptă procesarea tradițională în lot, procesarea tranzacțiilor, intrarea de la distanță a joburilor și accesul la baza de date distribuită.

Stiva TCP/IP

Stiva TCP/IP, numită și stiva DoD și stiva Internet, este una dintre cele mai populare și promițătoare stive de protocoale de comunicare. Dacă în prezent este distribuit în principal în rețele cu OS UNIX, atunci implementarea sa în cele mai recente versiuni de sisteme de operare de rețea pentru computere personale (Windows NT, NetWare) este o condiție prealabilă bună pentru creșterea rapidă a numărului de instalări ale TCP/ stiva IP.

Stack-ul a fost dezvoltat la inițiativa Departamentului de Apărare al SUA (DoD) cu mai bine de 20 de ani în urmă pentru a conecta rețeaua experimentală ARPAnet cu alte rețele de satelit ca un set de protocoale comune pentru medii de calcul eterogene. Rețeaua ARPA a sprijinit dezvoltatorii și cercetătorii din domeniile militare. În rețeaua ARPA, comunicarea între două computere s-a realizat folosind Internet Protocol (IP), care până în prezent este unul dintre principalele din stiva TCP/IP și apare în numele stivei.

Universitatea Berkeley a adus o contribuție majoră la dezvoltarea stivei TCP/IP prin implementarea protocoalelor stivei în versiunea sa a sistemului de operare UNIX. Adoptarea pe scară largă a sistemului de operare UNIX a dus, de asemenea, la adoptarea pe scară largă a IP și a altor protocoale de stivă. Această stivă alimentează, de asemenea, Internetul, al cărui grup operativ de inginerie Internet (IETF) este un contributor major la dezvoltarea standardelor stivei publicate sub forma specificațiilor RFC.

Deoarece stiva TCP/IP a fost dezvoltată înainte de apariția modelului de interconectare a sistemelor deschise ISO/OSI, deși are și o structură pe mai multe niveluri, corespondența nivelurilor stivei TCP/IP cu nivelurile modelului OSI este mai degrabă condiționată. .

Structura protocoalelor TCP/IP este prezentată în Figura 1.4. Protocoalele TCP/IP sunt împărțite în 4 niveluri.

Orez. 1.4. Stiva TCP/IP

Cel mai jos ( nivelul IV ) - nivelul interfețelor de rețea - corespunde nivelurilor fizice și de legătură de date ale modelului OSI. Acest nivel în protocoalele TCP/IP nu este reglementat, dar acceptă toate standardele populare ale stratului fizic și de legătură de date: pentru canalele locale acestea sunt Ethernet, Token Ring, FDDI, pentru canalele globale - propriile protocoale pentru operarea pe apel analogic - linii up și închiriate SLIP/PPP, care stabilesc conexiuni punct la punct prin legături seriale WAN și protocoale WAN X.25 și ISDN. De asemenea, a fost dezvoltată o specificație specială care definește utilizarea tehnologiei ATM ca transport de nivel de legătură de date.

Nivelul următor ( nivelul III ) este stratul de internetworking care se ocupă cu transmiterea de datagrame folosind diverse rețele locale, rețele de zonă X.25, linii ad-hoc etc. Stiva folosește protocolul IP, care a fost conceput inițial ca un protocol pentru transmiterea de pachete în rețele compuse constând dintr-un număr mare de rețele locale conectate atât prin conexiuni locale cât și globale. Prin urmare, protocolul IP funcționează bine în rețelele cu topologii complexe, utilizând rațional prezența subsistemelor în ele și utilizând economic lățimea de bandă a liniilor de comunicație cu viteză redusă. Protocolul IP este un protocol de datagramă.

Nivelul de interconectare include, de asemenea, toate protocoalele legate de compilarea și modificarea tabelelor de rutare, cum ar fi protocoalele pentru colectarea informațiilor de rutare RIP.(Routing Internet Protocol) și OSPF(Deschideți mai întâi calea cea mai scurtă), precum și protocolul pentru mesaje de control pe internet ICMP(Internet Control Message Protocol). Ultimul protocol este conceput pentru a face schimb de informații despre erori între router și gateway, sistemul sursă și sistemul destinație, adică pentru a organiza feedback-ul. Folosind pachete speciale ICMP, se raportează că este imposibil să se livreze un pachet, că a fost depășită durata de viață sau durata asamblarii unui pachet din fragmente, valori anormale ale parametrilor, o modificare a rutei de redirecționare și a tipului de serviciu, starea sistemul etc.

Nivelul următor ( nivelul II) se numește de bază. Protocolul de control al transmisiei operează la acest nivel TCP(Transmission Control Protocol) și User Datagram Protocol UDP(Protocol de datagramă utilizator). Protocolul TCP oferă o conexiune virtuală stabilă între procesele aplicației de la distanță. Protocolul UDP asigură transmiterea pachetelor de aplicație folosind metoda datagramei, adică fără a stabili o conexiune virtuală și, prin urmare, necesită mai puțină supraîncărcare decât TCP.

Nivel superior ( nivelul I) se numește aplicat. De-a lungul multor ani de utilizare în rețelele diferitelor țări și organizații, stiva TCP/IP a acumulat un număr mare de protocoale și servicii la nivel de aplicație. Acestea includ protocoale utilizate pe scară largă precum protocolul de copiere a fișierelor FTP, protocolul de emulare a terminalului telnet, protocolul de e-mail SMTP utilizat în e-mail-ul pe Internet și filiala sa rusă RELCOM, servicii hipertext pentru accesarea informațiilor de la distanță, cum ar fi WWW și multe altele. Să aruncăm o privire mai atentă la unele dintre ele care sunt cel mai strâns legate de subiectele acestui curs.

Protocol SNMP(Simple Network Management Protocol) este utilizat pentru a organiza managementul rețelei. Problema managementului este împărțită aici în două probleme. Prima sarcină este legată de transferul de informații. Protocoalele de transfer de informații de control determină procedura de interacțiune între server și programul client care rulează pe gazda administratorului. Acestea definesc formatele de mesaje care sunt schimbate între clienți și servere, precum și formatele pentru nume și adrese. A doua provocare este legată de datele controlate. Standardele reglementează ce date trebuie stocate și acumulate în gateway-uri, numele acestor date și sintaxa acestor nume. Standardul SNMP definește o specificație pentru o bază de date de informații de gestionare a rețelei. Această specificație, cunoscută sub numele de Management Information Base (MIB), definește elementele de date pe care o gazdă sau un gateway trebuie să le stocheze și operațiunile permise asupra acestora.

Protocolul de transfer de fișiere FTP(File Transfer Protocol) implementează accesul la fișiere de la distanță. Pentru a asigura un transfer fiabil, FTP utilizează protocolul orientat spre conexiune - TCP - ca transport. Pe lângă protocolul de transfer de fișiere, FTP oferă și alte servicii. Acest lucru oferă utilizatorului posibilitatea de a interacționa interactiv cu o mașină la distanță, de exemplu, el poate imprima conținutul directoarelor acesteia; FTP permite utilizatorului să specifice tipul și formatul datelor care urmează să fie stocate. În cele din urmă, FTP autentifică utilizatorii. Înainte de a accesa fișierul, protocolul solicită utilizatorilor să furnizeze numele de utilizator și parola.

În stiva TCP/IP, FTP oferă cel mai cuprinzător set de servicii de fișiere, dar este și cel mai complex de programat. Aplicațiile care nu necesită toate capabilitățile FTP pot folosi un alt protocol, mai rentabil - Protocolul simplu de transfer de fișiere TFTP(Protocol de transfer de fișiere trivial). Acest protocol implementează doar transferul de fișiere, iar transportul utilizat este un protocol fără conexiune mai simplu decât TCP - UDP.

Protocol telnet asigură transferul unui flux de octeți între procese, precum și între un proces și un terminal. Cel mai adesea, acest protocol este folosit pentru a emula un terminal de computer la distanță.

Stiva IPX/SPX

Această stivă este stiva originală de protocol Novell, pe care a dezvoltat-o ​​pentru sistemul său de operare de rețea NetWare la începutul anilor 80. Protocoalele Internetwork Packet Exchange (IPX) și Sequenced Packet Exchange (SPX), care dau numele stivei, sunt adaptări directe ale protocoalelor XNS Xerox, care sunt mult mai puțin comune decât IPX/SPX. În ceea ce privește instalațiile, protocoalele IPX/SPX sunt lideri, iar acest lucru se datorează faptului că sistemul de operare NetWare în sine ocupă o poziție de lider cu o pondere a instalărilor la nivel mondial de aproximativ 65%.

Familia de protocoale Novell și corespondența lor cu modelul ISO/OSI sunt prezentate în Figura 1.5.

Orez. 1.5. Stiva IPX/SPX

Pe niveluri fizice și de legătură de date Rețelele Novell utilizează toate protocoalele populare de aceste niveluri (Ethernet, Token Ring, FDDI și altele).

Pe nivelul rețelei protocolul funcționează în stiva Novell IPX, precum și protocoalele de schimb de informații de rutare RIP.Și NLSP(analog cu protocolul OSPF al stivei TCP/IP). IPX este un protocol care se ocupă cu adresarea și rutarea pachetelor în rețelele Novell. Deciziile de rutare IPX se bazează pe câmpurile de adresă din antetul pachetului, precum și pe informațiile din protocoalele de schimb de informații de rutare. De exemplu, IPX folosește informațiile furnizate fie de RIP, fie de NLSP (NetWare Link State Protocol) pentru a trimite pachete către computerul de destinație sau către următorul router. Protocolul IPX acceptă doar metoda datagramelor de schimb de mesaje, datorită căreia consumă economic resurse de calcul. Deci, protocolul IPX oferă trei funcții: setarea unei adrese, stabilirea unei rute și trimiterea de datagrame.

Stratul de transport al modelului OSI din stiva Novell corespunde protocolului SPX, care realizează transferul de mesaje orientat spre conexiune.

Deasupra niveluri de aplicație, prezentare și sesiune Protocoalele NCP și SAP funcționează. Protocol NCP(NetWare Core Protocol) este un protocol pentru interacțiunea dintre serverul NetWare și shell-ul stației de lucru. Acest protocol de nivel de aplicație implementează arhitectura client-server la straturile superioare ale modelului OSI. Folosind funcțiile acestui protocol, stația de lucru se conectează la server, mapează directoarele serverului la literele unității locale, scanează sistemul de fișiere al serverului, copiază fișierele de la distanță, le modifică atributele etc. și, de asemenea, partajează o imprimantă de rețea între stațiile de lucru.

(Service Advertising Protocol) - protocolul de publicitate pentru servicii este conceptual similar cu protocolul RIP. Așa cum RIP permite ruterelor să facă schimb de informații de rutare, SAP permite dispozitivelor de rețea să facă schimb de informații despre serviciile de rețea disponibile.

Serverele și routerele folosesc SAP pentru a-și face publicitate serviciilor și adreselor de rețea. Protocolul SAP permite dispozitivelor de rețea să actualizeze în mod constant informații despre ce servicii sunt disponibile în prezent în rețea. La pornire, serverele folosesc SAP pentru a notifica restul rețelei despre serviciile lor. Când un server se închide, folosește SAP pentru a notifica rețeaua că serviciile sale au încetat.

Pe rețelele Novell, serverele NetWare 3.x trimit pachete de difuzare SAP în fiecare minut. Pachetele SAP blochează în mod semnificativ rețeaua, așa că una dintre sarcinile principale ale routerelor care accesează comunicațiile globale este filtrarea traficului de la pachetele SAP și pachetele RIP.

Caracteristicile stivei IPX/SPX se datorează caracteristicilor sistemului de operare NetWare, și anume orientării versiunilor sale timpurii (până la 4.0) pentru lucrul în rețele locale mici formate din computere personale cu resurse modeste. Prin urmare, Novell avea nevoie de protocoale care necesită o cantitate minimă de RAM (limitată la computerele compatibile IBM care rulează MS-DOS la 640 KB) și care să ruleze rapid pe procesoare cu putere redusă. Drept urmare, protocoalele stivei IPX/SPX până de curând au funcționat bine în rețelele locale și nu atât de bine în rețelele corporative mari, deoarece supraîncărcau legături globale lente cu pachete de difuzare care sunt utilizate intens de mai multe protocoale din această stivă (de exemplu, pentru a stabilirea comunicațiilor între clienți și servere).

Această împrejurare, precum și faptul că stiva IPX/SPX este proprietatea Novell și necesită o licență pentru a-l implementa, a limitat mult timp distribuția sa doar la rețelele NetWare. Cu toate acestea, până la lansarea NetWare 4.0, Novell a făcut și continuă să facă modificări majore la protocoalele sale menite să le adapteze pentru a funcționa în rețelele corporative. Acum, stiva IPX/SPX este implementată nu numai în NetWare, ci și în alte câteva sisteme de operare de rețea populare - SCO UNIX, Sun Solaris, Microsoft Windows NT.

Stiva NetBIOS/SMB

Microsoft și IBM au lucrat împreună la instrumente de rețea pentru computere personale, astfel încât stiva de protocoale NetBIOS/SMB este creația lor comună. Instrumentele NetBIOS au apărut în 1984 ca o extensie de rețea a funcțiilor standard ale sistemului de bază de intrare/ieșire (BIOS) al PC-ului IBM pentru programul de rețea PC Network de la IBM, care la nivel de aplicație (Fig. 1.6) folosea SMB ( Server Message Block) pentru implementarea serviciilor de rețea. .

Orez. 1.6. Stiva NetBIOS/SMB

Protocol NetBIOS funcționează la trei niveluri ale modelului de interacțiune a sistemelor deschise: rețea, transport și sesiune. NetBIOS poate oferi un nivel de serviciu mai ridicat decât protocoalele IPX și SPX, dar nu are capabilități de rutare. Astfel, NetBIOS nu este un protocol de rețea în sensul strict al cuvântului. NetBIOS conține multe funcții utile de rețea care pot fi atribuite straturilor de rețea, transport și sesiune, dar nu poate fi folosit pentru a ruta pachete, deoarece protocolul de schimb de cadre NetBIOS nu introduce un astfel de concept ca rețea. Acest lucru limitează utilizarea protocolului NetBIOS la rețelele locale care nu sunt subrețele. NetBIOS acceptă atât comunicații bazate pe datagramă, cât și pe conexiune.

Protocol SMB, corespunzătoare nivelurilor de aplicație și reprezentative ale modelului OSI, reglementează interacțiunea stației de lucru cu serverul. Funcțiile SMB includ următoarele operații:

  • Managementul sesiunii. Crearea și întreruperea unui canal logic între stația de lucru și resursele de rețea ale serverului de fișiere.
  • Acces la fișiere. O stație de lucru poate contacta serverul de fișiere cu solicitări de a crea și șterge directoare, de a crea, deschide și închide fișiere, de a citi și de a scrie în fișiere, de a redenumi și de a șterge fișiere, de a căuta fișiere, de a obține și de a seta atribute de fișiere și de a bloca înregistrările.
  • Serviciu de imprimare. Stația de lucru poate pune în coadă fișiere pentru imprimare pe server și poate obține informații despre coada de imprimare.
  • Serviciu de mesagerie. SMB acceptă mesagerie simplă cu următoarele funcții: trimite un mesaj simplu; trimite un mesaj difuzat; trimite începutul blocului de mesaje; trimite text blocat mesaj; trimite sfârșitul blocului de mesaje; transmite numele de utilizator; anularea expedierii; obțineți numele mașinii.

Datorită numărului mare de aplicații care utilizează funcțiile API furnizate de NetBIOS, multe sisteme de operare de rețea implementează aceste funcții ca interfață pentru protocoalele lor de transport. NetWare are un program care emulează funcțiile NetBIOS bazate pe protocolul IPX și există emulatori software pentru NetBIOS pentru Windows NT și stiva TCP/IP.

De ce avem nevoie de aceste cunoștințe valoroase? (editorial)

Un coleg mi-a pus odată o întrebare dificilă. Ei bine, spune el, știi ce este modelul OSI... Și de ce ai nevoie de el, care este beneficiul practic al acestor cunoștințe: dacă nu te arăți în fața manechinelor? Nu este adevărat, beneficiile acestor cunoștințe sunt o abordare sistematică pentru rezolvarea multor probleme practice. De exemplu:

  • depanare (
depanare)

Un utilizator (doar un prieten) vine la tine ca administrator (un networker cu experiență) și spune - „nu se conectează” la mine aici. Nu există rețea, spune el, și atât. Începi să-ți dai seama. Așadar, pe baza experienței mele de observare a vecinilor, am observat că acțiunile unei persoane „nu știe modelul OSI din inima lui” se caracterizează printr-un comportament haotic caracteristic: fie trage de sârmă, fie deodată mânuiește ceva. în browser. Și acest lucru duce adesea la faptul că, mișcându-se fără direcție, un astfel de „specialist” va trage de orice și de oriunde, cu excepția zonei problemei, pierzând mult din timpul său și al altora. La conștientizarea existenței unor niveluri de interacțiune, mișcarea va fi mai consistentă. Și, deși punctul de plecare poate fi diferit (în fiecare carte am întâlnit recomandările au fost ușor diferite), premisa logică generală a depanării este următoarea - dacă la nivelul X interacțiunea este efectuată corect, atunci la nivelul X-1 cel mai mult probabil ca totul este si el in regula. Cel puțin pentru fiecare specific moment timp. Când depanez rețelele IP, personal încep să „săpat” de la al doilea nivel al stivei DOD, alias al treilea strat OSI, alias Internet Protocol. În primul rând, pentru că este cel mai ușor să efectuați o „examinare superficială a pacientului” (pacientul are mai multe șanse să ping decât nu) și, în al doilea rând, dacă, slavă Domnului, ping, puteți sări peste manipulările neplăcute ale cablurilor de testare, placi de retea si dezasamblari etc.lucruri placute;) Desi in cazuri deosebit de grave va trebui totusi sa pleci de la nivelul unu, si in cel mai serios mod.

  • înțelegere reciprocă cu colegii

Pentru a ilustra acest punct, vă voi da un exemplu din viață. Într-o zi, prietenii mei de la o companie mică m-au invitat să mă viziteze pentru a ajuta să-mi dau seama de ce rețeaua nu funcționează bine și pentru a da câteva recomandări în acest sens. Vin la birou. Și se dovedește că au acolo chiar și un administrator, numit după vechea tradiție „programator” (și de fapt, se ocupă în principal de FoxPro;) - un vechi specialist IT pre-perestroika. Ei bine, îl întreb, ce fel de rețea ai? El: "Ce vrei să spui? Ei bine, doar o rețea." Rețeaua, în general, este ca o rețea. Ei bine, am câteva întrebări directoare: ce protocol este folosit la nivel de rețea? El: „UNDE este asta?” Precizez: „Păi, IP sau IPX sau ce ai tu...” „Oh”, spune el, „se pare că da: IPX/altceva!” Apropo, „mai există ceva”, după cum probabil ați observat, este situat puțin mai sus față de nivelul rețelei, dar nu acesta este ideea... Ceea ce este tipic este că el a construit această rețea și chiar a întreținut-o prost. . Nu este de mirare că s-a ofilit... ;) Dacă aș fi știut despre OSI, aș fi mâzgălit o diagramă în 5 minute - de la 10Base-2 la programele de aplicație. Și nu ar trebui să te târăști sub masă pentru a inspecta firele coaxiale.

  • învăţarea noilor tehnologii

M-am oprit deja asupra acestui aspect important în prefață și îl voi repeta din nou: atunci când studiezi un nou protocol, ar trebui în primul rând să înțelegi a) în ce stivă(stive) de protocol aparține și b) în ce parte a stivei. si cu cine interactioneaza de jos si cine cu el deasupra... :) Si asta iti va da claritate totala in cap. Și există diferite formate de mesaje și API - ei bine, asta este o chestiune de tehnologie :)

Voi începe prin a defini modul în care este acceptat. Modelul OSI este un model teoretic ideal pentru transmiterea datelor printr-o rețea. Aceasta înseamnă că, în practică, nu veți găsi niciodată o potrivire exactă cu acest model; este un standard pe care dezvoltatorii de software de rețea și producătorii de echipamente de rețea îl respectă pentru a menține compatibilitatea între produsele lor. Puteți compara acest lucru cu ideile oamenilor despre o persoană ideală - nu o veți găsi nicăieri, dar toată lumea știe pentru ce să depună eforturi.


Aș dori să subliniez imediat o nuanță - voi numi ceea ce se transmite prin rețea în cadrul datelor modelului OSI, ceea ce nu este în întregime corect, dar pentru a nu confunda cititorul începător cu termenii, am făcut un compromis cu mine. conştiinţă.


Mai jos este cea mai cunoscută și mai înțeleasă diagramă a modelului OSI. Vor fi mai multe poze în articol, dar îmi propun să o considerăm pe prima ca principală:



Tabelul este format din două coloane, la etapa inițială ne interesează doar cea potrivită. Vom citi tabelul de jos în sus (cum altfel :)). De fapt, acesta nu este capriciul meu, dar o fac pentru comoditatea asimilării informațiilor - de la simplu la complex. Merge!


Partea dreaptă a tabelului de mai sus arată, de jos în sus, calea datelor transmise prin rețea (de exemplu, de la routerul de acasă la computer). Clarificare - niveluri OSI de jos în sus, atunci aceasta va fi calea datelor pe partea de recepție, dacă de sus în jos, apoi invers - pe partea de expediere. Sper să fie clar deocamdată. Pentru a înlătura complet îndoielile, iată o altă diagramă pentru claritate:



Pentru a urmări traseul datelor și modificările care apar cu acestea de-a lungul nivelurilor, este suficient să ne imaginăm cum se mișcă de-a lungul liniei albastre din diagramă, mai întâi deplasându-se de sus în jos prin nivelurile OSI de la primul computer, apoi de jos. pentru a ajunge la al doilea. Acum să ne uităm la fiecare dintre niveluri mai detaliat.


1) fizică(fizic) - acesta include așa-numitul „mediu de transmisie a datelor”, adică fire, cablu optic, unde radio (în cazul conexiunilor fără fir) și altele asemenea. De exemplu, dacă computerul dvs. este conectat la Internet prin cablu, atunci calitatea transmiterii datelor la primul nivel fizic este determinată de fire, contactele de la capătul firului, contactele conectorului plăcii de rețea a computerului dvs., precum şi circuitele electrice interne de pe plăcile calculatoarelor. Inginerii de rețea au conceptul unei „probleme de fizică” - aceasta înseamnă că specialistul a identificat un dispozitiv de strat fizic ca fiind vinovat pentru „netransmiterea” datelor, de exemplu, un cablu de rețea este rupt undeva sau un semnal scăzut nivel.


2) Canalul(datalink) - acest lucru este mult mai interesant. Pentru a înțelege stratul de legătură, va trebui mai întâi să înțelegem conceptul adresei MAC, deoarece va fi personajul principal în acest capitol :). Adresa MAC este numită și „adresă fizică” sau „adresă hardware”. Este un set de 12 caractere în hexazecimal sistem de numere împărțit la 6 octeți liniuță sau două puncte, de exemplu 08:00:27:b4:88:c1. Este necesar pentru a identifica în mod unic un dispozitiv de rețea în rețea. În teorie, o adresă MAC este unică la nivel global, adică. O astfel de adresă nu poate exista nicăieri în lume și este „cusută” în dispozitivul de rețea în etapa de producție. Cu toate acestea, există modalități simple de a-l schimba într-una arbitrară și, în plus, unii producători lipsiți de scrupule și puțin cunoscuți nu ezită să nituiască, de exemplu, un lot de 5000 de plăci de rețea cu exact același MAC. În consecință, dacă cel puțin doi astfel de „frați acrobați” apar pe aceeași rețea locală, vor începe conflictele și problemele.


Deci, la nivelul conexiunii de date, datele sunt procesate de un dispozitiv de rețea, care este interesat de un singur lucru - adresa noastră MAC notorie, adică. este interesat de destinatarul livrării. Dispozitivele la nivel de legătură includ, de exemplu, comutatoare (cunoscute și ca comutatoare) - stochează în memoria lor adresele MAC ale dispozitivelor de rețea cu care au o conexiune directă, directă și, atunci când primesc date pe portul lor de primire, verifică MAC-ul adresele din date cu adresele MAC disponibile în memorie. Dacă există potriviri, atunci datele sunt transmise destinatarului, restul sunt pur și simplu ignorate.


3) Rețea(rețeaua) este un nivel „sacru”, înțelegerea principiului de funcționare al căruia, în cea mai mare parte, un inginer de rețea îl face astfel. Aici „adresa IP” guvernează deja cu o mână de fier, aici este baza fundațiilor. Datorită prezenței unei adrese IP, devine posibilă transferul de date între computere care nu fac parte din aceeași rețea locală. Transferul de date între diferite rețele locale se numește rutare, iar dispozitivele care permit acest lucru se numesc routere (sunt și routere, deși în ultimii ani conceptul de router a fost foarte distorsionat).


Deci, o adresă IP - fără a intra în detalii, este un anumit set de 12 cifre în sistemul numeric zecimal ("regulat"), împărțit în 4 octeți, separați printr-un punct, care este atribuit unui dispozitiv de rețea atunci când se conectează la rețeaua. Aici trebuie să mergem puțin mai adânc: de exemplu, mulți cunosc adresa din seria 192.168.1.23. Este destul de evident că aici nu există 12 cifre. Cu toate acestea, dacă scrieți adresa în format complet, totul se încadrează la loc - 192.168.001.023. Nu vom săpa nici mai profund în această etapă, deoarece adresarea IP este un subiect separat pentru a spune și a afișa.


4) Stratul de transport(transport) - după cum sugerează și numele, este necesar special pentru livrarea și trimiterea datelor către destinatar. Făcând o analogie cu corespondența noastră îndelungată, adresa IP este adresa efectivă de livrare sau de primire, iar protocolul de transport este poștașul care poate citi și știe să livreze scrisoarea. Protocoalele sunt diferite, în scopuri diferite, dar au același sens - livrarea.


Stratul de transport este ultimul, care interesează în mare parte inginerii de rețea și administratorii de sistem. Dacă toate cele 4 niveluri inferioare au funcționat așa cum ar trebui, dar datele nu au ajuns la destinație, atunci problema trebuie căutată în software-ul unui anumit computer. Protocoalele așa-numitelor niveluri superioare sunt de mare preocupare pentru programatori și uneori pentru administratorii de sistem (dacă este implicat în întreținerea serverelor, de exemplu). Prin urmare, voi descrie pe scurt scopul acestor niveluri. În plus, dacă priviți situația în mod obiectiv, cel mai adesea în practică funcțiile mai multor straturi superioare ale modelului OSI sunt preluate de o aplicație sau serviciu și este imposibil să spuneți fără ambiguitate unde ar trebui să fie atribuit.


5) Sesiune(sesiune) - controlează deschiderea și închiderea unei sesiuni de transfer de date, verifică drepturile de acces, controlează sincronizarea începutului și sfârșitului transferului. De exemplu, dacă descărcați un fișier de pe Internet, atunci browserul dvs. (sau orice prin care descărcați) trimite o solicitare serverului pe care se află fișierul. În acest moment, sunt activate protocoalele de sesiune, care asigură descărcarea cu succes a fișierului, după care, teoretic, sunt dezactivate automat, deși există opțiuni.


6) Executiv(prezentare) - pregătește datele pentru prelucrare de către aplicația finală. De exemplu, dacă acesta este un fișier text, atunci trebuie să verificați codarea (pentru a nu se dovedi a fi „kryakozyabr”), poate să-l despachetați din arhivă... dar aici este clar vizibil ceea ce am despre care a scris mai devreme - este foarte dificil să se separe unde este nivelul reprezentativ și unde începe următorul:


7) Aplicat(Aplicație) - după cum sugerează și numele, nivelul aplicațiilor care folosesc datele primite și vedem rezultatul muncii tuturor nivelurilor modelului OSI. De exemplu, citiți acest text pentru că l-ați deschis în codificarea corectă, cu fontul corect etc. browser-ul dvs.


Și acum că avem o înțelegere cel puțin generală a tehnologiei procesului, consider că este necesar să vorbim despre biți, cadre, pachete, blocuri și date. Dacă vă amintiți, la începutul articolului v-am rugat să nu fiți atenți la coloana din stânga din tabelul principal. Deci, a sosit timpul ei! Acum vom parcurge din nou toate straturile modelului OSI și vom vedea cum biții simpli (zero și uni) se transformă în date. Vom merge și de jos în sus, pentru a nu perturba succesiunea de asimilare a materialului.


Pe fizic nivel avem un semnal. Poate fi electrică, optică, unde radio etc. Până acum aceștia nu sunt nici măcar biți, dar dispozitivul de rețea analizează semnalul primit și îl convertește în zerouri. Acest proces se numește „conversie hardware”. Mai mult, deja în interiorul dispozitivului de rețea, biții sunt combinați în (opt biți într-un octet), procesați și transmisi la stratul de legătură de date.


Pe conductă nivelul avem așa-numitul cadru.În linii mari, acesta este un pachet de octeți, de la 64 la 1518 într-un singur pachet, din care comutatorul citește un antet care conține adresele MAC ale destinatarului și expeditorului, precum și informații tehnice. Văzând adresa MAC care se potrivește în antet și în dvs masa de comutare(memorie), comutatorul transmite cadre cu astfel de potriviri către dispozitivul de destinație


Pe reţea nivel, la toate aceste bunătăți se adaugă și adresele IP ale destinatarului și ale expeditorului, care sunt extrase din același antet și asta se numește punga de plastic.


Pe transport nivel, pachetul este adresat protocolului corespunzător, al cărui cod este indicat în informațiile de serviciu antet și este dat pentru deservire la protocoalele de la nivelurile superioare, pentru care acestea sunt deja date cu drepturi depline, adică informații într-o formă care este digerabilă și utilizabilă de către aplicații.


Acest lucru se va vedea mai clar în diagrama de mai jos:


Acest material este dedicat referinței model de rețea OSI cu șapte straturi. Aici veți găsi răspunsul la întrebarea de ce administratorii de sistem trebuie să înțeleagă acest model de rețea, toate cele 7 niveluri ale modelului vor fi luate în considerare și veți afla, de asemenea, elementele de bază ale modelului TCP/IP, care a fost construit pe baza modelul de referință OSI.

Când am început să mă implic în diverse tehnologii IT și am început să lucrez în acest domeniu, desigur, nu știam de niciun model, nici nu mă gândeam la asta, dar un specialist mai experimentat m-a sfătuit să studiez, sau mai degrabă, înțelegeți pur și simplu acest model, adăugând că „ dacă înțelegeți toate principiile interacțiunii, va fi mult mai ușor să gestionați, să configurați rețeaua și să rezolvați tot felul de probleme de rețea și alte probleme" Eu, desigur, l-am ascultat și am început să caut prin cărți, internet și alte surse de informații, verificând în același timp pe rețeaua existentă dacă toate acestea sunt adevărate în realitate.

În lumea modernă, dezvoltarea infrastructurii de rețea a atins un nivel atât de înalt încât fără a construi măcar o rețea mică, o întreprindere ( incl. si mici) nu vor putea exista pur și simplu în mod normal, astfel încât administratorii de sistem devin din ce în ce mai solicitați. Și pentru construcția și configurarea de înaltă calitate a oricărei rețele, administratorul de sistem trebuie să înțeleagă principiile modelului de referință OSI, doar pentru a învăța să înțelegeți interacțiunea aplicațiilor de rețea și, într-adevăr, principiile transmisiei de date în rețea, voi încerca pentru a prezenta acest material într-un mod accesibil chiar și pentru administratorii începători.

Model de rețea OSI (model de referință de bază pentru interconectarea sistemelor deschise) este un model abstract al modului în care computerele, aplicațiile și alte dispozitive interacționează într-o rețea. Pe scurt, esența acestui model este că organizația ISO ( Organizația Internațională pentru Standardizare) a dezvoltat un standard pentru funcționarea în rețea, astfel încât toată lumea să se poată baza pe el și a existat compatibilitatea tuturor rețelelor și interacțiunea între ele. Unul dintre cele mai populare protocoale de comunicare în rețea, care este utilizat în întreaga lume, este TCP/IP, care este construit pe baza unui model de referință.

Ei bine, să trecem direct la nivelurile acestui model în sine și, mai întâi, să ne familiarizăm cu imaginea generală a acestui model în contextul nivelurilor sale.

Acum să vorbim mai detaliat despre fiecare nivel, este obișnuit să descriem nivelurile modelului de referință de sus în jos, pe această cale are loc interacțiunea, pe un computer de sus în jos și pe computerul unde sunt date. primit de jos în sus, adică datele trec secvenţial prin fiecare nivel.

Descrierea nivelurilor modelului de rețea

Strat de aplicare (7) (strat de aplicație) este punctul de început și, în același timp, de sfârșit al datelor pe care doriți să le transmiteți prin rețea. Acest strat este responsabil pentru interacțiunea aplicațiilor prin rețea, de exemplu. Aplicațiile comunică la acest nivel. Acesta este cel mai înalt nivel și trebuie să vă amintiți acest lucru atunci când rezolvați problemele care apar.

HTTP, POP3, SMTP, FTP, TELNET si altii. Cu alte cuvinte, aplicația 1 trimite o cerere către aplicația 2 folosind aceste protocoale, iar pentru a afla că aplicația 1 a trimis cererea către aplicația 2, trebuie să existe o conexiune între ele, iar protocolul este responsabil pentru acest lucru. conexiune.

Strat de prezentare (6)– acest strat este responsabil pentru codificarea datelor, astfel încât acestea să poată fi transmise ulterior prin rețea și, în consecință, le convertește înapoi, astfel încât aplicația să înțeleagă aceste date. După acest nivel, datele pentru alte niveluri devin aceleași, adică. nu contează ce fel de date sunt, fie că este un document Word sau un mesaj de e-mail.

Următoarele protocoale funcționează la acest nivel: RDP, LPP, NDR si altii.

Nivel de sesiune (5)– este responsabil pentru menținerea sesiunii dintre transferurile de date, i.e. Durata sesiunii diferă în funcție de datele care se transferă, așa că trebuie menținută sau terminată.

Următoarele protocoale funcționează la acest nivel: ASP, L2TP, PPTP si altii.

Strat de transport (4)– este responsabil pentru fiabilitatea transmiterii datelor. De asemenea, împarte datele în segmente și le reunește, deoarece datele vin în diferite dimensiuni. Există două protocoale binecunoscute la acest nivel: TCP și UDP. Protocolul TCP garantează că datele vor fi livrate integral, dar protocolul UDP nu garantează acest lucru, motiv pentru care sunt folosite în scopuri diferite.

Stratul de rețea (3)– este conceput pentru a determina calea pe care ar trebui să o urmeze datele. Routerele funcționează la acest nivel. De asemenea, este responsabil pentru: traducerea adreselor logice și a numelor în cele fizice, determinarea unei rute scurte, comutarea și rutarea, monitorizarea problemelor de rețea. La acest nivel funcționează protocol IPși protocoale de rutare, de ex. RIP, OSPF.

Strat de legătură (2)– asigură interacțiune la nivel fizic; la acest nivel, adrese MAC dispozitive de rețea, erorile sunt, de asemenea, monitorizate și corectate aici, de exemplu. trimite o re-cerere pentru cadrul deteriorat.

Strat fizic (1)– aceasta este conversia directă a tuturor cadrelor în impulsuri electrice și invers. Cu alte cuvinte, transfer fizic de date. Ei lucrează la acest nivel hub-uri.

Așa arată întregul proces de transfer de date din punctul de vedere al acestui model. Este o referință și standardizată și, prin urmare, alte tehnologii și modele de rețea, în special modelul TCP/IP, se bazează pe acesta.

Model TCP IP

Model TCP/IP este ușor diferit de modelul OSI; pentru a fi mai specific, acest model combină unele niveluri ale modelului OSI și există doar 4 dintre ele:

  • Aplicat;
  • Transport;
  • Reţea;
  • Conductă.

Imaginea arată diferența dintre cele două modele și, de asemenea, arată încă o dată la ce niveluri funcționează protocoalele binecunoscute.

Putem vorbi despre modelul de rețea OSI și în special despre interacțiunea computerelor într-o rețea pentru o lungă perioadă de timp și nu se va încadra într-un articol și va fi puțin neclar, așa că aici am încercat să prezint baza acestui model și o descriere a tuturor nivelurilor. Principalul lucru este să înțelegeți că toate acestea sunt cu adevărat adevărate și fișierul pe care l-ați trimis prin rețea trece pur și simplu „ imens„cale înainte de a ajunge la utilizatorul final, dar acest lucru se întâmplă atât de repede încât nu îl observi, în mare parte datorită tehnologiilor de rețea dezvoltate.

Sper că toate acestea vă vor ajuta să înțelegeți interacțiunea rețelelor.