Utilitare pentru rețea - Stadopedia

În diferite sisteme de operare există seturi diferite de utilități. Comparați-le pentru două sisteme, de exemplu, Microsoft Windows NT și Sun Solaris. Indiferent de cât de diferite sunt aceste sisteme de operare, în fiecare dintre ele este implementat modelul OSI. În mod firesc, implementarea software-ului și a componentelor hardware ale acestui model este diferită, dar interacțiunea tuturor nivelurilor se realizează conform standardelor stabilite.








Există două tipuri de intrări în tabelul ARP - statice și dinamice. O înregistrare statică este introdusă manual și există până când se șterge manual sau se repornește computerul (ruterul).

Pentru a identifica diferite probleme din rețea, există mai multe utilitare care vă permit să determinați la ce nivel al modelului OSI a apărut o eroare sau au fost specificate setări de protocol de rețea incorecte. Una dintre aceste utilitare este ping.

Protocolul ICMP este situat la intersecția a două niveluri - rețea și transport. Principiul de bază al acestui protocol - formarea ICMP echo request (echo-cerere) și răspuns ecou (echo-răspuns). Solicitarea ecoului și răspunsul la acesta pot fi folosite pentru a verifica disponibilitatea gazdei de destinație și capacitatea acesteia de a răspunde la solicitări. De asemenea, trecerea de cereri de ecou și operabilitatea răspuns ecou verifică partea principală a sistemului de transport, aparatul de rutare sursă, serviceability și direcționarea corectă a routerele între sursă și destinatar, precum și performanța și corectitudinea destinatarului de rutare.

Astfel, dacă se întoarce un răspuns corect la ecou, ​​de la mașina la care a fost trimisă cererea, se poate spune că sistemul de transport funcționează corect. Și dacă browserul nu poate afișa pagina web, atunci problema aparent nu este în primele trei nivele ale modelului OSI.

Exemplul arată că dimensiunea pachetului trimis este în mod implicit 32 de octeți, apoi sunt afișate timpul de întârziere a răspunsului și TTL. Acest exemplu arată executarea cu succes a comenzii ping. În cazurile în care sunt trimise cereri de solicitare ecou, ​​dar răspunsul ecou nu este returnat, este afișat un mesaj despre intervalul de timp pentru răspuns.

Aplicația traceroute utilizează, de asemenea, protocolul ICMP pentru a determina calea pachetului. Când este trimis, traceroute stabilește secvențial valoarea TTL de la 1 la 30. Fiecare router prin care trece pachetul în calea către gazda alocată mărește valoarea TTL cu una. Cu ajutorul TTL există o barieră de prevenire a buclelor de pachete în "buclele" de rutare, altfel pachetele "pierdute" vor supraîncărca rețeaua. Cu toate acestea, atunci când ruterul sau link-ul eșuează, mai multe tranziții suplimentare sunt necesare pentru a înțelege că acest traseu este pierdut și trebuie să fie ocolit. Pentru a preveni pierderea datagramei, câmpul TTL este setat la valoarea maximă.

Luați în considerare un exemplu de utilitate traceroute.

traceroute la netserv1.chg.ru (193.233.46.3), 30 hops max, 38 de octeți

1 n3-core.mipt.ru (194.85.80.1) 1.508 ms 0.617 ms 0.798 ms

2 mipt-gw-eth0.mipt.ru (193.125.142.177) 2.362 ms 2.666 ms 1.449 ms

3 msu-mipt-atm0.mipt.ru (212.16.1.1) 5.536 ms 5.993 ms 10.431 ms

4 M9-LYNX.ATM6-0.11.M9-R2.msu.net (193.232.127.229) 12.994 ms 7.830 ms 6.816 ms

5 Moscow-BNS045-ATM4-0-3.free.net (147.45.20.37) 12.228 ms 7.041 ms 8.731 ms







6 ChgNet-gw.free.net (147.45.20.222) 77.103 ms 75.234 ms 92.334 ms

7 netserv1.chg.ru (193.233.46.3) 96.627 ms 94.714 ms 134.676 ms

În fiecare dintre sistemele de operare, partea de rețea a utilitarului este implementată aproape identic, dar implementarea la nivel de aplicație este diferită.

