1 of 50

Cursul #04

Rețelistică și Internet

1

2 of 50

Give a person a fish and you feed them for a day; teach that

person to use the Internet and they won’t bother you for weeks.

You know it’s love when you memorize her IP number to skip DNS overhead.

2

3 of 50

Suport de curs

  • Utilizarea sistemelor de operare
    • Capitolul 11 – Rețelistică și Internet

3

4 of 50

Transformarea Internetului

4

https://www.tes.com/lessons/U2BXrfcbvDDNmg/copy-of-the-history-of-the-internet

5 of 50

IoT

5

https://www.semiwiki.com/forum/content/5559-quick-history-internet-things.html

6 of 50

Ce este o rețea?

  • Stații/noduri (hosts) interconectate
  • Legături fizice (fir, wireless) și logice (conexiune) între stații
  • Stațiile comunică între ele, rulează aplicații de rețea
  • Rețele sunt conectate la alte rețele
  • Internet: totalitatea rețelelor interconectate de pe planetă

6

7 of 50

Comunicare între dispozitive

  • Dispozitivele participante trebuie să primească nume
  • Dispozitivele trebuie să fie suficient de precis localizate – să aibă o adresă
  • Participanții trebuie să identifice rutele prin care se pot contacta
  • Trebuie să stabilească câteva reguli simple de comunicare - protocoale

7

8 of 50

Protocol de rețea

  • Un protocol = reguli care stabilesc modul în care două dispozitive schimbă informații
  • Entitățile participante la comunicare cunosc protocolul
    • Formulează secvențe cerere – răspuns (request-reply)

8

9 of 50

Rețea locală

  • Formată din mai multe stații legate între ele
    • Stații: calculator, laptop, telefon mobil, server etc
  • Conectarea stațiilor în rețeaua locală se realizează printr-un echipament de rețea numit switch
  • Switch: transferă informația între calculatoare aflate în aceeași rețea locală folosind interfețele lor de rețea Ethernet, bazându-se pe adresa MAC

9

10 of 50

Adresa MAC

  • Un număr cu o lungime de 48 de biți, care identifică în mod unic fiecare interfață de rețea Ethernet;
    • Adresare plată, neierarhică
  • Este înscrisă din fabrică într-o memorie ROM de pe placă
    • Nu poate fi schimbată de pe placă, dar poate fi schimbată software

00:00:0c:ab:cd:c1

10

ID-ul producătorului

Numărul serial al plăcii

11 of 50

11

12 of 50

Comunicare între rețele

  • Pentru a putea accesa alte rețele sau Internetul, trebuie ca un echipament să aibă și o legătură la altă rețea/Internet
  • Acest echipament poate fi o stație, un server, sau un echipament de rețea dedicat numit ruter
  • Transferul informației din rețeaua locală spre Internet se bazează pe adresa IP

12

13 of 50

Protocolul IP

  • Protocolul dominant care asigură conectivitate în Internet
  • Adresarea IP este ierarhică
  • Cea mai recentă versiune: IPv6
    • Rezolvă criza de adrese IPv4
  • Adresa IPv6 este un număr de 128 biți
    • Progres lent față de ritmul tehnologiilor actuale
    • Infrastructură globală greu de transformat

13

14 of 50

Adresa IPv4

  • 32 de biți scriși în 4 grupuri de câte 8 biți
    • Fiecare grup e scris în format zecimal
  • O adresă IP are două componente:
    • Prima parte = adresa rețelei care include stația
    • A doua parte = adresa stației în cadrul rețelei.
  • Delimitarea dintre adresa stației și adresa rețelei este dată de masca de rețea

14

15 of 50

Masca de rețea

  • Are o lungime de 32 de biți
  • Formată prin setarea biților de rețea și stație
    • Biți rețea = 1
    • Biți stații = 0
  • Exemplu: dacă avem 24 de biți de 1 consecutivi, masca de rețea este /24 sau 255.255.255.0

