Comanda de protocol netstat -p. Protocolul TCP. Cerințe de pachete RTCP

05.11.2019 Știri

comanda netstat -p protocol afișează statistici pentru protocolul specificat (udp, tcp, sctp, ip, icmp), care pot fi specificate fie prin nume, fie prin alias.

Unele nume de protocol și alias-uri sunt listate în fișierul /etc/protocols. Un raport gol înseamnă că nu există informații despre protocolul specificat. Dacă funcția de colectare a statisticilor nu este instalată pentru protocolul specificat, este afișat un mesaj care afirmă că este specificat un protocol necunoscut.

Mai jos este un exemplu de ieșire a comenzii pentru protocolul ip: # netstat -p ip ip: 45775 pachete primite 0 cu erori de sumă de control antet 0 cu dimensiunea mai mică decât minim 0 cu dimensiunea datelor< длины данных 0 с длиной заголовка < размера данных 0 с длиной данных < длины заголовка 0 с неправильными параметрами 0 с неправильным номером версии 0 фрагментов получено 0 фрагментов отброшено (повтор или нехватка памяти) 0 фрагментов отброшено после истечения тайм-аута 0 пакетов успешно пересобрано 45721 пакет для данного хоста 51 пакет неизвестных/не поддерживаемых протоколов 0 пакетов переслано 4 пакета не удалось переслать 0 перенаправлений 33877 пакетов отправлено с данного узла 0 пакетов отправлено с искусственным заголовком ip 0 исходящих пакетов отброшено из-за отсутствия буферов и пр. 0 исходящих пакетов отброшено из-за отсутствия маршрута 0 дейтаграмм вывода фрагментировано 0 фрагментов создано 0 дейтаграмм не удалось разбить на фрагменты 0 многоцелевых пакетов IP отброшено из-за отсутствия получателя 0 успешных циклов поиска путей MTU 1 повторная попытка цикла поиска путей MTU 3 оценки поиска путей MTU без ответа 3 оценки поиска путей MTU с ответом 1 снижение количества операций поиска путей MTU 8 пакетов поиска путей MTU отправлено 0 сбоев выделения путей поиска путей MTU 0 переполнений ipintrq 0 с неверным источником 0 пакетов обработано нитями 0 пакетов отброшено нитями 0 пакетов отброшено по причине переполнения буфера входящих пакетов сокета 0 пакетов обнаружения сбоев в работе шлюза отправлено 0 ошибок выделения пакетов функции обнаружения сбоев в работе шлюза 0 ошибок выделения шлюзов функции обнаружения сбоев в работе шлюза

  • Pachetele primite

    Numărul total de datagrame IP primite.

  • Sume de control ale antetului nevalide sau fragmente eliminate

    Dacă valoarea din câmpul sumei de verificare greșite al antetului sau fragmentelor este eliminată din cauza reluării sau a lipsei memoriei este diferită de zero, atunci fie pachetele sunt corupte în timp ce sunt transmise prin rețea, fie dimensiunea cozii de primire a driverului de dispozitiv este insuficientă.

  • Fragmente primite

    Numărul total de fragmente primite.

  • S-a oprit din cauza timeout

    Un număr diferit de zero de fragmente aruncate din cauza unui timeout înseamnă că, din cauza congestiei mari a rețelei, contorul TTL al fragmentului ip ajunge la zero înainte ca toate fragmentele de datagramă să fie primite. Pentru a corecta această eroare, măriți valoarea parametrului ipfragttl folosind comanda no. Alte motiv posibil- lipsa tampoanelor libere. În acest caz, trebuie să măriți valoarea peretele.

  • Pachete trimise de această gazdă

    Numărul de datagrame IP create și trimise de la sistem local. Acest contor nu contorizează datagramele transmise (tranzit).

  • Fragmente create

    Numărul de fragmente create pe sistemul local atunci când sunt trimise datagramele.

Când vizualizați statisticile protocolului IP, acordați atenție raportului dintre numărul de pachete primite și numărul de fragmente primite. În rețelele cu un MTU mic, nu mai mult de 10 la sută din pachete ar trebui să fie fragmentate. Un număr mare de fragmente înseamnă că protocoalele sunt mai multe nivel inalt pe gazdele de la distanță transmit date în blocuri care depășesc dimensiunea MTU a interfeței. În plus, pachetele pot fi fragmentate de rutere și gateway-uri. Același lucru este valabil și pentru raportul dintre numărul de pachete trimise și numărul de fragmente create.

Fragmentarea crește sarcina procesorului, deci este important să se determine cauza. Vă rugăm să rețineți că fragmentarea este inevitabilă atunci când rulați unele aplicații. De exemplu, fragmentarea are loc dacă o aplicație trimite date în bucăți mici. Dacă fragmentarea are loc în ciuda faptului că aplicația trimite date în blocuri mari, determinați cauza fragmentării. Este posibil ca dimensiunea MTU specificată a interfeței să nu se potrivească cu dimensiunea MTU a sistemelor de la distanță.

Următorul este un exemplu de ieșire a comenzii pentru protocolul udp: # netstat -p udp udp: 11623 datagrame primite 0 antete incomplete 0 câmpuri de lungime incorectă 0 sume de control incorecte 620 eliminate din cauza alertei socket-ului lipsă 232850 și datagramelor multifuncționale aruncate din cauza socket-ului lipsă 0 socket buffer-uri pline 14 datagrame livrate 12 datagrame trimise

Câmpurile evidențiate în rezultatul comenzii sunt descrise mai jos:

  • Sume de control incorecte

    Sumele de verificare incorecte apar ca urmare a defectării adaptorului sau a deteriorării cablului.

  • Aruncat din cauza lipsei prizei

    Numărul de datagrame UDP primite al căror port de destinație nu a fost deschis. În acest caz, este returnat mesajul ICMP Receiver Unreachable - Port Unreachable. Nu sunt trimise mesaje de eroare ICMP pentru datagramele de alertă UDP. Dacă numărul de datagrame aruncate este mare, atunci aplicația se confruntă probabil cu erori de socket.

  • Depășirea tamponului de priză

    Depășirile de buffer de socket sunt cauzate de socket-uri de trimitere și recepție UDP insuficiente, demoni nfsd sau valori insuficiente ale parametrilor. nfs_socketsize, udp_recvspaceȘi sb_max.

Dacă ieșirea comenzii netstat -p udp numărul depășirilor de buffer de socket este diferit de zero, se recomandă creșterea numărului de demoni nfsd de pe server. Verificați mai întâi dacă procesorul sistemului sau subsistemul I/O este supraîncărcat, apoi apelați comanda no -Ași asigurați-vă că alte niveluri de protocol sunt setate la valorile recomandate. Dacă sistemul este supraîncărcat, trebuie să reduceți sarcina sau să creșteți cantitatea de resurse de sistem.

Următorul este un exemplu de ieșire a comenzii pentru protocolul tcp: # netstat -p tcp tcp: 576 pachete trimise 512 pachete de date (62323 octeți) 0 pachete de date (0 octeți) retransmise 55 pachete de notificare (28 amânate) 0 pachete urgente 0 pachete de verificare fereastră 0 pachete de actualizare ferestre 9 pachete de control 0 operațiuni largesend 0 octeți trimiși cu largesend 0 octeți în pachetul largesend maxim 719 pachete primite 504 pachete de notificare (pentru 62334 octeți) 19 notificări repetate 0 notificări de date netrimise 449 pachete primite (42) în ordinea corectă 8 copii întregi de pachete (8 octeți) 0 copii de pachete vechi 0 pachete de copiere a datelor (copii de 0 octeți) 5 pachete necomandate (0 octeți) 0 pachete (0 octeți) de date după verificarea ferestrei 0 2 pachete de actualizare a ferestrei 0 pachete primite după închidere 0 pachete cu sumă de control hardware incorectă 0 eliminată din cauza sumei de control incorecte 0 eliminată din cauza câmpurilor de antet incorecte 0 aruncate din cauza lungimii prea scurte 0 aruncate de destinatari 0 aruncate din cauza depășirii cozilor de destinatari 71 predicții corecte pentru anteturi pachet de notificare 71 predicții corecte pentru antetele pachetelor de date 6 solicitări de conexiune 8 conexiuni permise 14 conexiuni stabilite (inclusiv rezolvate) 6 conexiuni închise (inclusiv 0 întrerupte) 0 conexiuni activate ECN 0 Răspunsuri ECN 0 conexiuni inițiale întrerupte 504 segmente actualizate (505 încercări) 0 segmente cu un număr redus de biți de fereastră de încărcare 0 segmente cu un set de biți testat la încărcare 0 retransmisii asociate cu calculele MTU de rută 0 căutări de căi MTU anulate din cauza retransmisiei 0 timeout-uri de retransmisie 0 conexiuni întrerupte din cauza timeout rexmit -out 0 retransmisii rapide 0 cu fereastra de încărcare care nu depășește 3 segmente 0 retransmisii noi 0 retransmisii rapide eronate împiedicate 0 timeout-uri persistente 0 conexiuni întrerupte din cauza timeout-urilor persistente 16 timeout-uri de expirare 16 teste de expirare trimise 0 conexiuni eliminate din cauza expirării 0 operațiuni de extindere a matricei de blocuri SACK 0 operațiuni de extindere a matricei SACK gap 0 pachete aruncate din cauza erorilor de alocare a memoriei 0 conexiuni reutilizate 0 notificări întârziate pentru SYN 0 notificări întârziate pentru FIN 0 operațiuni trimite cu deconectare 0 conexiuni complexe 0 conexiuni complexe închise 0 conexiuni complexe resetate 0 timeout-uri complexe ale conexiunii 0 timeout-uri permanente ale conexiunii complexe 0 expirare conexiuni complexe timeout-uri

Câmpurile evidențiate în rezultatul comenzii sunt descrise mai jos:

  • Pachetele trimise
  • Pachete de date
  • Pachetele de date retrimite
  • Pachetele primite
  • Repetați pachetele
  • Timeout-uri pentru transfer

Comparați numărul de pachete trimise cu numărul de pachete retrimise. Dacă numărul de pachete retransmise depășește 10 până la 15% din totalul pachetelor, apar timeout-uri TCP. Cel mai probabil, acestea se datorează faptului că rețeaua este prea ocupată, astfel încât notificarea nu poate fi trimisă înainte de expirarea timpului. În plus, retransmisiile pachetelor TCP se pot datora încărcării mari a sistemului de recepție sau a performanței generale slabe a rețelei. Retransmisiile cresc fluxul de date și cresc încărcarea rețelei.

De asemenea, comparați numărul de pachete primite cu numărul de pachete repetate. Dacă apare un timeout de confirmare după trimiterea unui pachet, pachetul este retransmis. În acest caz, sistemul țintă poate primi toate copiile transmise ale pachetului. Dacă numărul de pachete de reluare depășește 10 până la 15 la sută, rețeaua sau sistemul de recepție poate fi supraîncărcat. Retransmisiile de pachete cresc, de asemenea, fluxul de date în rețea.

Un timeout de retransmisie are loc atunci când un nod a trimis un pachet, dar nu a primit o confirmare în timp specificat. În acest caz, pachetul este transmis din nou. Această valoare este incrementată pentru fiecare retransmisie. Transmisiile repetate cresc sarcina procesorului. Dacă nu se primește niciodată o confirmare, pachetul va fi aruncat.

După cum sa menționat mai devreme, sarcina principală a stratului de transport este de a transfera date între procese aplicate. Această problemă este rezolvată Protocolul de control al transmisiei TCP(Protocolul de control al transmisiei) și Protocolul de datagramă utilizator UDP(Protocolul de datagramă utilizator). Protocoalele TCP și UDP au multe în comun. Ambele furnizează o interfață la nivelul aplicației de mai sus, trecând datele care ajung la interfața de intrare gazdă către aplicația corespunzătoare. Ambele protocoale folosesc conceptele de „port” și „socket”. Ambele suportă, de asemenea, o interfață cu stratul de rețea IP subiacent, împachetându-și pachetele în pachete IP.

Fiecare computer poate rula mai multe procese; Mai mult, un proces de aplicare poate avea și mai multe puncte de intrare care acționează ca destinații pentru pachetele de date. Prin urmare, după ce pachetul este livrat prin protocolul IP către interfața de rețea a computerului destinatar, datele trebuie transmise unui anumit proces destinatar.

Există și o problemă inversă: pachetele care sunt trimise în rețea de aplicații diferite care rulează pe același nod final sunt procesate de un protocol IP comun. Prin urmare, stiva trebuie să ofere un mijloc de „colectare” a pachetelor din diferite aplicații pentru transmiterea către protocolul IP. Această activitate este efectuată de protocoalele TCP și UDP.

Este denumită procedura pentru ca protocoalele TCP și UDP să accepte date de la mai multe servicii de aplicație diferite multiplexarea. Procedura inversă - procedura de distribuire a pachetelor care sosesc din stratul de rețea folosind protocoalele TCP și UDP între un set de servicii de nivel înalt - se numește demultiplexarea.

Protocoalele TCP și UDP mențin două cozi pentru fiecare aplicație: o coadă de pachete care sosesc la aceasta aplicație din rețea și o coadă de pachete trimise de această aplicație în rețea. Pachetele care ajung la stratul de transport sunt organizate de sistemul de operare sub formă de multe cozi la punctele de intrare ale diferitelor procese de aplicație. În terminologia TCP/IP, astfel de cozi de sistem sunt apelate porturi,în care cozile de intrare și de ieșire ale unei aplicații sunt considerate ca un port. Pentru a identifica unic porturile, li se atribuie numere care sunt utilizate pentru adresarea aplicațiilor.

Dacă procesele sunt servicii publice populare (de exemplu, FTP, telnet, HTTP, DNS etc.), atunci acestea sunt atribuite numere standard, atribuite, numit si bine cunoscute(bine cunoscute) numere de port.Aceste numere sunt fixe și publicate în standardele Internet RFC-uri. Deci, numărul 21 este atribuit serviciului acces de la distanță La Fișiere FTP, a 23 – pentru datorie telecomandă telnet. Numerele atribuite sunt unic pe Internetși sunt alocate aplicațiilor central din intervalul de la 0 la 1023.


Pentru acele aplicații care nu sunt încă suficient de răspândite încât să le fie alocate numere standard, numerele de port sunt atribuite local de către dezvoltatorii aplicației sau de către sistemul de operare ca răspuns la o solicitare din partea aplicației. Pe fiecare computer, sistemul de operare menține o listă de numere de porturi utilizate și libere. Când o solicitare vine de la o aplicație care rulează acest calculator, sistemul de operare îi alocă primul număr liber. Se numesc astfel de numere dinamic.

În viitor, toate aplicațiile de rețea trebuie să se adreseze acestei aplicații folosind numărul de port care i-a fost atribuit. După ieșirea aplicației, numărul portului local alocat acesteia revine în lista liberă și poate fi atribuit unei alte aplicații. Numerele dinamice sunt unic în fiecare computer, Cu toate acestea, o situație comună este aceea că numerele de porturi ale aplicațiilor care rulează pe același diferite calculatoare. De obicei, piese client aplicații celebre(DNS, WWW, FTP, telnet etc.) primesc numere de port dinamice de la sistemul de operare.

Nu există nicio dependență între alocarea numerelor pentru aplicațiile care utilizează protocolul TCP și aplicațiile care utilizează protocolul UDP. Aplicațiile care trimit date la nivelul IP utilizând UDP primesc numere apelate porturi UDP. Similar cu aplicațiile care accesează protocolul TCP, porturi TCP.

În ambele cazuri, acestea pot fi fie numere atribuite, fie numere dinamice. Intervalele de numere din care sunt alocate numerele de porturi TCP și UDP sunt aceleași: de la 0 la 1023 pentru cele alocate și de la 1024 la 65535 pentru cele dinamice. Cu toate acestea, nu există nicio legătură între numerele de porturi TCP și UDP alocate. Chiar dacă numerele de porturi TCP și UDP sunt aceleași, ele identifică aplicații diferite. De exemplu, unei aplicații i-ar putea fi atribuit portul TCP 1750, iar altei i-ar putea fi atribuit portul UDP 1750. În unele cazuri, în care o aplicație poate alege să acceseze TCP sau UDP (de exemplu, o astfel de aplicație este DNS), aceasta, pe baza ușurință de memorare, numerele de porturi TCP și UDP care se potrivesc sunt atribuite (în în acest exemplu– acesta este numărul 53).

2.5.1 Protocolul UDP

Este apelată unitatea de date a protocolului UDP Datagrama UDP sau datagrama utilizatorului. Fiecare datagramă poartă un mesaj de utilizator separat. Acest lucru duce la o limitare naturală: lungimea unei datagrame UDP nu poate depăși lungimea câmpului de date al protocolului IP, care la rândul său este limitat de dimensiunea cadrului tehnologic de bază. Prin urmare, dacă memoria tampon UDP devine plină, datele aplicației sunt eliminate.

Antetul UDP, constând din patru câmpuri de 2 octeți, conține numerele portului sursă și destinație, suma de controlȘi lungimea datagramei (Fig. 2.11).

ÎN lumea modernă informația se răspândește în câteva secunde. Știrea tocmai a apărut, iar o secundă mai târziu este deja disponibilă pe un site de pe internet. Internetul este considerat una dintre cele mai utile dezvoltări ale minții umane. Pentru a vă bucura de toate beneficiile pe care le oferă Internetul, trebuie să vă conectați la această rețea.

