Sunteți pe pagina 1din 490

Sisteme avansate de comunicatii in mediu industrial

Lab 1 –
Nivelul fizic al sistemelor de
comunicatii
Internet

By The Opte Project - Originally from the English Wikipedia; description page is/was here., CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=25698718
Modele de referinta TCP/IP
Nivelul aplicatie
genereaza datele ce vor fi
transmise
Nivelul transport
defineste protocolul folosit
pentru transmisie –
Identificare: port TCP.
Nivelul internet
gestioneaza comunicatia
prin internet –
Identificare: adresa IP
Nivelul acces retea
gestioneaza comunicatia
prin tipul de media: cablu,
fibra, unde. - Identificare:
adresa MAC
Modele de referinta TCP/IP
SAP (Service Access Point)
Data - Application layer PDU
PDU Nivel n TCP/IP Segment - Transport layer PDU
Packet - Internetwork layer PDU
SDU SAP (Service Access Point) Frame - Network access layer PDU
Bits – Physical layer
Nivel n-1 TCP/IP

Serviciu
• Modul de prelucrare a datelor
Protocol asociat unui nivel
• Set de reguli de comunicație intre • SAP (Service Access Point) –
entități interfața intre nivele
• Datele comunicate = PDU (Protocol • SDU (Service Data Unit) –
Data Unit datele transmise prin interfețe
TCP/IP
Calculator 1 Calculator 2
Canale de comunicatie virtuala
intre nivele
INCAPSULARE

RECONSTRUCTIE
Comunicatia TCP/IP - exemplu
Photo: iStock

Open -> connect

TCP TCP
Data <- acknowledge

IP IP IP IP

Data link DL DL Internet DL DL Data link


Ethernet Eth … … Eth Ethernet
Physical P P P P Physical
Twisted Pair TP TP Fiber Fiber Fiber TP TP Twisted Pair
Nivel fizic
Legatura de date (Lab 2)
NIVEL 1 – Acces retea
• Nivelul acces rețea se împarte in:
▫ Nivel fizic
▫ Legătura de date

• Tipuri de medii de transmisie des utilizate:


▫ Perechi răsucite (Twisted Pair) – format din 8 fire de
Cupru
▫ Cablu Coaxial – format dintr-un conductor de Cupru
▫ Fibra optica
▫ Wi -Fi
Spectrul de frecventa al undelor electromagnetice
Tipuri de cablu
• Cablu de cupru:
▫ Perechi răsucite ( Twisted Pair )
▫ Cablu Coaxial
• Fibra optica
Cablul de tip
Twisted Pair – Perechi rasucite
Twisted Pair (TP)
• Cel mai comun tip de cablu pentru retea
• Retele de telefonie
▫ De la client la “cutie” ( local exchange / subscriber
loop )
• In cladiri de birouri
▫ Private branch exchange (PBX)
• LAN
▫ 10Mbps …. 100Mbps ……. 1000Mbps …………..
Twisted Pair (TP)
• Caracteristici principale ale cablului:
• Ieftin
• Usor de instalat
• Rezistent
• Distanta scurta de utilizare
Twisted Pair (UTP) - Standarde
• EIA/TIA
• Electronic Industry Association/
Telecommunication Industry Association
• a stabilit standardul pentru UTP
• 7 categorii
• Cat1 – Cat 7
• Primele 2 nu au fost standardizate dar au primit
denumirea generic cat 1, cat 2
• Categoria 8 – in dezvoltare
EIA/TIA
Nume Frecventa Rata de Aplicatie
transmisie
Cat1 <100KHz < 1Mb voce, fax (cablu de telefon)
Cat2 4MHz 4Mb voce, modem
Cat3 16MHz 16Mb Voce (popular), date, 10BASE-T Ethernet
Cat4 20MHz 20Mb voce, date, Token ring (rar folosit)
Cat5 100MHz 100Mb Date (Fast Ethernet), video, 100BaseT
Cat5e 100MHz 1.000Mb Date (Giga Ethernet), video, 1000BaseT
Cat6 250MHz 1.000Mb Date (Giga Ethernet), video, 1000BaseT
Cat6e 500MHz 10.000Mb Date (10xGiga Ethernet), video, 1000BaseT
Cat7 600 MHz 10.000Mb Telephone, CCTV, 1000BASE-TX in acelasi cablu
Cat7a 1000 MHz 10.000Mb Telephone, CCTV, 1000BASE-TX in acelasi cablu
Twisted Pair (UTP) - Standarde
• ISO/IEC 11801
▫ Information technology — Generic cabling for
customer premises
ISO/IEC Standard Denumire

ISO/IEC 11801-1 Part 1: Generic cabling


ISO/IEC 11801-2 Part 2: Commercial premises

ISO/IEC 11801-3 Part 3: Industrial premises

ISO/IEC 11801-4 Part 4: Homes

ISO/IEC 11801-5 Part 5: Data centers


ISO/IEC 11801-6 Part 6: Distributed buildings
Unshielded Twisted Pair (UTP)
• 4 perechi de fire in interiorul mantalei de plastic.
• fiecare pereche rotita cu un nr de rotatii pe
metru pentru a evita interferenta cu perechile
adiacente si alte echipamente electrice.
• pasul de rotatie creste rata de transmisie dar si
costul de fabricatie.

Mufa RJ45
Unshielded Twisted Pair (UTP)
• Tipuri de cablu:
▫ Cablu direct – Straight Through
▫ Cablu incrucisat - Cross Over Cable
▫ Cablu rasucit - RollOver
Tipuri de cablu
Codul si ordinea culorilor este stabilita de doua standarde: TIA/EIA-568 A si B

TIA
Telecommunicatio
ns Industry
Association

EIA
Electronic
Industries Alliance
Cablu direct – Straight Through
Cablu direct: amandoua mufe respecta acelasi standard A sau B

Conecteaza
dispozitive de tip
diferit: PC la switch
etc
Cablu Cross Over

Placa de Placa de
retea retea

Cablu corssover: o mufa respecta standardul A cealalta standardul B


Cablu Cross Over

Conecteaza
dispozitive de
acelasi tip: PC la
PC, Router la
Router etc
Comparatie cablu UTP

Cablu direct: amandoua mufe respecta


acelasi standard A sau B

Cablu corssover: o mufa respecta


standardul A cealalta standardul B
RollOver
Conecteaza un dispozitiv la portul de
consola a unui router sau switch
Comparatie

Cablul verde este de tip direct


Cablul albastru este de tip corssover
Cablu UTP – Sertizare 1
Pasii pentru atasarea unei mufe de retea (sertizare)

Pas Pas
1 2

Pas
3
Cablu UTP – Sertizare 2
Pas Pas Pas
4 5 6

Pas
7
Cablu UTP – Sertizare 3
Fiecare fir intra intr-un Saboti metalici inteapa fiecare
canal de cablu din mufa fir realizand conexiunea cu
RJ-45 placa de retea

Exemple mufe RJ-45


Twisted Pairs: categorii
• Categorii de cablu Twisted-Pair
▫ UTP: Unshielded Twisted-Pair
 Fara scut electromagnetic
▫ FTP: Foiled Twisted Pair
 Scut electromagnetic format dintr-o folie
▫ STP: Shielded Twisted-Pair
 Perechile sunt imbracate intr-un scut pentru
a reduce nivelul de zgomot

▫ S - scut tip plasa - braided shielding


▫ F – scut folie - foil shielding
Twisted Pairs: categorii

Manta de protectie Scut tip folie (F)

Scut tip plasa (S)

Sufa pentru
rezistenta
Twisted Pairs: categorii

F/UTP: Foiled STP: Shielded SSTP : Screened


Twisted Pair Twisted Pair Shielded Twisted Pair

Acronime, des utilizate ISO/IEC 11801 Scut


UTP U/UTP Cablu – U (fara scut) / Pereche - U
STP, ScTP U/FTP Cablu – U (fara scut) / Pereche - F (folie)
FTP, STP, ScTP F/UTP Cablu – F / Pereche -U
STP, ScTP S/UTP Cablu – S (plasa) / Pereche –U
SFTP, S-FTP, STP SF/UTP Cablu – S F/ Pereche –U
FFTP F/FTP Cablu – F/ Pereche –F
SSTP, SFTP, STP S/FTP Cablu – S/ Pereche –F
STP Shielded Twisted-Pair
• Dezavantajul major al UTP este faptul ca
semnaul poate fi puternic afectat de interferente
radio si electrice.
• Cablul: Shielded twisted pair (STP) este
recomandat pentru zonele cu interferente
electrice.
• Un dezavantaj este grosimea mai mare care
poate incomoda in anumite situatii.
• Cablu realizat la inceput de IBM
Comparatie UTP - STP
FTP - Foil Screened Twisted Pair
STP Shielded Twisted-Pair
Interferenta electromagnetica
• Interferența
▫ perturbatie sau modificare a unui semnal transmis printr-un
mediu.
▫ fenomenul de suprapunere a două sau mai multe unde care
se întâlnesc într-un punct din spațiu

• Interferență electromagnetică
▫ Electromagnetic interference (EMI):
▫ Poate fi provocata de: televizoare, dispozitive electrice, aer
conditionat, motoare, cabluri electrice neecranate
▫ Soluție: ecranarea cablului. ”Shielded Twisted-Pair”
Interferenta electromagnetica
• Interferența radio:
▫ Radio frequency interference (RFI):
▫ transmisii AM / FM (ex: relee de telefon mobila).
▫ Solutie: filtre pot fi instalate în rețea pentru a elimina
semnalul parazit

• Camp electromagnetic
▫ Data emanation (signal emanation)
▫ Câmp electromagnetic, care este generat de un cablu de
rețea sau dispozitiv de rețea,
▫ Risc de securitate atunci când se utilizează cablu coaxial
▫ utilizați cabluri ecranat sau canale de cablu metalice.
Interferenta electromagnetica
Cuplarea semnalului
• Crosstalk
▫ semnalul transmis prin fir conductor sau pereche de
fire creează un efect nedorit pe un alt fir sau pereche
de fire.
• NEXT
▫ interferență măsurată între două perechi dintr-un
singur cablu, la capătul cablului cel mai apropiat de
emițător.
• FEXT
▫ interferențe, măsurată la capăt de cablu cel mai
îndepărtat de la emițător.
Interferenta electromagnetica
Cuplarea semnalului
• Near End / Far End Crosstalk
▫ NEXT / FEXT
▫ Cuplarea semnalului intre perechi
▫ Cuplarea apare intre cablul pe care se transmite
semnalul si cablul pe care se primeste semnalul.
Solutii pentru reducerea
interferentei
• Evitarea aglomerarii de cabluri UTP in traseul de
cablu
• Evitarea proximitatii unor cabluri sau
transformatoare de curent electric.
• Utilizarea cablului ecranat (STP)
• Utilizarea unui canal de cablu izolat
• Mufe RJ45 realizate conform standardului

• Impamantarea corespunzatoare (eventual si


ecranare) a echipamentelor electrice din zona de
explatare a retelei
Curent parazit generat de
impamantare
Cablarea structurata
• Standarde:
▫ ANSI/TIA-568-C.0
 Generic Telecommunications Cabling for Customer Premises
▫ ANSI/TIA-568-C.1
 Commercial Building Telecommunications Cabling Standard
▫ ANSI/TIA-568-C.2
 Balanced Twisted Pair Telecommunications Cabling and
Components Standard
▫ ANSI/TIA-568-C.3
 Optical Fiber Cabling Components
▫ ANSI/TIA-569-B
 Commercial Building Standard for Telecommunications Pathways
and Spaces
▫ ANSI/TIA-606-A
 Administration Standard for the Telecommunications
Infrastructure of Commercial Buildings
▫ IEEE 802.3
Cablarea structurata

• Entrance Facilities (EF)


• Backbone Cabling
• Horizontal Cabling
• Work Area (WA)
• Telecommunications Room (TR)
• Equipment Room (ER)
English: Structured cabling network diagram. Author Lanil Marasinghe
Cablul
Coaxial
Cablu coaxial
Caracteristici
• Cel mai versatil mediu
• Utilizare
▫ Cablu de televiziune
▫ Cable TV
▫ Telefonie pe distante
mari
 10,000 de convorbiri
simultan
 In curs de a fi inlocuita
cu fibra optica
▫ LAN
Standard
Radio Guide
Conectori
Retea CATV
CATV
• Un canal TV (6 MHz) poate fi folosit pentru a
transmite 36Mbps folosind 64 QAM

Cable Modem Termination System


Cablul
Fibra optica
Fibra Optica

• miez (engleză core) - centrul fibrei prin care circulă lumina;


• învelis optic (engleză cladding) - material optic care înveleşte miezul şi care
reflectă lumina;
• învelis protector (engleză coating) - înveliş de plastic care protejează fibra de
zgârieturi şi umezeală.
Moduri de transmisie- Fibra Optica

• Single mode - o singura lungime de unda


• Multimode – mai multe lungimi de unda
▫ Step index
 indicele de refractie scade sub forma de treapta
▫ Graded index
 indicele de refractie scade gradat
Moduri de transmisie- Fibra Optica

Lungime de unda
850 - 1300nm.

Lungime de unda
1310 -1550nm
Transmisie
• Light Emitting Diode (LED)
▫ Ieftin
▫ Rezistent la variatii de temperatura
▫ Mbps
• Injection Laser Diode (ILD)
▫ Rata de transmitere mai mare
▫ Gbps.
Caracteristici
• Avantaje
▫ Rezistenta la zgomote
▫ Atenuare scazuta
▫ Banda larga (bandwidth)

• Dezavantaje
▫ Cost
▫ Instalare/Mentenanta
▫ Fragil
Conectori

http://www.comnen.com/wp-content/uploads/2015/12/COMNEN-Fiber-Optic-Patch-Cable.jpg
Sudura fibrelor optice
Exista 2 metode de lipire a fibrelor optice:
• lipirea prin sudura (fusion splicing) si
• lipirea mecanica (mechanical splicing).

Inainte de a alege metoda potrivita utilizatorul


trebuie sa se gandeasca la obiectivele pe termen
lung ale investitiei.
Lipirea prin sudura (fusion splicing)
Pasi pentru sudura:

Pasul 1: Pregatirea fibrelor – desfaceti mantaua si învelisul protector, lasând doar


fibra „goala“. Singura grija în acest pas este curatenia.

Pasul 2: Sectionati fibra longitudinal (cleaving) – la acest pas se foloseste un


dispozitiv special numit cleaver. Un cleaver bun ajuta la efectuarea unei suduri
reusite, de aceea costul unui asemenea dispozitiv este cuprins între 1.000 si 2.000
de dolari. De mentionat ca un cleaver nu taie fibra pur si simplu, ci obtine
prin sectionare o suprafata extrem de plana a capatului de fibra ce trebuie sudat
(unghi mai mic de 0,5 grade fata de axa transversala).
Lipirea prin sudura (fusion splicing)
• Pasul 3: Sudura fibrei – sunt doua operatiuni cuprinse în
acest pas: alinierea si topirea. Aparatele de sudura
moderne efectueaza în mod automat alinierea fibrelor
optice. O data perfect aliniate fibrele sunt expuse unui
arc electric produs între doi electrozi aflati fata în fata,
perpendicular pe axa fibrelor.
• Pasul 4: Protejarea sudurii – desi se efectueaza automat
un test de tensiune mecanica dupa pasul 3, punctul de
sudura este totusi fragil din punct de vedere mecanic. De
aceea, acest punct se protejeaza cu ajutorul unui manson
termoretractabil care se încalzeste cu ajutorul unui
cuptor instalat pe aparatul de sudura.
Lipirea mecanica (mechanical
splicing)
Patru pasi catre o lipitura mecanica reusita:

• Pasul 1: Pregatirea fibrei – fibra optica se curata de învelisurile si mantalele


protectoare, singura grija în acest pas fiind curatenia.

• Pasul 2: Sectionarea fibrei (cleaving) – procesul este identic cu cel de la


lipirea prin sudura, însa structura suprafetei sectionate nu este un factor
critic în acest caz.

• Pasul 3: Lipirea mecanica – în acest caz nu se foloseste caldura sau alta


energie exterioara. Fibrele se fixeaza pur si simplu în interiorul
dispozitivului mecanic, iar gelul din interior ajuta la propagarea luminii
dintr-o fibra optica în alta.

• Pasul 4: Protejarea fibrei – dispozitivul mecanic ofera el însusi protectia


fibrelor optice fata de mediul exterior.
Avantaje
• Din punct de vedere al performantei, decizia este
luata în functie de domeniul de activitate a
utilizatorului.
• Aparatele de sudura fibra optica produc atenuari
mai mici decât lipiturile mecanice deoarece punctul
de sudura rezultat este aproape insesizabil.
• Metoda lipirii prin sudura este folosita în special la
fibra optica single mode, pe când lipiturile mecanice
pot fi aplicate atât în cazul fibrelor single mode cât si
multimode.
Conexiuni de fibra optica - submarina
Conexiuni de fibra optica -
submarina

http://www.submarinecablemap.com/
http://submarine-cable-map-2014.telegeography.com/
Conexiuni de fibra optica - submarina
Studiu de caz
Transmisia wireless
Wireless LAN
• unde infrarosii
• frecvente radio.
• banda de frecventa: 2.4 GHz - 5GHz.
• nu sunt rezervate pentru dispozitive licentiate,
• Standardul WLAN: 802.11
▫ specificatii pentru WLAN,
▫ securitate wireless,
▫ interoperabilitate,
▫ calitatea serviciului (QoS).
• Wi-Fi Alliance
Standarde - 802.11
• Standard WLAN
• 1997 - Institute of Electrical and Electronics
Engineers (IEEE) created the first
• 802.11 – numele grupului de initiativa.
• Initial permitea 2 Mbps
Standarde - 802.11a
• Utilizeaza frecventa reglementata de 5 GHz, 12
radio channels
• Pana la 54 Mbps (real 27 Mbps)
• Din cauza frecventei mai mari utilizate
▫ Are raza mai scurta
▫ Poate fi atenuata de pereti
Standarde - 802.11b
• Aparut in 1999 ca extensie a 802.11
• Utilizeaza frecventa publica 2.4 GHz, 3 canale
• Interferente cu alte echipamente ce folosesc
aceeasi frecventa
• 11 Mbps
• Orientat catre “home-user”
Standarde - 802.11g
▫ Apare in 2002
▫ Combinatie intre standardele a si b
▫ Dual-mode 2.4 GHz & 5 GHz -> compatibil a-b
▫ Cel mai des foloseste frecventa de 2.4 GHz
▫ Pana la 54 Mbps
Standarde - 802.11n
• MIMO - multiple wireless
signals and antennas
• Pana la 300 Mbps
• Compatibil cu 802.11 b si g
• Semnalul poate interfera
cu retele existente 802.11 b
si g
Standarde - 802.11ac
• dual band wireless technology,
• Conexiune simultana 2,4 GHz and 5 GHz
• Compatibil 802.11b/g/n
• Bandwidth 1300 Mbps pentru frecventa de 5
GHz si in plus 450 Mbps pentru frecventa de 2.4
GHz.
Alte Standarde
• 802.11d „
▫ Permite negocierea frecventei si nivelelor de
putere
• 802.11e „
▫ QoS pentru voce si video
• 802.11f „
▫ “Recommended practice”
▫ Interoperabilitate intre AP
Bluetooth
• Distanta scurta (pana la 10 m)
• bandwidth (1-3 Mbps real)
• Energie scazuta pentru transmiterea semnalului
• Des folosit in conexiunea telefon – telefon sau
telefon PC
Sisteme avansate de comunicatii in mediu industrial

Lab 2 –
Nivelul legatura de date al
sistemelor de comunicatii
Modele de comunicatie prin
internet
• ISO -International Organization for
Standardization a dezvoltat un model pentru
comunicatii bazat pe 7 nivele .
• Acest model a fost revizuit sub forma unui model
de 5 nivele TCP/IP.
Modele de comunicatie prin
internet
ISO 7-Layer Reference Model
TCP/IP - TRANSMISSION CONTROL
PROTOCOL / INTERNET PROTOCOL
TCP/IP – protocoale
HTTP SMTP DNS SSH DHCP
Application
FTP POP3 SNMP Telnet BOOTP

Transport TCP UDP

ARP ICMP ND MLD


Internet IPv4 IPv6

Ethernet 802.11 PPP Frame ATM


Network
Wireless Relay
Access
Media
ARP example
• Two computers in an office (Computer 1 and Computer 2) are connected to each other in a local
area network by Ethernet cables and network switches, with no intervening gateways or routers.
• Computer 1 has a packet to send to Computer 2. Through DNS, it determines that Computer 2 has
the IP address 192.168.0.55.
• To send the message, it also requires Computer 2's MAC address.
• First, Computer 1 uses a cached ARP table to look up 192.168.0.55 for any existing records of
Computer 2's MAC address (00:eb:24:b2:05:ac). If the MAC address is found, it sends an
Ethernet frame with destination address 00:eb:24:b2:05:ac, containing the IP packet onto the link.
• If the cache did not produce a result for 192.168.0.55, Computer 1 has to send a broadcast ARP
request message (destination FF:FF:FF:FF:FF:FF MAC address), which is accepted by all
computers on the local network, requesting an answer for 192.168.0.55.
• Computer 2 responds with an ARP response message containing its MAC and IP addresses. As part
of fielding the request, Computer 2 may insert an entry for Computer 1 into its ARP table for future
use.
• Computer 1 receives and caches the response information in its ARP table and can now send the
packet.[7]

Check this link: https://www.practicalnetworking.net/series/arp/traditional-arp/


Caracteristici
Topologia retelei

https://en.wikipedia.org/wiki/File:NetworkTopologies.svg
Tipuri de conexiune
• Datele sunt transmise
in 3 moduri
▫ simplex
 O singura directie
▫ half-duplex
 O singura directie,
la un moment dat
▫ full-duplex
 In ambele directii,
simultan
Nivel legatura de date
• Pachet
▫ denumire generica a datelor transmise prin retea.
• Protocol Data Unit
▫ date transmise catre nivelul inferior din stiva TCP/IP
• Pachetul generat la nivel “Data Link” se numeste “Frame” si
contine
▫ Header = antet
▫ Date
▫ Trailer = final
• Caracteristic transmisie frame in retea:
▫ Diferite medii de transmisie
▫ Diferite protocoale de transmisie
 Ethernet, Frame relay, 802.11, etc
Addressing
The network and data link layers are responsible for delivering
the data from the source device to the destination device.

Protocols at both layers contain a source and destination address,


but their addresses have different purposes.

Network layer source and destination addresses - Responsible


for delivering the IP packet from the original source to the final
destination, either on the same network or to a remote network.

Data link layer source and destination addresses – Responsible


for delivering the data link frame from one network interface card
(NIC) to another NIC on the same network.

Data link layer: responsible to exchange the frames between


nodes over a physical network media; allows the upper layers to
access the media and controls how data is placed and received on
the media.

Data link layer has 2 main functions:


- accepts L3 packets and packages them into PDUs called frames
- controls media access control and performs error detection

Data link layer is divided into 2 sublayers:


- LLC (logical link control): it places information in the frame that
identifies which L3 protocol is being used for the frame; allows
multiple L3 protocols to use the same network interface and media
- MAC (Media Access Control): provides L2 addressing and
delimiting of data according to the physical signaling requirements
of the medium
Nivel legatura de date
• Este impartit in 2 nivele:
▫ Logical Link Control (LLC)
 Creaza mesajul (frame)
▫ Media Acces Control (MAC)
 Implementat hardware (interfata de retea - NIC)
 Incapsularea datelor
Nivel legatura de date
Although there are many different data link layer protocols that describe data link layer frames, each frame type has three basic parts:
-Header
-Data
-Trailer

All data link layer protocols encapsulate the Layer 3 PDU within the data field of the frame. However, the structure of the frame and the fields contained in the header and trailer vary
according to the protocol.

The figure displays the Ethernet frame fields:


- Preamble: used for synchronization.
- Start Frame field: Indicates the beginning of the frame.
- Source and Destination Address fields: Indicates the source and destination nodes on the media.
- Type field: Indicates the upper layer service contained in the frame.
- FCS (CRC) field: determines if the frame arrived with no errors; represents the contents of the frame.

The data link layer provides addressing that is used in transporting a frame across a shared local media. Device addresses at this layer are referred to as physical addresses. Data
link layer addressing is contained within the frame header and specifies the frame destination node on the local network.

Unlike Layer 3 logical addresses, which are hierarchical, physical addresses do not indicate on what network the device is located. Rather, the physical address is a unique device
specific address. If the device is moved to another network or subnet, it will still function with the same Layer 2 physical address.

The data link layer address is only used for local delivery. Addresses at this layer have no meaning beyond the local network. Compare this to Layer 3, where addresses in the packet
header are carried from source host to destination host regardless of the number of network hops along the route.

If the data must pass onto another network segment, an intermediate device, such as a router, is necessary. The router must accept the frame based on the physical address and de-
encapsulate the frame in order to examine the hierarchical address, or IP address. Using the IP address, the router is able to determine the network location of the destination device
and the best path to reach it. Once it knows where to forward the packet, the router then creates a new frame for the packet, and the new frame is sent onto the next segment toward
its final destination.

The most common data link protocols include:


- Ethernet (dominant LAN technology; defined in the IEEE 802.2 and 802.3 standards)
- PPP
-802.11 Wireless
There are also other protocols such as: HDLC, FR etc.
Servicii Data Link
• “Framing “
▫ Incapsularea pachetelor de nivel 3 “datagram”
 Adugarea unui header si a unui trailer
▫ adresa “MAC” introdusa in header ( sursa,
destinatie )
• “Reliable delivery”
▫ Intre noduri adiacente
▫ Folosit pentru conexiuni cu rata mica de erori
(fibra, twisted pair)
▫ wireless: rata ridicata de erori
Servicii Data Link
• “Flow Control”
▫ Controlul transmisiei de date
• “ Error Control
 Error Detection “ :
 Surse principale de erori: atenuare, zgomot
 Interfata de retea detecteaza erorile si cere
retransmiterea sau arunca pachetul
 Error Correction:
 Corectarea erorilor la primirea pachetelor
Servicii Data Link – Gestiunea
Erorilor
• EDC
▫ Error Detection and Correction
bits (redundanta)
Nivel Nivel
• Gestiunea erorilor (metode): superior superior
▫ Acknowledgement la primire
 Feedback legat de primirea Date Date
mesajului Verificare
erori
▫ Time-out:
 ack nu ajunge la destinatie Date EDC Date? EDC

▫ Sequence numbers:
 Pentru identificarea pachetelor
Mediu de transmisie
Servicii Data Link - Erori
Parity Checks
• Fie p numarul de biti ai mesajului transmis
▫ Bitul de paritate este un bit suplimentar ales in asa
fel incat:
 numarul de biti “1” din sirul p + bitul de paritate sa
fie numar par.
 numarul de biti “1” din sirul p + bitul de paritate sa
fie numar impar.

P biti ai mesajului bitul de


paritate

00011001 1
Servicii Data Link – Erori Parity Checks
It is the simplest technique for detecting and correcting errors. The MSB of an 8-bits word is used as the parity bit and the remaining 7 bits are used
as data or message bits. The parity of 8-bits transmitted word can be either even parity or odd parity.
▫ Even parity -- Even parity means the number of 1's in the given word including the parity bit should be even (2,4,6,....).
▫ Odd parity -- Odd parity means the number of 1's in the given word including the parity bit should be odd (1,3,5,....).

Use of Parity Bit

The parity bit can be set to 0 and 1 depending on the type of the parity required.
▫ For even parity, this bit is set to 1 or 0 such that the no. of "1 bits" in the entire word is even. Shown in fig. (a).
▫ For odd parity, this bit is set to 1 or 0 such that the no. of "1 bits" in the entire word is odd. Shown in fig. (b).

How Does Error Detection Take Place?


Parity checking at the receiver can detect the presence of an error if the parity of the receiver signal is different from the expected parity. That means,
if it is known that the parity of the transmitted signal is always going to be "even" and if the received signal has an odd parity, then the receiver can
conclude that the received signal is not correct. If an error is detected, then the receiver will ignore the received byte and request for retransmission of
the same byte to the transmitter.
Servicii Data Link - Erori
Cyclic Redundancy Check (CRC)
Fie D sirul de biti din mesajul trimis
• Se alege un generator G avand r+1 biti
▫ Destinatarul mesajului cunoaste generatorul G
• Se calculeaza un numar r de biti numiti CRC avand
valorile R astfel incat
▫ Grupul DR sa fie divizibil cu G (modulo 2)
• Daca la destinatie restul DR impartit la G nu este
nul atunci se detecteaza o eroare.
▫ Se pot detecta erori pentru secvente de biti (burst
error) < r+1
D R
Cyclic Redundancy Check (CRC)
Exemplu de calcul – parte 1
• Pas 1: Bitii unui mesaj pot fi asociati unui
polinom: polinom: 1101011011

• Pas2: Se alege Polinomul numit Generator


▫ se alege un polinom, numit generator, de grad <
decat cel al polinomului asociat mesajului
▫ Coeficientul ultimului termen trebuie sa fie diferit
de zero
Cyclic Redundancy Check (CRC)
Exemplu de calcul – parte 2

Exemple de polinoame generator:


• CRC – 16 utilizeaza un generator:

• CRC – 32 utilizeaza un generator ( utilizat


pentru detectia erorilor pentru Ethernet, FDDI):
Cyclic Redundancy Check (CRC)
Exemplu de calcul – parte 3
• Pas 3: Se calculeaza CRC de grad n = r biti
(dimensiune) , folosind formula:
Servicii Data Link - Erori Cyclic
Redundancy Check (CRC)
• Fie sirul ce trebuie transmis 1010001101
• Polinomul asociat este:
Exemplul 1

• Fie generatorul G de grad n = 5, de tipul:

• Inmultirea lui M cu un xn
Servicii Data Link - Erori Cyclic
Redundancy Check (CRC)
• Rezultatul impartirii este: Exemplul 1

• Sirul transmis este:


Servicii Data Link - Erori Cyclic
Redundancy Check (CRC)
Mesaj: 101110; Generator: 1001
Exemplul 2
Se adauga 000 (grad generator -1)
Servicii Data Link - Erori Cyclic
Redundancy Check (CRC)
Mesaj = Q; Generator = P Exemplul 3
Se adauga 00000 (grad generator -1)
Mod de adresare
MAC - Media Access Control
• Adrese de 48 biti la nivelul Data Link.

• Adresele MAC se reprezinta (uzual) sub forma


hexazecimala.
• Fiecare interfata de retea (NIC Network
Interface Card) are asociata o astfel de adresa
unica.

Adresa MAC tipica: af-14-b3-c2-14-45


MAC - Media Access Control
• Fiecare adresa MAC este formata din doua
parti:
▫ Prima jumatate a adresei (af-14-b3) alcatuieste OUI -
Organizationally Unique Identifier. Aceast cod
este unic pentru fiecare producator de placi de retea.
▫ A doua jumatate denumita “Device ID” reprezinta un
cod unic alocat de catre producator .

af-14-b3 - c2-14-45 UNICITATE


MAC - Media Access Control
Exemplu
• af-14-b3 ->OUI
• c2-14-45 -> Device ID

In acest fel se asigura “unicitatea” fiecarei adrese


de tip MAC.
Folosind aceasta reprezentare exista
281,474,976,710,656 de combinatii posibile.
MAC - Media Access Control
• Daca toate elementele dintr-un MAC sunt “ f ”
atunci adresa se numeste “broadcast”.
▫ FF-FF-FF-FF-FF-FF
▫ Mesajul de tip broadcast ajunge la toate
calculatoarele din retea.

Adrese invalide?

11-22-33-44-55-hf
Rf-12-34-45-56-67
MAC - Media Access Control
Exemple de reprezentare:
• aa-bb-cc-dd-ee-34
• aa:bb:cc:dd:ee:34
• aabb.ccdd.ee34
Corespondenta
Zecimal –
Hexa –
Binar
ETHERNET
Ethernet
• Dezvoltat de Xerox
▫ Bazat initial pe protocolul Aloha
▫ CSMA -CD
• Ethernet = familie de tehnologii de nivel acces
retea bazat pe cadre (frame)
▫ Local Area Network (LAN)
▫ Wide Area Network (WAN)
▫ Virtual LAN (VLAN)
• Specificatii in standardul IEEE 802.3
Ethernet - standarde
MMF = multimode fiber CAT5 = category 5 UTP
SMF = single-mode fiber CAT6 = category 6 UTP
UTP = unshielded twisted pair CWDM = coarse wavelength division multiplexing

Term Standard Specificati Medium Speed Distance


ons
Ethernet 10BaseT IEEE 802.3i CAT5 UTP 10 Mbits/s 100 meters
Ethernet 10BaseF: IEEE 802.3j Fiber 10 Mbits/s 2000
10BaseFB meters
10BaseFL 2000
10BaseFP meters 500
meters
Fast 100BaseT IEEE CAT5 UTP 100 Mbits/s 100 meters
Ethernet 802.3u
Fast 100BaseFX IEEE MMF MMF 100 Mbits/s 412m half
Ethernet 802.3u SMF 100 Mbits/s duplex 2km
100 Mbits/s full duplex
15 -20km
full duplex
Gigabit 1000BaseT IEEE CAT5/CAT6 1 Gbit/s 100 meters
Ethernet 802.3ab UTP
Gigabit 1000BaseC IEEE Shielded, 1 Gbit/s 25 meters
Ethernet X 802.3z balanced
coax
Gigabit 1000BaseS IEEE MMF (850 1 Gbit/s 550 meters
Ethernet X 802.3z nm) 1 Gbit/s 220 to 275
MMF (850 meters
nm)
Gigabit 1000BaseL IEEE SMF (1300 1 Gbit/s 5000
Ethernet X 802.3z nm) 1 Gbit/s meters
MMF (1300 1 Gbit/s 550 meters
nm) 550 meters
MMF (1300
nm)
Gigabit 1000BaseL IEEE SMF (1300 1 Gbit/s 10km 550
Ethernet H 802.3z nm) meters
MMF (1300
nm)
10Gigabit 10GBaseX: IEEE MMF (850 9.953 65 meters
Ethernet 10GBaseS 802.3ae nm) Gbits/s 300 meters
10GbaseL MMF (1310 12.5 Gbits/s 10 km
10GbaseE nm) (with 4 10 Gbits/s 10 km
(Each has R CWDM) 9.953 40 km
or W mode SMF (1310 Gbits/s
where R is nm) (with 4 10.3 Gbits/s
for dark CWDM)
fiber and W SMF (1310
is for nm)
SONET) SMF (1550
nm)
10Gigabit 10GBaseT IEEE UTP 10 Gbits/s 100 meters
Ethernet 802.3an
10Gigabit 10GBaseCX IEEE thin twin- 4x 25 meters
Ethernet 4 802.3ak axial cables 2.5Gbits/s
100BASE-TX vs. 1000BASE-T

• Standardul “Fast Ethernet “ 100BASE-TX


• Standardul “Gigabit Ethernet” 1000BASE-T

Cablu Cat5 – Cat5e


100BASE-TX

Acest standard foloseste


2 perechi de fire.
O pereche este folosita
pentru transmisie si
cealata pentru receptie.
100BASE-TX utilizeaza
MLT Multi-Level
Transmit pe 3 nivele
Fiecare simbol reprezinta
unul din cele 3 nivele
diferite (-1, 0, + 1).
100BASE-TX
• MLT-3
▫ Trece secvential prin nivelurile −1, 0, +1, 0.
▫ Schimba starea la transmiterea bitului 1 si ramane
in aceeasi stare la transmiterea bitului 0
1000BASE-T
Toate perechile sunt folosite
in acest standard.
Fiecare pereche este folosita
atat pentru transmisie cat si
pentru primire.

1000BASE-T utilizeaza:
5-level pulse amplitude
modulation (PAM-5)

Fiecare simbol reprezinta


unul din cele 5 nivele
diferite. (-2,-1, 0, + 1,+2).
1000BASE-T
• PAM-5
▫ 5 niveluri de tensiune (4 pentru date si unul
pentru control)
 00 corespunde cu - 1.0 V
 01 corespunde cu - 0.5 V
 10 corespunde cu +0.5 V
 11 corespunde cu +1.0 V
Ethernet - CSMA/CD
• carrier sense
▫ Interfata transmite doar daca nu detecteaza alta
transmisie
• collision detection
▫ Interfata intrerupe transmisia daca detecteaza alta
transmisie
• random access
▫ Inainte de a retransmite se ajteapta un interval
“random”
Ethernet- Caracteristici
• Connectionless
▫ No handshaking
• Unreliable
▫ Nu se transmit mesaje “acks” sau “nacks”

Ethernet Fast Ethernet


Slot time 512 bit-time 512 bit-time
Frame 64-1518 B 64-1518 B
Interface gap 96 bit-time 96 bit-time
9,6 microsecunde 0,96 microsecunde
Ethernet- Caracteristici Studiu de
caz

Slot time
Ethernet- Caracteristici Studiu de
caz

Slot time
Ethernet Frame
Adresa Adresa
Preambul DATE FCS
destinatie sursa
Start of Frame Delimiter Tip / Lungime

• Preambul:
▫ 7 bytes de tipul 10101010
▫ Folosit pentru sincronizare
• Adrese:
▫ 6 bytes fiecare
▫ Folosite pentru a identifica sursa si destinatarul
• Tip
▫ Identifica protocolul de nivel superior (ex: IP)
Ethernet Frame
• Start of Frame Delimiter
▫ Delimitare – 1 byte
• Frame Check Sequence
▫ CRC – 32 – 4 bytes
• Dimensiune a frame-ului
▫ Intre 64 – 1518 bytes
▫ Extins pentru VLAN la 1522 bytes
• Interpacket gap
▫ Spatiu de 12 bytes intre frame-uri successive
Ethernet Frame
Start of Frame Delimiter Tip / Lungime
Adresa Adresa
Preambul DATE FCS
destinatie sursa
7 1 6 6 2 46 - 1500 4
bytes bytes bytes bytes bytes bytes bytes

10101010
10101010
10101010
10101010
10101010 CRC32
10101010 af-14-b3 c2-14-45
10101010
OUI Device ID
0x0800 IPv4
10101011
0x86DD IPv6
0x0806 ARP
Sisteme avansate de comunicatii in mediu industrial

Lab 3 –
Nivelul retea - IP
Modele de comunicatie prin
internet
TCP/IP – protocoale
HTTP SMTP DNS SSH DHCP
Application
FTP POP3 SNMP Telnet BOOTP

Transport TCP UDP

ARP ICMP ND MLD


Internet IPv4 IPv6

Ethernet 802.11 PPP Frame ATM


Network
Wireless Relay
Access
Media
MAC Address Table - Learning
MAC Addresses
The switch dynamically builds the MAC address table by examining the source MAC address of the frames received on a port. The switch
forwards frames by searching for a match between the destination MAC address in the frame and an entry in the MAC address table. Every frame that enters
a switch is checked for new information to learn. It does this by examining the frame’s source MAC address and port number where the frame entered the
switch.
If the source MAC address does not exist, it is added to the table along with the incoming port number. If the source MAC address does
exist, the switch updates the refresh timer for that entry. By default, most Ethernet switches keep an entry in the table for 5 minutes.

If the source MAC address does exist in the table but on a different port, the switch treats this as a new entry. The entry is replaced using the
same MAC address but with the more current port number.

Forwarding frames

If the destination MAC address is a unicast address, the switch will look for a match between the destination MAC address of the frame and an entry in its
MAC address table.
If the destination MAC address is in the table, it will forward the frame out the specified port. If the destination MAC address is not in the table, the switch will
forward the frame out all ports except the incoming port. This is known as an unknown unicast. If the destination MAC address is a broadcast or a
multicast, the frame is also flooded out all ports except the incoming port.
MAC Addresses vs. IP Addresses
There are two primary addresses assigned to a host device:

- Physical address (the MAC address)


- Logical address (the IP address)

Both the MAC address and IP address work together to identify a device on the network. The
process of using the MAC address and the IP address to find a computer is similar to the process
of using a name and address of an individual to send a letter.

A person's name usually does not change. A person's address on the other hand, relates to where
they live and can change.

Similar to the name of a person, the MAC address on a host does not change; it is physically
assigned to the host NIC and is known as the physical address. The physical address remains the
same regardless of where the host is placed.

The IP address is similar to the address of a person. This address is based on where the host is
actually located. Using this address, it is possible for a frame to determine the location of where a
frame should be sent. The IP address, or network address, is known as a logical address because
it is assigned logically. It is assigned to each host by a network administrator based on the local
network that the host is connected to.

Both the physical MAC and logical IP addresses are required for a computer to communicate on a
hierarchical network, just like both the name and address of a person are required to send a letter.

Each switch interface is a collision domain and each router interface is a broadcast domain. Hubs
are just an extension of that collision domain.
Network Layer
The network layer, or OSI Layer 3, provides services to allow end devices to exchange data across the network. To accomplish this end-to-end transport, the
network layer uses four basic processes:

o Addressing end devices - end devices must be configured with a unique IP address for identification on the network. An end device with a configured IP address is
referred to as a host.
o Encapsulation - The network layer receives a protocol data unit (PDU) from the transport layer. In a process called encapsulation, the network layer adds IP header
information, such as the IP address of the source (sending) and destination (receiving) hosts. After header information is added to the PDU, the PDU is called a
packet.
o Routing - The network layer provides services to direct packets to a destination host on another network. To travel to other networks, the packet must be processed
by a router. The role of the router is to select paths for and direct packets toward the destination host in a process known as routing. A packet may cross many
intermediary devices before reaching the destination host. Each route the packet takes to reach the destination host is called a hop.
o De-encapsulation - When the packet arrives at the network layer of the destination host, the host checks the IP header of the packet. If the destination IP address
within the header matches its own IP address, the IP header is removed from the packet. This process of removing headers from lower layers is known as de-
encapsulation. After the packet is de-encapsulated by the network layer, the resulting Layer 4 PDU is passed up to the appropriate service at the transport layer.

• There are several network layer protocols in existence; however, only the following two are commonly implemented :
o Internet Protocol version 4 (IPv4)
o Internet Protocol version 6 (IPv6)

One of the roles of the network layer is to route packets between hosts. A host can send packets to itself (using the loopback interface 127.0.0.1 – assigned
automatically to the host when TCP/IP is running), to a local host (on the same network) or to a remote host (they do not share the same network address).

Whether a packet is destined for a local host or a remote host is determined by the IP address and subnet mask combination of the source (or sending) device compared to the IP
address and subnet mask of the destination device.

When a source device sends a packet to a remote destination device, then the help of routers and routing is needed. Routing is the process of identifying the best path to a
destination. The router connected to the local network segment is referred to as the default gateway. The default gateway is the device that routes traffic from the local network to
devices on remote networks.
The default gateway, which is most often a router, maintains a routing table. A routing table is a data file in RAM that is used to store route information about directly connected
network, as well as entries of remote networks the device has learned about. A router uses the information in the routing table to determine the best path to reach those
destinations.
IP Addresses
Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP).
It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks.
IPv4 was the first version deployed for production in the ARPANET in 1983.
It still routes most Internet traffic today, despite the ongoing deployment of a successor protocol, IPv6.
IPv4 is described in IETF publication RFC 791 (September 1981), replacing an earlier definition (RFC 760, January 1980).
According to the routing

Public Identifies unique a host in Internet

According to the class


Private A 10.0.0.0 – 10.255.255.255 /8

The class The bits from the first byte First byte
B 172.16.0.0 – 172.31.255.255 /12

A 0XXXXXXX 0 – 127* C 192.168.0.0 – 192.168.255.255


/16
B 10XXXXXX 128 - 192

C 110XXXXX 192 - 223

D 1110XXXX 224 - 239 According to the routing

E 1111XXXX 240 - 255 Unicast One to one

Multicast One to many

Broadcast One to all


Classful vs. Classless Inter-Domain
Routing
o Networks with subnet masks of at least 24 bits, i.e. Class C networks in classful networking, and networks with CIDR suffixes /24 to /30 (255.255.255.0–255.255.255.252)
may not have an address ending in 0 or 255.
o Classful addressing prescribed only three possible subnet masks: Class A, 255.0.0.0 or /8; Class B, 255.255.0.0 or /16; and Class C, 255.255.255.0 or /24.
o For example, in the subnet 192.168.5.0/255.255.255.0 (192.168.5.0/24) the identifier 192.168.5.0 commonly is used to refer tothe entire subnet.
o To avoid ambiguity in representation, the address ending in the octet 0 is reserved.
o A broadcast address[1] is an address that allows information to be sent to all interfaces in a given subnet, rather than a specific machine.
o Generally, the broadcast address is found by obtaining the bit complement of the subnet mask and performing a bitwise OR operation with the network identifier.
o In other words, the broadcast address is the last address in the address range of the subnet.
o For example, the broadcast address for the network 192.168.5.0 is 192.168.5.255.
o For networks of size /24 or larger, the broadcast address always ends in 255.

o However, this does not mean that every address ending in 0 or 255 cannot be used as a host address.
o For example, in the /16 subnet 192.168.0.0/255.255.0.0, which is equivalent to the address range 192.168.0.0–192.168.255.255, the broadcast address is 192.168.255.255.
o One can use the following addresses for hosts, even though they end with 255: 192.168.1.255, 192.168.2.255, etc.
o Also, 192.168.0.0 is the network identifier and must not be assigned to an interface.
o The addresses 192.168.1.0, 192.168.2.0, etc., may be assigned, despite ending with 0.
o In the past, conflict between network addresses and broadcast addresses arose because some software used non-standard broadcast addresses with zeros instead of ones.
o In networks smaller than /24, broadcast addresses do not necessarily end with 255.
o For example, a CIDR subnet 203.0.113.16/28 has the broadcast address 203.0.113.31.
Network and hosts
An IP address has two components, the network address and the host address. A subnet mask separates the IP
address into the network and host addresses. The network bits are represented by the 1's in the mask, and the
host bits are represented by 0's. Performing a bitwise logical AND operation on the IP address with the subnet
mask produces the network address.

When a host sends a packet, it uses the Subnet mask to decide if the packet is destined for a host on the local
networks or on a different networks:

- it compares its own subnet mask to its own IP address from left to right, bit for bit;
- once it knows what network it belongs to, it compares its own subnet mask to the destination IP address
- if the network bits in its own address and the destination address match, it knows that the destination host is on
the same network; this means the packet can be delivered locally
- if the network bits do not match, the sending host forwards the packet to the local router interface to be
forwarded to the other network
Address Resolution Protocol (ARP)
To determine the destination MAC address, the device uses ARP.
ARP provides two basic functions:

- Resolves IPv4 addresses to MAC addresses


- Maintains a table of mapping (IPv4-to-MAC)

When a packet is sent to the data link layer to be encapsulated into an Ethernet frame, the device
refers to a table in its memory to find the MAC address that is mapped to the IPv4 address. This
table is called the ARP table or the ARP cache. The ARP table is stored in the RAM of the device.
The sending device will search its ARP table for a destination IPv4 address and a corresponding
MAC address.

If the packet’s destination IPv4 address is on the same network as the source IPv4 address, the
device will search the ARP table for the destination IPv4 address.
If the destination IPv4 address is on a different network than the source IPv4 address, the device
will search the ARP table for the IPv4 address of the default gateway.

Each entry of the ARP table binds an IPv4 address with a MAC address. The ARP table
temporarily saves (caches) the mapping for the devices on the LAN.
If the device locates the IPv4 address, its corresponding MAC address is used as the destination
MAC address in the frame. If there is no entry is found, then the device sends an ARP request.
ARP request – L2 broadcast ; contains the IP address of
A network host broadcasts an ARP Request to other hosts to determine the MAC address of a the destination host and the broadcast MAC address
host with a particular IP address. All hosts on the subnet receive and process the ARP Request. (FFFF.FFFF.FFFF).
The host with the matching IP address in the ARP Request sends an ARP Reply. ARP reply – a unicast frame that includes the MAC
address that corresponds to the IP address in the
For each device, an ARP cache timer removes ARP entries that have not been used for a request; this response is used to make a new entry in the
specified period of time. The times differ depending on the device’s operating system. For ARP table of the sending node.
example, some Windows operating systems store ARP cache entries for 2 minutes.

Commands may also be used to manually remove all or some of the entries in the ARP table.
After an entry has been removed, the process for sending an ARP request and receiving an ARP
reply must occur again to enter the map in the ARP table
Protocolul IP
Internet Protocol (IP)
• Protocolul IP permite crearea unei retele virtuale
(virtual network) suprapusa peste reteaua fizica.
• Caracteristici:
▫ unreliable,
▫ connectionless packet delivery
▫ best-effort = pachetele trimise se pot pierde, pot
ajunge in alta ordine sau pot ajunge in duplicat.
• RFC = request for comments
▫ memorandumuri publicate de Internet
Engineering Task Force (IETF)
Internet Protocol (IP) - Datagram
Dimeniune header: 20 Bytes
Internet Protocol (IP)
– Datagram Header
Campuri Header IP:
• Version
▫ Verisunea de protocol IP folosita
• IP Header Length (IHL)
▫ Dimensiunea Header (multiplu de 32 bit)
• Total Length
▫ dimensiunea pachetului
• Identification
▫ Folosit pentru a identifica fragmentele aceluiasi
pachet (nr intreg)
Internet Protocol (IP) - Datagram
Campuri Header IP:
• Type-of-Service
▫ Specifica modul de procesare si importanta
pachetului
▫ Se refera la “quality of service”
• Inlocuit cu Differentiated services Field (DS field)
▫ Specificat in RFC 3260
▫ QoS pentru voce, video, date
0 1 2 3 4 5 6 7
Explicit Congestion
DiffServ Code Points - DSCP
NotificationECN
Internet Protocol (IP) - Datagram
Type-of-Service
Studiu de caz

DSCP Name DS Field Value


IP Precedence (Description)
Class Selector (Dec)
CS0 0 0 : Best Effort
CS1 8,10,12,14 1 :Priority
CS2 16,18,20,22 2 :Immediate
CS3 24,26,28,30 3 :Flash - mainly used for voice signaling
CS4 32,34,36,38 4 :Flash Override
5 :Critical - mainly used for voice RTP - Real-
CS5 40,46
time Transport Protocol
CS6 48 6 :Internet
CS7 56 7 :Network
Internet Protocol (IP) - Datagram
Campuri Header IP:
• Flags
▫ 3 biti de semnalizare
 Ultimul bit specifica daca pachetul este ultimul din
secventa (MF -- More Fragments) – 1 pentru mai multe
fragmente / 0 pentru ultimul segment
 Bitul din mijloc specifica daca pachetul poate fi
fragmentat (DF -- Do Not Fragment) – 1 pentru a nu
fragmenta / o pentru fragmentare
 Primul nu este folosit – valoare de obicei 0
• Fragment Offset
▫ Pozitia fragmentului in raport cu primul fragment al
mesajului (in bytes)
• Protocol
▫ Protocolul nivel transport - destinatie al mesajului
Exemplu fragmentare
Aplicatia genereaza un mesaj de 5000 bytes

Dimensiune Flag
maxima mesaj ID mesaj More Fragments Offset
Ethernet

Mesaj initial .... 5020 2345 1 0 ....

Fragmentare
Dimensiune ID mesaj More Fragments Offset
Fragment 1 .... 1500 2345 1 0 ....

Fragment 2 .... 1500 2345 1 185 ....

Fragment 3 .... 1500 2345 1 370 ....

Fragment 4 .... 580 2345 0 555 ....


Ultimul mesaj MF 0
Exemplu fragmentare
• Dimensiunea mesajului este
▫ dimensiune PDU (generat de nivelul Transport) + 20Bytes
header IP
• Un mesaj de 5000 Bytes (generat de nivelul Transport)
va avea o dimeniune de 5000 + 20 (header IP) = 5020 si
va fi fragmentat in:
▫ Fragment 1 de dimeniune 1480 (date) + 20 header = 1500
si offset 0 (primul mesaj)
▫ Fragment 2 de dimeniune 1480 (date) + 20 header = 1500
si offset 185 ( 1480 / 8 = 185 – va fi adaugat la primul mesaj
dupa 185x8 bytes)
▫ Fragment 3: dimensiune 1500 si offset 370(185+185)
Fragment 1: Fragment 2: Fragment 3: Fragment 2:
Ansamblare Dimensiune: Dimensiune: Dimensiune: Dimensiune:
1480 bytes 1480 bytes 1480 bytes 1480 bytes
Byte 0 Byte 1480 =185x8 Byte 2960 =370x8 Byte 4440 =555x8
Offset 185 Offset 370 Offset 555
Internet Protocol (IP) - Datagram
• Campuri Header IP:
• Time-to-Live
▫ Contor decrementat la trecerea prin fiecare nod de
retea
• Header Checksum
▫ Integritatea antetului protocolului IP
• Source Address
• Destination Address—Specifies the receiving
node.
• Options
▫ Diverse implementari
Adrese IP
IP addressing
Urmatoarele documente contin specificatii ale
adreselor IP :
▫ RFC 791 pentru IPv4
▫ RFC 2460 si 4291 – pentru IPv6

• RFC = request for comments


▫ -memorandumuri publicate de Internet
Engineering Task Force (IETF)
IP addressing
• Adresele IP se reprezinta pe 32-biti.

• O reprezentare usor de utilizat este cunoscuta ca


“ dotted decimal format”- reprezentare zecimala.

• Aceasta reprezentare este ulterior convertita in


reprezentarea binara.
192 168 1 10
• Exemplu:
11000000 10101000 00000001 00001010

11000000101010000000000100001010
IP addressing
• Formatul de reprezentare pentru adresarele IP
prezentat in RFC 1166

• Adresa IP = <network number><host number>

Network Number Host Number


Adresa IP - Alocare
Adresa de IP este alocata de:
• Regional Internet Registries (RIR):
▫ African Network Information Centre (AfriNIC) - Africa
▫ American Registry for Internet Numbers (ARIN) -
SUA, Canada, Caraibe, Antarctica.
▫ Asia-Pacific Network Information entre (APNIC) - Asia,
Australia, New Zealand, Oceania
▫ Latin America and Caribbean Network Information
Centre (LACNIC) - Latin America, Caraibe
▫ Réseaux IP Européens Network Coordination
Centre (RIPE NCC) - Europa, Rusia, Orientul mijlociu,
Asia central
• RIR coordonate prin
▫ Number Resource Organization (NRO)
Adresa IP - Alocare
http://www.ripe.net/

Internet Assigned Numbers Authority (IANA)


IP addressing
• Adresele de IP sunt utilizate in cadrul protocolului IP
(Internet Protocol) pentru a identifica in mod unic !! o
interfata.
• Un sistem de calcul poate avea una sau mai multe astfel
de interfete.
Trecerea IPv4 – IPv6

2014-
2017
2012 https://www.ripe.net/publications/ipv6-info-centre/about-ipv6/ipv4-exhaustion/ipv4-available-pool-graph
Clasele de adrese de IP.

• Primii biti dintr-o adresa de IP specifica modul


de separare in:
▫ network address (netID) Bitul semnificativ

▫ host address (hostID).

bit 8 7 6 5 4 3 2 1 bit
valoare 128 (27) 64 (26) 32 (25) 16 (24) 8 (23) 4 (22) 2 (21) 1 (20)
Studiu de caz

http://www.highteck.net/EN/Network/Addressing_the_Network-IPv4.html
Clase de adrese
Clasa A
• Clasa A
▫ 7 biti pentru network si 24 biti pentru host
▫ 27 -2 = 126 retele cu cate 224 -2 = 16777214 adrese host => 2
miliarde adrese
▫ Cuprinde adresele de la 1.0.0.0 la 126.0.0.0

Primul
bit
“0”
Clasa B
• Clasa B
▫ 14 biti pentru network si 16 biti pentru host
▫ 214 -2 = 16382 retele cu cate 216 -2 = 65534 adrese host => 1
miliarde adrese
Primii ▫ Cuprinde adresele de 128.1.0.0 la 191.254.0.0
2 biti
“10”
Clasa C
• Clasa C
▫ 21 biti pentru network si 8 biti pentru host
▫ 221 -2 = 2097150 retele cu cate 28 -2 = 254 adrese host => ½
miliard adrese
Primii ▫ Cuprinde adresele de la 192.0.1.0 la 223.255.254.0
3 biti
“110”
Studiu de caz
Adrese IP rezervate
• Toti bitii 0:
▫ Toti bitii 0 in segmentul “network number” este
interpretat ca “acest host” (Adresa Ip cu <network
address>=0).
▫ Toti bitii 0 in segmentul “host number” este interpretat
ca aceasta retea. (Adresa Ip cu < host address>=0).
• Toti bitii 1:
▫ Limited broadcast
 O adresa cu toti bitii 1 este interpretata ca “toate retelele
sau toate interfetele” “all networks or all hosts”.
▫ Directed Broadcast - “adresa directa de broadcast”
 Toti bitii 1 in segmentul “host number”
 Adreseaza toate interfetele din retea
 Exemplu: 128.2 (Class B) se poate scrie ca:128.2.255.255
Adrese IP rezervate
Broadcast Unicast
- Mesaj transmis catre - Mesaj transmis catre
toate nodurile dintr-o toate nodurile dintr-o
retea retea

Multicast
-Mesaj transmis catre
anumite nodurile
dintr-o retea
- one-to-many
- many-to-many
Adrese IP rezervate
• Loopback: Reteaua de Clasa A 127.0.0.0.
▫ Aceasta adresa este atasata interfetelor care
proceseaza date in sistemul local.
▫ Aceasta interfata nu are acces la nivelul fizic de
retea.
• Adrese rezervate (private)
▫ De la 10.0.0.0 la 10.255.255.255 (10.0.0.0/8)
▫ De la 172.16.0.0 la 172.31.255.255 (172.16.0.0/14)
▫ De la 192.168.0.0 la 192.168.255.255
(192.168.0.0/16)
Studiu de caz
Adrese IP rezervate

Number of
Address block Range
addresses
127.0.0.0/8 127.0.0.0 – 127.255.255.255 16,777,216
169.254.0.0/16 169.254.0.0 – 169.254.255.255 65,536
172.16.0.0/12 172.16.0.0 – 172.31.255.255 1,048,576
192.0.0.0/24 192.0.0.0 – 192.0.0.255 256
Studiu de caz
Adrese IP rezervate
Exemple de adrese rezervate
Address Resolution Protocol
ARP

• ARP= Address Resolution Protocol


• RARP = Reverse Address Resolution Protocol

• ARP este un protocol de retea folosit de de IPv4,


pentru a asocia adresa IP cu adresa fizica (MAC)
a placii de retea.
▫ Realizeaza o interfata intre diverse protocoale de
retea (de ex, Ethernet, Token Ring – TCP/IP)
▫ resolved identifica procesul prin care un nod afla
o adresa a altui nod
ARP
Un dispozitiv nivel 2:
 trimite toate pachetele in retea cu propria adresa MAC -
numita sursa
 receptioneaza toate pachetele care au in campul
destinatar adresa sa.
 receptioneaza si pachetele cu adresa destinatar de tip
broadcast sau multicast.

ARP este utilizat pentru a stabili o legatura intre o adresa de


nivel 1 si o adresa de nivel 2.
ARP

• Pentru a reduce numarul de mesaje ARP


▫ un client stocheaza, pentru o perioada de timp
scurta, in cache adresele descoperite (in
corespondenta MAC-IP).
▫ Memoria Cache rezervata pentru ARP este
limitata ca dimensiuni.
▫ Aceasta este stearsa la anumite intervale de timp
pentru a evita aglomerarea cu adrese expirate.
ARP

Exista 4 tipuri de mesaje ARP identificate prin campul


"operation" din mesajul ARP:
▫ ARP request
▫ ARP reply
▫ RARP request
▫ RARP reply -> DHCP

arp request message


 (“Cine este Z.Z.Z.Z comunica catre Y.Y.Y.Y")
(Z.Z.Z.Z = adresa IP a destinatarului)
arp reply message
 (" Z.Z.Z.Z este hh:hh:hh:hh:hh:hh“)
ARP – Structura mesaj Studiu de
caz
ARP – Structura mesaj Studiu de
caz
Internet
ARP
ARP Listeaza tabelul de arp
Corespondenta intre IP si MAC
Sisteme avansate de comunicatii in mediu industrial

Lab 4 –
Nivelul legatura de date al
sistemelor de comunicatii - 2
Modele de comunicatie prin
internet
TCP/IP – protocoale
HTTP SMTP DNS SSH DHCP
Application
FTP POP3 SNMP Telnet BOOTP

Transport TCP UDP

ARP ICMP ND MLD


Internet IPv4 IPv6

Ethernet 802.11 PPP Frame ATM


Network
Wireless Relay
Access
Media
Subretele IP - Subnet
IP subnets
• Datorita cresterii numarului de utilizatori de
internet principiul de alocare centralizata a
adreselor de IP a devenit prea rigid pentru a
permite schimbari facile ale retelelor locale.

• Exemple de astfel de schimbari:


• Separarea unei retele in mai multe segmente de
retea din cauza cresterii numarului de utilizatori
• Cresterea distantei dintre utilizatori necesita
divizarea retelei
IP subnets
• Pentru a evita cererea de noi adrese de IP s-a
introdus conceptul de subnetizare.
• Subnetizarea se face local iar reteaua nu apare ca
fiind divizata din exterior.

• RFC 950 defineste modalitatile de subnetizare a


adreselor de clasa A, B, sau C.
IP subnets
• Segmentul <host number> al adresei de ip este
impartit in
▫ <network number >
▫ <host number>.
• Al doilea <network number > este cunoscut ca
<subnetwork> sau <subnet>
▫ Doar interfetele locale (in aceeasi retea)
interpreteaza un <subnet number>
IP subnets
• Adresa de IP este compusa din:
▫ <network number>
▫ <subnet number>
▫ <host number>

Network Number Host Number

Network Number Subnet Number Host Number


IP subnets
• Pentru a putea face impartirea este nevoie de un
subnet mask de 32-biti .
• Bitii cu valoarea 0 indica “host number”.
• Bitii cu valoarea 1 indica pozitia “subnet number”
• Bitii din “subnet mask” care indica “network
number” au tot valoarea 1.
Extended Network Prefix
• Routerele de internet folosesc
▫ segmentul “network prefix” din adresa de destinatie
pentru a “dirija” (route) traficul catre o retea
subnetizata.
• Routerele din interiorul unei retele subnetizate folosesc
▫ “extended network prefix” pentru a “dirija” traficul
intre retele.
▫ “extended network prefix” = <network prefix>
<subnet number>.
Extended Network Prefix
Network Number Subnet Number Host Number
Tipuri de subnetizare
• Doua tipuri de subnetizare:
▫ statica
▫ cu lungime variabila
• Subnetizarea cu lungime variabila este mult mai
flexibila.
▫ Rutarea nativa si RIP Version 1 suporta doar
subnetizarea statica.
▫ RIP Version 2 suporta si subnetizarea cu lungime
variabila.
Subnetizare statica
• Subnetizarea statica
• toate adresele subnetizate din aceeasi clasa de
adresa sa foloseasca aceeasi masca.

• Dezavantaj:
• pentru retele mici se pierd adrese.

• Exemplu
• o retea de 4 calculatoare care foloseste o masca de
“255.255.255.0”
• In acest fel se pierd 250 de adrese.
Subnetizare statica
Studiu de caz

Binary Decimal
Address 11000000.10101000.00001010.00000000 192.168.10.0
Subnet Mask 11111111.11111111.11111111.00000000 255.255.255.0
Subnetizare static
Exemplu Studiu de caz
Subnetizare static
Exemplu Studiu de caz
• 4 subretele
Subnetizare static
Exemplu Studiu de caz
• 8 subretele
Subnetizare static Studiu de caz
Exemplu
• 64 subretele (doar primele selectate)
Subnetizare cu lungime variabila
• Cand se foloseste subnetizarea cu lungime
variabila(VLSM) pentru aceasi clasa de IP se pot
folosi masti diferite.

• O retea cu cateva calculatoare poate folosi o


masca potrivita.
• Acest lucru impiedica pierderea de adrese.
Subnetizare cu lungime variabila
• Exemplu : Adresa de clasa C: 165.214.32.0.
impartita in 5 retele:

• Subnet 1: 50 calculatoare
• Subnet 2: 50 calculatoare
• Subnet 3: 50 calculatoare
• Subnet 4: 30 calculatoare
• Subnet 5: 30 calculatoare
Subnetizare cu lungime variabila
• Folosind subnetizarea statica
• 4 retele a cate 64 de adrese sau
• 8 retele de 32 de adrese.
• Folosind subnetizarea cu lungime variabila
• 4 subretele cu cate 64 de adrese
• una din retelele de 64 de adrese poate fi impartita
din nou in doua retele de 32 de adrese.
Protocolul ICMP
ICMP
Internet Control Message Protocol (ICMP)
• este un protocol utilizat in principal de SO pentru a
transmite informatii legate de dispozitive conectate
printr-o retea.
• Informatii transmise:
 Erori legate de dispozitive sau servicii;
 Stare dispozitive

ICMP este utilizat deseori pentru depanare


▫ instrumentul “Ping” - depanarea TCP/IP

ICMP nu este utilizat pentru a transmite date utilizator.

Internet Control Message Protocol (ICMP), este


documentat in RFC 792
ICMP
Erori identificate si raportate:

 Erori de retea - de tipul “network/host unreachable”


 Congestii in retea - determina modificari in rata de
transmisie a pachetelor.
 Expirarea duratei de viata a unei transmisii
(pachet) (TTL).
ICMP – Structura mesaj
• Mesaj ICMP
▫ Contine IP- Header al mesajului care genereaza
eroarea
▫ Contine date in functie de tipul de mesaj
ICMP – Structura mesaj
• ICMP header (4
byte): ICMP Type

▫ • Type (1 byte) 0 Echo Reply


3 Destination Unreachable
▫ • Code (1 byte): cod 4 Source Quench
definit de tipul de 5 Redirect Message
mesaj 8 Echo Request
11 Time Exceeded
▫ • Checksum (2 12 Parameter Problem
bytes) 13 Timestamp Request
• Mesajul ICMP are 14 Timestamp Reply
17 Address Mask Request
dimensiune minima 18 Address Mask Reply
de 8 bytes
ICMP – Tip mesaj eroare

• Destination unreachable
Error- •

Source quench
Time exceeded
reporting •

Parameter problem
Redirection

• Echo

Querry •

Timestamp
Address mask
• Router solicitation / advertisment
ICMP – Mesaje de eroare
• Mesaje ce anunta o eroare de transmitere
• Transmise cand un pachet este sters
• Mesajul ICMP poate ajunge la aplicatia utilizata si
poate fi afisat (Exemple ?)
Pachet
sters Tip mesaje:
Datagram IP
Destination unreachable
Source quench
Time exceeded
Parameter problem
Mesaj eroare Redirection
ICMP
Sursa Destinatie
ICMP – Mesaje de eroare
• Destination Unreachable (type 3)
▫ Cand un nod nu poate transmite mai departe
mesajul (nu gaseste destinatia)
ICMP – Mesaje de eroare
• Source Quench (type 4)
▫ Se transmite cand un nod este aglomerat
(congestion) si nu mai poate procesa mesajele (nu
mai are loc in coada de asteptare)
▫ Se solicita reducerea ratei de transmisie a
pachetelor
ICMP – Mesaje de eroare
• Time Exceeded (type 11)
▫ Cand TTL a ajuns 0 in urma decrementarii, nodul
transmite acest mesaj catre sursa
▫ Cand destinatia nu primeste toate segmentele:
“Time Out”
• Parameter Problem (type 12)
▫ Problema la interpretarea mesajului IP Datagram
 Code 0: Main header problem
 Code 1: Problem in the option field
 Pointer catre problema
ICMP – Mesaje de eroare
• Redirection (type 5)
▫ Mesaj transmis de router pentru a informa sursa
ca exista o ruta mai buna catre destinatie
▫ Se actualizeaza “tabela de routare” statica a sursei

Code 0: Network specific


Code 1: Host specific
Code 2: Network specific (specified service)
Code 3: Host specific (specified service)
ICMP – mesaje querry
• Utilizate pentru diagnoza retelee
• Nodul sursa transmite un mesaj iar nodul
destinatie raspunde cu un mesaj specific
solicitarii

Tip mesaj:
ICMP request Echo
Timestamp
Address mask
Router solicitation /
ICMP Reply advertisment
Sursa Destinatie
ICMP – mesaje querry
• ICMP Echo Request / Reply Message
▫ Mesaj transmis pentru a verifica conexiunea
▫ Se poate utiliza campul “ID” si “Sequence
number” din mesajul ICMP pentru a asocia un
meaj request – reply
• ICMP Timestamp Request / Reply Message
▫ Folosite pentru a calcula “round-trip” intre sursa
si destinatie
 Original time stamp
 Receive time stamp
 Transmit time stamp
ICMP – mesaje querry

ping Echo REQUEST Echipament retea nivel >=


2

Echo REPLY

www.freedigitalphotos.net
rajcreationzs
ARP & ICMP
ICMP – mesaje querry

Comanda PING
Comanda TRACERT
- Se transmit pachete cu TTL
ICMP – mesaje querry incrementat (incepand cu TTL=1)
- Nodurile de pe parcurs
decrementeaza TTL

TTL = 0 dupa
decrementare
succesiva

TTL = 0 dupa
decrementare
succesiva

TTL = 0 dupa
decrementare
succesiva

Destinatia nu
decrementeaza
TTL
ICMP – mesaje querry
Comanda TRACERT
ICMP – mesaje querry
• ICMP Mask Request / Reply Message
▫ Solicita masca de retea de la server / router

• ICMP Router Solicitation / Advertisement


▫ ICMP Router Solicitation
 Transmis de host pentru a verifica prezenta unui
router
▫ ICMP Router Advertisement
 Mesaj transmis de router – contine rutele cunoscute
Sisteme avansate de comunicatii in mediu industrial

Lab 5
Nivel Data Link - protocoale
Nivelul retea NAT, DHCP, UDP
Modele de comunicatie prin
internet
TCP/IP – protocoale
HTTP SMTP DNS SSH DHCP
Application
FTP POP3 SNMP Telnet BOOTP

Transport TCP UDP

ARP ICMP ND MLD


Internet IPv4 IPv6

Ethernet 802.11 PPP Frame ATM


Network
Wireless Relay
Access
Media
Multiple Access Links and Protocols
• Doua tipuri de legaturi de date (“links”):
▫ point-to-point (PPP)
 PPP pentru dial-up
 point-to-point pentru Ethernet
▫ broadcast (mediu comun)
 Ethernet
 Bluetooth
 802.11 wireless LAN
• Multiple access protocol
▫ Determina cum vor transmite nodurile prin
acelasi canal de comunicatie
▫ Coordonarea se face prin acelasi canal de com.
MAC Protocols
3 categorii:
• “Channel Partitioning”
▫ Impart canalul de comunicatie in segmente (“ time
slots “, frecventa, cod)
• Random Access
▫ canalul de comunicatie nu este impartit
▫ Permite coliziuni
• “Taking turns”
▫ Cumunicatia se face pe rand
▫ Genereaza intarzieri
Channel Partitioning - TDMA
• TDMA: time division multiple access
▫ Fiecare nod transmite un interval (length = pkt
trans time)
▫ Intervalele nefolosite reprezinta pause in
comunicatie
Channel Partitioning - FDMA
• FDMA: frequency division multiple access
▫ Canalul este impartit pe nivele de frecventa
▫ Fiecare nod primeste o frecventa
Random Access Protocols
• Cand nodul are de transmis un pachet
▫ Transmite acel pachet
• Daca doua sau mai multe noduri transmit
simultan rezulta o coliziune
• Random access protocol permite:
▫ Detectia coliziunilor
▫ Retransmiterea dupa coliziune
• Example :
▫ ALOHA
▫ CSMA,
Random Access Protocols- CSMA
• CSMA: Carrier Sense Multiple Access
▫ Asculta inainte de a trimite
▫ Daca canalul este “idle” atunci transmite mesajul
▫ Daca canalul este ocupat, asteapta.
• Coliziunile pot aparea
▫ Exista o intarziere intre transmitere si primire
Random Access Protocols - ALOHA
Slotted ALOHA
▫ Toate cadrele au aceeasi
dimensiune
▫ Se asociaza un interval de
transmitere
▫ Nodurile transmit doar la
inceputul intervalului
▫ Nodurile sunt sincronizate
▫ Daca se detecteaza o
coliziune, se reia
transmisia dupa un
interval de timp
“Taking Turns” MAC protocols
• Se alege un nod “master” ce va gestiona
conexiunea
• Nodul master gestioneaza ce nod “slave” are
dreptul de a transmite prin intermediul unui
jeton (“token”)
• Jetonul este transmit de la un nod la altul
• Dezavantaje:
▫ Nodul master si jetonul coordoneaza reteaua
▫ Pot aparea intarzieri
Network Address Translation
NAT
• Network Address Translation (NAT)
▫ serviciu care modifica adresa IP si / sau portul
specificat in antetul pachetelor.
▫ Mapare 1:1
• In general IP-ul public se inlocuieste cu IP-uri
din retele private.
▫ Exemple de retele private:
 10.0.0.0 - 10.255.255.255 (10.0.0.0/8) – clasa A
 172.16.0.0 - 172.31.255.255 (172.16.0.0/12) – clasa B
 192.168.0.0 - 192.168.255.255 ( 192.268.0.0/16) –
clasa C
NAT
Mesaj Mesaj
Source IP: Source IP:
192.168.0.102 86.55.16.11

192.168.0.102

Raspuns Raspuns
Destination IP: Destination IP:
192.168.0.102 86.55.16.11

Private IP Public IP
192.168.0.102 86.25.16.11
NAT
• Se definesc doua tipuri de NAT:
▫ Source NAT (SNAT)
▫ Destination NAT (DNAT)
• Exista 3 tipuri principale de implementare NAT:
▫ Source NAT (SNAT) –din interior se initiaza o
sesiune in exterior
▫ Destination NAT (DNAT) – din exterior se
initailizeaza o sesiune catre interior
▫ NAT bidirectional: SNAT si DNAT
NAT
Retea externa Retea interna

DNAT

182.168.0.134 192.168.0.1
4
SNAT

NAT bidirectional
Masquerade
• Masquerade
▫ Network address and port translation (NAPT),
port address translation (PAT).
• Un singur IP public este utilizat pentru mai
multe IP-uir private
▫ Mapare n:1
• Portul TCP asociat comunicatiei este schimbat
de NAPT cu un port nealocat (nerezervat) si
retinut intr-un table NAT
Masquerade
Mesaj Mesaj
Source IP: Source IP:
192.168.0.102/2001 86.55.16.11/10234
Mesaj Mesaj
Source IP: Source IP:
192.168.0.111/2567 86.55.16.11/10111

192.168.0.102

Raspuns Raspuns
Destination IP: Destination IP:
192.168.0.102/2001 86.55.16.11/10111
Raspuns Raspuns
Destination IP: Destination IP:
192.168.0.102/2567 86.55.16.11/11234

Private IP/Port Public IP/Port


192.168.0.102/2001 86.25.16.11/10111
192.168.0.111/2567 86.25.16.11/11234
NAT - probleme
• Probleme generate de NAT
▫ Nu permite “end-to-end connectivity”
▫ Un nod din internet nu poate genera o conexiune
catre un nod din retea NAT
▫ Doua noduri din doua retele NAT au probleme de
comunicatie
Bootstrap Protocol
BOOTP (Bootstrap Protocol )
• BOOTP
▫ RFC951 descrie un protocol de boot al sistemului de
operare (bootstrap) bazat pe IP si UDP
• Protocolul permite unei masini client sa-si descopere
propia adresa de IP , adresa serverului si numele
fisierului cu imaginea SO care ar trebui incarcat in
memoria sa si executat.
• Operatiile de bootare sunt gandite in doua faze:
▫ “Address Determination and Bootfile Selection “(descrisa
de RFC951)
▫ File transfer cu TFTP sau FTP.
BOOTP (Bootstrap Protocol )
• A fost dezvoltat pentru a furniza unei statii de lucru
fara memorie (diskless workstation ) un Sistem de
operare (incarcat in RAM) pentru a deveni
operationala.
▫ Clientul trimite un packet broadcast prin care cere o
adresa de IP .
▫ Serverul raspunde cu un pachet UDP care contine adresa
de IP a clientului , masca de retea, default gateway, DNS
server, etc.
▫ Port BOOTP: BOOTP client = 68 , BOOTP server = 67
Dynamic Host Configuration Protocol
DHCP
• DHCP = Dynamic Host Configuration Protocol
▫ Alocarea dinamica a adreselor de IP dintr-o retea.
▫ Client (DHCP client) – Server (DHCP server)
▫ Foloseste mesaje de tip BOOTP

DHCP DHCP
Client Server
DHCP– Mecanism de functionare
• Mecanism:
1. Serverul DHCP este configurat cu adrese
disponibile pentru reteaua selectata
2. DHCP client transmite o cerere de trip broadcast
pentru a descoperi serverul DHCP
(DHCPDISCOVER)
3. Serverul DHCP raspunde cu un mesaj
(DHCPOFFER) ce ofera adresa de IP (IP lease)
4. DHCP client alege o oferta si raspunde cu un
mesaj (DHCPREQUEST)
5. Serverul DHCP trimite un mesaj de
confirmare/configurare (DHCPPACK)
DHCP – Mecanism de functionare
• Serverul DHCP poate transmite si adresa DNS
sau Default Gateway
• Adresele sunt alocate pentru un interval de timp:
“DHCP lease” si trebuie reinoite periodic.
DHCP – Configurare Windows
DHCP– Format mesaje
DHCP– Format mesaje
• OpCode:
▫ 1 (Request),
▫ 2(Reply)
• Hardware Type:
▫ 1 ( Ethernet)
• Hardware address length:
▫ 6 ( Ethernet) •
• Hop count:
▫ set to 0 by client
DHCP– Format mesaje
• Transaction ID:
▫ Nr intreg folosit pentru identificarea perechii de
mesaje
• Seconds:
▫ Timpul trecut (secunde) de la inceperea procesului de
Boot
• Client IP address, (ciaddr)
• Server IP address (siaddr), Gateway IP address
(giaddr),
• Client hardware address, (chaddr)
• Server host name (sname)
• Se completeaza doar campurile cunoscute
DHCP– Tip mesaje
DHCP– Tip mesaje
• DHCPDISCOVER:
▫ Broadcast transmis de client pentru a descoperi
un server DHCP
• DHCPOFFER:
▫ Mesaj de raspuns al serverului DHCP la mesajul
clientului de tip DHCPDISCOVER
▫ Mesajul contine adresa IP si alti parametric
• DHCPREQUEST:
▫ Cere adresa IP sau extensia intervalului de alocare
DHCP– Tip mesaje
• DHCPACK:
▫ Acknowledgement al serverului DHCP catre client
▫ Raspuns la mesajul DHCPREQUEST
• DHCPNACK:
▫ Acknowledgement negativ al serverului DHCP
catre client
• DHCPDECLINE:
▫ Mesaj transmis de client catre serverul DHCP
pentru a indica ca adresa oferita este deja utilizata
DHCP– Tip mesaje
• DHCPRELEASE:
▫ Mesaj transmis de client catre serverul DHCP
pentru a indica ca renunta la adresa oferita
• DHCPINFORM:
▫ Mesaj transmis de client catre serverul DHCP
pentru a indica ca are deja o adresa IP configurata
dar necesita parametri suplimentari
UDP - User Datagram Protocol
Nivelul Transport
• asigură comunicarea între procese (aplicații)
care rulează pe diferite host-uri
▫ împărțite în segmente mesaje primite de la nivelul
aplicație si le trimite către nivelul IP,
▫ reasamblează segmente primite de la nivelul IP în
mesaje, si le transmite către nivelul aplicație
• Internet:
▫ User Datagram Protocol (UDP)
▫ Transmission Control Protocol (TCP)
Nivelul Transport - port
• Fiecare proces care dorește sa comunice cu un
alt proces se identifică printr-un port.
• Un port
▫ este un număr de 16 biți,
▫ utilizat pentru a identifica la care protocolul de
nivel superior trebuie livrat mesajul primit.
• Două tipuri de porturi
▫ “Well-known”: 1 – 1023 - rezervate
▫ “Ephemeral”: 1024 - 65535
Nivelul Transport - socket
• Interfata socket
▫ interfeța de programare a aplicațiilor (API)
• Socket = file handle
▫ Utilizat de catre procese pentru a solicita servicii
de retea
• socket address = <protocol, local-address, local-process>
• Doua procese comunica intre ele prin retea
folosind un socket transport
UDP
• UDP
▫ User Datagram Protocol
▫ “unreliable datagram service”
 Pachetele se pot pierde sau pot fi primite in alta
ordine
 Connection-less
 Fara buffer – transmisia se face imediat ce datele
sunt primate
 Full duplex
 Header de dimeniune mica – 8 bytes
UDP Header
• RFC 768
UDP Header
• UDP Destination Port:
▫ Identifica protocolul destinatie
• UDP Source Port: optional
▫ Identifica protocolul sursa
▫ Poate avea valoarea 0 daca nu se asteapta raspuns
• Message Length:
▫ Dimeniunea unui “datagram” in bytes
• Checksum:
▫ optional -- 16-bit checksum
Sisteme avansate de comunicatii in mediu industrial

Suport Curs si Lab 6


Nivelul retea –IPv6
Modele de comunicatie prin
internet
IP v6
• IP v6
▫ Standard din 1995
▫ soluție pe termen lung a problemei legate de
finalizarea spatiului de adrese IPv4
• Reprezentare: 128 biti
▫ Exemplu:
2001:0db8:3042:0002:5a55:caff:fef6:bdbf
• Spatiul de adrese IPv6:
▫ 340,282,366,920,938,463,463,374,607,431,768,211,456
▫ 4,294,967,296 - fata de IPv4
64 64

Network Prefix Interface ID


IP v6
• Trecerea la IPv6
▫ perioadă de tranziție, în care IPv4 și IPv6 vor
coexista pe aceleași dispositive
▫ transmise prin aceleași conexiuni de rețea.
• Specificatii IPv6:
▫ IPv6 – RFC 2460
▫ IPv6 Neighbor Discovery – RFC 2461
▫ IPv6 Auto Configuration – RFC 2462
▫ Lista poate continua
IP v6
• “Link MTU”
▫ maximum transmission unit
▫ Dimeniunea maxima a pachetului ce poate fi
transmis prin “link”
• Ethernet v2 - 1500 bytes
▫ 1500 + 14 (header) + 4 (CRC) = 1518 bytes
• PPPoE over Ethernet v2 – 1492 bytes
▫ Ethernet v2 MTU (1500) - PPPoE Header
• Fiber Distributed Data Interface (FDDI) – 4352
bytes
IP v6 - Anycast
• Mai multe noduri primesc acceasi adresa numita
“Anycast”
• Cand un nod transmite un mesaj cu adresa
“Anycast” acesta ajunge la nodul cel mai
apropiat
• “one-to-nearest”
Adresa IP v6
• Reprezentata pe 128 biti
• Caracteristici:
▫ Scrisa hexazecimal
 Caractere: 0 1 2 3 4 5 6 7 8 9 a b c d e f
▫ Grupata in 8 blocuri a cate 4 caractere
▫ Blocuri separarte de “ : “
• Exemplu
▫ 2001:0db8:3042:0002:5a55:caff:fef6:bdbf
Adresa IP v6
• Regului de prescurtare:
▫ Sirurile de caractere “0” de la inceputul blocului
pot fi trunchiate (nu se reprezinta)
▫ Blocurile de caractere “0” (0000) din interiorul
adresei pot fi trunchiate (nu se reprezinta)
 Inlocuirea este marcata de :: (se inlocuieste 1 grup)
• Exemplu
2001:0db8:0000:0000:5a55:0302:fef6:0012
2001:db8:0:0:5a55:302:fef6:12
2001:db8::5a55:302:fef6:12
Studiu de caz
Reprezentare

Binar

Hexa

Se reduc
grupurile
de 0
Exemple
• Exemplul 1
FE80:0000:0000:0000:0d9e:bed6:4917:C7DF
FE80:0:0:0:d9E:bed6:4917:C7DF
FE80::d9E: bed6:4917:C7DF

• Exemplul 2
2003:00ef:67ea:0000:ffdc:1268:0002:0044
2003:ef:67ea::ffdc:1268:2:44
Exemple - continuare
• Exemplul 3
300f:0000:0000:0096:0000:0000:0054:fdec
300f::96:0:0:54:fdec

• Exemplul 4
2999:0000:defe:bfcc:ccfe:0000:0000:0001
2999::defe:bfcc:ccfe:0:0:1
IPv6 –Interface ID
• Se foloseste mecanismul de constructie al adresei MAC
• Un host poate folosi functia “auto-configure”
▫ IEEE’s Extended Unique Identifier (EUI- 64)
• EUI- 64
▫ Un host imparte adresa MAC in grupe de 24 biti
▫ Intre cele doua adrese se introduce secventa hexa:
 0xFFFE (16 biti)
▫ Bitul 7 (bitul semificativ) este completat 1
Studiu de caz

http://www.tcpipguide.com/free/t_IPv6InterfaceIdentifiersandPhysicalAddressMapping-2.htm
IPv6 - Adresare
• O interfata poate avea mai multe adrese IPv6
• IPv6 cuprinde 3 tipuri de adrese (“scope”):
▫ Link Local
▫ Unique Local
▫ Global
• A doua parte din adresa IPv6 (64 biti)
▫ Denumita: “Interface ID”

Global Unique Local Link Local


IPv6 - Agregare
• Global Unicast Addresses
 Adrese generice IPv6 – internet
 Structurate ierarhic – “aggregation”
 Prescurtat se pot scrie: 2000::/3 (0010 = 2 hexa)
 Varianta posibila si 3000(0011)

Network ID Interface ID

Global
001 SLA LAN Interface ID
Prefix

3 bit 29 bit 16 bit 16 bit 64 bit


IPv6 - Agregare
• Global Unicast Addresses
Network ID
Global
001
Prefix Global
001 SLA LAN
Prefix
3 bit 29 bit
agregare /32 3 bit 29 bit 16 bit 16 bit

Alocati de SLA = Site Local


Global RIR catre Address
001 SLA ISP (subnet)
Prefix

3 bit 29 bit 16 bit agregare /64

agregare /48
IPv6 - Agregare
• Unique-Local
 “Local communications”
 “Inter-site VPNs”
 Adrese private – nu au acces la internet
 Scris prescurtat: fc00::/7
Exemplu: FD00:DDDD:DDDD:EEEE:0123:35EE:FE01:1234
Network ID Interface ID

Subnet
1111 110 1 Global ID Interface ID
ID

7 bit 40 bit 16 bit 64 bit

1 Locally assigned / 0 Future Use


IPv6 - Agregare
• Link-Local
 alocat automat – faciliteaza comunicatia intre 2
dispozitive din acceasi retea
 54 biti din adresa - FE80::/10
 Pot fi zero
 Pot fi configurati manual
 zone index = % dupa adresa
▫ specifica interfata de retea utilizata (LAN, WI-FI)

1111 1110 10 retea Interface ID

10 bit 54 bit 64 bit


Exemplu: FE80:0000:0000:0000:0123:98EE:AB23:7654
Tipuri de adrese IPv6
• Unicast – o singura interfata
• Multicast – un grup de interfete,
• Anycast - un grup de interfete, pachetul este
transmis interfetei celei mai apropiate.
• Nu exista broadcast
IPv6 - Agregare
• Internet Service Provider
• agrega toate prefixele clienţilor într-un singur
prefix
• prefix unic pentru întreaga reţea a ISP
• Face public prefixul ( unic pentru Internet )
http://what-when-how.com/ipv6-advanced-protocols-
implementation/routing-operation-using-route6d-ipv6-unicast-
routing-protocols/
IPv6- Header
Rfc 2460
Studiu de caz
Header-ul IPv4
•12 campuri de bază, Header-ul IPv6
•un câmp de opţiuni •5 câmpuri
•porţiune de date •nu necesită celelalte campuri
•dimensiune fixă de 20 octeţi.
IPv6- Header
• Version:
▫ Dimensiune 4 biti, identic IPv4.
▫ conţine numărul 6 – IPv6
• Traffic Class:
▫ Dimensiune 8-biţi
▫ similar cu ToS din câmpul IPv4.
▫ clasa de trafic folosita la diferenţierea tipului de
servicii (DiffServ).
▫ Identice IPv4 şi IPv6.
IPv6- Header
• Flow Label:
▫ Dimensiune 20-biti
▫ flux de trafic.
▫ tehnici de multilayer switching
▫ packet switching.
• Payload length:
▫ specifică dimensiunea datelor incapsulate.
• Next Header:
▫ Specifică care camp urmează
▫ pachet de nivel transport sau header de extensie.
IPv6- Header
• Hop Limit:
▫ Nr max de hop-uri pe care un pachet IP il poate
traversa.
▫ similar campului Time to Live [TTL] din IPv4.
▫ router-ul poate reduce câmpul fără recalcularea
sumei de control
• Source Address: 128 biti.
• Destination Address: 128 biti.
• Extension Headers
▫ nu este fix => lungimea totală a headerului de
extensie este variabilă
IPv6 - Mecanismul de tranzitie
• Procesul de tranziţie de la IPv4 la IPv6
▫ nu necesita upgrade al tuturor nodurilor
 Valabil pentru etapa de tranzitie
▫ mecanisme de tranziţie
 integrare IPv4 si IPv6.
• Cele mai comune tehnici de tranziţie de la IPv4
la IPv6 sunt :
▫ Dual stack sau stiva dubla
▫ IPv6-over-IPv4 (6to4) – tunele Ipv6-Ipv4
IPv6 - Mecanismul de tranzitie
• Dual stack - stiva dubla

Aplicatie

TCP UDP

IPv4 IPv6

0x0800 0x86dd
Network Access
IPv6 - Mecanismul de tranzitie
• IPv6-over-IPv4 (6to4) – tunele Ipv6-Ipv4

IPv4 inclus in
adresa IPv6

Format: 2002:IPv4

Author: Mro
https://commons.wikimedia.org/wiki/File:6to4.svg
Stateless Autoconfiguration
• Autoconfigurarea
▫ 0 caracteristica plug-and-play
• conectarea automat la o retea IPv6 fara
configurare manuala si fara a fi necesara prezenta
unui server DHCP.
• Prefixul este fix,
• Un sistem isi construieste in mod automat o
adresa link-local din timpul fazei de initializare a
placii de retea.
Sisteme avansate de comunicatii in mediu industrial

Suport Curs si Lab 7


TCP
Modele de comunicatie prin
internet
Transport Control Protocol
TCP -Caracteristici
• “Connection oriented”
▫ Conexiune full duplex intre sursa si destinatie
 Adresarea protocoalelor si aplicatiilor printr-un
numar numit “port”
• “Reliable”
▫ Mesaje transmise in secventa
 “sequence numbers”
▫ Control al erorilor
 “acks” si “retransmission”
• “Congestion control”
▫ Mecansim de gestiune al fluxului de mesaje si al
congestiilor
TCP -Caracteristici
• Stream Orientation
▫ Datele = stream de biti (datele sunt transmise in
streamuri)
• Buffer transfer
▫ Se poate folosi un mecanism de colectare a datelor
de la aplicatie intr-un buffer inainte de transmitere
TCP - Porturi
• Porturi TCP
▫ Port numbers: 2^16 = 0 - 65536.
▫ Porturi rezervate: 0 - 1024
 “well-known ports” sau ”system ports”
 20 FTP – Data - 21 FTP – Control
 22 SSH Remote Login Protocol
 53 Domain Name System (DNS)
 67-68 DHCP/BOOTP - 80 HTTP
▫ Porturi libere – pentru aplicatii
 1024-49151: registered ports
 23399 Skype Default Protocol (des intalnit)
 49152-65535: private ports
TCP segments
• Datele transmise de aplicatie sunt impartite in
segmente
▫ TCP decide dimensiunea si impartirea pe
segmente
▫ Fiecare segment este incapsulat intr-un datagram
RFC: 793

TCP - Header
RFC: 793
TCP - Header
• Source Port:
▫ Portul sursa
• Destination Port:
• Portul destinatie
• Sequence number:
▫ numarul asociat unei secvente
• ACK number:
▫ Daca mesajul este Ack atunci reprezinta numarul
acestui mesaj
• Data offset:
▫ Locul de unde incepe sectiunea de date
TCP - Header
• Window:
▫ dimeniunea datelor pe care destinatia este
dispusa sa le accepte
• Checksum
• Urgent pointer:
▫ offset de la “sequence number” catre date
▫ Daca este marcat campul “URG”
TCP - Header
• Flags
 CWR: Congestion Window Reduced (ECE ACK)
 (ECN-Echo): Indicates congestion
 URG: Urgent pointer field significant
 ACK: Ack field significant
 PSH: Push function
 RST: Reset the connection
 SYN: Synchronize sequence numbers
 FIN: No more data from sender
TCP - Header
• Options
▫ – Maximum segment size (MSS)
 Folosit pentru a evita fragmentarea la nivel IP
▫ Window scale
 window sizes > 65535
 “units” of the window size field
▫ Timestamp
 Detectarea problemelor la nivel de secventa
TCP - transfer
Three Way Handshake
TCP –
transfer

Comunicatie
Client - Server
TCP State Diagram

Author: Sergiodc2, Marty Pauley, Scil100


Sisteme avansate de comunicatii in mediu industrial

Suport Curs si Lab 8


HTTP
Modele de comunicatie prin
internet
Protocol

Un protocol defineste:
▫ Tip de mesaj (cerere, raspuns)
▫ Sintaxa mesajului
▫ Semnificatia campurilor din mesaj
▫ Cand si cum va raspunde un proces la mesaj
▫ Erorile si semnificatia lor

• Specificate in RFC (Request For Comment)


▫ de ex: HTTP 1.1 definit in RFC 2068
Protocol
Porturi asociate protocoaleleor

Nr. port Proces/Protocol Semnificatie

7 ECHO Echo
20 FTP-DATA File Transfer Protocol - Data
21 FTP File Transfer Protocol - Control
23 TELNET Telnet
25 SMTP Simple Mail Transfer Protocol
69 TFTP Trivial File Transfer Protocol
80 HTTP HyperText Transfer Protocol
110 POP3 Post Office Protocol v3
File Transfer Protocol
FTP

File Transfer Protocol (RFC 595)


Protocol folosit pentru transferul de fisiere intre echipamente
(minim nivel 4) conectate la retea
- aparut in 1971

www.freedigitalphotos.net Master isolated images


FTP

Sesiune FTP:
▫ Se furnizeaza adresa serverului
▫ Clientul FTP configureaza o sesiune de control (portul 21 FTP-
control) cu serverul
▫ Utilizatorul trimite serverului elementele de autentificare
▫ Serverul verifica elementele de identificare si autorizeaza cererea
▫ Fisierele sunt transferate de la server catre client (port 20 FTP-Data)

TCP Control port 21


FTP FTP
CLIENT SERVER
TCP Date port 20
FTP
Hypertext Transfer Protocol
HTTP
The World Wide Web (WWW):
HyperText Transfer Protocol (HTTP)

HTTP:
• Protocol nivel aplicatie
• Implementat in versiune client si server
• Defineste structura mesajului si mecanismul de
schimb de mesaje
• HTTP foloseste TCP pentru transmiterea de
cereri
HTTP

www.uso.aii.pub.ro

www.freedigitalphotos.n
HTTP
• HTTP folosit pentru descarcarea paginilor web
• HTTP extins catre alte domenii:
▫ Session Initiation Protocol (SIP) – voice over IP
(VOIP)
• http1.0: RFC 1945
• http1.1 : RFC 2616 - 1999
• http/2 RFC 7540 in May 2015

• http messages:
▫ request
▫ response
HTTP
• http/1.0 request methods:
▫ GET
▫ POST - forms.
▫ HEAD - debugging/test
• http/1.1 request methods (suplimentar):
▫ PUT - upload
▫ DELETE – delete
▫ TRACE - echo received request
▫ OPTIONS - returns the HTTP methods
▫ CONNECT - TCP/IP tunnel -> SSL (HTTPS)
▫ PATCH – modification to a resource
HTTP
1) Aplicatia browser deschide o conexiune TCP
cu serverul ( port 80 )
2) Aplicatia browser transmite un mesaj http
request
3) Serverul identifica obiectele cerute si le
transmite intr-un mesaj de raspuns
4) Aplicatia browser, parseaza obiectele
5) Aplicatia browser repeta pasii 2-4 pentru
fiecare obiect
6) conexiune TCP cu serverul se inchide
HTTP Exemplu de conexiune HTTP –
client-server

1
2

3
6