15

16 of 50

Adresa de rețea și de broadcast

  • Adresa de broadcast: adresă de difuzare, pachetele sunt primite de toate stațiile din rețeaua locală
  • Acestea nu pot fi folosite ca și adrese de stații

  • Pentru a identifica adresa de rețea se efectuează un ȘI logic (&) între adresa IP și masca de rețea
  • Pentru a identifica adresa de broadcast a rețelei se efectuează SAU logic (|) între adresa IP și negatul măștii de rețea

16

17 of 50

Exemplu:

  • Stația cu adresa IP 192.168.100.200 și masca de subrețea 255.255.255.0 (/24)

  • Pentru adresa de subrețea:

11000000 10101000 01100100 11001000 – 192.168.100.200

11111111 11111111 11111111 00000000 – 255.255.255.0

______________________________________________________

11000000 10101000 01100100 00000000 – 192.168.100.0

  • Pentru adresa de broadcast:

11000000 10101000 01100100 11001000 – 192.168.100.200

00000000 00000000 00000000 11111111 – 0.0.0.255

______________________________________________________

11000000 10101000 01100100 11111111 – 192.168.100.255

17

18 of 50

Configurarea interfețelor

  • Are un aspect fizic, legat de hardware și un aspect logic, legat de protocoale și software
  • Conexiunea fizică: codifică informația sub formă de:
    • Semnale electrice: cablu UTP
    • Semnale optice: fibră optică
    • Semnale electromagnetice: legături fără fir

18

19 of 50

Port vs interfață

  • Concepte folosite interschimbabil
  • Fizic vs logic:
    • Interfață fizică: comunicare printr-un anumit mediu și protocol (ex. Ethernet)
      • Port fizic: punctul de contact cu exteriorul al unei interfețe fizice
    • Interfață logică: configurația realizată peste o interfață fizică
      • Port logic: adresă care permite unei interfețe logice să gestioneze mai multe conexiuni simultan

19

20 of 50

Configurare adresă IP

  • Se realizează în două moduri:
    • Prin configurare temporară (static sau dinamic)
    • Prin configurare permanentă (static sau dinamic)
  • Static vs. dinamic
    • Static = parametri configurați manual de administrator
    • Dinamic = parametri configurați automat

20

21 of 50

Configurare temporară

  • Efectul este imediat,
  • După ce se repornește SO, aceste configurări dispar
  • Au efect imediat și se aplică ușor
  • Statică:
    • se folosește comanda ifconfig (folosită fără parametrii,

se identifică informații despre interfețele active)

  • Dinamică:
    • Se realizează prin intermediul unui client DHCP, precum dhclient sau dhcpd

21

ubuntu:/home/razvan# ip address add 10.1.1.3/24 dev eth0

ubuntu:/home/razvan# ip address show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000

link/ether 00:d4:9e:81:ed:40 brd ff:ff:ff:ff:ff:ff

inet 10.1.1.3/24 brd 10.1.1.255 scope global dynamic noprefixroute eth0

22 of 50

Configurare permanentă

  • Efectul nu este imediat
    • Configurația nu se aplică după salvarea fișierului, ci după repornirea SO
  • Static și Dinamic:
    • Se realizează interacționând cu fișierul /etc/network/interfaces

22

iface eth0 inet static

address 10.1.1.2

netmask 255.255.255.0

network 10.1.1.0

broadcast 10.1.1.255

gateway 10.1.1.1

dns-nameservers 10.1.1.1

23 of 50

Gateway

  • Conectează două rețele, astfel încât dispozitivele din cele două rețele să poată comunica
  • Se află la periferia rețelei și poate îndeplini adesea funcții de protecție și filtrare a traficului, și de asemenea convertește traficul dintr-un protocol în altul
  • De obicei îndeplinită de un ruter
  • Specificarea temporară pentru o adresă de gateway se realizează prin intermediul unei rute
  • Ruta default gateway este folosită întotdeauna ca un ultim efort în încercarea de a accesa o destinație pentru care dispozitivul curent nu are o rută definită

23

24 of 50

Tabela de rutare

  • O rută reprezintă calea de parcurs pentru pachete în drumul lor spre destinație
  • Acestea se rețin în tabela de rutare
  • Pentru fiecare rută se reține: adresa destinației (aceasta poate fi adresa unui echipament sau adresa întregii rețele), masca de rețea și adresa echipamentului de rețea spre care se transmit informațiile pentru a putea ajunge la destinație.

24

student@uso:~$ ip route show

default via 10.9.0.1 dev eth0 proto dhcp src 10.9.4.66 metric 100

25 of 50

DHCP

  • DHCP (Dynamic Host Configuration Protocol) este cel mai utilizat protocol în scopul configurării dinamice
  • Pentru a beneficia de acest suport trebuie ca în rețeaua locală să existe un server de DHCP.
  • Serverului îi este fixată plaja de adrese IP pe care le poate atribui stațiilor și de asemenea configurările corespunzătoare de rețea.
  • Configurările dinamice permit atribuirea automată a parametrilor precum adresă IP, mască de rețea, server de DNS, gateway.

25

26 of 50

Serviciul DNS

  • Reținerea unor nume este mai facilă decât cea a unui număr de adrese IP => a apărut serviciul DNS (Domain Name System)
  • Corespondența între o adresă IP și un șir de caractere
  • Pentru serviciile de DNS sunt necesare servere specializate; pentru a le accesa e necesară cunoașterea adresei lor IP

26

27 of 50

Configurare DNS

  • Adresele serverelor DNS se pot configura în fișierul /etc/resolv.conf
  • Exemplu:

  • nameserver definește adresa pentru un server DNS
  • Configurările se aplică imediat

27

search localdomain

nameserver 10.1.1.1

nameserver 217.115.138.24

nameserver 128.107.241.185

28 of 50

28

29 of 50

Aliasuri

  • Etichete asociate unor adrese de IP și funcționează similar cu cel de DNS
  • 2 diferențe majore față de DNS:
    • Etichetele nu trebuie să respecte aceleași convenții ca cele ale numelor de domenii DNS
    • Dacă pentru DNS se folosesc servere dedicate, când discutăm despre aliasuri este vorba doar de interogarea fișierului /etc/hosts

29

ubuntu:/home/razvan# cat /etc/hosts

127.0.0.1 localhost ubuntu

127.0.1.1 ubuntu

#Servers

10.1.1.100 print.mydomain.ro my-print-server

10.1.1.101 ftp.mydomainro my-ftp-server

192.168.1.150 mail-server

# The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

30 of 50

Verificarea conectivității

PING

  • Utilizat pentru verificarea conexiunii între două stații într-o rețea ce folosește protocolul IP
  • Primește ca parametru adresa IP a destinației
  • Se trimite un ECHO REQUEST către destinație, iar dacă răspunsul destinație se întoarce la sursă, conexiunea dintre ele este validată și funcționează; în caz contrar, nu funcționează

30

Traceroute

  • Utilizat folosit pentru a valida calea urmată de pachete pe traseul între sursă și destinație
  • Acesta va afișa un mesaj pentru fiecare echipament de rețea prin care trec mesajele în drumul lor spre destinație.
  • Folosește câmpul TTL (Time To Live) definit în antetul fiecărui pachet de date transmis

31 of 50

Probleme uzuale

  • Două abordări pentru diagnoza problemelor:
    • De jos în sus (bottom-up)
    • De sus în jos (top-down)
  • Ce e sus și ce e jos?
    • Top / Up = Aplicații
    • Bottom / Down = Conexiunile fizice

31

32 of 50

Abordare bottom-up

  • Pagina web www.google.ro nu poate fi accesată:
    • Testarea legăturii fizice;
    • Testarea conexiunii spre un gateway, care oferă legătura stației către Internet;
    • Verificarea disponibilității și a configurării corecte a serverului DNS, pentru a se putea realiza adresarea către site-ul dorit;
    • Verificarea conectivității către alte servere, pentru a detecta dacă situația este specifică serverului respectiv sau generică.

32

33 of 50

Protocoale de comunicare

  • Scopul unei rețele este acela de a asigura comunicația și interoperabilitatea între două aplicații
  • Rețelele trebuie să împacheteze informația, să o transmită pe mediul fizic, să se asigure că a ajuns la destinație, să analizeze răspunsul și să realizeze toți pași astfel încât acest obiectiv să fie atins
  • Protocoalele sunt cele care trebuie să asigure suportul, iar la rândul lui protocolul trebuie respectat de toate echipamentele disponibile într-o rețea

33

34 of 50

Modelul client – server

  • Interacțiunea asimetrică
  • Două roluri diferite:
    • Serverul – oferă serviciul clientului
    • Clientul – solicită serverului facilitățile aferente
  • Clientul poate fi un proces sau o aplicație
  • Modelul implică existența unui număr mai mare al clienților decât al serverelor

34

35 of 50

Modelul peer-to-peer

  • Interacțiune simetrică
    • Partenerii în comunicație, numiți peers, solicită și oferă unul altuia servicii
    • Experiența unei colaborări simultane
  • Este un model client-server ascuns
    • Fiecare partener are, în cadrul implementării, atât rol de server cât și de client
  • Exemplu: BitTorrent, DirectConnect, eDonkey, Skype

35

36 of 50

Servicii Internet

  • O clasificare a serviciilor internet în funcție de nevoia rezolvată și de tipul de tehnologie folosită poate fi următoarea:
    • Servicii de comunicare:
      • Poșta electronică/e-mail (SMTP, POP3, IMAP)
      • Mesagerie instantanee
    • Servicii de transfer de fișiere:
      • Protocolul FTP
    • Serviciul web:
      • Protocoalele HTTP, HTTPS
    • Servicii de conexiune la distanță:
      • ssh, telnet

36

37 of 50

Serviciul de e-mail

  • Primul serviciu folosit în Internet
  • Transmiterea de mesaje text între utilizatorii diverselor sisteme de pe Internet
  • Nu este conversație instant, precum în cazul chat-ului
  • Mesajele sunt stocate în căsuțe poștale
  • Destinatarul și expeditorul sunt identificați prin adrese de e-mail

37

38 of 50

Client local de e-mail

  • Citire și transmitere de mesaje
    • Citire cu protocolul POP3 sau IMAP
    • Transmitere cu protocolul SMTP (către server)
  • Citire cu POP3
    • Mesajul este copiat/salvat pe stația locală
    • Utilizatorul poate să își citească mesajele salvate offline
  • Citire cu IMAP
    • Mesajele sunt „accesate”, nu copiate
    • Se copiază doar header-ele, nu mesaje întregi
  • Clienți de e-mail:
    • Microsoft Outlook, Kmail, Mozilla Thunderbird
    • Pine, Mutt, Gnus

38

39 of 50

Transferul fișierelor

  • Descărcăm fișiere publice de pe paginile web, folosind protocolul HTTP
  • Dacă dorim să descărcăm fișiere private sau să încărcăm fișiere pe un server, există protocoale precum FTP sau SSH File Transfer Protocol (ambele au model client-server)
  • Putem partaja fișiere și pe modelul peer-to-peer prin protocolul BitTorrent
    • Peers = participanții la sistem
    • Swarm = „roiul” colectiv de contribuitori

39

40 of 50

Serviciul World Wide Web

  • Spațiu de informație
  • Printre cele mai cunoscute servicii din Internet – oferă acces la resurse și alte servicii
  • NU trebuie confundat cu Internetul
    • Web-ul este un serviciu ce funcționează deasupra Internetului
  • Servicii bazate pe www:
    • Engine-uri de căutare (Google)
    • Rețele de socializare (Facebook)
    • Webmail (Gmail, Yahoo)

40

41 of 50

Concepte www

  • Trei tehnologii de bază
    • URL (Uniform Resource Locator)
    • HTTP (Hypertext Transfer Protocol)
    • HTML (Hypertext Markup Language)
  • URL: identificator al resursei
    • Protocol://hostname/path/to/resource
  • HTTP: protocolul folosit în web pentru accesarea paginilor web (HTTPS – HTTP secure)
  • HTML:
    • Limbaj de descriere, folosit pentru a putea reda informații, imagini și alte resurse pe o pagină web
    • Informațiile sunt afișate de un navigator (browser)

41

42 of 50

Servere și clienți web

  • Servere web
    • Apache Web Server
    • Microsoft IIS
    • Lighttpd, nginx
  • Clienți web (browsere, navigatoare)
    • Microsoft Internet Explorer 6, 7, 8
    • Mozilla Firefox 3.5, 3.6
    • Opera
    • Netscape Navigator
    • Lynx, w3m

42

43 of 50

WGET și CURL

  • Ambele sunt folosite pentru descărcarea resurselor cu suport pentru protocoale web precum HTTP și HTTPS și FTP iar în cazul curl, IMAP, SFTP și altele
  • Primesc un URL și pe baza lui descarcă resursa web identificată

43

razvan@einherjar:~$ wget http://elf.cs.pub.ro/uso/curs-09-handout.pdf

[...]

2014-11-15 16:15:17 (8.59 MB/s) - ‘curs-09-handout.pdf’ saved [2064143/2064143]

44 of 50

SSH

  • Secure shell
  • Protocol pentru comunicare sigură, criptată
  • Folosit pentru conexiune la distanță (ssh)
    • ssh username@hostname
  • O dată realizată conexiunea la distanță se pot rula comenzi ca într-un shell obișnuit
  • Folosită pe sisteme cu acces SSH, putem transfera fișiere, într-un mod sigur, cu comanda scp
    • scp local_file username@hostname:path

44

45 of 50

Atacuri cibernetice

45

https://phys.org/news/2018-03-spain-captures-alleged-mastermind-12b.html

46 of 50

Computer Networks

  • Andrew S. Tanenbaum
  • Ediția a 5-a, 2010
  • Privire de ansamblu a rețelelor de calculatoare (întreaga stivă)
  • Stil degajat de prezentare, ușor de înțeles
  • Folosită ca suport pentru multe cursuri de rețelistică

46

47 of 50

Jon Postel

  • Unul din principalii contribuitori la dezvoltarea Internetului
  • Editorul RFC (Request For Comments) – protocolul IP, circa 200 RFC-uri
  • Director al IANA (Internet Assigned Numbers Authority)
  • Administrator al domeniului .us din DNS

47

48 of 50

Cisco

  • Cisco Systems, Inc
  • Fondată în 1984
  • San Francisco (de unde și numele și sigla)
  • Echipamente de rețea
  • Produse pentru uz în Internet și pentru „home users”
  • Program de certificări (CCNA, CCNP, CCIE)
  • Cisco Networking Academy

48

49 of 50

OpenFlow

  • Idee apărută în 2008, încă în dezvoltare
  • Permite delegarea deciziilor de rutare/comutare/forwarding de la switch/ruter altundeva (în software)
  • OpenFlow Switch + OpenFlow Controller
  • Oferă flexibilitate
  • Combinat cu soluții de virtualizare
  • Adoptat în ultima perioadă, de majoritatea producătorilor de echipamente de rețea
  • http://www.openflow.org/

49

50 of 50

Cuvinte cheie

  • Rețea
  • Switch
  • Ruter
  • Gateway
  • Servicii de rețea
  • Protocol
  • Client-Server
  • Peer-to-peer
  • Internet
  • FTP, HTTP, wget, SSH
  • E-mail
  • www

50