În Windows, utilitarul se numește tracert. Este folosit în același mod ca și în Solaris OS (tracert netserv1.chg.ru). Nu există o diferență fundamentală între utilitățile tracert și traceroute. O caracteristică traceroute este prezența mai multor funcții (de exemplu, puteți specifica de la care TTL să afișeze informații).

În cazul unei probleme, este afișat un mesaj. De exemplu, dacă rețeaua nu este disponibilă, mesajul de pe router este: N (net accesibil):

947,327 ms! N 996,548 ms! N 995,257 ms

Aceasta înseamnă că 147.45.20.37 este ruterul din care nu este disponibil ruta ulterioară. Dacă gazda nu este disponibilă, mesajul va arăta astfel:

5,336 ms! H 5,993 ms! H 10,431 ms! H.

Eroare! P înseamnă un protocol nedorit.

Utilitare pentru rețea - Stadopedia

Tabelul de rutare specifică rețeaua, masca de rețea, routerul prin care această rețea este accesibilă, interfața și metricul traseului. Din tabelul de mai jos, puteți vedea că ruta implicită este disponibilă prin intermediul ruterului 192.168.1.1. Rețeaua 192.168.1.0 cu masca 255.255.255.0 este o rețea locală.

Când adăugați un traseu, puteți utiliza următoarea comandă.

traseu ADD 157.0.0.0 MASC 255.0.0.0 157.55.80.1

157.0.0.0 - rețea la distanță, 255.0.0.0 - mască de rețea la distanță, 157.55.80.1 - routerul prin care această rețea este accesibilă. Aproximativ aceeași sintaxă este utilizată la ștergerea unui traseu: ruta DELETE 157.0.0.0.

TCP mycomp: 3687 www.ru:http ESTABLISHED

În exemplul curent, prima valoare - TCP - tipul de protocol (poate fi TCP sau UDP), urmată de numele mașinii locale și portul local, www.ru:http - numele de gazdă de la distanță și portul accesat (folosit ca port implicit pentru HTTP, apoi nu valoarea numerică 80, dar numele protocolului este afișat), ESTABLISHED - indică faptul că este stabilită conexiunea TCP.

Utilitare pentru rețea - Stadopedia

Utilitare pentru rețea - Stadopedia

În sistemul Solaris, netstat este de asemenea folosit pentru a obține informații despre porturile utilizate. Formatul de ieșire este aproape același.

Aplicația abordează instrumentele Java pentru a lucra cu cele mai comune puncte de rețea.

Să ne întoarcem la instrumentele Java pentru a lucra cu rețeaua.

Clasele care lucrează cu protocoalele de rețea se află în pachetul java.net, iar cea mai simplă dintre ele este clasa URL. Folosind-o, poți construi un identificator de resurse uniform (URL), care are următorul format:

clasa publica Net

public static void principal (String args [])

> captură (UnknownHostException e)

> captură (IOException e)

După pornirea serverului și apoi a clientului, puteți vedea rezultatul - numărul rezultat, 10, după care ambele programe se vor închide.

În al doilea rând, puteți utiliza metoda setSoTimeout (int timeout) din clasa ServerSocket pentru a specifica timpul în milisecunde pentru care doriți să așteptați să se conecteze clientul. Acest lucru permite serverului să nu se "atârne" dacă nimeni nu încearcă să înceapă să lucreze cu acesta. Timpul de expirare este specificat în milisecunde, zero înseamnă timp de așteptare infinit.

Este important să subliniem faptul că, după stabilirea conexiunii cu clientul, serverul iese din metoda accept (), adică încetează să mai fie gata să primească noi cereri. Cu toate acestea, de regulă, este de dorit ca serverul să poată lucra cu mai mulți clienți în același timp. Pentru aceasta, este necesar să creați un thread nou de execuție atunci când conectați următorul utilizator, care îl va servi, iar firul principal va intra din nou în metoda accept (). Dăm un exemplu de astfel de soluție:

clasa publica NetServer

public final static int PORT = 2500;

statică finală privată int TIME_SEND_SLEEP = 100;

statică definitivă privată int COUNT_TO_SEND = 10;

ServerSocket servSocket privat;

public static void principal (String [] args)

Serverul NetServer = noul NetServer ();







Articole similare

Trimiteți-le prietenilor: