Curs 2 - Protocoale Fundamentale: TCP, UDP, DHCP, DNS și ICMP

Acest curs explorează protocoalele fundamentale de comunicație utilizate în rețelele de calculatoare.

1. Protocolul TCP (Transmission Control Protocol)

TCP este un protocol de transport orientat pe conexiune, care asigură transmiterea fiabilă a datelor printr-o rețea.

Caracteristici principale:

- Fiabilitate: Utilizează mecanisme de retransmisie și control al erorilor.

- Segmentare și reasamblare: Împarte datele în segmente și le reasamblează la destinație.

- Controlul fluxului și congestionării: Optimizează traficul pentru a preveni supraîncărcarea rețelei.

a) Modelul Handshake în 3 pași

TCP stabilește conexiunea printr-un proces numit handshake în 3 pași:

1. SYN: Clientul trimite un pachet SYN către server.

2. SYN-ACK: Serverul răspunde cu un pachet SYN-ACK.

3. ACK: Clientul confirmă conexiunea printr-un pachet ACK.

Comandă pentru testarea unei conexiuni TCP:

telnet google.com 80

2. Protocolul UDP (User Datagram Protocol)

UDP este un protocol de transport fără conexiune, utilizat pentru transmisii rapide de date fără mecanisme de corecție a erorilor.

Caracteristici:

- Fără conexiune: Nu necesită stabilirea unei conexiuni.

- Fără retransmisie: Pachetele pierdute nu sunt retransmise.

- Utilizat pentru streaming, VoIP și DNS.

Comandă pentru trimiterea unui pachet UDP:

echo -n "test" | nc -u 192.168.1.1 12345

3. Protocolul DHCP (Dynamic Host Configuration Protocol)

DHCP este utilizat pentru alocarea automată a adreselor IP într-o rețea.

Funcționare:

1. Clientul trimite un mesaj DHCP DISCOVER.

2. Serverul răspunde cu un mesaj DHCP OFFER.

3. Clientul acceptă oferta printr-un mesaj DHCP REQUEST.

4. Serverul confirmă alocarea printr-un mesaj DHCP ACK.

Comandă pentru a obține o adresă IP prin DHCP:

dhclient eth0

4. Protocolul DNS (Domain Name System)

DNS este utilizat pentru a converti numele de domenii (ex: google.com) în adrese IP.

Tipuri de înregistrări DNS:

- A: Mapare domeniu -> IPv4.

- AAAA: Mapare domeniu -> IPv6.

- MX: Mail Exchange pentru servere de e-mail.

- CNAME: Alias pentru un domeniu existent.

Comandă pentru interogarea unui server DNS:

nslookup google.com

5. Protocolul ICMP (Internet Control Message Protocol)

ICMP este utilizat pentru diagnosticarea problemelor de rețea și raportarea erorilor.

Mesaje ICMP importante:

- Echo Request / Echo Reply: Utilizate în comanda `ping`.

- Destination Unreachable: Indică faptul că o destinație nu este accesibilă.

- Time Exceeded: Utilizat în `traceroute` pentru a detecta ruta unui pachet.

Comenzi pentru testarea conectivității rețelei:

ping 8.8.8.8

6. Exercițiu Practic - Analizarea Pachetelor de Rețea

Utilizează `tcpdump` sau `Wireshark` pentru a captura și analiza pachetele de rețea transmise prin TCP, UDP, DHCP, DNS și ICMP.

sudo tcpdump -i eth0 port 53
wireshark

Resurse suplimentare: