# Réseaux — TCP-IP
---
## Quelques dates
* 1962 : **DARPA** soutient mise en réseau des universités
* 1962 - 1965 : travail sur un réseau décentralisé (résiliant), transmission par paquets.
* 1968 : ARPANET, premier réseau à grande échelle. D'autres suivent.
* 1974 : TCP-IP permet la comminication de réseaux concurrents -> Internet !
CYCLADES, en France, est à l'origine de bien des innovations !
---
## Matériel
---
### LAN — Local Area Network

---
### LAN toujours...

---
### WAN — Wide Area Network
On parle de WAN pour un réseau à une échelle régionnale, comme l'Île de France.
Ce n'est pas qu'un nom : à cette échelle, les technologies ne sont plus les mêmes.
---
### Câbles RJ45
Paires torsadées, câbles droits
*câbles croisés devenus désuets*

---
### Fibre optique

---
### Carte réseau
*Souvent intégré à la carte mère*

---
### Concentrateur — Hub
*Simple prise multiple. Aucune capacité à diriger le flux. Répète tout ce qu'il reçoit à tout le monde.*

---
### Commutateur — Switch
*Sait à quel PC il est connecté. Capable de diriger le flux localement en ne répétant que pour l'intéressé.*

---
### Baie de brassage
Armoire où l'on met les switchs. Toutes les prises réseau aboutissent là.

---
### Routeur
Comme un switch mais plus intelligent. Capable de communiquer avec les autres switchs pour calculer un chemin.
---
## TCP-IP
---
### Modèle de couches
Charger web pose des problèmes à plusieurs niveaux :
* **Couche application :** Au niveau de l'application, gérer l'affichage, l'intéraction souris...
* **Couche interface :** La porte d'entrée vers le réseau. On parle de **port**. Gestion de cette ressource.
* **Couche réseau :** Regrouper les données en paquets, étiqueter ces paquets...
* **Couche physique :** Utilise-t-on un câble électrique ou une fibre optique ?
---
### Adresse MAC — Media Access Control
En principe unique et figée.
6 octets.
Exemple : `1c6f65d54a0c`
**Exercice 1**
---
**Important :** Adresse MAC est comme un numéro de série. Ne permet pas de dire où est la machine visée.
> Comme si on voulait envoyer une carte postale en donnant comme adresse le numéro de série de la boîte au lettres !
---
### Adresse IP — Internet Protocol
---
*Nous parlons d'IPv4 = IP version 4. Aujourd'hui on utilise IPv6, mais IPv4 suffit à comprendre et suffit pour les réseaux locaux.*
*IPv6 permet notamment de faire face à un besoin accru d'adresses. Mais le principe est le même.*
---
#### L'adresse elle-même
Adresse de 4 octets.
**Exemple :** ` 1010 1100 0001 0000 0000 0000 0000 0001`
On préfère une écriture décimale : `172.16.0.1`
---
#### Sous-réseau et masque
M1 envoie un message à `192.168.0.13`. Comment sait-il que cette machine est juste à côté ?

---
### IP ET masque -> Sous réseau source
M1 a l'adresse IP : `192.168.0.11`. En binaire :
`11000000 10101000 00000000 00001011`
M1 a le masque `255.255.255.0`. En binaire :
`11111111 11111111 11111111 00000000`
M1 fait un ET entre les deux :
`11000000 10101000 00000000 00000000`
C'est son adresse de sous-réseau : `192.168.0.0`
---
### IP ET masque -> Sous réseau cible
M1 envoie à `192.168.0.13`. M1 utilise **SON PROPRE MASQUE** `255.255.255.0`
*M1 ne connaît pas le masque de la cible !*
`11000000 10101000 00000000 00001101`
`11111111 11111111 11111111 00000000`
Résultat :
`11000000 10101000 00000000 00000000`
c'est à dire `192.168.0.0` : cible et source sont dans le même sous réseau.
---
### Masque résumé
Le masque `255.255.255.0` fait que le sous réseau est composé des 3 premiers octets de l'IP (donc 24 bits)
Parfois on écrit pour résumer : `192.168.0.13/24` pour dire que c'est l'IP `192.168.0.13`, et masque `255.255.255.0`
---
**Exercice 2**
---
### Paquet IP
Les données sont découpées en paquets. Un paquet est un bloc de bits avec un format standard.
Exemple d'un paquet IP.

---
### Trame
Le paquet qui peut faire de 46 à 1500 octets est lui même empaqueté dans une « boîte » plus grande appelée une **trame**.
|MAC cible|MAC source|Type|Paquet|codes d'erreurs|
|---|---|---|---|---|
|6 octets|6 octets|2 octets|...|4 octets|
Si le paquet contenu dans la trame est un paquet IPv4, alors *Type de Protocole* contient `0800`
---
**Exercices 3 à 5**
---
### Articulation MAC — IP
[animation](http://nsi.goupill.fr/ressources/animation-reseau-simple.svg)
---
### Passerelle — Gateway
M1 envoie un message à `192.168.1.14` qui n'est pas sur son sous-réseau.

M1 envoie à sa **passerelle** qui se charge de transmettre.
---
[animation pour le cas avec passerelle](http://nsi.goupill.fr/ressources/animation-reseau-routeur.svg)
---
**Exercice 6**
---
### DNS — Directory Name Service
Pour accéder à un site, je peux donner son IP : `142.250.217.110`
Mais c'est plus pratique de donner un nom : `google.com`.
Pour faire le lien entre les deux, il faut un **annuaire**.
**Exercice 7**