LA lumea modernă Informațiile sunt distribuite în câteva secunde. Asta e doar știrile au apărut, iar după o secundă este deja disponibilă pe orice site de pe Internet. Internetul este considerat una dintre cele mai utile evoluții ale minții umane. Pentru a vă bucura de toate beneficiile care oferă Internetul, trebuie să vă conectați la această rețea.

Puțini oameni știu că procesul simplu de vizită a paginilor web implică o invizibilă utilizatorului, un sistem complex de acțiune. Fiecare tranziție conform legăturii activează sute de operațiuni de calcul diferite în inima calculatorului. În numărul lor de solicitări, primind răspunsuri și multe altele. Pentru fiecare acțiune din rețea, așa-numitele protocoale TCP / IP sunt responsabile. Ce își imaginează?

Orice protocol de Internet TCP / IP funcționează la nivelul acestuia. Cu alte cuvinte, toată lumea este angajată în afacerea lor. Întreaga familie de protocol TCP / IP efectuează simultan o operațiune colosală. Și utilizatorul în acel moment vede numai imagini luminoase și linii lungi de text.

Conceptul de protocoale de stivă

TCP / IP Protocol Stack este un set organizat de protocoale de bază de rețea, care este împărțită printr-o metodă ierarhică în patru nivele și este un sistem de distribuire a transportului pachetelor pe o rețea de calculatoare.

TCP / IP este cel mai cunoscut teanc de protocoale de rețea care este utilizat în prezent. Principiile stack-ului TCP / IP sunt utilizate atât în \u200b\u200brețelele locale, cât și în cele globale.

Principiile utilizării adreselor în stiva protocolului

Stackul de protocol de rețea TCP / IP descrie căile și direcțiile de trimitere a pachetelor. Aceasta este sarcina principală a întregului stivă care rulează pe patru nivele care interacționează cu un algoritm de protocol. Pentru a trimite în mod corespunzător un pachet și livrarea acestuia, exact punctul care a solicitat-o, a fost introdus și standardizat adresa de adresare. Acest lucru a servit drept următoarele sarcini:

  • Adresele de diferite tipuri ar trebui să fie coordonate. De exemplu, conversia domeniului site-ului la adresa IP a serverului și înapoi sau converti numele nodului la adresa și înapoi. Modul în care devine posibilă accesul punctului nu numai cu ajutorul adresei IP, ci și prin nume intuitiv.
  • Adresele ar trebui să fie unice. Acest lucru este cauzat de faptul că, în anumite cazuri, pachetul ar trebui să intre numai într-un punct particular.
  • Necesitatea de a configura rețelele locale de calcul.

În rețelele mici, în cazul în care sunt utilizate mai multe duzini de noduri, toate aceste sarcini sunt efectuate elementar, folosind cele mai simple soluții: elaborarea unei tabel cu o descriere a accesoriului mașinii și adresa IP corespunzătoare IP sau puteți distribui manual toate adresele de rețea la Toate adaptoarele de rețea. Cu toate acestea, pentru rețele mari pentru o mie sau două mii de mașini, sarcina de adrese de emitere manuală nu pare a fi așa.

De aceea, pentru rețelele TCP / IP, a fost inventată o abordare specială, care a devenit trăsătură distinctivă Protocoale de stivă. Conceptul a fost introdus - scalabilitate.

Protocoalele TCP / IP Stack

Există o anumită ierarhie. Stackul de protocol TCP / IP oferă patru nivele, fiecare dintre care procesează stabilirea protocolului:

Nivelul aplicat.: Creat pentru a asigura că activitatea utilizatorului cu rețeaua la acest nivel este procesată de tot ceea ce vede și utilizatorul. Nivelul permite utilizatorului să acceseze diverse servicii de rețea, de exemplu: accesul la baze de date, capacitatea de a citi lista de fișiere și de a le deschide, trimite un e-mail sau deschide o pagină web. Împreună cu datele și acțiunile utilizatorilor, informațiile de service sunt transmise la acest nivel.

Nivelul de transport: Acesta este un mecanism de transmitere a pachetelor în forma sa pură. La acest nivel, nu contează conținutul pachetului, nici aparținând niciunei acțiuni. La acest nivel, numai adresa expedierii pachetului și adresa nodului la care trebuie livrat pachetul. De regulă, mărimea fragmentelor transmise utilizând diferite protocoale poate varia, deoarece la acest nivel blocurile de informații pot fi zdrobite la ieșire și asamblați într-un singur întreg la punctul de destinație. Acest lucru a cauzat posibila pierdere a datelor dacă în momentul transmiterii fragmentului următor va exista o ruptură pe termen scurt a conexiunii.

Nivelul de transport include multe protocoale care sunt împărțite în clase de cele mai simple, care transmit pur și simplu date complexe, care sunt echipate cu o funcționalitate de confirmare a recepției sau o cerere a unui bloc afectat de date.

Acest nivel oferă două tipuri de servicii mai mari (aplicate).

  • Exerciții de livrare garantată utilizând protocolul TCP.
  • Furnizează transportul de transport, dacă este posibil prin protocolul UDP .

Pentru a asigura livrarea garantată, conform protocolului TCP, se stabilește o conexiune care vă permite să setați ieșirea pe pachetele de ieșire și să confirmați recepția lor la intrare. Numerotarea pachetelor și confirmarea recepției este așa-numitele informații de serviciu. Acest protocol acceptă transferul în modul duplex. În plus, datorită reglementărilor atente ale protocolului, este considerată foarte fiabilă.

Protocolul UDP este proiectat pentru momente atunci când nu este posibilă configurarea transmisiei TCP prin intermediul protocolului TCP sau trebuie să salvați segmentul de date de rețea. De asemenea, protocolul UDP poate interacționa cu un protocoale de nivel superior pentru a crește fiabilitatea transmisiei de pachete.

Rețea sau "nivel de internet": Nivel de bază pentru întregul model TCP / IP. Funcționalitatea principală a acestui nivel este identică cu același nivel al modelului OSI și descrie mișcarea pachetelor într-o rețea compozită constând din mai multe subrețe mai mici. Se leagă nivelurile de protocol adiacente TCP / IP.

Nivelul de rețea este un liant între nivelul superior de transport și nivelul inferior al interfețelor de rețea. Nivelul de rețea utilizează protocoalele care primesc o solicitare de la nivelul transportului și prin adresele reglementate, interogarea procesată este transferată la protocolul de interfață de rețea, indicând modul de trimitere a datelor la ce adresă.

La acest nivel se utilizează următoarele protocoale de rețea TCP / IP: ICMP, IP, RIP, OSPF. Principalul și cel mai popular la nivel de rețea, desigur, este protocolul IP (Internet Protocol). Sarcina principală este de a transfera pachetele de la un router la altul până când unitatea de date cade pe interfața de rețea a nodului de destinație. Protocolul IP se desfășoară nu numai pe gazde, ci și pe hardware-ul de rețea: routere și comutatoare gestionate. Protocolul IP funcționează pe principiul livrării non-marginale cu eforturi maxime. Adică, pentru a trimite un pachet, nu este nevoie să instalați conexiunea în avans. Această opțiune conduce la economisirea traficului și a timpului pe circulația pachetelor de servicii inutile. Pachetul este trimis spre destinație și este posibil ca nodul să rămână inaccesibil. În acest caz, este returnat un mesaj de eroare.

Interfețe de rețea: Acesta este responsabil pentru asigurarea faptului că subrețele cu tehnologii diferite pot interacționa între ele și pot transmite informații în același mod. Este implementat de doi pași simpli:

  • Codificarea unui pachet pe unitate de rețea intermediară de date.
  • Conversia informațiilor despre destinație în standardele subrețului dorit și trimiterea unei unități de date.

Această abordare vă permite să extindeți în mod constant numărul de tehnologii de construcție a rețelei acceptate. De îndată ce apare o nouă tehnologie, acesta intră imediat în stack-ul de punctuare TCP / IP și permite rețelelor cu tehnologii vechi să transmită date în rețea, construite folosind standarde și metode mai moderne.

Unități de date transmise

În timpul existenței unui astfel de fenomen, ca protocoale TCP / IP, termenii standard au fost stabiliți ca parte a unităților de date. Datele de transmisie pot fi zdrobite în mod diferit, în funcție de tehnologiile utilizate de rețeaua de destinație.