Puțini oameni știu că procesul simplu de vizitare a paginilor web implică un sistem complex de acțiuni, invizibil pentru utilizator. Fiecare clic pe un link activează sute de operații de calcul diferite în inima computerului. Acestea includ trimiterea de cereri, primirea de răspunsuri și multe altele. Așa-numitele protocoale TCP/IP sunt responsabile pentru fiecare acțiune în rețea. Ce sunt ei?

Orice protocol Internet TCP/IP operează la propriul nivel. Cu alte cuvinte, fiecare își face treaba lui. Întreaga familie de protocoale TCP/IP face o cantitate enormă de muncă simultan. Și utilizatorul în acest moment vede doar imagini luminoase și linii lungi de text.

Conceptul de stivă de protocol

Stiva de protocoale TCP/IP este un set organizat de protocoale de bază de rețea, care este împărțit ierarhic în patru niveluri și este un sistem de distribuție de transport a pachetelor într-o rețea de calculatoare.

TCP/IP este cel mai faimos stivă de protocoale de rețea folosită în acest moment. Principiile stivei TCP/IP se aplică atât rețelelor locale, cât și rețelelor de zonă largă.

Principii de utilizare a adreselor în stiva de protocoale

Stiva de protocoale de rețea TCP/IP descrie căile și direcțiile în care sunt trimise pachetele. Aceasta este sarcina principală a întregii stive, realizată la patru niveluri care interacționează între ele folosind un algoritm înregistrat. Pentru a se asigura că pachetul este trimis corect și livrat exact la punctul în care a solicitat, adresarea IP a fost introdusă și standardizată. Acest lucru s-a datorat următoarelor sarcini:

  • Adrese tipuri variate, trebuie convenit. De exemplu, conversia unui domeniu de site web în adresa IP a unui server și înapoi sau conversia unui nume de gazdă într-o adresă și înapoi. În acest fel, devine posibilă accesarea punctului nu numai folosind adresa IP, ci și prin numele său intuitiv.
  • Adresele trebuie să fie unice. Acest lucru se datorează faptului că în unele cazuri speciale pachetul trebuie să ajungă doar la un punct specific.
  • Necesitatea configurarii rețelelor locale.

În rețelele mici în care sunt utilizate câteva zeci de noduri, toate aceste sarcini sunt efectuate simplu, folosind cele mai simple soluții: compilarea unui tabel care descrie proprietatea mașinii și adresa IP corespunzătoare sau puteți distribui manual adresele IP tuturor adaptoarelor de rețea. Cu toate acestea pentru rețele mari pentru o mie sau două mii de mașini, sarcina de a emite manual adrese nu pare atât de fezabilă.

De aceea a fost inventată o abordare specială pentru rețelele TCP/IP, care a devenit trăsătură distinctivă stiva de protocoale. A fost introdus conceptul de scalabilitate.

Straturi ale stivei de protocoale TCP/IP

Există o anumită ierarhie aici. Stiva de protocoale TCP/IP are patru straturi, fiecare dintre ele gestionând propriul set de protocoale:

Strat de aplicație: creat pentru a permite utilizatorului să interacționeze cu rețeaua. La acest nivel, tot ce vede și face utilizatorul este procesat. Stratul permite utilizatorului să acceseze diverse servicii de rețea, de exemplu: acces la baze de date, posibilitatea de a citi o listă de fișiere și de a le deschide, de a trimite un mesaj de e-mail sau de a deschide o pagină web. Alături de datele și acțiunile utilizatorului, informațiile de serviciu sunt transmise la acest nivel.

Stratul de transport: Acesta este un mecanism pur de transmisie de pachete. La acest nivel, nici conținutul pachetului și nici afilierea acestuia cu vreo acțiune nu contează deloc. La acest nivel contează doar adresa nodului de la care este trimis pachetul și adresa nodului la care ar trebui să fie livrat pachetul. De regulă, dimensiunea fragmentelor transmise folosind diferite protocoale se poate modifica, prin urmare, la acest nivel, blocurile de informații pot fi împărțite la ieșire și asamblate într-un singur întreg la destinație. Acest lucru cauzează o posibilă pierdere de date dacă, în momentul transmiterii următorului fragment, are loc o întrerupere de scurtă durată a conexiunii.

Stratul de transport include multe protocoale, care sunt împărțite în clase, de la cele mai simple, care pur și simplu transmit date, la cele complexe, care sunt dotate cu funcționalitatea de confirmare a primirii sau de re-solicitare a unui bloc de date lipsă.

Acest nivel oferă nivelul superior (de aplicație) cu două tipuri de servicii:

  • Oferă livrare garantată folosind protocolul TCP.
  • Livrează prin UDP ori de câte ori este posibil .

Pentru a asigura livrarea garantată, se stabilește o conexiune conform protocolului TCP, care permite ca pachetele să fie numerotate la ieșire și confirmate la intrare. Numerotarea pachetelor și confirmarea recepției sunt așa-numitele informații de serviciu. Acest protocol acceptă transmisia în modul „Duplex”. În plus, datorită reglementărilor bine gândite ale protocolului, este considerat foarte fiabil.

Protocolul UDP este destinat momentelor în care este imposibil să configurați transmisia prin protocolul TCP sau trebuie să salvați pe segmentul de transmisie a datelor din rețea. De asemenea, protocolul UDP poate interacționa cu protocoale de nivel superior pentru a crește fiabilitatea transmisiei pachetelor.

Stratul de rețea sau „stratul de internet”: stratul de bază pentru întregul model TCP/IP. Funcționalitatea principală a acestui strat este identică cu stratul cu același nume din modelul OSI și descrie mișcarea pachetelor într-o rețea compusă formată din mai multe subrețele mai mici. Leagă straturile adiacente ale protocolului TCP/IP.

Stratul de rețea este stratul de conectare între stratul de transport superior și nivelul inferior al interfețelor de rețea. Stratul de rețea folosește protocoale care primesc o solicitare de la stratul de transport și, prin adresare reglementată, transmit cererea procesată către protocolul de interfață de rețea, indicând la ce adresă să trimită datele.

Următoarele protocoale de rețea TCP/IP sunt utilizate la acest nivel: ICMP, IP, RIP, OSPF. Principalul și cel mai popular la nivel de rețea este, desigur, IP (Internet Protocol). Sarcina sa principală este de a transmite pachete de la un router la altul până când o unitate de date ajunge la interfața de rețea a nodului destinație. Protocolul IP este implementat nu numai pe gazde, ci și pe echipamentele de rețea: routere și comutatoare gestionate. Protocolul IP funcționează pe principiul celui mai bun efort, livrare negarantată. Adică, nu este nevoie să stabiliți o conexiune în avans pentru a trimite un pachet. Această opțiune duce la economisirea de trafic și timp la deplasarea pachetelor de servicii inutile. Pachetul este direcționat către destinație și este posibil ca nodul să rămână inaccesibil. În acest caz, este returnat un mesaj de eroare.

Nivelul interfeței de rețea: este responsabil pentru asigurarea faptului că subrețelele cu tehnologii diferite pot interacționa între ele și pot transmite informații în același mod. Acest lucru se realizează în doi pași simpli:

  • Codificarea unui pachet într-o unitate intermediară de date din rețea.
  • Convertește informațiile de destinație în standardele de subrețea necesare și trimite unitatea de date.

Această abordare ne permite să extindem în mod constant numărul de tehnologii de rețea acceptate. De îndată ce apare tehnologie nouă, se încadrează imediat în stiva de protocoale TCP/IP și permite rețelelor cu tehnologii mai vechi să transfere date către rețelele construite folosind tehnologii mai avansate. standarde moderneși modalități.

Unități de date transferate

În timpul existenței unui astfel de fenomen precum protocoalele TCP/IP, s-au stabilit termeni standard pentru unitățile de date transmise. Datele în timpul transmisiei pot fi fragmentate în diferite moduri, în funcție de tehnologiile utilizate de rețeaua de destinație.

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

  • Flux de date- date care ajung la nivelul de transport din protocoalele unui nivel de aplicație superior.
  • Un segment este un fragment de date în care un flux este împărțit conform standardelor de protocol TCP.
  • Datagrama(în special analfabetii îl pronunță ca „Datagramă”) - unități de date care sunt obținute prin divizarea unui flux folosind protocoale fără conexiune (UDP).
  • Punga de plastic- o unitate de date produsă prin protocolul IP.
  • Protocoalele TCP/IP împachetează pachetele IP în blocuri de date transmise prin rețele compuse, numite personal sau rame.

Tipuri de adrese de stivă de protocol TCP/IP

Orice protocol de transfer de date TCP/IP utilizează unul dintre următoarele tipuri de adrese pentru a identifica gazde:

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

Adrese locale (adrese MAC) - utilizate în majoritatea tehnologiilor de rețele locale pentru a identifica interfețele de rețea. Când vorbim despre TCP/IP, cuvântul local înseamnă o interfață care nu funcționează într-o rețea compusă, ci într-o subrețea separată. De exemplu, subrețeaua unei interfețe conectate la Internet va fi locală, iar rețeaua de Internet va fi compusă. O rețea locală poate fi construită pe orice tehnologie și, indiferent de aceasta, din punctul de vedere al unei rețele compozite, o mașină aflată într-o subrețea separată dedicată va fi numită locală. Astfel, atunci când un pachet intră în rețeaua locală, adresa sa IP este apoi asociată cu adresa locală, iar pachetul este trimis la adresa MAC a interfeței de rețea.

Adrese de rețea (adrese IP). Tehnologia TCP/IP oferă propria sa adresare globală a nodurilor pentru a rezolva o problemă simplă - combinarea rețelelor cu tehnologii diferiteîntr-o structură mare de transmisie a datelor. Adresarea IP este complet independentă de tehnologia utilizată în retea locala, cu toate acestea, o adresă IP permite unei interfețe de rețea să reprezinte o mașină într-o rețea compusă.

Drept urmare, a fost dezvoltat un sistem în care gazdelor li se atribuie o adresă IP și o mască de subrețea. Masca de subrețea arată câți biți sunt alocați numărului de rețea și câți numărului de gazdă. O adresă IP este formată din 32 de biți, împărțiți în blocuri de 8 biți.

Când un pachet este transmis, i se atribuie informații despre numărul rețelei și numărul nodului către care ar trebui să fie trimis pachetul. Mai întâi, routerul redirecționează pachetul către subrețeaua dorită, apoi este selectată o gazdă care îl așteaptă. Acest proces este realizat de Address Resolution Protocol (ARP).

Adresele de domeniu din rețelele TCP/IP sunt gestionate de un sistem de nume de domeniu (DNS) special conceput. Pentru a face acest lucru, există servere care se potrivesc cu numele domeniului, prezentat ca un șir de text, cu adresa IP și trimit pachetul în conformitate cu adresarea globală. Nu există corespondență între numele unui computer și o adresă IP, așa că pentru a converti un nume de domeniu într-o adresă IP, dispozitivul expeditor trebuie să acceseze tabelul de rutare care este creat pe server DNS e. De exemplu, scriem adresa site-ului în browser, serverul DNS o potrivește cu adresa IP a serverului pe care se află site-ul, iar browserul citește informațiile, primind un răspuns.

Pe lângă Internet, este posibil să emiti computere nume de domenii. Astfel, procesul de lucru pe o rețea locală este simplificat. Nu este nevoie să vă amintiți toate adresele IP. În schimb, poți da fiecărui computer orice nume și să-l folosești.

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

O adresă IP este un număr de 32 de biți, care în reprezentarea tradițională este scris ca numere de la 1 la 255, separate prin puncte.

Tip de adresă IP în diferite formate de înregistrare:

  • Adresă IP zecimală: 192.168.0.10.
  • Forma binară a aceleiași adrese IP: 11000000.10101000.00000000.00001010.
  • Înregistrarea unei adrese în sistem hexazecimal notatie: C0.A8.00.0A.

Nu există un separator între ID-ul rețelei și numărul punctului din intrare, dar computerul le poate separa. Există trei moduri de a face acest lucru:

  1. Chenar fix. Cu această metodă, întreaga adresă este împărțită condiționat în două părți de lungime fixă, octet cu octet. Astfel, dacă dăm un octet pentru numărul rețelei, atunci vom obține 2 8 rețele a câte 2 24 de noduri fiecare. Dacă granița este mutată cu un alt octet la dreapta, atunci vor fi mai multe rețele - 2 16 și mai puține noduri - 2 16. Astăzi, abordarea este considerată învechită și nu este utilizată.
  2. Mască de rețea. Masca este asociată cu o adresă IP. Masca are o secvență de valori „1” în acei biți care sunt alocați numărului de rețea și un anumit număr de zerouri în acele locuri ale adresei IP care sunt alocate numărului de nod. Granița dintre unu și zero din mască este granița dintre ID-ul rețelei și ID-ul gazdei din adresa IP.
  3. Metoda claselor de adrese. Metoda compromisului. Când îl utilizați, dimensiunea rețelei nu poate fi selectată de utilizator, dar există cinci clase - A, B, C, D, E. Trei clase - A, B și C - sunt destinate diferitelor rețele, iar D și E sunt rezervate pentru rețele speciale. Într-un sistem de clasă, fiecare clasă are propria sa limită de număr de rețea și ID de nod.

Clasele de adrese IP

LA clasa a Acestea includ rețele în care rețeaua este identificată prin primul octet, iar restul de trei sunt numărul nodului. Toate adresele IP care au o valoare a primului octet de la 1 la 126 în intervalul lor sunt rețele de clasă A. Există foarte puține rețele de clasă A în cantitate, dar fiecare dintre ele poate avea până la 2 24 de puncte.

Clasa B- rețele în care cei mai înalți doi biți sunt egali cu 10. În ele sunt alocați 16 biți pentru numărul de rețea și identificatorul de punct. Ca urmare, se dovedește că numărul de rețele de clasă B este diferit cantitativ de numărul de rețele de clasă A, dar au un număr mai mic de noduri - până la 65.536 (2 16) unități.

Pe rețele clasa C- sunt foarte puține noduri - 2 8 în fiecare, dar numărul de rețele este uriaș, datorită faptului că identificatorul de rețea în astfel de structuri ocupă trei octeți.

Rețele clasa D- aparțin deja unor rețele speciale. Începe cu secvența 1110 și se numește o adresă multicast. Interfețele cu adrese de clasă A, B și C pot face parte dintr-un grup și pot primi, pe lângă adresa individuală, o adresă de grup.

Adrese clasa E- în rezervă pentru viitor. Astfel de adrese încep cu secvența 11110. Cel mai probabil, aceste adrese vor fi folosite ca adrese de grup atunci când există o lipsă de adrese IP în rețeaua globală.

Configurarea protocolului TCP/IP

Configurarea protocolului TCP/IP este disponibilă pe toate sistemele de operare. Acestea sunt Linux, CentOS, Mac OS X, Free BSD, Windows 7. Protocolul TCP/IP necesită doar un adaptor de rețea. Desigur, server OS capabil de mai mult. Protocolul TCP/IP este configurat pe scară largă folosind servicii de server. Adresele IP în mod obișnuit computere desktop setați în setări conexiuni de retea. Acolo este configurată adresa de rețea, gateway-ul este adresa IP a punctului la care are acces retea globala, și adresele punctelor în care se află serverul DNS.

Protocolul Internet TCP/IP poate fi configurat manual. Deși acest lucru nu este întotdeauna necesar. Puteți primi automat parametrii protocolului TCP/IP de la adresa de distribuție dinamică a serverului. Această metodă este utilizată în rețelele corporative mari. Pe un server DHCP, puteți mapa o adresă locală la o adresă de rețea și, de îndată ce o mașină cu o anumită adresă IP apare în rețea, serverul îi va da imediat o adresă IP pregătită în prealabil. Acest proces se numește rezervare.

Protocolul de rezoluție a adresei TCP/IP

Singura modalitate de a stabili o relație între o adresă MAC și o adresă IP este prin menținerea unui tabel. Dacă există o tabelă de rutare, fiecare interfață de rețea este conștientă de adresele sale (locale și de rețea), dar se pune întrebarea cum să se organizeze corect schimbul de pachete între noduri folosind protocolul TCP/IP 4.

De ce a fost inventat Address Resolution Protocol (ARP)? Pentru a lega familia de protocoale TCP/IP și alte sisteme de adresare. Un tabel de mapare ARP este creat pe fiecare nod și este populat prin sondajul întregii rețele. Acest lucru se întâmplă de fiecare dată când computerul este oprit.

Tabelul ARP

