Bogdan's Docs

Table of Contents

Table of Contents

  • Retele de Calculatoare
    • Internet
    • Ce este HTTP?

Ideas

  • Artificial Intelligence
    • Bond Pricing
    • Kubernetes Inference
    • Knowledge Bot
    • Ready to Use Models
    • Satellite Damage Detection

Curs IoT si AI (ro) Resources

  • Links
    • Artificial Intelligence
  • Recipes
    • MacOS
Bogdan's Docs
Docs » iot-si-ai:scurta-introducere-in-retele-de-calculatoare

Retele de Calculatoare

Internet

Adresele IP (Internet Protocol) sunt identificatori unici alocate dispozitivelor conectate la internet sau la o rețea de calculatoare. Adresele IP permit dispozitivelor să comunice și să se conecteze la alte dispozitive de pe internet sau de pe rețea.

Există două versiuni principale ale protocolului IP: IPv4 și IPv6. Adresele IPv4 sunt formate din patru numere între 0 și 255, separate prin puncte, cum ar fi 192.168.0.1. În timp ce adresele IPv6 sunt mult mai lungi și sunt reprezentate de 8 numere între 0 și 65535, reprezentate hexazecimal separate prin două puncte, cum ar fi 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

Adresele IP permit dispozitivelor să se conecteze la alte dispozitive sau la servere web prin intermediul internetului sau al rețelei de calculatoare, prin intermediul rutării pachetelor de date între dispozitive. Fiecare dispozitiv conectat la internet sau la o rețea de calculatoare are o adresă IP unică, ceea ce permite comunicarea între ele.

Adresele IP sunt esențiale pentru funcționarea internetului și a rețelelor de calculatoare, deoarece permit dispozitivelor să se conecteze și să comunice între ele în mod eficient și să transmită informații în întreaga lume.

Serverele DNS (Domain Name System) sunt folosite pentru a transforma numele de domeniu, cum ar fi google.com în adresele IP, cum ar fi 172.217.11.174. Acest proces se numește rezolvare DNS și este esențial pentru navigarea pe internet.

În locul folosirii adreselor de IP pentru fiecare site web vizitat, DNS permite folosirea numelui de domeniu pentru a accesa site-ul. Atunci când un nume de domeniu este introdus într-un browser web, acesta solicită serverului DNS să furnizeze adresa IP corespunzătoare.

Linux Windows Power Shell
user@server:~$ cat /etc/resolv.conf
# nameserver config
nameserver 213.133.98.98
nameserver 213.133.100.100
nameserver 213.133.99.99
nameserver 2a01:4f8:0:1::add:9898
nameserver 2a01:4f8:0:1::add:1010
nameserver 2a01:4f8:0:1::add:9999
PS C:\Users\user> Get-DnsClientServerAddress

InterfaceAlias               Interface Address ServerAddresses
                             Index     Family
--------------               --------- ------- ---------------
Local Area Connection                7 IPv4    {}
Local Area Connection                7 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}
Ethernet                             9 IPv4    {192.168.11.11, 192.168.11.1}
Ethernet                             9 IPv6    {}
Local Area Connection* 1             4 IPv4    {}
Local Area Connection* 1             4 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}
Local Area Connection* 10           17 IPv4    {}
Local Area Connection* 10           17 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}
Wi-Fi                               12 IPv4    {192.168.11.11, 192.168.11.1}
Wi-Fi                               12 IPv6    {}
Bluetooth Network Connection        16 IPv4    {}
Bluetooth Network Connection        16 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}
Loopback Pseudo-Interface 1          1 IPv4    {}
Loopback Pseudo-Interface 1          1 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}

Folosirea numelor de domeniu pentru a accesa site-uri web este mai ușoară decât memorarea adreselor IP și mai flexibilă. De exemplu, un site web poate utiliza o adresă IP diferită în funcție de locația geografică a utilizatorului, dar același nume de domeniu poate fi utilizat pentru a accesa site-ul de oriunde din lume.

Serverele DNS sunt esențiale pentru a asigura funcționarea internetului și permit utilizatorilor să acceseze site-uri web și să comunice între ele prin intermediul numelor de domeniu, fără a fi nevoie să memoreze adresele IP.

Porturile sunt numere de identificare asociate unor servicii sau aplicații specifice care rulează pe un dispozitiv conectat la internet. Ele sunt utilizate pentru a direcționa traficul de date către serviciul sau aplicația corectă și pentru a permite dispozitivelor să comunice între ele în mod eficient.

Există 65535 de porturi disponibile, dar nu toate sunt utilizate pentru servicii de internet. Cele mai frecvente porturi folosite pentru servicii de internet includ:

  • Portul 80: utilizat pentru accesarea site-urilor web prin intermediul protocolului HTTP (Hypertext Transfer Protocol).
  • Portul 443: utilizat pentru accesarea site-urilor web prin intermediul protocolului HTTPS (HTTP Secure) care utilizează criptare SSL/TLS (Secure Sockets Layer/Transport Layer Security) pentru a proteja datele transmise între browser și server.
  • Portul 25: utilizat pentru trimiterea și recepționarea de e-mailuri prin intermediul protocolului SMTP (Simple Mail Transfer Protocol).
  • Portul 110: utilizat pentru recepționarea e-mailurilor prin intermediul protocolului POP3 (Post Office Protocol version 3).
  • Portul 143: utilizat pentru accesarea e-mailurilor prin intermediul protocolului IMAP (Internet Message Access Protocol).
  • Portul 22: utilizat pentru conectarea la un server prin intermediul protocolului SSH (Secure Shell) pentru a permite administrarea sau transferul de fișiere prin protocoalele SCP (Secure Copy) sau SFTP (Secure File Transfer Protocol).