Pentru a avea o idee despre ceea ce și în ce moment se întâmplă cu datele, era necesar să se ridice cu următoarea terminologie:

  • Flux de date - Date care se adresează nivelului de transport din protocoalele de nivel superior de aplicare.
  • Segment - un fragment al datelor privind fluxul standardelor de protocol TCP este zdrobit.
  • Datagram. (În special analfabetul este pronunțat ca "datagram") - unități de date care sunt obținute prin zdrobirea fluxului folosind protocoalele care rulează fără a stabili o conexiune (UDP).
  • Pachet - Unitatea de date produsă de protocolul IP.
  • Protocoalele TCP / IP Pack Pachete IP în rețelele transmise de date care sunt numite cadre. sau cadre..

Tipuri de adrese de stivă TCP / IP

Orice protocol de transmisie a datelor TCP / IP pentru identificarea nodurilor utilizează unul dintre următoarele tipuri de adrese:

  • Adrese locale (hardware).
  • Adresele de rețea (adrese IP).
  • Nume de domenii.

Adresele locale (adresele MAC) sunt utilizate în majoritatea rețelelor de computere tehnologice, pentru a identifica interfețele de rețea. Sub cuvântul local, vorbind despre TCP / IP, ar trebui să înțelegeți interfața care nu acționează în rețeaua compozită, ci în aceeași subrețea. De exemplu, subrețelea interfeței conectate la Internet va fi locală, iar Internetul este compozit. Rețeaua locală poate fi construită pe orice tehnologie și, indiferent de acest lucru, din punctul de vedere al rețelei compozite, mașina care conține o subrețea dedicată separat va fi numită local. Astfel, atunci când ambalajul se încadrează în rețeaua locală, atunci adresa IP este asociată cu o adresă locală, iar pachetul este trimis la adresa MAC a interfeței de rețea.

Adresele de rețea (adrese IP). Tehnologia TCP / IP oferă propria sa adresare globală a nodurilor, pentru a rezolva o sarcină simplă - asociații de rețele cu tehnologie diferită într-o structură mare de transfer de date. Adresarea IP este complet independentă de tehnologia utilizată în rețeaua locală, dar adresa IP permite interfeței de rețea să reprezinte mașina în rețeaua compozită.

Ca rezultat, a fost dezvoltat un sistem în care nodurile sunt atribuite o adresă IP și o mască de subrețea. Masca de subrețea arată câte biți sunt oferite numărului de rețea și cât de mult este sub numărul nodului. Adresa IP constă din 32 de biți împărțiți în 8 blocuri de biți.

La transferul pachetului, acesta este atribuit informații despre numărul de rețea și numărul nodului în care trebuie trimis pachetul. În primul rând, routerul trimite un pachet la subrețea dorită, iar apoi nodul este selectat pe care îl așteaptă. Acest proces este realizat prin protocolul de soluționare a adresei (ARP).

Adresele de domenii din rețelele TCP / IP sunt gestionate de un sistem de nume de domeniu special conceput (DNS). Pentru a face acest lucru, există servere care compară numele de domeniu prezentat sub forma unui șir de text cu adresa IP și trimite pachetul deja în conformitate cu adresarea globală. Prin urmare, nu există conformitatea între numele computerului și adresa IP, prin urmare, pentru a converti un nume de domeniu la adresa IP la emițător la dispozitiv, trebuie să contactați tabelul de rutare, care este creat pe serverul DNS. De exemplu, scriem adresa site-ului în browser, serverul DNS compară cu adresa IP a serverului pe care se află site-ul, iar browserul citește informații, primind răspunsul.

În plus față de Internet, este posibil să se emite nume de domenii la computere. Astfel, procesul de lucru la rețeaua locală este simplificat. Dispare necesitatea de a memora toate adresele IP. În schimb, puteți veni cu fiecare computer orice nume și utilizați-l.

Adresa IP. Format. Componente. Mască de rețea

Adresa IP este un număr de 32 de biți, care în vizualizarea tradițională este înregistrată sub formă de numere, de la 1 la 255, împărțită la puncte.

Vizualizați adresa IP în diferite formate de înregistrare:

  • Vizualizarea zecimală a adreselor IP: 192.168.0.10.
  • Aspectul binar de aceeași adresă IP: 110000000101000.00000000.00001010.
  • Înregistrarea adresei într-un sistem de număr hexazecimal: C0.A8.00.0A.

Nu există un semn de separare între ID-ul rețelei și numărul punctului din înregistrare, dar computerul este capabil să le împartă. Pentru aceasta există trei moduri:

  1. Frontieră fixă. În acest caz, întreaga adresă este împărțită condiționat în două părți ale toleranței cu lungimea fixă. Astfel, dacă un byte este dat sub numărul de rețea, atunci primim 2 8 rețele de 2 24 de noduri. Dacă frontiera se deplasează pe octeți spre dreapta, atunci rețelele vor deveni mai mult - 2 16, iar nodurile vor deveni mai puțin - 2 16. Până în prezent, abordarea este considerată depășită și nu este utilizată.
  2. Mască de rețea. Masca merge asociată cu adresa IP. Masca are o secvență de valori "1" în acele descărcări care sunt atribuite numărului de rețea și un anumit număr de zerouri în acele locuri ale adresei IP, care sunt atribuite numărului nodului. Granița dintre unități și zerouri în masca este limita dintre ID-ul rețelei și ID-ul nodului în adresa IP.
  3. Metodă de adrese. Metoda de compromis. Când se utilizează, dimensiunile rețelelor nu pot fi selectate de utilizator, cu toate acestea, există cinci clase - A, B, C, D, E. trei clase - A, B și C - sunt destinate diferitelor rețele și D și D și D E sunt rezervate rețelelor de uz special. În sistemul de clasă, fiecare clasă are numărul de rețea de frontieră și ID-ul nodului.

Clase de adrese IP

LA clasa a. Sub rețelele în care rețeaua este identificată de primul octet, iar cele trei rămase sunt numărul nodului. Toate adresele IP care au în intervalul lor valoarea primului octet de la 1 la 126 sunt clasa A. Clasa A rețele cantitative, se dovedește destul de mult, dar în fiecare dintre ele poate fi de până la 2 24 de puncte.

Clasa B. - Rețelele în care doi biți mai mari sunt egali cu 10. În ele, 16 biți sunt afișați sub numărul de rețea și identificatorul punctului. Ca urmare, se dovedește că numărul de rețele de clasa B diferă în mare măsură de numărul de rețele de clasă A cantitativ, dar au mai puține noduri - până la 65.536 (2 16) PC-uri.

În rețele clasa S. - Foarte puține noduri - 2 8 fiecare, dar numărul de rețele este imens, datorită faptului că identificatorul rețelei în astfel de structuri ocupă cât mai mulți octeți.

Reţea clasa D. - se referă deja la rețelele speciale. Începe cu o secvență de 1110 și se numește o adresă de grup (adresa multicast). Interfețele care au adrese de clasa A, B și C pot intra în grup și pot primi în plus față de adresa grupului individual.

Adrese clasa E. - În rezervă pentru viitor. Astfel de adrese încep cu o secvență de 11110. Cel mai probabil, aceste adrese vor fi aplicate ca grup atunci când lipsa adreselor IP va apărea în rețeaua globală.

Configurarea protocolului TCP / IP

Setarea protocolului TCP / IP este disponibilă pe toate sistemele de operare. Este Linux, CentOS, Mac OS X, Free BSD, Windows 7. Protocolul TCP / IP necesită numai prezența unui adaptor de rețea. Desigur, sistemele de operare ale serverului sunt capabile să fie mai mari. Foarte larg, folosind serviciile de servere, protocolul TCP / IP este configurat. Adresele IP în computerele desktop convenționale sunt setate în setări conexiuni de retea. Există o adresă de rețea, gateway-ul - adresa IP a punctului care are acces la rețeaua globală și adresele punctelor pe care se află serverul DNS.

Protocolul de Internet TCP / IP poate fi configurat în modul manual. Deși nu este întotdeauna nevoie. Puteți primi parametrii protocolului TCP / IP de la adresa serverului distribuitor dinamic în modul automat. Această metodă este utilizată în rețele corporative mari. Pe serverul DHCP, puteți mapa adresa locală la rețea și, de îndată ce aparatul va apărea în rețea cu o adresă IP dată, serverul va da imediat o adresă IP pre-pregătit. Acest proces se numește rezervare.

Protocolul de rezoluție a adresei TCP / IP

Singura modalitate de a stabili legătura dintre adresa MAC și adresa IP este întreținerea tabelului. Dacă există o masă de rutare, fiecare interfață de rețea este conștientă de adresele sale (locale și rețele), dar întrebarea apare cum să organizați în mod corespunzător schimbul de pachete între noduri utilizând protocolul TCP / IP 4.

Care a fost inventat Protocolul de rezoluție a adreselor (ARP)? Pentru a asocia TCP / IP-ul protocoalelor și al altor sisteme de adresare. Fiecare nod creează tabelul de conformitate ARP, care este completat de un sondaj al întregii rețele. Se întâmplă după fiecare oprire a computerului.

Tabelul ARP.

Acesta este exemplul tabelului ARP.

Protocoalele stive

Stack-ul de protocoale este un set ierarhic organizat de protocoale de rețea de diferite nivele, suficiente pentru a organiza și asigura interacțiunea nodurilor din rețea. În prezent, rețelele utilizează un număr mare de stive de protocol de comunicare. Cele mai populare sunt stivele: TCP / IP, IPX / SPX, NetBIOS / SMB, Novell Netware, Decnet, XNS, SNA și OSI. Toate aceste stive, în plus față de SNA, la nivel scăzut - fizic și canal - utilizați aceleași etemete bine standardizate, protocoale de inel Token, FDDI și altele care vă permit să utilizați în toate rețelele aceleași echipamente. Dar, la nivelurile de vârf, toate stivele funcționează în propriile lor protocoale. Aceste protocoale nu corespund adesea modelului de OSI recomandat la niveluri. În special, funcțiile unei sesiuni și a nivelului reprezentativ sunt, de obicei, combinate cu un nivel aplicat. O astfel de neconformitate se datorează faptului că modelul OSI a apărut ca urmare a generalizării stivelor existente și utilizate efectiv utilizate și nu invers.

Toate protocoalele incluse în stack sunt dezvoltate de un producător, adică că sunt capabili să lucreze cât mai repede și eficient posibil.

Un punct important În funcționarea echipamentului de rețea, în special adaptorul de rețea, este legarea protocoalelor. Vă permite să utilizați diferite stive de protocol la servirea unui adaptor de rețea. De exemplu, puteți utiliza simultan stive TCP / IP și IPX / SPX. Dacă brusc, atunci când încercați să stabiliți comunicarea cu destinatarul utilizând primul stack, a apărut o eroare, va trece automat la utilizarea protocolului de la următoarea stack. Un punct important în acest caz este ordinea obligatorie, deoarece afectează cu siguranță utilizarea unuia sau a unui alt protocol din diferite stive.

Indiferent de cât de mult adaptoare de rețea Instalat în computer, legarea poate fi efectuată atât "una la mai multe", cât și "oarecum", adică un teanc de protocoale poate fi legat de mai multe adaptoare sau mai multe stive la un adaptor.

NetWare este un sistem de operare de rețea și un set de protocoale de rețea care sunt utilizate în acest sistem pentru a interacționa cu computerele client conectate la rețea. Protocoalele de rețea se bazează pe stiva protocolului XNS. În prezent, NetWare acceptă protocoalele TCP / IP și IPX / SPX. Novell Netware a fost popular în anii '80 și 90, datorită unei eficiențe mai mari în comparație cu sistemele de operare cu scop general. Acum este o tehnologie depășită.

Xers Servicii de rețea Protocolul de transport Internet (Xerox Network Services Internet Protocol) este dezvoltat de Xerox pentru a transmite date despre rețelele Ethernet. Conține 5 nivele.

Nivelul 1 - Mediu de transmisie - implementează funcțiile nivelului fizic și al canalului în modelul OSI:

* gestionează schimbul de date între dispozitiv și rețea;

* Trasee date între dispozitive de o rețea.

Nivelul 2 - Firewall - corespunde unui strat de rețea în modelul OSI:

* gestionează schimbul de date între dispozitive situate în diferite rețele (oferă servicii Datagram în termenii modelului IEEE);

* Descrie metoda de trecere prin rețea.

Nivelul 3 - Transport - corespunde unui vehicul în modelele OSI:

* Oferă link-ul "capăt la capăt" între sursă și receptorul de date.

Nivelul 4 - Controlul - respectă sesiunea și nivelul reprezentativ în modelul OSI:

* gestionează prezentarea datelor;

* Gestionează controlul asupra resurselor dispozitivelor.

Nivelul 5 - aplicat - corespunde celor mai înalte niveluri din modelul OSI:

* Oferă funcții de procesare a datelor pentru sarcinile aplicate.

Protocolul TCP / IP Stack (protocolul de control al transmisiei / Protocolul Internet) este cel mai frecvent și funcțional. Funcționează în rețele locale de orice scară. Acest stivă este stack-ul principal din Internetul global. Suportul de stivă a fost implementat în computere cu sistem de operare Unix. Ca rezultat, popularitatea protocolului TCP / IP a crescut. Stackul protocolului TCP / IP include suficient de multe protocoale care funcționează la diferite niveluri, dar a primit numele datorită a două protocoale - TCP și IP.

TCP (protocol de control al transmisiei) - un protocol de transport pentru gestionarea transferului de date în rețele utilizând teancul de protocol TCP / IP. IP (Internet Protocol) este un protocol la nivel de rețea conceput pentru a furniza date într-o rețea compozită utilizând unul dintre protocoalele de transport, cum ar fi TCP sau UDP.

Nivelul inferior al stack-ului TCP / IP utilizează protocoale standard de transmisie a datelor, ceea ce face posibilă utilizarea acestuia pe rețele utilizând orice tehnologii de rețea și pe computere cu orice sistem de operare.

Inițial, protocolul TCP / IP a fost dezvoltat pentru a fi utilizat în rețelele globale, motiv pentru care este cel mai flexibil. În special, datorită capacității de ambalaj de fragmentare, date, în ciuda calității canalului de comunicare, în orice caz ajung la destinatar. În plus, datorită prezenței protocolului IP, devine posibilă transmiterea datelor între segmentele de rețea eterogene.

Dezavantajul protocolului TCP / IP este complexitatea administrării rețelei. Astfel, pentru funcționarea normală a rețelei necesită servere suplimentare, cum ar fi DNS, DHCP etc., menținând funcționarea căreia și ocupă cea mai mare parte a timpului de administrator de timp. Limoncelli T., Hogan K., Cheilap S. - Sistep și administrarea rețelei. A doua ed. Anul 2009. 944s.

Stack de protocol IPX / SPX (schimb de pachete de pachete Internet / Schimbare) este dezvoltarea și proprietatea Novell. A fost conceput pentru nevoi sistem de operare Novell Netware, care până recent a ocupat una dintre cele mai importante poziții printre sistemele de operare de servere.

Protocoalele IPX și SPX funcționează pe nivelurile de rețea și de transport ale modelului ISO / OSI, respectiv, se completează perfect reciproc.

Protocolul IPX poate transmite date utilizând o datagramă folosind aceste informații de rutare a rețelei. Cu toate acestea, pentru a transfera date pe traseul găsit, trebuie să stabiliți mai întâi o legătură între expeditor și destinatar. Acest lucru este angajat în protocolul SPX sau în orice alt protocol de transport care lucrează într-o pereche cu IPX.

Din păcate, stack-ul de protocol IPX / SPX se concentrează inițial pe deservirea rețelelor mici, prin urmare, în rețele mari, utilizarea sa este ineficientă: utilizarea excesivă a difuzării în liniile de comunicații cu viteză redusă este inacceptabilă.

Pe nivelurile fizice și ale canalului, stiva OSI suportă Ethernet, inelul token, protocoalele FDDI, precum și protocoalele LLC, X.25 și ISDN, care sunt, utilizează toate protocoalele populare de nivel scăzut proiectate în afara stivei, cum ar fi cele mai multe altele stive. Nivelul rețelei include protocoalele de rețea de rețea relativ rar (Conp) și protocolul de rețea fără conexiune (CLNP). Protocoalele de rutare a stivă a Stack Acestea sunt (sistemul final - sistemul intermediar) între sistemele finale și intermediare și este (sistem intermediar - sistem intermediar) între sistemele intermediare. Nivelul de transport OSI Stack ascunde diferențele dintre serviciile de rețea cu o conexiune care stabilește și fără conectare, astfel încât utilizatorii primesc calitatea necesară a serviciului indiferent de stratul de rețea subiacente. Pentru a asigura acest lucru, nivelul de transport necesită ca utilizatorul să ceară calitatea dorită a serviciului. Serviciile de nivel aplicat oferă transfer de fișiere, emulare terminală, directoare și poștă. Dintre acestea, serviciul de director este cel mai popular (standard x.500), e-mail (X.400), protocol terminal virtual (VTP), protocol de transmisie, protocol de gestionare a fișierelor și fișiere (FTAM), redirecționare și gestionare (JTM).