Așa arată un exemplu de tabel ARP compilat.

    În timpul transmisiei, dimensiunea ferestrei variază. Prin valoarea lui W, puteți determina gradul de pregătire pentru a primi date. Dacă W=0, atunci fereastra nu acceptă. După o anumită perioadă t, temporizatorul de repetiție a cererii trimite un segment complet cu dimensiunea de 1 octet și așteptăm confirmarea. Dacă partea de recepție este gata să primească, atunci trimite o primire pozitivă către acest octet cu o dimensiune a ferestrei > 0.

    Se folosește un mecanism de timeout. Cantitatea de așteptare pentru o chitanță pozitivă este fixată de valoarea timpului dublu de răspuns. Timeout=2 avg.t of double revolution = 2τ.

  • Structura antetului segmentului protocolului TCP

      Portul expeditorului 16

      Portul receptor 16

      Poziția segmentului 32

      Pseudo-antet (96)

      Primul octet așteptat 32

      Offset 4

      Dimensiunea ferestrei 16

      Suma de control 16

      Indicatorul de importanță a datelor 16

      Opțiuni și substituent

    Poziția segmentului este numărul de secvență al primului octet de date din mesajul original.

    Primul octet așteptat - câmpul specifică numărul de secvență al octetului pe care partea de recepție îl așteaptă, confirmând simultan recepția corectă a octeților cu numere mai mici. Acest câmp este completat numai atunci când segmentul are o chitanță pozitivă. Steagul ASK va fi egal cu unu.

    Data offset – setează lungimea antetului în cuvinte de 32 de biți.

    Câmp de rezervă – nu este utilizat. Conținutul este zero.

    Steaguri – aceste câmpuri sunt active atunci când conțin unul

    • URG=1 – indicator de importanță a datelor. Dacă segmentul primit are URG=1, atunci capătul de recepție trebuie să accepte datele „importante”, indiferent de faptul că tamponul poate fi plin.

      ASK=1 – acest segment este o chitanță pozitivă

      PCH=1 – indicator de urgență a datelor. Datele segmentului trebuie transmise mai întâi.

      RST=1 – segmentul servește ca cerere de stabilire a unei conexiuni și a parametrilor inițiali ai acesteia.

      SYN=1 – segmentul este folosit pentru sincronizarea contoarelor datelor transmise.

      FIN=1 – segmentul este ultimul din mesajul transmis.

    Dimensiunea ferestrei este un indicator al numărului de octeți pe care partea receptoare este dispusă să-i accepte.

    Sumă de control – determinată pentru întregul segment (inclusiv date, pseudo-antet și adrese IP ale expeditorului și destinatarului). Pseudo bit antet = 96.

    Indicator de importanță a datelor – completat numai când steagul URG=1. Datele vor fi prelucrate numai la nivelul aplicației.

    Opțiuni și substituent (suplimentar) – opțiunile sunt folosite pentru a coordona parametrii conexiunii care se stabilesc (dimensiunea segmentului, dimensiunea ferestrei etc.). Opțiunile nu sunt limitate în dimensiune; câmpul suplimentar extinde opțiunile la un cuvânt de 32 de biți.

  • Rețele x.25

  • Rețelele X.25 sunt cele mai comune rețele cu comutare de pachete. Inițial, a fost dezvoltat stiva de protocoale X.25, de la care provine numele rețelelor. Protocolul a fost elaborat în 1974 de către Comitetul Consultativ Internațional de Telefonie și Telegraf (ICITT).

    În 1984, acest protocol a fost inclus în „Cartea roșie”, adică adoptat ca standard ISO

    De atunci la fiecare 4 ani acest standard a fost considerată fără modificări semnificative.

    Această tehnologie a devenit larg răspândită din două motive:

    Multă vreme, X.25 a fost singura rețea comercială de comutare de pachete disponibilă.

    Astfel de rețele funcționează foarte bine pe linii de comunicație cu viteză redusă și nesigure, care rămân principalele linii de transmisie a datelor.

    PSC – centru de comutare de pachete

    PAD – asamblator/dezasamblator de pachete. Este șters.

    M-M – modem

    M (care este separat) - router

    K – calculator

    * - colector/parser de pachete încorporat

    ** - retea telefonica

    Dezasamblatorul de pachete (PSC) acceptă 8, 16, 24, 32 și 64 de terminale asincrone.

    Terminalul merge de obicei -> la normal reteaua telefonicași mai departe -> la PSA printr-o interfață specială RS-232C

    Principalele funcții reglementate de protocolul X.3:

    Stabilirea și deconectarea unei rețele X.25 de la resursa dorită

    Asamblarea octeților sau caracterelor de la terminale cu viteză mică în pachete de lungimea necesară și transmiterea acestora în rețea

    Primirea pachetelor din rețea, analizarea pachetelor și transmiterea datelor către terminale

Protocolul de control al transmisiei (TCP) asigură o transmisie fiabilă a datelor într-un mediu IP. TCP aparține stratului de transport model de referinta OSI (stratul 4). TCP oferă servicii precum streaming date, fiabilitate, control eficient al fluxului, duplexare și multiplexare.

La transmiterea datelor, TCP transmite un flux nestructurat de octeți identificați prin numere de secvență. Acest serviciu este util pentru aplicații deoarece nu trebuie să despartă datele în blocuri înainte de a le transmite prin TCP. TCP grupează octeții în segmente și îi transmite stratului de protocol IP pentru redirecționare.

Fiabilitatea TCP este asigurată de transmisia de la capăt la capăt, orientată spre conexiune, a pachetelor prin internetwork. Acest lucru se realizează prin ordonarea octeților folosind numere de confirmare a transmisiei, pe care destinatarul le folosește pentru a determina ce octet ar trebui să sosească următorul. Octeții care nu primesc confirmarea într-un anumit timp sunt transmiși din nou. Mecanismul robust al TCP permite dispozitivelor să gestioneze pachetele pierdute, întârziate, duplicate și citite greșit. Mecanismul limită de timp permite dispozitivelor să recunoască pachetele pierdute și să solicite retransmiterea acestora.

TCP asigură un control eficient al fluxului. Când trimite confirmări către sursa de date, procesul TCP de primire specifică cel mai mare număr de secvență pe care îl poate accepta fără a-și depăși buffer-urile interne.

În modul full-duplex, un proces TCP poate trimite și primi simultan pachete.

În cele din urmă, multiplexarea TCP înseamnă transmiterea mai multor conversații simultan printr-o singură conexiune. nivel superior.

Stabilirea unei conexiuni TCP

Pentru a utiliza servicii de transport fiabile, gazdele TCP trebuie să stabilească între ele sesiuni orientate spre conexiune. Conexiunea se stabilește folosind un mecanism numit strângere de mână în trei căi.

Acest mecanism sincronizează ambele părți ale conexiunii, permițându-le să cadă de acord asupra numerelor de secvență de pornire. De asemenea, asigură că ambele părți sunt pregătite să transfere date și că fiecare parte este conștientă de pregătirea celeilalte. Acest lucru este necesar pentru a evita transmiterea sau retransmiterea pachetelor în timpul configurării sesiunii sau după terminarea sesiunii.

Fiecare nod selectează aleatoriu un număr de secvență pentru a ține evidența octeților fluxului primiți și transmisi. Mecanismul de sincronizare în trei etape funcționează apoi după cum urmează.

Primul nod (Nodul A) inițiază conexiunea prin trimiterea unui pachet cu un număr de secvență inițial și un bit SYN pentru a indica o solicitare de conexiune. Al doilea nod (Nodul B) primește SYN-ul, notează numărul de ordine X și răspunde cu o confirmare SYN (împreună cu ACK = X + 1). Nodul B specifică propriul său număr de secvență (SEQ = Y). Apoi, dacă ACK este 20, atunci aceasta înseamnă că nodul a primit octeții de la 0 la 19 și așteaptă următorul octet 20. Această tehnologie se numește confirmare de transmisie. Nodul A confirmă apoi primirea tuturor octeților trimiși de Nodul B cu o confirmare de transmisie, indicând următorul octet pe care Nodul A se așteaptă să îl primească (ACK = Y + 1). După aceasta, transferul de date poate începe.

Recunoaștere și retransmitere

Un protocol de transport simplu poate oferi fiabilitate și tehnologie de control al fluxului în care nodul sursă trimite un pachet, pornește un temporizator și așteaptă o confirmare înainte de a trimite un nou pachet. Dacă confirmarea nu este primită după expirarea timpului, nodul transmite din nou pachetul. Această tehnologie se numește recunoaștere și retransmisie pozitivă (PAR).

Prin atribuirea unui număr de secvență fiecărui pachet, PAR permite nodurilor să urmărească pachetele care sunt pierdute sau duplicate din cauza întârzierilor în rețea și a retransmisiilor premature. Numerele de secvență sunt trimise înapoi ca notificări către capacitatea de urmărire a confirmării.

Cu toate acestea, PAR nu folosește în mod eficient debitului, deoarece nodul trebuie să aștepte o confirmare înainte de a trimite un nou pachet și, prin urmare, pachetul poate fi transmis doar unul după altul.

Fereastra glisantă TCP

Fereastra glisantă a TCP utilizează lățimea de bandă a rețelei mai eficient decât PAR, deoarece permite gazdelor să trimită mai mulți octeți sau pachete fără a aștepta o confirmare.

În TCP, nodul receptor determină dimensiunea ferestrei curente a fiecărui pachet. Deoarece datele sunt transmise ca un flux de octeți printr-o conexiune TCP, dimensiunile ferestrelor sunt, de asemenea, exprimate în octeți. Astfel, fereastra reprezintă numărul de octeți de date pe care expeditorul îi poate trimite înainte de a aștepta o confirmare. Dimensiunile inițiale ale ferestrei sunt determinate atunci când conexiunea este configurată, dar se pot schimba pe măsură ce datele de control al fluxului sunt transferate. De exemplu, o dimensiune a ferestrei de zero înseamnă că nu există transfer de date.

Să presupunem că un expeditor TCP trebuie să trimită unei ferestre glisante o secvență de octeți (numerotați de la 1 la 10) unui receptor cu dimensiunea ferestrei de 5. Expeditorul plasează primii 5 octeți în fereastră, îi transmite pe toți odată și așteaptă pentru o recunoaștere.

Receptorul răspunde cu un ACK de 6, indicând că a primit octeții de la 1 la 5 și așteaptă octetul 6. În același pachet, receptorul indică faptul că dimensiunea ferestrei sale este de 5. Expeditorul mută fereastra glisantă cu 5 octeți la dreapta și transmite octeții de la 6 la 10. Receptorul răspunde cu un ACK de 11, indicând că așteaptă octetul 11. În acest pachet, receptorul poate indica faptul că dimensiunea ferestrei sale este 0 (deoarece, de exemplu, tampoanele sale interne sunt pline ). Apoi, expeditorul nu va mai putea trimite alți octeți până când receptorul nu trimite un alt pachet cu o dimensiune de fereastră diferită de zero.

Format de pachet TCP

Câmpurile și formatul complet al unui pachet TCP sunt prezentate în Fig. 35.10.

Orez. 35.10. Format de pachet TCP

Descrierea câmpurilor pachetului TCP

În continuare sunt descrise câmpurile pachetului TCP prezentate în Fig. 35.10.

Port sursă și port destinație. Punctele în care procesele de nivel superior sursă și destinație acceptă serviciile TCP.

Număr de serie. De obicei, acesta este numărul atribuit primului octet de date din mesajul curent. Când se stabilește o conexiune, poate fi folosit și pentru a indica numărul de ordine inițial într-o transmisie viitoare.

Număr de confirmare. Numărul de secvență al următorului octet de date pe care destinatarul se așteaptă să îl primească.

Schimbarea datelor. Numărul de cuvinte pe 32 de biți din antetul TCP.

Rezervă. O zonă rezervată pentru utilizare ulterioară.

Steaguri. Diverse informații de control, inclusiv biții SYN și ACK utilizați pentru a stabili o conexiune și bitul FIN pentru a termina o conexiune.

Fereastră. Dimensiunea ferestrei de primire a receptorului (dimensiunea tamponului pentru datele primite).

Verificați suma. Indică dacă antetul a fost corupt în timpul transmisiei.

Indicator de urgență. Indică primul octet de date urgente din pachet.

Opțiuni. Variat Opțiuni suplimentare TCP.

Date. Informații de nivel superior.

Literatură:

Manual de tehnologie de internetworking, ediția a 4-a. : Per. din engleza - M.: Editura „William”, 2005. - 1040 p.: ill. - Paral. tit. Engleză