Ilya Grigorik. Published by O'Reilly Media, Inc. Licensed under CC BY-NC-ND 4.0. https://hpbn.co/http1x/
HTTP
• Pas 1 : deschiderea unei conexiuni TCP

▫ Aplicatia browser primeste adresa URL (web


address)
▫ Aplicatia browser cere unui server DNS, adresa IP
corespunzatoare adresei URL .
 In caz de eroare se returneaza un mesaj de tipul:
“server DNS address could not be found.”.
▫ Aplicatia browser deschide o conexiune TCP cu
serverul ( port 80 ) folosind IP-ul returnat .
HTTP
• Pas 2: Request
▫ Aplicatia browser transmite un mesaj “request”
pentru a obtine un obiect (file) de la server.
 e.g. GET /index.html HTTP/1.0 (Empty Line)

Request line

Header

Continut
HTTP
• Mesaj POST Studiu de caz

POST /login.php?login_attempt=1 HTTP/1.1


Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type:application/x-www-form-urlencoded
Origin:http://www.facebook.com
Referer:http://www.facebook.com/
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-US) AppleWebKit/533.4 (KHTML,
like Gecko)
Chrome/5.0.375.53 Safari/533.4
charset_test:€,´,€,´,水,Д,Є
locale:en_US
email:john.doe@gmail.com
pass:somepassword
HTTP
• Pas3: Raspuns
▫ Serverul raspunde cu documentele cerute (obiect,
entitate ... )
▫ Primul mesaj contine un cod asociat unei stari si
informatii despre server si obiect
 Exemplu: HTTP/1.1 200 OK
▫ Antetul si datele sunt separate de o linie libera
HTTP
Studiu de caz

https://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html
HTTP
• Pas4: Inchiderea conexiunii
▫ Dupa transmiterea datelor se identifica 2
posibilitati:
 Se inchide conexiunea
 Se mentine conexiunea pentru un interval de timp.
“TCP connection keep alive”
HTTP
• Se pot identifica 2 tipuri de conexiuni
• “without pipelining”
▫ se asteapta raspuns inainte de a initia o noua
cerere
• “with pipelining”
▫ se transmite o cerere imediat ce s-a identificat un
nou obiect
▫ mesaje requests/response multiple
HTTP
• HTTP Status Codes
▫ • 1xx – informational message
▫ • 2xx - success
▫ • 3xx – redirect
▫ • 4xx –client error
▫ • 5xx – server error
• Exemple:
▫ • 200 OK
▫ • 404 Not Found – no resource
▫ • 500 Server Error
▫ • 301 Moved Permanently
Cookies
• HTTP – stateless
▫ Dupa intreruperea conexiunii nu se pastreaza
informatii despre stare
• cookie
▫ Date transmise de server catre client ca rezultat al
unui mesaj request – dimeniune redusa
▫ Stocate de client
▫ La initierea unei noi conexiuni clientul include
datele retinute de cookie
• Stocheaza date pentru a urmari sesiunile
Cookies Studiu de caz

• HTTP response
• “set-cookie” header
care defineste datele
ce trebuie stocate de
client
• HTTP request
• “cookie” header ce
contine datele stocate
initial

http://cnp3bis.info.ucl.ac.be/protocols/http.html
Hypertext Transfer Protocol
HTTP
URL

Uniform Resource Locators (URL) specifica:


– Protocolul folosit
– Adresa de IP
– Calea catre datele cerute
– Resursa ceruta (nume fisier)
• Exemple URL:
URL
URL

http://www.upb.ro/facultati.html
In acest caz un
fisier HTML

Root sau Top Resursa


Protocol Domeniu ceruta
Level Domain
Sisteme avansate de comunicatii in mediu industrial

Suport Curs si Lab 10


Securitatea retelelor
Modele de comunicatie prin
internet
Securitate
Confidentialitate
▫ Conturile sunt protejate prin metode de autentificare
▫ Confidentialitate a datelor si a proceselor utilizator
▫ Intimitate
Integritate
▫ Sistemul isi pastreaza configuratia si functionalitatea
▫ Integritate a datelor
▫ Integritate a sistemului
Disponibilitate
▫ Sistemul raspunde la comenzi si nu refuza accesul la servicii
Identificare
▫ Actiunile unei entitati sunt atribuite in mod strict doar
acelei entitati (=>responsabilizare)
▫ Autenticitatea: “genuine” + incredere
Vulnerabilitati de securitate

Comunicatie

▫ Atacuri de tip pasiv


 Monitorizarea unor sisteme - greu de detectat
 Publicarea continutului mesajului
 Analiza traficului

▫ Atacuri de tip activ


 Retransmiterea
 Mascarea (“Masquarade”) – o entitate pretinde a fi o alta
entitate
 Modificarea mesajului
 Acces blocat (denial of service)
Firewall
Firewall
Types of firewalls

o Packet-filtering firewalls operate at the router and compare each packet received to a set of established criteria (such as allowed IP addresses, packet
type, port number, etc.) before being either dropped or forwarded.

o Stateful inspection firewalls, on the other hand, not only examine each packet, but also keep track of whether or not that packet is part of an established
TCP session. This offers more security than either packet filtering or circuit monitoring alone but exacts a greater toll on network performance.

o Application-level gateways filter packets not only according to the service for which they are intended (as specified by the destination port), but also by
certain other characteristics such as HTTP request string. While application-level gateways provide considerable data security, they can dramatically impact
network performance.

o Multilayer inspection firewalls combine packet filtering with circuit monitoring, while still enabling direct connections between the local and remote
hosts, which are transparent to the network. They accomplish this by relying on algorithms to recognize which service is being requested, rather than by simply
providing a proxy for each protected service.

o Unified threat management (UTM) is the evolution of the traditional firewall into an all-inclusive security product able to perform multiple security
functions within one single system: network firewalling, network intrusion detection/prevention (IDS/IPS), gateway antivirus (AV), gateway anti-spam, VPN,
content filtering, load balancing, data loss prevention, and on-appliance reporting.
Firewall
Firewall - Best Practices

o Use firewalls internally to segment networks and permit access control


based upon business needs. Use a proper INSIDE, DMZ and OUTSIDE
zone policy.
o Rules should only allow access from the least possible number of
sources/IPs to the fewest possible number of destinations/IPs. We
recommend using the least number of ports/services in the rule that are
necessary for the business and its applications to function properly.
o Don’t use “allow any any any” rules.
o Use an explicit “deny any any” as the last rule.
o Use stateful inspection and application proxies if possible.
o Disable or uninstall any unnecessary services and software on the
firewall that are not specifically required.
o Change the default firewall administrator or root password. The
password should not be found in a dictionary and should be a minimum
of eight characters long using a combination of uppercase and lowercase
letters, numbers and other characters such as $, % and @, and it needs
to be changed frequently.
o Utilize a working configuration of RADIUS or LDAP authentication to the
device and limit the number of local accounts to one admin with the
password only known by management individuals. Remove all additional
accounts, especially if they are shared accounts.
Firewall

Firewall - Best Practices

o If a malicious user can obtain physical access to the firewall,


anything can happen. Ensure that physical access to the firewall
is controlled.
o We recommend restricting firewall management access to a
small number of trusted IP addresses.
o Patch the firewall's operating system and application software with
the latest code on a regular basis. However, make sure you test
these updates in a controlled, non-production environment
whenever possible.
o Enable firewall logging and alerting. Use a secure internal Syslog
server that makes log modification and manipulation more difficult
for a malicious user.
o Regularly monitor the firewall logs. Treat the logs as business
records and include them in your data retention policy.
o Periodically backup the firewall logs and store for future reference
and/or legal protection in the case of an intrusion that must be
investigated.
o Use change-management practices for the firewall to approve
changes needed, assess the reasons for the changes, document
the changes made and describe the necessary back-out
procedures in case the changes fail.
Firewall

Firewall - Best Practices

o Perform vulnerability assessments on your firewall on an


ongoing basis to test for known software flaws and
weaknesses. New exploits are continuously discovered and
must be tested for on a consistent basis. In addition, the
slightest firewall system or rule set modifications can
completely change the firewall's security capabilities. Perform
these tests on every interface of the firewall in all directions.
Also, perform these tests with and without the firewall rules
enabled to determine how vulnerable you will be when the
firewall is not functioning properly.

o Constantly monitor (or subscribe to) your firewall vendor's


security bulletins.

o Regularly backup the firewall configuration files and keep the


backups offsite.
Network Logs

May 6 12:00:14 10.91.131.254 1 1588766414.139493316 ATLMX250_1 security_event ids_alerted signature=1:45200:2 priority=2


timestamp=1588766414.123508 direction=ingress protocol=tcp/ip src=162.158.77.10:28586 dst=10.91.131.106:443 message: SERVER-OTHER limited
RSA ciphersuite list - possible Bleichenbacher SSL attack attempt
May 6 12:00:10 10.91.131.254 1 1588766410.826022410 ATLMX250_1 security_event ids_alerted signature=1:45200:2 priority=2
timestamp=1588766410.762739 direction=ingress protocol=tcp/ip src=162.158.76.35:56910 dst=10.91.131.106:443 message: SERVER-OTHER limited
RSA ciphersuite list - possible Bleichenbacher SSL attack attempt

Jun 29 19:02:52 10.91.131.254 1 1593457372.542439446 ATLMX250_1 flows src=10.59.227.78 dst=10.91.131.47 protocol=tcp sport=53023 dport=135
pattern: allow all
Jun 29 19:02:52 10.91.131.254 1 1593457372.571381874 ATLMX250_1 flows src=10.60.33.87 dst=10.91.131.11 protocol=udp sport=63401 dport=53
pattern: allow all

Jun 29 19:02:52 10.91.131.254 1 1593457372.593552158 ATLMX250_1 urls src=10.193.253.218:55195 dst=52.167.249.196:443 mac=03:65:62:8B:1D:04


request: UNKNOWN https://settings-win.data.microsoft.com/...
Jun 29 19:02:52 10.91.131.254 1 1593457372.608340027 ATLMX250_1 urls src=10.91.131.183:56149 dst=40.97.28.98:443 mac=00:50:56:8F:2D:03
request: UNKNOWN https://outlook.office365.com/...

Jun 29 19:02:52 10.91.131.254 1 1593457372.547255718 ip_flow_start src=10.193.253.218 dst=52.167.249.196 protocol=tcp sport=55195 dport=443
translated_src_ip=4.28.182.156 translated_port=55195
Jun 29 19:02:52 10.91.131.254 1 1593457372.594224513 ip_flow_end src=10.193.252.90 dst=23.63.187.194 protocol=tcp sport=63244 dport=80
translated_src_ip=4.28.182.156 translated_port=63244
Network Logs
Firewall

• “Firewall” = mecanism de control al datelor


transmise intra doua sisteme conectate la
retea
• Cele mai comune implementari:
▫ Packet filter = filtru de pachete
 cel mai des intalnit: dupa IP, si port
 Implementeaza un set de reguli de tip Allow /
Block
▫ Proxy = zona tampon / buffer
Retea locala cu Firewall
Demilitarized Zone
• DMZ – Demilitarized Zone
▫ orice serviciu furnizat utilizatorilor in rețeaua externă
organizatiei poate fi plasat în DMZ.
▫ Cele mai frecvente servicii sunt: servere Web, servere de mail,
servere FTP, servere VoIP
• Bastion host
▫ sisteme ce contin doar servicii de baza ( strictul necesar
functionarii) fara aplicatii inutile.
▫ O combinație de "bastion" și firewall sunt singurele sisteme
expuse in retele publice
Firewall – metode de protectie
• Poate implementa unul sau mai multe din
mecanismele descrise (cele mai utilizate):
▫ Packet Filtering
▫ Network Address Translation (NAT)
▫ Proxy Services
• Alte servicii suplimentare:
▫ Encrypted Authentication
▫ Virtual Private Networking
▫ Virus Scanning
▫ Content Filtering
Firewall – Packet Filtering
Packet Filtering
• Rol:
▫ respinge pachete sau conexiuni TCP/IP de la host-uri
neautorizate
▫ compara date din pachete (de obicei din sectiunile header) cu un
set de reguli dintr-un tabel
• Limitari:
▫ Fragmentarea pachetelor duce la imposibilitatea verificarii
 doar primul fragment va contine header-ul transport
 Solutie: ansamblarea fragmentelor si apoi verificarea
Firewall – Packet Filtering
Stateful Packet Filters
• Se retine starea
▫ Când un pachet este transmis prin firewall catre
reteaua externa se retine conexiunea (starea)
▫ Pachetele primite ca raspuns sunt transmise catre
reteaua interna prin asocierea cu starea creata
Firewall – NAT
Network Address Translation (NAT)
• Rol:
▫ Traduce adrese IP interne in adrese de IP externe (si invers)
▫ Cunoscut si ca “IP masquerading”
• Permite:
▫ “Ascunderea” utilizatorilor in spatele unei adrese private
▫ Gestiunea conexiunilor (prin SNAT si DNAT)
Firewall – Proxy Services
Proxy Services
• Rol:
▫ Separa conexiunea intre sursa si destinatie
▫ Creaza doua conexiuni: una intre sursa si proxy si cealalta
intre proxy si destinatie
▫ Restrictioneaza traficul la protocoalele aplicatie utilizate
(exemplu: proxy http)
▫ proxy = combinatie intre client si server
▫ Adresa sursa vazuta de destinatar este cea a proxy server
Firewall – VPN
Virtual Private Networking
• Rol:
▫ Stabileste o conexiune sigura intre sursa si destinatie
folosind infrastructura eterogena a internetului
• Componente:
▫ Tunel criptat intre sursa si destinatie
▫ Autentificare a conexiunii
▫ Accepta mai multe nivele TCP/IP
Modele firewall – Model simplu
Server
Client
Switch Client
Web
MAC
Router Server

MAC
IP
Model firewall
Retea
Internet
Demiliterized Zone locala (LAN)
Bastion
IP
Router
IP Mail
Server

Web Firewall
Server

www.freedigitalphotos.n jscreationzs
Modele firewall – DMZ

firewall

DMZ – 2 x firewall

DMZ – 1 x firewall
firewall

firewall
Firewall
Firewall
Principii firewall
• Exista doua principii de baza de configurare a
unui firewall:
▫ Blocheaza destinatiile periculoase
 Se blocheaza accesul catre zonele / serviciile
cunoscute ca fiind riscane
▫ Blocheaza toate destinatiile
 Se permite accesul doar catre zonele / serviciile
cunoscute
Exemplu regula firewall
Regula de tip conditie, actiune
Regulile se evalueaza in ordinea din tabel

Exemplu: permite trafic SSH (Secure Shell –


administrare de la distanta )
Port alocat
aplicatie Port rezervat
IP sursa utilizator IP destinatie
SSH
(client SSH)

Src Src Dst Dst Ack


Rule Dir Proto Action
Addr Port Addr Port Set?
SSH-1 In Ext > 1023 Int 22 TCP Any Allow
SSH-2 Out Int 22 Ext > 1023 TCP Yes Alow
Atacuri la nivel aplicatie
Atacuri la nivel de aplicatie
• Malware and viruses
▫ malicious software
▫ viruses, worms, trojans, rootkits, botnets,
spyware, scareware, or rogueware
Software malitios
Backdoor (cunoscut si ca trapdoor)
▫ O “intrare secreta” intr-o aplicatie ce permite accesarea
continutului fara a fi supus masurilor predefinite de securitate.
▫ Poate fi folosita de catre programator pentru: testare si debug-
ing. (maintenance hook). Atentie !

Logic bomb
▫ Cod in aplicatie ce creaza probleme in momentul aparitiei unui
eveniment declansator (ex: data calendaristica, absenta sau
prezenta fisierelor, vezi Millenium Virus)

Cod mobil
▫ Programe (script, macro, etc) ce pot fi transmise neschimbate
catre alte platforme si executate cu efecte similare
▫ Exemple: applet Java, JavaScript, ActiveX
Software malitios
Trojan horse
▫ Program folositor sau aparent folositor ce contine cod ascuns si
odata executat produce efecte nedorite
▫ Exemple: modificarea permisiunii de accesa unele fisiere,
distrugerea de date, “scurgerea” de informatii
▫ 3 modele:
 Pastreaza functionalitatea programului dar executa in paralel codul
ascuns
 Modifica functionaliltatea programului pentru a rula codul ascuns
 Inlocuieste functionalitatea cu cea data de codul ascuns
Software malitios
Virus
▫ Un virus este un program ce poate infecta alte
programe. In cele mai multe cazuri infectia presupune
injectarea unui cod de replicare a virusului
▫ Format din 3 parti:
 Mecanism de infectare
 Mecanism de activare: eveniment sau conditie
 Incarcatura: functionalitate
▫ 4 faze:
 Faza de hibernare
 Faza de propagare: infectarea prin replicare (copiere)
 Faza de activare
 Faza de executie
▫ Clasificare in functie de tinta: Infectie a sectorului
boot; Infectia de fisiere; Infectie a elementelor de tip
macro
Software malitios
Virus (continuare)
▫ Clasificare in functie de capacitatea de a fi ascuns:
 Virus criptat
 O portiune de virus genereaza o cheie si cripteaza restul codului
 Virus camuflat
 Intreg virusul este camuflat pentru a evita detectia
 Virus polimorfic
 Un virus ce sufera un proces de mutatie cu fiecare infectie
ascunzand semnatura
 Virus metamorfic
 La fel ca in cazul precedent. In plus virusul se rescrie la fiecare
iteratie schimband si forma si comportamentul
Software malitios
Model de propagare a “viermilor”
Worm (vierme)
•Un program care se poate
autoreplica si transmite copii ale
sale prin intemediul unei retele

•Mecanisme de transport prin


retea:
E-mail
Executie tip “remote”
Login tip “remote”
Tehnici de securitate -Autentificarea
• Brute force
▫ cryptographic scheme
▫ programe de calculator utilizate pentru a încerca un
număr foarte mare de parole pentru a decripta
mesajul sau pentru a avea acces la sistem
Tehnici de securitate -
Autentificarea
Exista diverse metode de autentificare.
▫ Metode bazate pe cunostinte ale utilizatorului
 Parola
▫ Modalitate comuna de autentificare
▫ De obicei stocata sub forma text
 Parola “hash”
▫ Folosita in sisteme UNIX
▫ Parola este stocata ca f (parola), f nu este inversabila
▫ Cand utilizatorul introduce parola se calculeaza f (parola) si se
compara.
▫ Se foloseste in combinatie cu “salt”: f (parola, salt)
▫ Salt = valoare aleatoare
▫ Metode bazate pe elemente aflate in posesia
utilizatorului
Tehnici de securitate – Protectia Malware
Elemente de baza ale aplicatiilor antivirus
▫ Detectia
▫ Identificarea
▫ Eliminarea

Metode antivirus:
▫ Emulator CPU:
 un computer generat software
 instructiunile sunt rulate in emulator
▫ Modul de control emulator:
 Controleaza executia codului in emulator
▫ Scaner de semnaturi virus:
 un modul care cauta in fisere semnaturi specifice
unor virusi
Tehnici de securitate – Protectia Malware
Metode antivirus: Sistem digital imun

2 1

4
Tehnici de securitate – Detectia intrusilor
Elemente de baza in detectia intrusilor:
▫ Viteza de detectie
▫ Eficienta de detectie -> descurajare
▫ Colectarea de informatii despre tehnicile folosite

Metode generale:
▫ Detectia comportamentului anormal
 Detectia bazata pe elemente de prag
 Detectia bazata pe profil
▫ Detectia bazata pe semnatura

Metode de inregistrare a activitaii:


▫ Inregistrari native: SO pastreaza activitatea utilizatorilor
▫ Inregistrari specifice: Aplicatii ce retin doar informatiile necesare
detectiei
Sisteme avansate de comunicatii in mediu industrial

Suport Curs si Lab 10


TLS
Modele de comunicatie prin
internet
Hypertext Transfer Protocol Secure
Transport Layer Security
Securitatea transmisiei datelor
Modalitati de securitate a transmisiei de date in retea:
• Securitatea la nivel retea (nivel “network”) – denumire IPsec
• Securitatea la nivel transport – denumire SSL/TLS
HTTPS
• Hypertext Transfer Protocol prin Secure Sockets
Layer (SSL) sau TLS
▫ asigură comunicarea între un browser și un server
web.
▫ utilizează certificate pentru a asigura identitatea
serverului
▫ utilizează criptarea datelor, inclusiv datele de
conectare ale utilizatorilor si parola
SSL/TLS
• SSL = Secure SocketsLayer.
▫ Dezvoltat de compania Netscape
▫ SSL v1 - instabil încă de la proiectare.
▫ SSL v2 – probleme de Securitate
▫ SSL v3 –instabil
• TLS=Transport Layer Security.
▫ preluat de IETF
▫ TLS 1.0 înRFC 2246(1999).
▫ TLS 1.1 înRFC 4346(2006).
▫ TLS 1.2 înRFC 5246(2008).
▫ TLS 1.3 înRFC 8446(2018).
SSL/TLS
An Autor Denumire Descriere
1994 Netscape SSL 1.0 - proiect. Nu a fost publicat. Au fost identificate
probleme de Securitate
1995 Netscape SSL 2.0 - publicat Au fost identificate noi probleme de
Securitate
1996 Netscape SSL 3.0 - publicat Acceptat pe scara larga
1999 IETF TLS v1.0 publicat (SSL v3.1) Corectarea unor noi probleme de
Securitate. A fost transferat catre IETF
2006 IETF TLS v1.1 publicat (SSL v3.2) Imbunatatiri.
2008 IETF TLS v1.2 publicat (SSL v3.3) Folosit pe scara larga
2014 IETF TLS v1.3 draft 1 (SSL v3.4) Draft-uri succesive
2018 IETF TLS v1.3 Publicat - RFC 8446
SSL/TLS
• SSL/TLS
▫ Opereaza la un nivel intermediar intre HTTP si
TCP (“top sublayer for L4”) dar utilizeaza TCP
▫ Un Client și un Server pot avea o conversație
sigură printr-un mediu nesigur, fără a necesita un
schimb prealabil e chei de criptare (in afara
conexiunii SSL/TLS).
▫ TLS a devenit protocolul de securitate cel mai des
utilizat
• Hypertext Transfer Protocol Secure = HTTP
utilizand TLS
SSL/TLS
• SSL a fost proiectat inițial pentru e-commerce
pentru a suplini lipsa elementelor de Securitate
ale protocolului http
▫ Folosit acum la scară largă:
 Accesul clienților la e-banking, plata on-line etc.
 Acces la mail, social networking etc.
 Aplicatii ale comaniilor
 …
▫ majoritatea traficului internet este acum criptat
folosind TLS
SSL/TLS
Stiva TCP/IP
• TLS / SSL protocol situat deasupra nivelului transport
• nu face parte din nivelul transport

HTTP
http port 80
HTTPS
SSL / TLS
http port 443
Transport

Internet Protocol

Network Access
SSL (versiuni vechi)

SSL cuprinde urmatoarele protocoale


•SSL Handshake Protocol
•SSL Record Layer Protocol
•SSL Change Cipher Spec
•SSL alert Protocol

Conexiunea SSL – etape (simplificat)

Negociation Key exchange Autentification Data exchange


TLS
Componentele TLS:
TLS cuprinde urmatoarele protocoale: • Handshake Protocol
• Alert Protocol
• Cipher Change
• Record Protocol
TLS
• Handshake Protocol
• Se stabileste o suita de criptare Deschidere conexiune
• Se stabileste un “master secret”
• Se realizeaza o autentificare bazata
pe certificate de securitate Handshake
• Transfer de date
▫ Utilizeaza chei simetrice de criptare.
▫ Moduri de criptare (authenticated Transfer date
encryption with associated data) generate de aplicatie
AEAD.
▫ Protocol aplicatie cel mai des
utilizat: HTTP Alerte
• Alerte
▫ Inchide conexiunea TLS
▫ Detecteaza probleme Inchidere conexiune
TLS – Handshake Protocol
• Handshake Protocol
• Rol: gestioneaza deschiderea unei sesiuni TLS si
pregateste inceperea transmisiei de date folosind
TLS
• Componenta 1: Stabilește cheile de criptare
pe care le utilizează Record Protocol inclusiv prin
stabilirea “TLS master secret” a cheilor derivate.
• Se stabileste o suita de chei – foloseste o negociere
intre client si server
• Stabilire chei utilizate pentru Record Protocol
• Se stabileste un “master secret”
TLS – Handshake Protocol
• Componenta 2: Asigura autentificarea
serverului
▫ Foloseste chei publice impreuna cu certificate de
securitate pentru a realiza o autentificare a
serverului sau a serverului si a clientului
• Componenta 3: Negocierea securizata a
tuturor parametrilor de securitate:
▫ versiunea SSL / TLS
▫ algoritmi de criptare
▫ algoritmi hash,
▫ Autentificare
▫ metode de stabilire a cheilor
TLS
Handshake
• Se negociaza:
▫ SSL version
▫ Session ID
▫ Cipher suite
▫ Compression
method
• Functii
▫ Authentication
▫ Encryption
▫ Hash Algorithms
TLS – Handshake Protocol
• TLS acceptă multiple metode de criptare si
metode de autentificare
• Handshake Protocol negociaza metoda folosită
intr-o sesiune.
• Exemplu de negociere:
▫ Pas 1: mesajul ClientHello - Clientul trimite o listă
de algoritmi de criptare pe care îi accepta
▫ Pas 2: mesajul ServerHello - Server-ul selectează
un algoritm și notifica clientul
TLS – Handshake Protocol
• O suită (“cipher suite”) este reprezentata de un
set de algoritmi de criptare utilizati în stabilirea
unei conexiuni de comunicații sigure.
• Există o serie de suite în uz
TLS – Handshake Protocol
• Criptarea simetrica (cheie publica)
functioneaza astfel:
1. Browserul solicită o conexiune cu serverul.
2. Serverul genereaza o pereche cheie publica
cheie private si trimite cheia publică.
Păstrează secreta cheia privată.
3. Browserul generează o a treia cheie numită
cheie de sesiune.
4. Cheia de sesiune este criptată ajutorul cheii
publice trimisa de server
TLS – Handshake Protocol
Criptarea simetrica (continuare)
5. Cheia de sesiune criptată este transmisa catre
server.
6. Serverul decriptează cheia de sesiune folosind
cheia privată secretă. Cheia de sesiune este
acum cunoscuta atat de client cat si de server.
7. Criptarea mesajelor se realizeaza acum prin
criptare simetrica utilizand doar cu cheia de
sesiune atat la client cat si la server.
Mesaje TLS
Message types
Code Description
0 HelloRequest
1 ClientHello
2 ServerHello
4 NewSessionTicket
11 Certificate
12 ServerKeyExchange
13 CertificateRequest
14 ServerHelloDone
15 CertificateVerify
16 ClientKeyExchange
20 Finished
Schimb
de
mesaje
TLS

Ref. Kolamunna, Harini, Jagmohan Chauhan, Yining Hu,


Kanchana Thilakarathna, Diego Perino, Dwight Makaroff,
and Aruna Seneviratne. "Are wearable devices ready for
HTTPS? Measuring the cost of secure communication
protocols on wearable devices." arXiv preprint
arXiv:1608.04180 (2016).
TLS
Handshake
Hello

Change
Cipher
spec

Schimb
de
date

Captura de mesaje
TLS – Handshake Protocol
Schimb de mesaje TLS (caz RSA):
• Pas 1: 'client hello”
▫ Clientul inițiază strângerea de mână trimitând un
1 mesaj "salut" către server.
▫ Mesajul include:
 versiunea TLS pe care o acceptă clientul,
 algoritmi de criptare pe care îi accepta
 un șir aleator de octeți cunoscuți drept „client
random”.
TLS – Handshake Protocol
• Pas 2: “server hello”
▫ ca răspuns la mesajul de salut al clientului,
serverul trimite un mesaj care conține:

2  certificatul SSL al serverului,


 suita aleasă de server
 un alt șir aleator de octeți generat de server "server
random“
▫ Daca serverul nu agreaza o suita, conexiunea
inceteaza
▫ Mesajul “server hello” include si alte mesaje
pentru a nu aglomera conexiunea: “Certificate”,
“server key exchange” si “Server Hello Done”
TLS – Handshake Protocol
• Pas 2.1: “server hello” - certificate
▫ Serverul trimite certificatul SSL,
▫ Certificatul este semnat de o autoritate de

2• Pas 2.2: “server hello” - server key


certificare

exchange
▫ Optional - doar pentru anumite metode, de
exemplu: Diffie-Hellman
• Pas 2.2: “server hello” - Server Hello
Done
▫ Serverul notifica faptul ca a transmis toate
mesajele pentru aceasta etapa
TLS – Handshake Protocol
• Pas 3: Generarea cheii de sesiune
▫ Clientul trimite încă un șir aleator de octeți,
„secretul premaster”. (cazul algoritmului RSA )
3 ▫ Secretul premaster este criptat cu cheia publică și
poate fi decriptat doar cu cheia privată de către
server. (Clientul primește cheia publică din
certificatul SSL al serverului.)
▫ Mesajul contine mesaje componente (slide
urmator)
TLS – Handshake Protocol
• Pas 3.1: Client key exchange
▫ Clientul trimite „secretul premaster”. (RSA )
▫ Secretul premaster este criptat cu cheia publică
3• Pas 3.2: Change Cipher Spec
▫ Clientul notifica faptul ca a generat cheia de
sesiune si va transmite in cotinuare mesaje
criptate
• Pas 3.3: Finished
▫ Mesaj criptat – de finalizare a procesului la client
▫ Continue date MAC pentru autenticitate
TLS – Handshake Protocol
• Inainte de a trimit mesajele de la pasul 3 clientul
face urmatoarele operatii:
• Autentificare:
3 ▫ Clientul verifică certificatul SSL al serverului cu
autoritatea de certificare care l-a emis.
▫ Confirmă autenticitatea serverului
• Cheia de sesiune creata:
▫ clientul generează chei de sesiune folosind “client
random”, “server random” si secretul premaster.
▫ rezultat: master secret
TLS – Handshake Protocol
• Pas 4 Serverul a finalizat:
▫ Serverul trimite un mesaj de finalizare a
procesului compus din: Change Cipher Spec si

4 Finished
▫ Mesajul este criptat cu o cheie de sesiune
• Pas 4.1 Change Cipher Spec :
▫ Serverul notifica faptul ca a generat cheia de
sesiune si va transmite in cotinuare mesaje
criptate
• Pas 4.2 Finished:
▫ Mesaj criptat – de finalizare a procesului la server
▫ Continue date MAC pentru autenticitate
TLS – Handshake Protocol
• Inainte de a trimit mesajele de la pasul 4 clientul
face urmatoarele operatii:
• Cheia privată:
4• Cheia de sesiune creata:
▫ Serverul decriptează secretul premaster.

▫ serverul generează chei de sesiune folosind “client


random”, “server random” si secretul premaster.
▫ rezultat: master secret
• Astfel se realizează o criptare simetrică sigură:
strângerea de mână este finalizată, iar
comunicarea continuă folosind cheile de sesiune
TLS – Handshake Protocol
• Fiecare algoritm de criptare este identificat
printr-o ca valoare salvata pe 16 biti
• Exemplu: 0xc030 codul afferent suitei de mai
jos
ClientHello Cipher suites: 19 suites

ServerHello, Cert, ServerHelloDone


Client Server
Cipher Suite:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
(0xc030)
TLS – Handshake Protocol
• TLS 1.2 specifică 37 versiuni de algoritmi
“Cipher Suites”
• TLS v1.3 suportă 5 versiuni de algoritmi “Cipher
Suites”

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

protocol Algoritm pentru Algoritm Hash


autentificare

Metoda de Criptare
schimb de chei
TLS – Handshake Protocol
• Algoritmi de schimb de chei (“Key
Exchange”) des utilizati:
▫ DHE - algoritmul “Diffie–Hellman”
▫ ECDHE – algoritmul “Elliptic curve Diffie–
Hellman”
▫ Pre-Shared Key (PSK) – folosit rar in conexiuni cu
cheie private
▫ RSA (Rivest–Shamir–Adleman) - creează și apoi
publică o cheie publică bazată pe două numere
prime mari, împreună cu o valoare auxiliară.
TLS – Handshake Protocol
• Algoritmi de criptare (“data encryption
algorithm “) des utilizati:
▫ TLS 1.2 foloseste metoda:
 MAC-then-Encrypt - Expeditorul își autentifică
mesajul folosind un algoritm MAC, apoi criptează
datele autentificate. Destinatarul decriptează mai
întâi datele folosind cheia si apoi verifică
autenticitatea mesajului.
▫ TLS 1.3 foloseste metoda:
 AEAD - Authenticated Encryption with Additional
Data - calculeaza MAC și cripteaza simultan
TLS – Handshake Protocol
• Algoritmi de criptare (continuare)
▫ MAC / HMAC - valoare utilizată pentru a verifica
integritatea datelor transmise.
▫ MAC - Message Authentication Code (SSL)
 cod de autentificare a mesajului
 Determina daca datele au fost modificate în timpul
transmisiei.
 Cod folosit pentru autentificarea unui mesaj și pentru a
oferi garanții de integritate și autenticitate.
 Integritate: detectează modificări accidentale și intenționale
ale mesajelor,
 Autenticitate: confirmă originea mesajului.
 utilizează o funcție de mapare pentru a reprezenta datele
mesajului
TLS – Handshake Protocol
• Algoritmi de criptare (continuare)
• valoare utilizată pentru a verifica integritatea
datelor transmise.
▫ HMAC - keyed-hash message authentication code
 cod de autentificare a mesajului hashed
 similar cu MAC, dar utilizează un algoritm hash în
combinație cu o cheie secretă partajată.
 De exemplu:
 Message Digest 5 (MD5)
 Standard Hash Algorithm (SHA)
 ambele părți trebuie să aibă aceeași cheie secretă
partajată pentru a dovedi că datele sunt autentice.
TLS – Handshake Protocol
• Algoritmi de criptare (“data encryption
algorithm “)
▫ Componente ale Cipher Suite care determina
modul de criptare a datelor
▫ Exemplu de algoritmi des utilizati:
 AES_256_GCM
 Advanced Encryption Standard (AES) in
Galois/Counter Mode (GCM)
 Definit in: Request for Comments: 5288
TLS – Handshake Protocol
• Algoritmi de criptare
▫ Exemplu:

Exemplu: CHACHA20 – POLY1305


• CHACHA20 pentru criptare
• POLY1305 pentru autentificare
• Cheie simetrica – 64 bytes
TLS / SSL - Record Protocol
• Record Protocol
• transfer de date generate de protocoale aplicatie
• Include antetului TLS în mesajele transmise
• Foloseste mesaje si functii TCP
• Oferă confidențialitate, integritate si autenticitate a
datelor transmise de nivelul aplicație
• foloste nivele de criptare convenite in etapa
Handshake Protocol, de exemplu:
• codul de autentificare a mesajului (MAC), care este
calculat cu ajutorul unei chei.
• Algoritmul selectat de criptare a pachetelor
▫ Compresia datelor este opțională.
TLS 1.3 – Handshake
• TLS v1.3 adduce o simplificare a protocolului
Handshake, reducand timpul necesare realizarii
conexiunii

1 ClientHello, List of Cipher Suites, Key Share

ServerHello, Selected suite, Key Share, Cert, Finished

2
Finished, Data request
Client Server

3
Certificate SSL
• Autoritate de certificare (CA)
• Organization Validation (OV)
▫ CA verifică dreptul solicitantului de a utiliza un
anumit domeniu
▫ CA verifica organizația.
▫ Informații suplimentare despre companie sunt afișate
clienților
• Domain Validation (DV)
▫ CA verifică dreptul solicitantului de a utiliza un
anumit domeniu.
Certificate SSL
• Extended Validation (EV)
▫ Verificarea existenței juridice, fizice și
operaționale a entității
▫ Verificarea faptului că identitatea entității
corespunde înregistrărilor oficiale
▫ Verificarea faptului că entitatea are dreptul
exclusiv de a utiliza domeniul specificat în
certificatul EV SSL
▫ Verificarea faptului că entitatea a autorizat în mod
corespunzător emiterea certificatului EV SSL

Ref: https://www.globalsign.com/en/ssl-information-center/types-of-ssl-certificate/
Certificate SSL

Autoritate de
certificare
(CA)
Studiu de caz

Source: W3Techs survey – 2018


Domain Name System
DNS

Domain Name System (sau Service)


▫ Sistem ierarhic de baze de date distribuite ce asigura
corespondenta intre “host name ” si adresa de IP.
▫ DNS query = cautarea in baza de date
▫ “resolving a host name”

Domain name = nume de domeniu (edu, com, gov, ro)


▫ Alocate de Internet Corporation for Assigned Names and
Numbers
▫ (http://www.icann.org/en/about)
▫ Domenii .ro alocate de ROTLD http://www.rotld.ro/

DNS este impartit in zone si sub-domenii


DNS
Sistem DNS cu un singur server

1 Cerere DNS:
Care este adresa IP pentru
www.upb.ro ?
Server 2
DNS Se verifica in
baza de date:

Domeniu IP

www.upb.ro 141.85.216.217

3 … …
Raspuns DNS:
Adresa pentru www.upb.ro
este 141.85.216.217
DNS
Sistem DNS
1 3
Cererea DNS este preluata de
serverul desemnat ca server In caz contrar transmite
preferat la configurarea o solicitare catre alte
conexiunii de internert servere desemnate din
sistemul DNS.

Serverul DNS (denumit si


resolver) verifica daca
2 exista acea adresa
solicitata in baza de date.

https://technet.microsoft.com/en-us/library/cc772774(v=ws.10).aspx
DNS

Exemplu inregistrare
DNS:
DNS

Erori DNS:
Sisteme avansate de comunicatii in mediu industrial

Curs 12
Securitatea retelelor
Domain Name System
DNS

Domain Name System (sau Service)


▫ Sistem ierarhic de baze de date distribuite ce asigura
corespondenta intre “host name ” si adresa de IP.
▫ DNS query = cautarea in baza de date
▫ “resolving a host name”

Domain name = nume de domeniu (edu, com, gov, ro)


▫ Alocate de Internet Corporation for Assigned Names and
Numbers
▫ (http://www.icann.org/en/about)
▫ Domenii .ro alocate de ROTLD http://www.rotld.ro/

DNS este impartit in zone si sub-domenii


DNS
Sistem DNS cu un singur server

1 Cerere DNS:
Care este adresa IP pentru
www.upb.ro ?
Server 2
DNS Se verifica in
baza de date:

Domeniu IP

www.upb.ro 141.85.216.217

3 … …
Raspuns DNS:
Adresa pentru www.upb.ro
este 141.85.216.217
DNS
Sistem DNS
1 3
Cererea DNS este preluata de
serverul desemnat ca server In caz contrar transmite
preferat la configurarea o solicitare catre alte
conexiunii de internert servere desemnate din
sistemul DNS.

Serverul DNS (denumit si


resolver) verifica daca
2 exista acea adresa
solicitata in baza de date.

https://technet.microsoft.com/en-us/library/cc772774(v=ws.10).aspx
DNS

Exemplu inregistrare
DNS:
DNS

Erori DNS:
Tipuri de vulnerabilitati
Atacuri de retea
Tipuri de atacuri
Alte atacuri:
• Atacuri fizice
▫ Acces in locatie si acces la echipamente
• Insider Attacks
▫ Atacuri ce utilizeaza o “persoana din interior” care faciliteaza
• Advanced Persistent Threats
▫ Atacuri ale gruparilor organizate de “hackeri”
▫ Atacuri personalizate in functie de sistem
▫ Obiective clare: furt de informatii, rascumparari, razbunare,
popularitate …
Tehnici utilizate pentru atacuri
• Redirection  Brute Force:
▫ Schimbarea  Identificarea parolei
destinatarului
 Buffer Overflows
• Programe malitioase
 Se depaseste
▫ Worms, Viruses, Trojans
• Masquerading dimensiunea alocata
▫ Camuflarea unei adrese  Spoofing Attacks:
• Social Engineering  Camuflarea adreselor
▫ “Inselatorii”  Flooding
• Sniffing
 “inundarea” cu mesaje
▫ captura parolei
Categorii de atacuri – clasificare
• DOS Attacks
▫ Denial of Service
• Disclosure Attacks
▫ Publicarea de informatii
• Modification Attacks
▫ Modificarea informatiilor
• Destructive Attacks
▫ Atacuri directionate catre distrugerea datelor (…)
• Escalation of Privilege
▫ Alocarea ilegala a unor drepturi de acces
Categorii de atacuri – clasificare 2
• Sniffing • Redirection
▫ captura parolei ▫ Schimbarea
• Brute Force: destinatarului
▫ Identificarea parolei • Programe malitioase
• Buffer Overflows ▫ Worms, Viruses,
▫ Se depaseste Trojans
dimensiunea alocata • Masquerading
• Spoofing Attacks: ▫ Camuflarea unei
▫ Camuflarea adreselor adrese
• Flooding • Social Engineering
▫ “inundarea” cu mesaje ▫ “Inselatorii”
Categorii de atacuri –
Exemplu: Masquerade
• Masquerade Attacks (exemple):
▫ Se mascheaza adresa “Address Spoofing ”
 MAC Address Spoofing
 IP/MAC Address Spoofing
 DNS Attacks
 Web Proxy Auto-Discovery Protocol (WPAD) Hi-
Jacking
 Website Spoofing -- Portal Spoofing
Tehnici de securitate – Detectia intrusilor
Elemente de baza in detectia intrusilor:
▫ Viteza de detectie
▫ Eficienta de detectie -> descurajare
▫ Colectarea de informatii despre tehnicile folosite

Metode generale:
▫ Detectia comportamentului anormal
 Detectia bazata pe elemente de prag
 Detectia bazata pe profil
▫ Detectia bazata pe semnatura

Metode de inregistrare a activitaii:


▫ Inregistrari native: SO pastreaza activitatea utilizatorilor
▫ Inregistrari specifice: Aplicatii ce retin doar informatiile necesare
detectiei
Denial of Service
Tipuri de atacuri
Social Engineering
▫ arta manipulării persoanelor, astfel încât acestea să
renunțe la informații confidențiale.
▫ se bazeaza pe: incredere, neatentie sau curiozitate

▫ Cel mai des intalnit:


 mesaje e-mail: contin un link, contin un fisier, solicita
informantii
 social media: site-uri, retele de socializare
 telefon
 messanger
Tipuri de atacuri
Social Engineering
• Tiprui comune de atacuri:
▫ “Email from a friend”
 Ex: Cere ajutor o suma de bani / cere donatii in numele unei
asociatii
▫ “Phishing”
 Trimiterea unui mail utilizand ilegal numele unei organizatii …
 Se bazeaza pe incredere
 Ex: Anunta o problema (parola, spatiu), anunta un castig …
▫ “Baiting”
 se utilizeaza un scenariu
 Ex: un link catre un film nou care odata accesat deschide noi
pagini si incearca fortarea descarcarii unor fisiere
Atacuri la nivel de aplicatie
• Social engineering
▫ manipulare (psihologică) a comportamentului uman
pentru a afla detalii de securitate
▫ Doua categorii:
 computer- or technology-based deception
 human-based deception.
• Data breach
▫ Sustragere de date dintr-un sistem fara acordul
proprietarului
• Espionage / Man in the middle
▫ Obtinerea de informatii confidentiale
Exemplu:
Social engineering
Tipuri de atacuri
“Browser Attacks”
• Ataca un calculator prin intermediul unui browser
web.
▫ Utilizeaza site-uri vulnerabile (legitime sau nu)
▫ atacatorii infectează site-ul cu programe malware.
▫ site-ul infectat încearcă să forțeze descarcarea
de malware-ul pe sistemele tinta exploatand
vulnerabilitățile existente
“Brute Force Attacks”
▫ programe de calculator utilizate pentru a încerca un
număr foarte mare de parole pentru a decripta mesajul
sau pentru a avea acces la sistem
Tipuri de atacuri
“Session Hijacking”
• conectarea permanenta la internet presupune
tranzacții repetate cu servere din întreaga lume,
▫ o sesiune dintre computer și serverul web contine un ID de sesiune
unic, care trebuie să rămână privat
▫ un atacator poate capturare ID-ului de sesiune, permițându-i să
se conecteze în calitate de utilizator și să obțină acces la informații
neautorizate pe serverul web.

“Credential Reuse”
• Prea multe credentiale (login și parola)
▫ Tentatia de a reutiliza credentiale pentru a ușura viața.
▫ Solutie:
 parole unice pentru toate aplicațiile și site-urile web
 Aplicatii manager de parole – atentie la posibile probleme
Tipuri de atacuri
“Malware Attacks” - “malicious software”
• “Phishing emails”
▫ Descarcarea de atasamente ale e-mail-urilor “capcana”
• “Malicious websites”
▫ site-uri care includ kituri de exploatare concepute pentru a
găsi vulnerabilități în sistemul vizitatorilor site-ului
▫ site-urile configurate pentru a deghiza malware-ul ca fisier
legitim ce trebuie descarcat.
• “Malvertising”
▫ rețelele de publicitate
▫ anunțurile rău intenționate pot redirecționa utilizatorii
către un site web care găzduiește programe malware
Tipuri de atacuri
“Worm Attacks”
• Programele Malware necesită, de obicei, interventia
utilizatorilor pentru a începe infecția.
▫ O persoana descarca un atașament de e-mail, viziteaza un site
infectat sau conecteaza un drive infectat
• “viermii” se răspândesc fara interventia utilizatorului,
printr-un mecanism de raspandire propriu.
▫ nu necesită interacțiune cu utilizatorul.
▫ exploatează vulnerabilitățile de sistem pentru a se răspândi în
rețelele locale și dincolo de acestea.
▫ Ex: “WannaCry” a exploatat o vulnerabilitate a SO: Windows
pentru a se raspandi si infecta
Tipuri de atacuri
Web Attacks
• Cross-Site Scripting (XSS)
▫ Se injectează un cod rău intenționat, intr-o pagina web
▫ Se execută un script, in browser, la incarcarea paginii.
• SQL Injection (SQLi)
▫ Se bazeaza pe introducerea unui cod SQL in locul datelor
standard intr-un câmp de introducere de date
▫ atacatorul introduce cod SQL pentru a șterge sau fura date
• Path Traversal
▫ Accesarea unor zone restrictionate dintr-un site prin mesaje
cerere HTTP
▫ Se ocolesc metodele de restrictionare acces implementate
Studiu de caz

Exemple - SQL injection


SQL Injection Based on 1=1 is Always True

http://code.tutsplus.com/tutorials/can-you-hack-your-own-site-a-look-at-some-essential-security-considerations--net-51
Exemple – SQL injection Studiu de caz
• SQL Injection Based on Batched SQL
Statements
Server Code
txtUserId = getRequestString("UserId");
txtSQL = "SELECT * FROM Users WHERE UserId = " + txtUserId;

User input:
105; DROP TABLE Suppliers

Result:
SELECT * FROM Users WHERE UserId = 105; DROP TABLE Suppliers

Ref: http://www.w3schools.com/sql/sql_injection.asp
Tipuri de atacuri
Scan Attacks
• “Port scanner”
▫ Se scaneaza porturi (adresa nivel transport) pentru
identificarea de vulnerabilitati la nivel aplicatie sau SO
• Vulnerability scanner
▫ Se scaneaza sisteme din retea pentru identificarea de
vulnerabilitati cunoscute ale aplicatiilor sau SO
Man-in-the-Middle Attacks
• Atacatorul insereaza un nod intermediar intre sursa
si destinatie
▫ Poate captura traficul si implicit datele transmise (parole)
▫ Poate redirectiona catre servicii fictive
Denial of Service
• Afecteaza functionarea unui serviciu prin
supraincarcarea server-ului sau a retelei
• Consuma resurse ale sistemului si ale conexiunii
la retea a furnizorului de servicii
• Tipuri principale de DoS:
▫ Simple DoS
▫ Coordinated DoS
▫ Distributed DoS
Denial of Service” (DOS)
“blocarea unui serviciu oferit
▫ împiedică utilizarea normală a unui portal, a unui sistem sau
a rețelei de către utilizatori
▫ încearcă să oblige o resursă (ex: site-uri web, servere de
aplicatii sau servere DNS) sa proceseze un volum foarte mare
de trafic.
▫ obiectivul este să încetinească sau să se blocheze sistemul.
• Cel mai des intalnit atac DDoS presupune Flood –
inundatie cu:
▫ Mesaje uzuale
▫ Cereri de deschidere de conexiuni
▫ Mesaje cu structura compromisa
Categorii de atacuri - DOS
• DOS -- Denial of Service Attacks (exemple):
▫ Radio Signal Interference
▫ AP Interference, example: steal MAC, steal IP
▫ Channel Hogging
▫ Disassociation Attacks
▫ Flooding Packets
▫ ARP Poising
▫ TCP reset attacks
▫ Window Size Changes
▫ UDP Flooding
▫ ICMP Flooding
▫ BROADCAST Flooding
Exmplu:
Denial of Service
 Atacatorul ascunde IP-ul sursa pentru a masca
originea atacului

Trafic generat
Atacator Tinta
Simple DoS

Atacator

Tinta
Atacator

Trafic Coordinated DoS


Atacator generat
Exmplu:
Denial of Service
• Handler
• server cu volum mare
de trafic pentru a
ascude urma

• Agent
• host dintr-o retea

• Noduri multiple
• intre atacator si tinta
pentru a amplifica si
ascunde

Distributed
Pot fi oprite, de obicei, doar DoS
cu ajutorul furnizorului de
internet By Everaldo Coelho and YellowIcon [LGPL
(http://www.gnu.org/licenses/lgpl.html)], via Wikimedia Commons
Denial of Service Distributed DoS

 Handler = server
cu volum mare de
trafic pentru a
ascude urma
 Agent = host dintr-
o retea
 Noduri multiple
intre atacator si
tinta pentru a
amplifica si
ascunde
Denial of Service
• DDoS amplification/reflection
▫ Atacatorul cloneaza IP-ul victimei si trimite cereri
catre server (exemplu: UDP ). Serverul raspunde
catre victima.
▫ Resultat: incarcarea conexiunii internet a victimei
• DoS protocol exploitation
▫ succesiune de cereri către un sistem țintă într-o
încercare de a consuma suficiente resurse
▫ Rezulta: sistemul nu răspunde / răspunde intarziat.
▫ Exemplu: TCP-SYN
Denial of Service
• DoS flooding
▫ atacatorul incarca victima cu pachete
▫ atacatorul are lățime de bandă mai mare decât victima
• DoS malformed packet attack
▫ blocheaza stiva de rețea (sistemul de operare) prin
furnizarea de informații gresite in antet sau in mesaj
• DoS application attack
▫ limitări, defecte și vulnerabilități ale aplicație sunt
exploatate,
▫ Rezultat: blocarea aplicației sau corupere a datelor
Exemple – DDoS - SYN flood

Normal

Studiu de caz
Studiu de caz

Exemple – DDoS - SYN flood


Atac
Studiu de caz

Exemple – DDoS –Socket exaustion


Studiu de caz

Exemple – DDoS –

Reflective attacks

amplification attack
Atacuri la nivel DNS
• DNS registrar hijacking
▫ Compromiterea unui DNS registrar
▫ Modificare a “domain registration information”
▫ Rezultate: control asupra domeniului, transferul
domeniului sau “identity theft”.
• DNS spoofing
▫ spoof “DNS records”.
▫ Modalitati: compromitere a server-ului DNS,
DNS cache, man-in-the-middle attack ...
Atacuri la nivel DNS
• DNS poisoning
▫ introducere de informatii compromise in DNS
(cache)
▫ Bazate pe: vulnerabilitati ale protocolului DNS sau
ale aplicatiilor DNS
• Domain name collision
▫ domeniu utilizat ca “private name space” (non-
delegated Top Level Domain),
▫ DNS query catre DNS si returnarea unui alt
domeniu
Exemplu DNS Studiu de caz

http://nrza.net/index.php/2015/07/03/dns-cache-poisoning/
Tipuri comune de atacuri
• Ascultarea – Captura de pachete
• Modificarea datelor
• Identity spoofing
• Atacuri bazate pe parole
• DoS – Denial of Service
• Man in the Middle
• Cheie Compromisa
• Sniffer
Atacuri router
• Autonomous System (AS) hijacking
▫ Un atacator se da drept organizatia victima
▫ Acesta anunta prefixul (reteaua) victimei –
Autonomous Systems
• Address space hijacking (IP prefixes)
▫ “rogue BGP peer” anunta prefixul victimei
▫ Redirectioneaza o parte sau tot catre AS-ul
compromis
Atacuri router
• Route leaks
▫ AS 1 nu are conexiune cu AS-ul 2.
▫ AS-ul 1 informeaza vecinii despre rutele BGP
primite de la AS-ul 2. In acest caz traficul catre AS
2 va fi transmis prin AS1.
• BGP session hijacking
▫ Compromiterea tabelei de routare BGP
▫ Poate impiedica traficul catre AS-uri fara a
notifica
Eavesdropping
• Eavesdropping Attacks (exemple):
▫ Atacuri de tip “ascultare”
 MAC Address
 IP Address
 BaseStation Address
 cleartext passwords and keys
 password hashes
 wep keys
 SSIDs
IP Spoofing
• Orice host poate trimite un pachet cu alt IP sursa
decat cel alocat
• Mesajele “Reply” vor ajunge la IP-ul trecut ca
sursa (valabil doar pentru IP din alt subnet)
• Atac: broadcast care are IP-ul victimei ->
victima va primi raspuns de la intreaga retea
• Poate folosi orice protocol IP (ICMP, TCP, UDP)
Man in the middle
ARP Poisoning
• ARP Poisoning
▫ Un atacator își asociază adresa
MAC cu adresa IP a altui host
▫ traficul destinat acelei adrese IP
este trimis catre atacator.
• ARP Poisoning Tools
▫ Ettercap ...
• Solutii de securitate:
▫ Static ARP
 arp -s ip_server
hw_address_server By 0x55534C (Own work) [CC BY-SA 3.0
(http://creativecommons.org/licenses/by-sa/3.0)], via
▫ Surveillance tools: Arpwatch, Wikimedia Commons

Ettercap
Man in the middle
Examplu HTTS downgrade
• SSLStrip
▫ Scopul este de a ocoli conexiunile SSL care sunt transformate in
conexiunile de tip cleartext - HTTP.
▫ când un utilizator acceseaza un site, browserul acceseaza versiunea
HTTP. Dacă site-ul este disponibil HTTPS, atunci va solicita clientului să
se reconecteze prin HTTPS
▫ SSLStrip este folosit într-un scenariu Man-in-Middle pentru a suprascrie
această funcție. Clientul vede conexiunea cu serverul in plaintext
(HTTP), in timp ce serverul considera clientul conectat prin HTTPS

http://joakim.uddholm.com/posts/sslstrip-and-ettercap.html
ICMP
• Internet Control Message Protocol
• Tratarea erorilor si debugging -> nu necesita
autentificare
• Tipuri de mesaje:
▫ 40 alocate
▫ 255 posibile
▫ Cele mai cunoscute: 0 - Echo Reply / 8 – Echo
 Implementare: comanda ping
 Maparea unei retele prin “ping” catre toate IP-urile
din retea
Smurf Attack
• Ping catre adresa
“broadcast address”, cu
(spoofed) IP al victimei
• Atac: Amplificare si IP
spoofing
• Prevenire: “Dropp
internet broadcast”
Fragmentarea
• Dimeniuni diferite de cadre “frame size” in
functie de protocolul folosit (ex: Ethernet)
▫ “MTU”= "Maximum Transmission Unit"
• Fragmentarea = impartirea in mai multe cadre
“frame”
• Componente:
▫ “Fragment ID” – acelasi ID pentru toate
fragmentele
▫ “bit flag” o daca este ultimul fragment / 1 default
▫ “offset” – unde vor fi incluse datele
▫ “Data length” - dimeniune
Ping of Death
• ICMP echo cu pachete (nivel IP) fragmentate
(nivel data link)
▫ Dimeniune maxima a pachetului ICMP: 65535 =
64K
▫ Un pachet = n x fragmente
▫ Pachetul reasamblat din fragmente depaseste
“65535 bytes” (offset + size) > 65535
Fragment 1 Fragment 2 Fragment 3

Dimeniune maxima pachet


TearDrop
Sursa
• Se transmite un pachet
fragmentat Pachet
▫ Primul fragment:
Fragment 1 Fragment 2
 Offset 0
 dimensiune N:
▫ Al doilea fragment Destinatie Asamblare
 Offset < N (asamblarea
Fragment 1 Fragment 2
ar trebui sa inceapa
peste date din primul Offset corect
pachet) TearDrop
• Sistemul de operare
genereaza erori legate Fragment 1 Fragment 2
de reasamblare Offset specificat in
fragmentul 2
Studiu de caz
ICMP Destination Unreachable
• ICMP cod: 3 Destination Unreachable

Coduri pentru Destination Unreachable


▫ 0 = net unreachable (from gateway)
▫ 1 = host unreachable (from gateway)
▫ 2 = protocol unreachable (from host)
▫ 3 = port unreachable (from host)
▫ 4 = fragmentation needed but do not fragment bit
set (from gateway)
▫ 5 = source route failed (from gateway)
ICMP Redirect
• Mesaj Type 5
• Atacatorul transmite un mesaj “ICMP Redirect”
folosind “IP spoofing” (IP-ul sursa al unui
router) catre victima
• Mesajul va actualiza tabela de routare
schimband “gateway”-ul catre adresa specificata
de atacator
ICMP Time Exceeded
• Mesaj ICMP “Type 11”
• Folosit ca mecanism pentru “traceroute”
• Routerul raspunde printr-un mesaj ICMP la
pachete cu “TTL 0”
• Probleme:
▫ Folosit pentru maparea retelei
▫ Incetineste procesul de routare in caz de atac
amplificat (surse multiple)
Linux based net security distro
• BackTrack
▫ Ubuntu
▫ Combina Auditor Security Linux (based on
Knoppix) and WHAX (formerly Whoppix; based
on Slax)
• Network Security Toolkit (NST)
▫ Fedora Live CD
▫ GUI

S-ar putea să vă placă și