Un teanc destul de popular al protocoalelor, a cărui dezvoltare a fost angajată în IBM și, respectiv, Microsoft, axat pe utilizarea acestor companii în produse. Ca și în cazul TCP / IP, stack-ul NetBIOS / SMB, cum ar fi Ethernet, Inel token și altele, lucrează, cum ar fi Ethernet, Inel token și altele, ceea ce face posibilă utilizarea acestuia într-o pereche cu orice echipament de rețea activ. Protocoalele NetBIOS și SMB și SMB (bloc de mesaje server) funcționează pe nivelurile superioare (sistemul de intrare / ieșire de rețea de bază).

Protocolul NetBIOS a fost proiectat la mijlocul anilor '80 din secolul trecut, dar în curând a fost înlocuit cu mai multor interfață de utilizator NetBIOS extinsă (NetBIOS), care permite organizarea unui schimb de informații foarte eficient în rețelele care constau în mai mult de 200 computere.

Pentru a face schimb de date între computere, sunt utilizate numere logice, atribuite dinamic computerelor atunci când sunt conectate la rețea. În același timp, tabelul de nume se aplică fiecărei rețele de calculatoare. Lucrul cu numele de grup este, de asemenea, acceptat, ceea ce vă permite să transferați date la mai mulți destinatari simultan.

Principalele avantaje ale Protocolului Netbei sunt viteza de muncă și cerințele de resurse foarte scăzute. Dacă trebuie să organizați un schimb de date rapide într-o rețea mică constând dintr-un segment, cel mai bun protocol pentru acest lucru nu este găsit. În plus, pentru a livra mesaje conectare instalată Nu este o cerință obligatorie: În absența conexiunii, protocolul utilizează o metodă Datagem atunci când mesajul este livrat împreună cu adresa destinatarului și expeditorului și "începe pe calea", care se deplasează de la un computer la altul.

Cu toate acestea, NetbeUI are un dezavantaj semnificativ: este complet lipsit de conceptul de pachete de rutare, astfel încât utilizarea sa în componente complexe nu are sens. Pyatibratov a.P., Gudino L.P., Kirichenko A.A. Mașini video, rețele și sisteme de telecomunicații Moscova 2009. 292s.

În ceea ce privește protocolul SMB (blocul de mesaje server), atunci rețeaua este organizată pe cele trei cele mai multe niveluri înalte - sesiune, nivel de prezentare și nivel de aplicare. Este când se utilizează că devine posibilă accesarea fișierelor, imprimantelor și a altor resurse de rețea. Acest protocol a fost îmbunătățit de mai multe ori (au ieșit trei versiuni), ceea ce a făcut posibilă aplicarea acestuia chiar și în sistemele de operare moderne, cum ar fi Microsoft Vista și Windows 7. Protocolul SMB este universal și poate lucra într-o pereche cu aproape orice transport protocol, cum ar fi TCP / IP și SPX.

Decnetul Stack (Net echipa Echipamente Digital Corporation) conține 7 nivele. În ciuda diferenței de terminologie, nivelurile de decnet sunt foarte asemănătoare cu nivelurile modelului OSI. Decnetul implementează conceptul de arhitectură de rețea ADN (arhitectura rețelei digitale) dezvoltată de Dec, conform căreia sistemele heterogene de calcul (EMM de diferite clase) care funcționează sub controlul diferitelor sisteme de operare pot fi combinate în rețelele de informare și calculare teritorial distribuite.

Protocolul SNA (arhitectura rețelei de sistem) al IBM este conceput pentru comunicarea la distanță cu calculatoare mari și conține 7 nivele. SNA se bazează pe conceptul principal (gazdă) -mashina și oferă acces la terminale la distanță la mainframe IBM. Principala caracteristică distinctivă a SNA este disponibilitatea accesului la fiecare terminal la orice program aplicat la computerul principal. Arhitectura rețelei de sistem este implementată pe baza metodei virtuale de acces la telecomunicații - Metoda VTAM Virtual Telecomunicații (accesul virtual de telecomunicații) în computerul principal. VTAM gestionează toate liniile de comunicație și terminalele și fiecare terminal are acces la toate aplicațiile.

Acest articol va spune elementele de bază ale modelului TCP / IP. Pentru o mai bună înțelegere, sunt descrise principalele protocoale și servicii. Principalul lucru nu este de a vă grăbi și de a încerca să înțelegeți fiecare lucru în etape. Toate acestea sunt interdependente și fără să înțeleagă una, va fi dificil să înțelegem cealaltă. Acesta vine aici informații foarte superficiale, astfel încât acest articol poate fi numit în siguranță "Stack de protocol TCP / IP pentru ceainici". Cu toate acestea, multe lucruri aici nu sunt la fel de dificil de înțelegere, deoarece poate părea la prima vedere.

TCP / IP.

TCP / IP Stack - Model de transmisie a datelor de rețea În rețea, determină procedura de interacțiune a dispozitivelor. Datele sunt la nivelul canalului și sunt procesate alternativ fiecare nivel de mai sus. Stack-ul este prezentat sub formă de abstractizare, care explică principiile procesării și primirea datelor.

Stack-ul de rețea TCP / IP are 4 nivele:

  1. Canal (link).
  2. Rețea (Internet).
  3. Transport.
  4. Aplicație (aplicație).

Nivelul aplicat.

Nivelul aplicației oferă posibilitatea de a interacționa între aplicație și alte niveluri ale stivei de protocol, analizează și convertește informațiile primite în formatul potrivit pentru software.. Este cel mai apropiat de utilizator și interacționează direct cu acesta.

  • Http;
  • SMTP;

Fiecare protocol determină propria ordine și principiile de a lucra cu datele.

HTTP (HyperText Transfer Protocol) este destinat transmiterii datelor. Acestea sunt trimise, de exemplu, documente în format HTML, care servesc ca bază a paginii web. Schema de lucru simplificată este reprezentată ca un "client - server". Clientul trimite o cerere, serverul o ia, procesează corect și returnează rezultatul final.

Servește standardul de transfer de fișiere în rețea. Clientul trimite o solicitare unui anumit fișier, serverul caută acest fișier în baza sa de date și când detectarea reușită îl trimite ca răspuns.

Folosit pentru a transfera e-mailuri. Funcționarea SMTP include trei etape consecutive:

  1. Definiția adresei expeditorului. Acest lucru este necesar pentru a returna literele.
  2. Determinarea destinatarului. Acest pas poate fi repetat de mai multe ori atunci când specificați mai mulți destinatari.
  3. Definirea conținutului mesajului și a trimiterii. Datele privind tipul de mesaj sunt transmise ca informații despre serviciu. Dacă serverul confirmă disponibilitatea de a lua pachetul, se efectuează tranzacția în sine.

Antet (antet)

Titlul conține date de serviciu. Este important să înțelegem că acestea sunt destinate doar unui anumit nivel. Aceasta înseamnă că, de îndată ce pachetul se duce la destinatar, acesta va fi procesat acolo de-a lungul aceluiași model, dar în ordine inversă. Antetul imbricat va purta informații specialecare pot fi procesate doar într-un anumit mod.

De exemplu, titlul încorporat la nivelul transportului, pe de altă parte, poate fi procesat numai de către nivelul de transport. Alții o ignoră pur și simplu.

Nivelul de transport

La nivel de transport, informațiile obținute sunt procesate ca un singur bloc, indiferent de conținut. Mesajele primite sunt împărțite în segmente, se adaugă un antet și toate acestea sunt de mai jos.

Protocoalele de transfer de date:

Cel mai comun protocol. Este responsabil pentru transferul de date garantat. La trimiterea pachetelor, controlul lor este monitorizat, procesul de tranzacție. Aceasta înseamnă că informațiile vor ajunge la "sigure și conservare", indiferent de condiții.

UDP (protocolul Datagram de utilizator) este al doilea protocol cel mai popular. Este, de asemenea, responsabil pentru transferul de date. O caracteristică distinctivă se află în simplitatea sa. Pachetele sunt trimise pur și simplu fără a crea o conexiune specială.

TCP sau UDP?

Fiecare dintre aceste protocoale are propriul său domeniu de aplicare. Este logic datorită caracteristicilor lucrării.

Principalul avantaj al UDP este rata de transfer. TCP este un protocol complex cu mai multe verificări, în timp ce UDP pare mai simplificată și, prin urmare, mai rapidă.

Lipsa minciunilor în simplitate. Datorită lipsei de verificări, integritatea datelor nu este garantată. Astfel, informațiile sunt trimise pur și simplu, iar toate verificările și manipulările similare rămân la cerere.

UDP este folosit, de exemplu, pentru a vizualiza videoclipul. Pentru fișierul video, pierderea unui număr mic de segmente nu este critică, în timp ce viteza de descărcare este cel mai important factor.

Cu toate acestea, dacă aveți nevoie să trimiteți parole sau detalii card bancarNevoia de utilizare a TCP este evidentă. Pierderea chiar și cea mai memorială parte a datelor poate implica consecințe catastrofale. Viteza în acest caz nu este la fel de importantă ca siguranța.

Nivel de rețea.

Nivelul de rețea din informațiile primite formează pachete și adaugă antetul. Cea mai importantă parte a datelor este adresele IP și MAC ale expeditorilor și destinatarilor.

Adresa IP (adresa de protocol Internet) este adresa logică a dispozitivului. Conține informații despre locația dispozitivului din rețea. Un exemplu de scriere :.

Adresa MAC (adresa de control al accesului media) este adresa fizică a dispozitivului. Folosit pentru a identifica. Alocate echipamentelor de rețea la etapa de producție. Prezent ca o cameră de șase baruri. De exemplu: .

Nivelul de rețea este responsabil pentru:

  • Definiția rutelor de livrare.
  • Transferați pachetele între rețele.
  • Atribuirea adreselor unice.

Routere - Dispozitive pentru strat de rețea. Au deschis calea dintre computer și server pe baza datelor.

Cel mai popular protocol al acestui nivel este IP.

IP (Internet Protocol) este un protocol online conceput pentru a aborda rețeaua. Folosit pentru a construi căi prin care are loc schimbul de pachete. Nu are nici un mijloc de verificare și confirmare a integrității. Pentru a asigura garanțiile de livrare, se utilizează TCP, care utilizează IP ca protocol de transport. Înțelegerea principiilor acestei tranzacții explică în mare măsură baza modului în care funcționează stiva protocol TCP / IP.

Tipuri de adrese IP

Două tipuri de adrese IP sunt utilizate în rețele:

  1. Public.
  2. Privat.

Public (public) sunt utilizate pe Internet. Regula principală este unicitatea absolută. Un exemplu de utilizare a acestora - fiecare dintre acestea având propria sa adresă IP pentru a interacționa cu Internetul. O astfel de adresă este numită public.

Private (private) nu sunt utilizate pe Internet. În rețeaua globală, astfel de adrese nu sunt unice. Un exemplu este o rețea locală. Fiecare dispozitiv i se atribuie o adresă IP unică în cadrul acestei rețele.

Interacțiunea cu Internetul este efectuată prin router, care, după cum sa menționat mai sus, are propria sa adresă publică IP. Astfel, toate computerele conectate la router sunt trimise pe Internet în numele unei adrese IP publice.

IPv4.

Cea mai comună versiune a Protocolului Internet. Precede IPv6. Format de înregistrare - patru numere de opt biți, separate de puncte. Prin semnul FRACI indică masca de subrețea. Lungimea adresei este de 32 de biți. În majoritatea covârșitoare Când vine vorba de o adresă IP, este IPv4.

Formatul de înregistrare :.

IPv6.

Această versiune este destinată rezolvării problemelor cu versiunea anterioară. Lungimea adresei - 128 de biți.

Principala problemă pe care IPv6 decide este epuizarea adreselor IPv4. Condițiile prealabile au început să apară la începutul anilor '80. În ciuda faptului că această problemă a intrat în stadiul ascuțit deja în perioada 2007-2009, introducerea IPv6 este foarte lent "câștigând ritm".

Principalul avantaj al IPv6 este o conexiune mai rapidă la internet. Acest lucru se datorează faptului că protocolul nu este obligat să difuzeze adresele. Se efectuează o rutare ușoară. Este mai puțin costisitoare și, prin urmare, accesul la resursele de Internet este furnizat mai rapid decât în \u200b\u200bIPv4.

Un exemplu de scriere :.

Există trei tipuri de adrese IPv6:

  1. Unicast.
  2. Anycast.
  3. Multicast.

Unicast - tip de IPv6 Unicast. Când trimiteți pachetul ajunge la o interfață situată la adresa corespunzătoare.

Anycast se referă la adresele IPv6 de grup. Pachetul postat va cădea în cea mai apropiată interfață de rețea. Folosit numai de routere.

Multicast este multicast. Aceasta înseamnă că pachetul ambalat va ajunge la toate interfețele care au un grup multicast. Spre deosebire de difuzare, care este "difuzarea pentru toți", multicast difuzează doar un anumit grup.

Mască de rețea

Masca de subrețea detectează numărul de subrețea și numărul gazdei de la adresa IP.

De exemplu, adresa IP are o mască. În acest caz, formatul de înregistrare va arăta așa. Numărul "24" este numărul de biți din mască. Opt biți sunt egali cu un octet, care poate fi numit și octet.

Dacă mai mult, atunci masca de subrețea poate fi reprezentată în sistemul de număr binar în acest mod :. Are patru octeți, iar înregistrarea este formată din "1" și "0". Dacă pliați numărul de unități, atunci ajungem în cantitatea de "24". Din fericire, nu este necesar să se bazeze pe unități, deoarece într-o singură valoare octet - 8. Vedem că trei dintre ele sunt pline de unități, pliam și primim "24".

Dacă vorbim despre masca de subrețea, atunci în reprezentarea binară are într-un octic sau unități sau zerouri. În acest caz, secvența este acel octeți cu unități care merg mai întâi, dar numai apoi cu zerouri.

Luați în considerare un exemplu mic. Există o adresă IP și o mască de subrețea. Considerăm și scriem :. Comparați acum masca cu adresa IP. Acele ochte ale măștilor în care toate valorile sunt egale cu una (255) lăsați octetele corespunzătoare în adresă IP neschimbată. Dacă valoarea zeroului (0), atunci octetele din adresa IP devin, de asemenea, zerouri. Astfel, în valoarea adresei de subrețea pe care o obținem.

Subnet și gazdă

Subresa este responsabilă pentru separarea logică. În esență, acestea sunt dispozitive care utilizează o rețea locală. Determinată de intervalul de adrese IP.

Gazda este adresa de interfață de rețea (carte de rețea). Determinată de la adresa IP utilizând o mască. De exemplu: . De la primele trei octeți - subrețea, rămâne. Acesta este numărul gazdei.

Gama de adrese gazdă - de la 0 la 255. Gazda sub numărul "0" este, de fapt, adresa subreței în sine. Iar gazda sub numărul "255" este difuzată.

Adresați-vă

Pentru a aborda stiva protocol TCP / IP, utilizați trei tipuri de adrese:

  1. Local.
  2. Reţea.
  3. Nume de domenii.

Local sunt numite adrese MAC. Acestea sunt folosite pentru a aborda la tehnologiile locale de rețea, cum ar fi Ethernet. În contextul TCP / IP, cuvântul "local" înseamnă că acționează numai în subteran.

Adresa de rețea din stiva protocol TCP / IP este adresa IP. Când trimiteți un fișier din antetul său, adresa destinatarului este citită. Cu aceasta, routerul învață numărul de gazdă și subrețea și, pe baza acestor informații, deschide calea spre nodul final.

Numele de domenii sunt adrese citite de site-uri web de pe Internet. Serverele web de pe Internet sunt disponibile pe o adresă IP publică. Cu toate acestea, este procesată cu succes de computere, se pare prea incomod pentru oameni. Pentru a evita astfel de dificultăți, sunt utilizate nume de domenii, care constau în zone numite "domenii". Acestea sunt situate în ordinea unei ierarhii stricte, de la nivelul superior până la fund.