Fiecare serviciu sau aplicație care utilizează internetul poate fi asociat cu un port specific, ceea ce permite dispozitivelor să se conecteze și să comunice în mod eficient prin intermediul internetului.

Un URL (Uniform Resource Locator) este adresa specifică care identifică o resursă de pe internet, cum ar fi o pagină web, un fișier sau o imagine. URL-urile sunt utilizate în mod obișnuit pentru a accesa resursele web prin intermediul browserelor web.

Structura unui URL este următoarea:

scheme://user:password@domain:port/path?query_string#fragment_id
  • scheme: specifică protocolul utilizat pentru a accesa resursa. Exemple de scheme includ HTTP, HTTPS, FTP, SMTP, etc.
  • user și password (opțional): utilizate pentru autentificare, dar sunt rareori folosite în practică din motive de securitate.
  • domain: numele de domeniu sau adresa IP a serverului care găzduiește resursa. Exemple de nume de domenii includ google.com, amazon.com, etc.
  • port (opțional): numărul de port pe care rulează serverul. Dacă nu este specificat, se utilizează portul implicit asociat schemei. De exemplu, portul implicit pentru HTTP este 80, iar pentru HTTPS este 443.
  • path: specifică calea către resursa specificată pe server. Aceasta poate fi un fișier sau un director și este indicată printr-o serie de segmente separate prin caracterul /.
  • query_string (opțional): o serie de perechi cheie-valoare separate prin &, utilizate pentru a trimite parametri către server. De exemplu, ?search=term&page=1.
  • Fragment_id (opțional): un identificator care specifică o secțiune particulară din resursa identificată de URL. Aceasta este utilizată în special pentru paginile web cu conținut extins, cum ar fi cărți electronice sau documente PDF.

În general, structura unui URL este flexibilă și poate varia în funcție de schemele și serviciile utilizate, dar majoritatea URL-urilor utilizează o structură similară.

Ce este HTTP?

Protocolul de transfer de hipertext (HTTP) este un protocol de rețea standard utilizat pentru a comunica între servere web și browsere web. Este utilizat pentru a trimite solicitări și a primi răspunsuri între clientul web (cum ar fi un browser web) și serverul web care găzduiește site-ul web sau aplicația web.

HTTP este un protocol client-server, ceea ce înseamnă că un client web trimite o solicitare către un server web și așteaptă un răspuns de la acel server. Răspunsul poate fi un conținut text, fișiere, imagini sau orice alt tip de conținut web.

HTTP utilizează metodele de cerere pentru a specifica acțiunile care trebuie luate de către serverul web. Cele mai comune metode de cerere sunt:

  • GET: obțineți o resursă specificată de pe serverul web
  • POST: trimiteți date către serverul web pentru procesare (de obicei, pentru a adăuga, actualiza sau șterge date)
  • PUT: încărcați o resursă specificată pe serverul web
  • DELETE: ștergeți o resursă specificată de pe serverul web

HTTP este un protocol fără stare, ceea ce înseamnă că fiecare cerere este tratată independent de orice cerere anterioară. Acest lucru face ca HTTP să fie un protocol eficient pentru aplicații web și permite serverului să servească multiple cereri simultan.

De-a lungul anilor, protocolul HTTP a evoluat și a fost îmbunătățit pentru a sprijini funcții avansate, cum ar fi criptarea prin HTTPS și transferul de date în timp real prin WebSocket.

Folosind telnet poți comunica prin HTTP prin trimiterea manuală a cererilor HTTP. Iată un exemplu de cum poți accesa pagina de start a serverului web Google folosind telnet:

  • Deschide o fereastră de terminal și introdu comanda telnet, urmată de adresa serverului web și portul HTTP (80):
telnet www.google.com 80
  • Așteaptă până când conexiunea este stabilită și apoi trimite o cerere HTTP GET pentru pagina de start a serverului web Google:
GET / HTTP/1.1
Host: www.google.com
  • Apasă Enter de două ori pentru a trimite cererea HTTP.
  • Serverul web Google va răspunde cu un răspuns HTTP care va conține conținutul paginii de start a serverului web Google. Iată un exemplu de răspuns HTTP de la serverul web Google:
HTTP/1.1 200 OK
Date: Tue, 23 Mar 2023 14:57:23 GMT
Content-Type: text/html; charset=UTF-8
Server: gws
Content-Length: 1102
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Set-Cookie: ...

<!doctype html><html itemscope="" ...
  • După ce ați primit răspunsul HTTP, puteți să închideți sesiunea telnet apăsând Ctrl + ] și tastând quit pentru a ieși.

Acesta este un exemplu simplu de cum poți comunica prin HTTP folosind telnet.

Previous Next