IFT 1005 - Design et développement Web

1. Internet

Sébastien Roy, Université de Montréal

IFT 1005 - Design et développement Web

1. Internet

Sébastien Roy, Université de Montréal
16 janvier 2023
 

Remerciements

Merci à Guy Lapalme et Louis Salvail pour avoir partager le matériel qu'ils ont monté pour IFT1005.

 


Le matériel de ce cours peut être réutilisé, sujet à la licence CC BY-SA 4.0.

Réseau (de télécommunication)

Un réseau est constitué d’ordinateurs reliés les uns aux autres.

Le but: permettre aux "ordinateurs" de communiquer entre-eux!

Transmission par paquet

À l'origine...
  • L'information est découpée en paquets
  • Populaire dans les années 1970-1980

Transmission par paquet

L"information est découpée en paquets, dont le transit peut varier

Réseaux locaux

LAN, Local Area Networks

Réseaux locaux

Un réseau local contient un routeur auquel tous les appareils se connectent. Ce routeur dispose d'une connexion vers l'extérieur, donc les autres réseaux, et donc l'internet. Chaque appareil possède une adresse dans le réseau local.

Routage à travers l'internet

Pour chaque réseau destination, on indique par où envoyer les paquets. Simple!

(Détails ici)

Interconnexions

Domotique: zigbee, z-wave

Ethernet

On communique l'information par paquets

Le modèle OSI

La communication est modélisée en plusieurs couches...
Le standard OSI (Open Systems Interconnection, 1970)
voir: Modèle OSI

IP

Internet Protocol, protocole de base de l'internet.
Pas très fiable : Il peut être perdu en route, subir de la corruption, arriver en désordre, être dupliqué...

Adresses réseau

IPv4 utilise 4 octets (32 bits). Le début identifie le réseau, le reste l'appareil.
192.168.0.0/16

Adresses réseau intéressantes

Adresse Adresses max
127.0.0.0/8127.255.255.255Boucle locale
169.254.0.0/16169.254.255.255Liaisons locales autoconfigurées
10.0.0.0/810.255.255.255Réseaux privés
172.16.0.0/12172.31.255.255
192.168.0.0/16192.168.255.255
224.0.0.0/4239.255.255.255Multidiffusion (Multicast)
255.255.255.255/32 255.255.255.255Broadcast

Datagram IP

Que contient un paquet IP? (détails ici: IPv4)
Entête IPv4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Version
d'IP
Longueur
de l'en-tête
Type de service Longueur totale
Identification Indicateur Fragment offset
Durée de vie Protocole Somme de contrôle de l'entête
Adresse source
Adresse destination
Option(s) + remplissage

TCP/IP à qui est destiné un paquet?

En plus de l'adresse d'un appareil, il faut envoyer le paquet à la bonne application...

Chaque application utilise des port, de 0 à 65535 pour identifier.

Les ports sont souvent réservés... voir Liste des ports

UDP

User Datagram Protocol, couche 3 comme TCP (voir UDP) Permet d'utiliser directement IP... rapide! mais attention, pas fiable... utilisé en jeux vidéos multijoueurs, streaming, etc...
Entête UDP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Entête IPv4 (24 octets)
Port Source Port Destination
Longueur Somme de contrôle

TCP

Transmission Control Protocol, protocole incontournable de l'internet
Très fiable : L'information arrive exactement comme elle a été envoyée.

TCP

Entête TCP (détails)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Entête IPv4 (24 octets)
Port source (2 octets) Port destination (2 octets)
Numéro de séquence
Numéro d'acquittement
Taille entête Réservé  ECN/NS  CWR ECE URG ACK PSH RST SYN FIN Fenêtre
Somme de contrôle Pointeur de données urgentes
Options Remplissage

Comment observer de près un réseau?

Logiciel d'analyse réseau. Un incontournable.

Page web : wireshark.org

C'est ce que nous utiliserons pour l'exercice....

DNS

Domain Name Server

Transforme un nom de machine en adresse...
 host www.umontreal.ca
www.umontreal.ca has address 132.204.8.144
Qui registre les noms? qui est responsable d'un nom?
whois umontreal.ca

DNS

Domain Name Server

Ca marche à l'envers...
 host 132.204.8.144
144.8.204.132.in-addr.arpa domain name pointer varnish.ti.umontreal.ca

NAT

Network Address Translation ( wikipedia )

  • Réseau privé
  • Partage d'adresse IP

C´est le routeur change les adresse... et se rappelle du changement au retour.

Au dessus de TCP/IP

Tous les autres protocoles de l'internet sont au dessus de TCP
(couches 5,6,7 du modèle OSI).

DHCP

Dynamic Host Configuration Protocol

Permet de gérer les adresses d'un réseau.

clientDHCP DISCOVER (broadcast)demande une adresse
serveurDHCP OFFERoffre une adresse
clientDHCP REQUESTaccepte une adresse
serveurDHCP ACKconfirme l'adresse choisie

Telnet

terminal network

Établit une connexion TCP

Échange des lignes de texte...

Utilisé intéractivement avec d'autres protocoles ( SMTP, HTTP, POP, IMAP, ...) note : Aucun sécurité (voir ssh)

SSH

Connexion sécurisée entre deux ordinateurs

Sert de base à plein d'applications...

Utilise des certificats pour authentifier les participants.

C'est très important... mais on y reviendra

NTP

Network Time Protocol

Garde les machines à l'heure!

https://www.ntppool.org/fr/

un exemple: ntpdate -q ca.pool.ntp.org

HTTP

Hypertext Transfer Protocol

La base du world wide web...

Basé sur une connexion TCP, alors essayons telnet...

telnet www-ens.iro.umontreal.ca 80
GET /~roys/index.html HTTP/1.0
(une ligne vide)

et voilà!

HTTP GET POST HEAD ...

GETDemande un page
HEADSeulement les information sur la page
POSTPermet d'envoyer des fichier avec la demande
...
Les détails sont ici: HTTP Wikipedia

HTTPS?

Et si le site est sécurisé?

gnutls-cli www-ens.iro.umontreal.ca:443
GET /~roys/index.html HTTP/1.1
Host: www-ens.iro.umontreal.ca
 

Alternative: openssl s_client -connect

HTTP

Le protocole est complexe.

Pour voir ce qui se passe.... Web Developper Tools

Ca mérite un petit démo...

CONTROL - SHIFT - I

Sécurité

Les paquets d'information peuvent être sont lus par n'importe qui entre la source et la destination.

Moyen de protection: On va remplacer TCP/IP par TCP/IP + SSL/TLS.

Tor

Réseau anonyme, basé sur les onions...

Visitez ceci: Réseau Tor

Il y a beaucoup à dire sur l'anonymat
et la surveillance des réseaux....

Torrent

Transfert de fichier anonyme...

Visitez ici: BitTorrent

et Magnet

Il y a beaucoup à dire sur les protocoles distribués et la centralisation de l'internet.....