Domeniul primului nivel prezintă informații specifice. General (.org, .net) nu se limitează la limite stricte. Situația inversă - cu locale (.us, .ru). Ele sunt, de obicei, legate de geografic.

Domeniile de nivel inferior sunt orice altceva. Poate fi de orice dimensiune și conține orice număr de valori.

De exemplu, "www.test.quiz.sg" este un nume de domeniu corect, unde "sg" este domeniul local al primului nivel (top), "Quiz.sg" - domeniul celui de-al doilea nivel ", testul. quiz.sg "- cel de-al treilea nivel de nivel. Numele de domenii pot fi numite și nume DNS.

Setează respectarea între numele de domeniu și adresa IP publică. Când numele de domeniu setat în linia de browser, DNS va detecta adresa IP corespunzătoare și va informa dispozitivul. Dispozitivul va procesa acest lucru și îl va returna ca pe o pagină web.

Nivelul canalului.

La nivelul canalului, se adaugă relația dintre dispozitiv și mediul de transmisie fizică, se adaugă titlul. Responsabil pentru codificarea datelor și pregătirea cadrelor pentru transmiterea prin mediul fizic. Acest nivel utilizează comutatoare de rețea.

Cele mai frecvente protocoale:

  1. Ethernet.
  2. WLAN.

Ethernet este cea mai comună tehnologie a rețelelor locale cu fir.

WLAN este o rețea locală bazată pe tehnologii fără fir. Interacțiunea dispozitivelor are loc fără conexiuni de cablu fizic. Exemplu de metodă cea mai comună - Wi-Fi.

Setupul TCP / IP pentru a utiliza o adresă statică IPv4

Adresa statică IPv4 este atribuită direct în setările dispozitivului sau automat când este conectată la rețea și este constantă.

Pentru a configura teancul de protocol TCP / IP pentru a utiliza o adresă permanentă IPv4, trebuie să introduceți comanda IPConfig / All la consola și să găsiți următoarele detalii.

Configurarea TCP / IP pentru a utiliza adresa IPv4 dinamică

Adresa Dynamic IPv4 este utilizată pentru o vreme, închiriată, după care se schimbă. Alocat dispozitivului automat când este conectat la rețea.

Pentru a configura stack-ul Protocol TCP / IP pentru a utiliza o adresă IP permanentă, trebuie să mergeți la proprietățile conexiunii dorite, deschideți proprietățile IPv4 și setați marca după cum se specifică.

Metode de transfer de date

Datele sunt transmise prin mediul fizic în trei moduri:

  • Simplex.
  • Jumătate duplex.
  • Duplex complet.

Simplex este o conexiune unilaterală. Transmisia se efectuează numai cu un singur dispozitiv, în timp ce celălalt primește numai un semnal. Se poate spune că informațiile sunt difuzate doar într-o singură direcție.

Exemple de comunicare simplă:

  • Televiziune.
  • Semnal de la sateliți GPS.

Half-Duplex este o conexiune bilaterală. Cu toate acestea, doar un nod poate transmite un semnal la un moment dat. Cu o astfel de conexiune, două dispozitive nu pot folosi simultan un canal. Full-Fedged poate fi imposibil fizic sau duce la coliziuni. Se spune că sunt conflicte pentru mediul de transfer. Acest mod este utilizat atunci când utilizați un cablu coaxial.

Un exemplu de comunicație jalf duplex - comunicare la radio la o singură frecvență.

Duplex complet este o conexiune bilaterală cu drepturi depline. Dispozitivele pot difuza simultan semnalul și pot primi. Ele nu sunt în conflict pentru mediul de transfer. Acest mod este utilizat atunci când utilizați tehnologia Fast Ethernet și conectarea cu o pereche răsucite.

Un exemplu de comunicare duplex - comunicare prin telefon printr-o rețea mobilă.

TCP / IP vs OSI

Modelul OSI definește principiile transferului de date. Nivelurile de stivă ale protocoalelor TCP / IP corespund direct acestui model. Spre deosebire de TCP / IP la nivel de patru niveluri, are 7 nivele:

  1. Fizic (fizic).
  2. Canal (link de date).
  3. Rețea (rețea).
  4. Transport.
  5. Sesiune (sesiune).
  6. Executiv (prezentare).
  7. Aplicație (aplicație).

În prezent, nu este necesar să se aprofundeze în acest model, dar este necesară cel puțin o înțelegere superficială.

Stratul de aplicație din modelul TCP / IP corespunde celor trei niveluri superioare ale OSI. Toți lucrează cu aplicații, astfel încât să puteți urmări în mod clar această logică de unificare. O astfel de structură generalizată a stack-ului de protocol TCP / IP contribuie la înțelegerea facilitată a abstractizării.

Nivelul de transport rămâne neschimbat. Efectuează aceleași funcții.

Nivelul de rețea nu este, de asemenea, modificat. Efectuați exact aceleași sarcini.

Nivelul canalului în TCP / IP corespunde ultimelor două niveluri OSI. Nivelul canalului stabilește protocoalele de transmisie a datelor prin intermediul mediului fizic.

Fizic este de fapt comunicare fizică - semnale electrice, conectori etc. În stackul de protocol TCP / IP, sa decis combinarea acestor două nivele într-una, în timp ce ambii lucrează cu mediul fizic.

Protocolul de stivă de rețea și hacking TCP

Alexander Antipov.

Stack-ul de rețea al protocoalelor care formează transporismul și transmiterea datelor între gazde este conceput pentru cea mai bună interacțiune între diferite niveluri de rețea. În acest articol, vom încerca să descriem mișcarea datelor prin nivelurile situate pe stivă și să încercați să implementați modulul Kernel Linux care ne ajută să capturam și să afișăm datele care trec prin nivelul TCP. Mai jos este un program care arată cum să instalați un nou element în sistemul de fișiere Proc. Și, cel mai important, acest program hacks protocolul TCP, urmărește toate datele care trec prin nivelul TCP și le afișează la / proc / tcpdata.


Shemith, traducere Alexey Antipov

Stack-ul de rețea al protocoalelor care formează transporismul și transmiterea datelor între gazde este conceput pentru cea mai bună interacțiune între diferite niveluri de rețea. În acest articol, vom încerca să descriem mișcarea datelor prin nivelurile situate pe stivă și să încercați să implementați modulul Kernel Linux care ne ajută să capturam și să afișăm datele care trec prin nivelul TCP. Deoarece discuția tuturor tipurilor de conexiuni de rețea este dincolo de domeniul de aplicare al acestui articol, ne vom concentra pe conexiunile TCP / IP.

Protocoale de stivă de rețea

Dispozitivele de rețea formează un nivel de bază de stivă de protocol. Pentru a comunica cu alte dispozitive și a primi trafic, utilizează protocolul canalului de date (de obicei Ethernet). Interfața organizată de driverele dispozitivelor de rețea copiază pachetele din mediul fizic prin efectuarea unor verificări de eroare, după care pachetele sunt plasate în nivelul rețelei. Interfețele de ieșire Faceți pachete de la un nivel de rețea, efectuați câteva verificări de eroare și transmiteți-le în mediul fizic. Vom discuta IP (Internet Protocol) care este un protocol standard la nivel de rețea. Principalele funcții ale IP sunt rutate, verificând pachetele primite, care determină dacă aceste pachete sunt direcționate către această gazdă sau au nevoie de o expediere suplimentară. În același timp, dacă este necesar, pachetele sunt îndepărtate și livrate la protocoalele de transport. Astfel de protocoale au o bază de date dinamică a traseului pentru pachetele de ieșire, adresa și fragmentați-le înainte de a trimite la nivelul comunicării.

TCP și UDP sunt cele mai frecvent utilizate protocoale de nivel de transport. UDP creează o structură pentru a aborda pachetele din cadrul gazdei, în timp ce TCP acceptă operațiuni mai cuprinzătoare pentru conectarea tipului de pachete pierdute și gestionarea traficului.

Mutat pe nivelul de transport, putem găsi nivelul inet care formează un nivel intermediar între prizele de transport și aplicații. Cu nivelul inet, sunt acceptate prizele aparținând aplicațiilor. La acest nivel au fost efectuate toate operațiile de soclu specifice.

BSD - o structură de date abstractă care conține prize inețate. O cerere de aplicație pentru conectare, citire sau scriere printr-un soclu este convertită în operațiuni inețate utilizând BSD.

Structura totală a pachetelor. Datele trebuie să fie structura generală Datele numite sk_buff. Toate nivelurile utilizează această structură de date. Imediat după copierea datelor din spațiul utilizatorului în spațiul kernelului, acestea sunt plasate în SK_BUFF și se deplasează la diferite niveluri. La rândul său, nivelul adaugă la această structură titlurile lor. Sk_buff conține link-uri către toate informațiile despre pachet, priza, dispozitivul, traseul, locația datelor etc.

Funcții de rețea Linux.

Pentru un programator normal de rețea, o parte de interfață a serviciilor de rețea este disponibilă utilizând următoarele subprograme ale bibliotecii C.

soclu (), legați (), ascultați (), conectați (), acceptați (), trimiteți (), trimiteți (), Recv (), recvfrom (), getockopt () și setSockopt ().

Funcția socket () este utilizată pentru a crea o nouă socket. Toate operațiile cu diferite protocoale apar cu ajutorul prizelor. Deoarece funcția socket () returnează valoarea descriptorului de fișiere, atunci operațiile standard de lucru cu tipul de fișiere citiți (), scrieți () pot fi accesate.

BIND () POLIGHING este utilizat pentru a comunica soclul creat cu portul. Portul, împreună cu adresa IP a interfeței de rețea, este utilizat pentru identificarea unică a soclului.

Funcția Ascultă () este utilizată pentru a programa serverul. După crearea unei prize și a conexiunii acestuia cu portul, funcția de ascultare () stabilește soclul în starea de audiție. Aceasta înseamnă că soclul se așteaptă să se conecteze de la alte gazde.

Când apelați funcția Accept () de pe server, apare un sondaj de soclu continuu înainte de a primi o solicitare de conectare de la o altă gazdă. După stabilirea conexiunii, programul de server se trezește și oferă procesului să se ocupe de o solicitare de la gazda altcuiva. Din partea clientului, se utilizează funcția Connect (), care arată serverul că clientul dorește să deschidă o conexiune pe o priză și să trimită o cerere.

Structurile de date necesare

Această structură este baza pentru efectuarea interfeței BSD Sockets. Instalarea și inițializarea acestei structuri are loc utilizând apelul Socket ().

sK_BUFF:

Această structură gestionează compușii individuali de compuși care vin și trimiși de la gazdă. În acest caz, are loc un tampon de intrare-ieșire.

Această structură gestionează diferite părți de prize, în funcție de rețeaua specifică. Este necesar pentru prizele TCP, UDP și crude.

Această structură conține un număr de operații identice pentru toate protocoalele.

Sockaddr (socaddr_in):

O astfel de structură este necesară pentru a susține diferite formate de adrese.

Module de kernel Linux.

Corele kernelurilor Linux constau din module. Unele părți ale nucleului sunt în memoria constantă (cum ar fi planificatorul), iar unele sunt încărcate dacă este necesar. De exemplu, sistemul de fișiere VFAT pentru discurile de citire este încărcat numai dacă este necesar. O astfel de caracteristică a kernelului Linux permite spațiului de kernel să ia un spațiu mic.

Astfel, este esențial să vă proiectați protocolul, șoferii și orice tip de software de bază ca module de kernel și introduceți-le în kernelul din spațiul utilizatorului. După introducerea, modulul devine intolerabil până când acesta este îndepărtat din spațiul kernelului. Singurul lucru pe care trebuie să-l aveți un utilizator privilegiat pentru a introduce sau șterge module. Acesta este un format general pentru înregistrarea modulului kernel.

#Define modul #include / * ... alte fișiere de antet necesare ... * / / * * ... Declarații și funcții ale modulului ... * / INT_MODULE () (/ * Kernel cod va apela la instalarea modulului * /) VOID CLEANUP_MODOLE () (/ * Kernel cod va apela va elimina modulul * /)

Proiectul Modulului Hacker pentru protocolul TCP.

Modulul nostru de kernel este foarte simplu, este practic plasat între interfața de operare a prizelor pentru a transmite pachetele TCP și nivelul TCP. Acum, toate pachetele de date care trec prin soclu înregistrat cu protocolul TCP vor fi interceptate de modulul nostru de kernel. Aceste date vor fi transferate către / proc / tcpdata.

Structuri de date utilizate

tcp_prot -\u003e Conține indicații pentru toate operațiile TCP făcute

sTRUCT MSGHDR -\u003e Conține datele trimise de aplicație, precum și alte câmpuri pentru a identifica adresa socket

STRUCT MSG_IOV -\u003e Situat în MSGHDR, conține indicații la date

Înainte de a începe codarea, haideți să înțelegem valoarea sistemului de fișiere / proc. Sistemul PROC de fișiere este numit, datorită faptului că acesta este în directorul / proc pe majoritatea mașinilor Linux. Sistemul este un instrument puternic, aplicații frecvent utilizate. Aceasta face parte din mecanismul cu care kernelul este asociat cu spațiul utilizatorului și viceversa. Deși este proiectat ca un sistem de fișiere cu directoare și structură de inodes, în același timp, aceasta este de fapt o componentă a funcțiilor înregistrate care oferă variabile importante.

Când creați un fișier în / proc, este înregistrat imediat cu un set de funcții care raportează kernel-ul, care trebuie făcut atunci când deschideți acest fișier sau scrieți-l. Cele mai multe fișiere acceptă numai citirea, și numai o anumită înregistrare de suport.

Acum vom începe codarea

/ * tcpdata.c. Mai jos este un program care arată cum să instalați un element nou în sistemul PROC File. Și, cel mai important, acest program hacks protocolul TCP, urmărește toate datele care trec prin nivelul TCP și le afișează la / proc / tcpdata. . ; STRUCT MSGHDR * MSG_MONITER; Struct Iovec * Iovec_Moniter; Static Char * TCP \u003d "Datele Monitered TCP"; int (* orginalsend) (struct șosete *, struct msGhdr *, int); / * show_tcp_stats Această funcție este ceea ce se va apela când orice încearcă să citească / proc / tcpstat de a vedea ultimele 200 de octeți se îndepărtează din prize prin conexiuni TCP * / static int show_tcp_stats (char * buf, char ** Start, off_t offset, int len, int neutilizat) (Len + \u003d Sprintf (BUF + LEN, "% s \\ n", TCP); return len;) / * Aceasta este funcția de handler, addictive TCP Sendmsg cereri * / int MONITER_TCP (STRUCK SOCK * SK, STRUCT MSGHDR * MSG, INT LEN) (INT Dimensiune; CHAR * TEMP; Printk ("Sunt periculos de monitorizare a datelor TCP \\ n"); MSG_MONITER \u003d (STRUCT MSGHDR *) KMALLC (Sizeof (Struct MSGHDR); Memcy (MSG_MONITER, MSG, dimensiunea (structura MSGHDR)); Orginalsend (SK, MSG, LEN); IOVEC_MONITER \u003d MSG_MONITER-\u003e MSG_IOV; SIZE \u003d Sizeof (TCP); Printk ("Sizeoful TCPDAT Este% d \\ n ", dimensiune); (SizeInov_Base): StrCpy (TCP," TCP Monitered Data "); kfree (msg_oniter); retur len;) / * init_modul Această caracteristică stabilește modulul; Pur și simplu înregistrează un nou director în / proc și creează un pointer. * / int init_module () (test_entry \u003d create_proc_entry ("tcpdata", s_irovo, null); test_entry-\u003e citit_proc \u003d show_tcp_stats; orginsend \u003d tcp_prot.sendmsg; / * imprimkk ("adresa de trimitere trimite mesaj este% x \\ n" , TCP_PROT.SENDMSG); Printk ("Adresa Hack Mes este% x \\ n", orginsend); * / tcp_prot.sendmsg \u003d MONITER_TCP; / * Printk ("adresa de trimitere trimite mesaje după hacking% x \\ n" , TCP_PROT.SENDMSG); Printk ("adresa de trimitere trimiteți-mă după hacking% x \\ n", MONITER_TCP); * / retur 0;) / * init_modul * / / * CleanUp_modul Această funcție șterge modulul; Ea șterge înregistrarea înregistrării directorului de înregistrare de la / proc FS * / VOID CLEANUP_MODULE () (/ * puneți indicatorul înapoi la expeditorul mesajului TCP ODGIN. / TCP_PROT.SENDMSG \u003d Orginalsend; / * Unregister funcția de la proc FS * / remove_proc_entry ( "TCPDATA", NULL);) / * CleanUp_MODOLE * / MODULE_AUTHOR ("shyamjithe.cs"); / * macrocomenzi * / modul_description ("Moniteer TCP Data"); modulul_license ("GPL");

Acest program a fost testat pe kernelul 2.4, astfel încât să îl puteți compila folosind:

Gcc -o6 -wall -c tcpdata.c -i /usr/src/linux-2.4.20-8/include/ Aceasta va produce TCPData.O acum insmod tcpdata.o Deschideți unele aplicații TCP CAT / proc / tcpdata pentru a elimina modulul Utilizați acum RMMOD TCPDATA acum pentru a înțelege acest cod, voi da câteva explicații. Întregul program este doar o modalitate dificilă de a utiliza indicatoare funcționale. Dar este necesar să fiți atenți atunci când utilizați propriii agenți, deoarece plasarea incorectă a indicatorului funcțional poate duce la înghețarea sistemului. După cum sa menționat, acesta este modul minim de hacking TCP. Puteți forma un nou nivel deasupra nivelului TCP ca acesta, care va interfera în toate tipurile de sarcini efectuate de TCP. De asemenea, se poate face și cu UDP.

Concluzie

Cea mai importantă producție obținută prin programul lor descris mai sus este că nu este întotdeauna necesar să se schimbe sursă Kernelul când facem orice modificare asociată protocolului. Acest kernel Linux orientat pe obiecte care implementează ne permite să manipulați obiectele de date în interiorul kernelului.

Stack de protocoale - Acesta este un set organizat ierarhic de protocoale de rețea, suficiente pentru a organiza interacțiunea nodurilor în rețea. Protocoalele lucrează în rețea în același timp, înseamnă că activitatea protocoalelor trebuie organizată astfel încât conflictele sau operațiunile neterminate să iasă. Prin urmare, stiva de protocol este împărțită în nivelele din ierarhic, fiecare efectuează o anumită sarcină - pregătirea, recepția, transmisia de date și acțiunile ulterioare cu acestea.

Numărul de niveluri din stivă modifică în conformitate cu un teanc specific de protocoale. Protocoalele de nivel inferior sunt adesea implementate printr-o combinație de software și hardware, iar protocoalele de nivel superior sunt de obicei software.

Există o stive suficiente de protocol utilizate pe scară largă în rețele. Cele mai populare stive de protocoale: OSI Organizația Internațională pentru Standardizare, TCP / IP, utilizat pe Internet și în multe rețele bazate pe sistemul de operare UNIX, IPX / SPX Firms Novell, NetBIOS / SMB, dezvoltat de Microsoft și IBM, Digital Equipment Corporation , IBM SNA și alții.

Enciclopedic YouTube.

    1 / 3

    Bazele rețelelor de date. Modelul OSI și stiva protocolului IP TCP. Elementele de bază ale Ethernet.

    Stack de protocoale

    Informatică. Tehnologii de rețea: Grămadă protocoalele OSI.. Centrul de instruire online Foxford

    Subtitrari

Stivuitoare standard de protocoale de comunicare

Osi.

Este important să se facă distincția modelul OSI. și stack de protocol OSI. În timp ce modelul OSI este o schemă de interacțiune conceptuală a sistemelor deschise, stack-ul OSI este un set de specificații de protocoale specifice.

Spre deosebire de alte stive de protocol, stack-ul OSI corespunde pe deplin modelul OSI, inclusiv specificațiile protocolului pentru toate cele șapte niveluri de interacțiune definite în acest model:

  • Pe fizic și nivelele de canal Stackul OSI suportă Ethernet, inelul Token, protocoalele FDDI, precum și protocoalele LLC, X.25 și ISDN, adică toate protocoalele populare de nivel scăzut proiectate în afara stivei, cum ar fi cele mai multe stive.
  • Nivel de rețea. Include protocolul de rețea orientat spre conexiune relativ rar (Conp) și protocolul de rețea fără conexiune (CLNP). După cum rezultă din nume, primele dintre ele se concentrează pe conexiunea (orientată spre conexiune), a doua - nu (fără conexiune). Protocoalele OSI Stack Routing sunt mai populare: ES-este (sistem final - sistem intermediar) între sistemele finale și intermediare și este (sistem intermediar - sistem intermediar) între sistemele intermediare.
  • Nivelul de transport Stack OSI În conformitate cu funcțiile definite pentru acesta în modelul OSI, ascunde diferențele dintre conexiunea la rețea cu conexiunea și fără conectare, astfel încât utilizatorii primesc calitatea serviciului necesar, indiferent de nivelul rețelei subiacente. Pentru a asigura acest lucru, nivelul de transport necesită ca utilizatorul să specifice cantitatea de serviciu dorită.
  • Servicii nivelul aplicat. Furnizați transfer de fișiere, emulare terminală, directoare și poștă. Dintre acestea, serviciul de director este cel mai popular (standard X.500), e-mail (standard X.400), protocol terminal virtual (VTP), protocol de transmisie, acces și gestionare a fișierelor (FTAM), protocolul de gestionare a muncii (JTM).

TCP / IP.

TCP / IP Protocol Stack este un set de protocoale de rețea pe care se bazează Internetul. De obicei, modelele TCP / IP Top 3 Stack (aplicate, reprezentări și sesiune) sunt combinate într-o singură aplicație. Deoarece acest stivă nu furnizează un protocol unificat de transfer de date, funcțiile definiției tipului de date sunt transmise aplicației.

Nivelurile de stivă TCP / IP:

  1. Nivelul canalului. descrie modul în care pachetele de date sunt transmise prin nivelul fizic., inclusiv codificarea (adică secvențe speciale de biți care definesc începutul și sfârșitul pachetului de date).
  2. Nivel de rețea. Acesta este inițial conceput pentru a transfera date de la o rețea (sub) la alta. Exemple de astfel de protocol sunt X.25 și IPC în rețeaua ARPANET. Odată cu dezvoltarea conceptului de rețea globală la nivel caracteristici suplimentare Prin transferul de la orice rețea la orice rețea, indiferent de protocoalele de nivel inferior, precum și capacitatea de a solicita date din partea îndepărtată.
  3. Protocoale nivelul de transport Poate rezolva problema livrării mesajelor non-maritime ("a primit mesajul la destinatar?"), Și asigurați secvența corectă de sosire a datelor.
  4. Pe nivelul aplicat. Funcționează majoritatea aplicațiilor de rețea. Aceste programe au propriile protocoale de schimb de informații, cum ar fi HTTP pentru www, FTP (transfer de fișiere), smtp (e-mail), ssh ( conectare sigură Cu o mașină la distanță), DNS (conversia numelor simbolice în adresa IP) și multe altele.

Există diferențe în modul de introducere a modelului TCP / IP în modelul OSI, deoarece nivelurile din aceste modele nu coincid. Interpretarea simplificată a stivei TCP / IP poate fi reprezentată după cum urmează:

Osi. TCP / IP.
7. Aplicată Http, ftp, telnet, SMTP, DNS (RIP care rulează peste UDP și BGP, care lucrează la partea de sus a TCP, fac parte dintr-un nivel de rețea), LDAP Aplicat
6. Reprezentări
5. Sesiune
4. Transport. TCP, UDP, RTP, NCP) și protocolul publicitar de servicii (SAP) AD protocol.

NetBIOS / SMB.

La nivelurile fizice și canale ale acestui teanc, protocoalele au fost deja distribuite, cum ar fi Ethernet, Inel token, FDDI și la nivelurile de vârf - Protocoalele specifice NetBios (interfața cu utilizatorul netBIOS extinsă) și SMB. NetBeui a fost dezvoltat ca un protocol eficient care consumă unele resurse și destinate rețelelor nu mai mult de 200 de stații de lucru. Acest protocol conține multe funcții utile de rețea care pot fi atribuite nivelurilor de transport și sesiunii modelului OSI, dar nu este posibilă dirijarea pachetelor. Acest lucru limitează aplicarea Protocolului Netbei cu rețelele locale, care nu sunt împărțite la subrețea și face imposibilă utilizarea acesteia în rețelele compozite.

Blocul mesajelor serverului (SMB) acceptă funcțiile la nivel de sesiune, nivelurile de reprezentare și aplicații. Pe baza SMB, serviciul de fișiere este implementat. precum și imprimarea și transferarea mesajelor între aplicații.