Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Formation académique de Lille SNT
THEME : INTERNETPartie 2 TCP
Formation académique de Lille SNT
Partie 1 : DNSPartie 2 : TCP
Partie 3 : Couche TRANSPORT
Partie 4 : Passerelle, NAT et PORT forwarding, ETHERNET...
Qu’est-ce qu’un réseau ?Un réseau informatique : ensemble d'équipements informatiques reliés entre eux.
La communication locale se fait en utilisant l’adresse MAC, identifiant de la couche LIAISON. Cette adresse permet de trouver les cartes physiques à joindre.
Sur cette couche, il y a nécessairement une communication entre deux machines d’un même réseau. La TRAME passe de machine locale en machine locale.
Qu’est-ce qu’un réseau ?Pour différencier la machine et le rôle qu’elle joue, on utilise deuxième adresse dite adresse logique.
L’adresse IP.
Il s’agit de l’identifiant de la couche RESEAU.
#Diapo 36
DNS : client HTTP et serveur HTTP
Cas réel : client HTTP et serveur HTTP
1
1 : Le client veut se connecter à qwant.com en utilisant le nom de domaine mais ne connaît pas l’IP du serveur !
Cas réel : client HTTP et serveur HTTP
2
2 : Il cherche s’il connaît la traduction adresse IP – Nom de domaine
Cas réel : client HTTP et serveur HTTP
3
3 : Si la réponse est NON, il va interroger son serveur DNS local(DOMAIN NAME SERVICE)
Cas réel : client HTTP et serveur HTTP
3
3 : Il connaît l’adresse IP de son serveur DNS et consulte donc sa table ARP pour connaître la MAC à joindre.
Cas réel : client HTTP et serveur HTTP
4
4 : Le DNS local fournit l’IP demandée (s’il ne connaît pas, il se connecte au DNS du provider par exemple)
Cas réel : client HTTP et serveur HTTP
5
5 : L’ordinateur détecte avec IP que l’adresse du serveur HTTP est hors réseau local.
Cas réel : client HTTP et serveur HTTP
6
6 : Il consulte l’adresse IP de sa passerelle. Il consulte sa table ARP pour en connaître la MAC.
172.
16.1
14.3
0 po
ur 1
92.1
68.1
.200
Cas réel : client HTTP et serveur HTTP
6
6 : Il envoie une demande au routeur. La MAC est celle du routeur mais l’IP de la demande est bien du serveur distant.
172.
16.1
14.3
0 po
ur 1
92.1
68.1
.200
Cas réel : client HTTP et serveur HTTP 7 7 : Le routeur
reçoit un message pour son adresse MAC mais pas son adresse IP : il route !
Cas réel : client HTTP et serveur HTTP 8 8 : Il consulte sa
table ARP pour faire le lien entre l’adresse IP voulue et une adresse MAC.
Cas réel : client HTTP et serveur HTTP 9 9 : Il envoit un
message au serveur avec sa propre MAC comme source mais
172.16.114.30 pour 192.168.1.200
Cas réel : client HTTP et serveur HTTP 9 9 : ne modifie pas
les IP source et destination (*)
172.16.114.30 pour 192.168.1.200
Cas réel : client HTTP et serveur HTTP
10
10 : Le serveur reçoit la demande et pourra répondre à l’aide de l’IP source du message.
Deux questions se posent encore
Et pour les gros envois ?Le routeur ne peut gérer qu’une demande à la fois, séquentiellement.
Si quelqu’un se tape l’intégrale de Games of Thrones, vous allez attendre un bout de temps avant que le routeur ne gère votre petite demande de consultation de boîte emails !
Heureusement, la réponse est ...
Et comment savoir si le paquet est arrivé
Les routeurs ne font que transmettre.
Si l’envoi est fait mais que la demande n’est pas traitée, il ne le saura jamais.
D’ailleurs, la réponse ou l’acquittement ne repassent pas nécessairement par lui !
Heureusement, quelque chose veille au grain. La réponse est ...
Le protocole TCPC’est là qu’intervient le protocole TCP.
Lorsqu’une application veut envoyer un gros message :
● Le protocole TCP fait une demande d’activation de communication et attend la réponse.
● Le protocole TCP découpe le gros message en plusieurs message ET numérote les messages.
● Il encapsule les messages dans différents paquets IP qu’il envoie un à la fois. Il attend la réponse du client avant d’envoyer le suivant.
Le protocole TCPEnsuite, c’est parti :
● Le serveur HTTPS veut répondre en fournissant un gros fichier HTML par exemple.
● Le serveur va amorcer la communication et attendre la réponse du client.
On
par
le ?
Ok
!
Le protocole TCPLe serveur HTTPS envoie sa réponse mais elle est très lourde.
● Le protocole TCP découpe la réponse en plusieurs parties (3 ici) et envoie 3 paquets IP plutôt qu’un seul.
Le protocole TCPSOURCE HTML
HTML1 HTML2 HTML3
Le paquet IP 1 contient en gros:
● IP SERVEUR
● IP CLIENT
● Message n°1
● Contenu HTML1
Vo
ilà le
pre
mie
r p
aqu
et IP
Le protocole TCP
Le serveur reçoit l’acquittement du premier PAQUET.
Il sait ainsi que le client a reçu un bout de réponse et laquelle.
Vo
ilà le
pre
mie
r p
aqu
et IP
Ok
!
Le protocole TCPSOURCE HTML
HTML1 HTML2 HTML3
Le paquet IP 2 contient en gros:
● IP SERVEUR
● IP CLIENT
● Message n°2
● Contenu HTML2
Vo
ilà le
deu
xièm
e p
aqu
et IP
Le protocole TCP
Envoi du PAQUET 3.
Vo
ilà le
tro
isiè
me
paq
uet
IPO
k !
Le protocole TCPDu côté client, l’ordinateur a reçu 3 paquets IP avec un codage lui permettant de les réorganiser de façon à obtenir à nouveau le message de base :
Encapsulation (hors programme SNT pour les élèves)
COUCHE LIAISON (TRAME)MAC RECEPTEUR : MAC ClientMAC EMETTEUR : MAC Routeur
COUCHE RESEAU (PAQUET)IP SOURCE : 30.30.30.10IP DESTINATION : 60.60.60.10TTL : 14
COUCHE TRANSPORT (segment)Information permettant de connaître le numéro du segment
HTML1
HTML1
Encapsulation (hors programme SNT pour les élèves)
COUCHE LIAISON (TRAME)MAC RECEPTEUR : MAC ClientMAC EMETTEUR : MAC Routeur
COUCHE RESEAU (PAQUET)IP SOURCE : 30.30.30.10IP DESTINATION : 60.60.60.10TTL : 14
COUCHE TRANSPORT (segment)Information permettant de connaître le numéro du segment
HTML2
HTML1 HTML2
Encapsulation (hors programme SNT pour les élèves)
COUCHE LIAISON (TRAME)MAC RECEPTEUR : MAC ClientMAC EMETTEUR : MAC Routeur
COUCHE RESEAU (PAQUET)IP SOURCE : 30.30.30.10IP DESTINATION : 60.60.60.10TTL : 14
COUCHE TRANSPORT (segment)Information permettant de connaître le numéro du segment
HTML3
HTML1 HTML2 HTML3 CODE SOURCE HTML
Encapsulation (hors programme SNT pour les élèves)
Le protocole TCP récupère alors les 3 segments et va reconstituer les données.
Il parvient alors à fournir les données correctes à la couche APPLICATION.
BilanPROTOCOLE IP : se charge de localiser les machines distantes, de déterminer si deux machines sont sur le même réseau et de faire disparaître au besoin les paquets IP perdus.
PROTOCOLE TCP : il se charge de créer des segments de taille acceptable, de vérifier que les paquets soient bien reçus, des envois multiples éventuels à refaire et réassemble ensuite les données segmentées.
BilanPROTOCOLE TCP :
● Il fait d’autres choses d’ailleurs :– Il vérifie si le segment reçu est bien le même
que le segment émis à l’aide d’un CHECK SUM. Dans le cas contraire, un nouveau paquet sera émis.
– Il est capable d’émettre plusieurs paquets à la fois et à vérifier un à un les paquets reçus ou non (variation des fenêtres glissantes).
Hors programme SNT : la couche TRANSPORT
● Comment signale-t-il qu’il est le serveur HTTPS et qu’il veut contacter le navigateur ?
C’est simple : en l’identifiant !
● Lors de la demande initiale l’ordinateur du client à fournir un numéro aléatoire supérieur à 1024 et identifiant Firefox sur ce PC. Disons PORT 5405.
Il a également placé le numéro de PORT du programme qu’il veut joindre : le serveur HTTPS de PORT 443.
La requête de baseOn passe à la couche TRANSPORT qui permet d’identifier les programmes.
L’identifiant de cette couche est le PORT.
Par convention, les serveurs HTTPS sont identifiés par 443.
GET https://www.cnil.fr/
COUCHE APPLICATIVE
Une requêteOn passe à la couche TRANSPORT qui permet d’identifier les programmes. Il s’agit de la couche du protocole TCP.
L’identifiant de programmes se nomme PORT.
Par convention, les serveurs HTTPS sont identifiés par 443.
GET https://www.cnil.fr/...
DATA (Application)
SEGMENT (Couche TRANSPORT)
SRC 5405DST 443Synchro...
Une requêteLa couche RESEAU contient les IP source et destination.
● L’identifiant de cette couche est l’IP
GET https://www.cnil.fr/...
DATA (Application)
SEGMENT (Couche TRANSPORT)
SRC 5405DST 443Synchro...
SEGMENT (Couche TRANSPORT)
SRC 5405DST 443Synchro
PAQUET (Couche Réseau)
SRC 172.16.114.30DST 192.168.1.200 TTL 16...
Une requêteLa couche LIAISON est sa trame contenant les MAC.
GET https://www.cnil.fr/...
DATA (Application)
SEGMENT (Couche TRANSPORT)
SRC 5405DST 443Synchro...
SEGMENT (Couche TRANSPORT)
SRC 5405DST 443Synchro
PAQUET (Couche Réseau)
SRC 172.16.114.30DST 192.168.1.200 TTL 16...
TRAME (Couche LIAISON)
DST RouteurSRC PC...
La réponseDATA ispersées dans 3 segments, donc 3 PAQUETS IP :
PARTIE 1 du code
« DATA (Application)
SEGMENT (Couche TRANSPORT)
SRC 443DST 5405Frag n°1...
PAQUET (Couche Réseau)
SRC 192.168.1.200DST 172.16.114.30 TTL 16...
TRAME (Couche LIAISON)
DST ServeurSRC Routeur...
Passerelle (complément)
Comme il n’y a pas assez d’adresses IPv4, on est en train de passer poussivement à IPv6.
Pourquoi garder IPv4 ?
Car on peut créer de multiples réseaux locaux qu’on ne peut atteindre depuis l’exterieur.
Passerelle (complément)
Il existe en effet dans IP des plages d’adresses réservés aux réseaux locaux.
Il s’agit de plages d’adresses qui ne peuvent pas être attribuées à une carte réseau côté « Internet ».
Passerelle (complément)Voici les adresses qui ne peuvent pas être routées sur Internet :
10. x . x . x / 8
172.16. x . x à 172.31.x . x / 12
192.168. 0 . x à 192.168.254. x / 16
Elles servent uniquement à l'intérieur d'un réseau local, jamais pour des adressages entre réseaux.
Passerelle (complément)
C’est le cas chez vous, derrière votre Box :
Passerelle (complément 1)
Si 192.168.0.12 veut accéder à un serveur HTTP par exemple, il va adresser ceci :
La couche TRANSPORT contiendra le port 80 de destination et un PORT aléatoire, disons 5600 pour Firefox.
La couche RESEAU contiendra l’adresse IP du serveur distant (mettons 194.199.79.5) et l’adresse source 192.168.0.12
Passerelle (complément)
Si 192.168.0.12 veut accéder à un serveur HTTP par exemple, il va adresser
La Box va alors faire du NAT : Network Adress Translation.
Elle va mémoriser la demande et va recréer une couche TRANSPORT et RESEAU en fournissant un nouveau port (mettant 7400) et sa propre adresse IP 185.86.168.101.
Passerelle (complément)
Si 192.168.0.12 veut accéder à un serveur HTTP par exemple, il va adresser
Lorsqu’une réponse arrivera vers 185.86.168.101 : 7400, la Box va faire la traduction : il faut transmettre en réalité à 192.168.0.12 : 5600 !
Et le tour est joué.
Passerelle (complément)
Et si vous voulez expliquer à vos élèves pourquoi ils ne parviennent pas à se créer un serveur joignable depuis Internet chez eux ?
Il faut se renseigner sur le PORT FORWARDING !
Communication sur un réseau (Complément 2)
Juste si vous vous posez des questions sur ces histoires d’adresses MAC.
→ Switch et table CAM
→ Protocole ARP
→ Interaction et complémentarité de MAC et IP en local.
→ Protocole Ethernet
Si le PC du haut veut communiquer avec le PC du bas, il doit donc joindre la carte réseau identifiée par l’adresse MAC suivante : CC:CC:CC:CC:CC:CC
Si le PC du haut, veut communiquer avec le PC du bas, il doit donc joindre la carte réseau identifiée par l’adresse MAC suivante : CC:CC:CC:CC:CC:CC
Et dire qu’il utilise la carte réseau AA:AA:AA:AA:AA:AA s’il veut avoir une réponse !
Communication sur un réseauOk.
Le PC A va émettre une TRAME qu’il va envoyer vers le switch.
Communication sur un réseauLe switch reçoit la trame.
Et ?
Communication sur un réseauComme la trame contient de façon codifiée l’adresse MAC de destination, il peut la récupérer.
Et ?
Communication sur un réseauIl possède une table nommée table CAM qui fait la correspondance entre ses broches et les adresses MAC qu’on peut y joindre.
Communication sur un réseau
Numéro
Fiche / Broche / PortAdresse MAC
atteignable
1 AA:AA:AA:AA:AA:AA
2 BB:BB:BB:BB:BB:BB
3 CC:CC:CC:CC:CC:CC
Communication sur un réseau
Numéro
Fiche / Broche / PortAdresse MAC
atteignable
1 AA:AA:AA:AA:AA:AA
2 BB:BB:BB:BB:BB:BB
3 CC:CC:CC:CC:CC:CC
Communication sur un réseauSi le switch ne connaît pas l’IP, il va envoyer le message sur toutes ses broches ! Il recevra ainsi UNE réponse : celle de l’ordinateur ayant la bonne IP et la bonne MAC.
Le problème ?
On ne peut pas faire ça avec un énorme réseau !
Il faudrait que chaque switch connaissent les adresses de tous les appareils ou qu’il interroge tous les autres switches s’il ne connaît pas l’adresse MAC d’une machine.
Communication sur un réseau
Communication sur un réseau
Communication sur un réseau
Communication sur un réseau
Communication sur un réseau
Communication sur un réseau
Communication sur un réseau
Communication sur un réseauEt si je change mon PC ou que ma carte réseau est hs, on fait quoi ?
Communication sur un réseauLa solution ? Créer des réseaux et identifier avec IP.
(Complément 3) Protocole Ethernet
L’un des protocoles les plus courants en couche LIAISON actuellement est le protocole ETHERNET.
Le message qui va être envoyé se nomme une TRAME.
Complément Protocole EthernetOn envoie un préambule bien précis de 8 octets codant le début d’une communication.
☐☐☐☐☐☐☐☐
La machine qui va recevoir la communication va ainsi savoir qu’on veut lui parler.
Complément Protocole EthernetOn place les 6 octets caractérisant l’adresse MAC à joindre, l’adresse MAC du récepteur.
☐☐☐☐☐☐☐☐☐☐☐☐☐☐
La machine qui va recevoir la communication va ainsi savoir si on veut réellement s’adresse à elle.
Si ce n’est pas son adresse, elle mettra le message à la poubelle.
Complément Protocole EthernetOn place les 6 octets caractérisant l’adresse MAC à joindre, l’adresse MAC du récepteur.
☐☐☐☐☐☐☐☐☐☐☐☐☐☐
Sauf si l’adresse MAC est FF:FF:FF:FF:FF:FF qui est l’adresse de broadcast : cela veut dire que le message est destiné à toutes les machines du réseau.
Complément Protocole EthernetOn place les 6 octets caractérisant l’adresse MAC de la machine qui envoie la trame, l’adresse MAC de l’émetteur.
☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐
Complément Protocole EthernetOn place ensuite 2 octets encodant la taille de la trame : cela permettra de savoir où se situe la fin de la trame.
☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐
Complément Protocole EthernetViennent ensuite les données à transmettre (elles doivent être comprises entre 46 et 1500 octets).
☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐...☐☐☐
Complément Protocole EthernetEnfin, on place le frame check sequence (FCS) : 4 octets composant un code détecteur d’erreur.
☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐...☐☐☐☐☐☐☐
Ouf. C’est fini. Nous avons notre trame prête à l’envoi.
Complément Protocole Ethernet
Comment se fait ensuite la communication ?
Notre machine A envoie la trame vers le switch :☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐...☐☐☐☐☐☐☐
Complément Protocole Ethernet
Comment se fait ensuite la communication ?
Le switch va lire l’adresse MAC de destination :☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐...☐☐☐☐☐☐☐
Communication sur un réseau
Comment se fait ensuite la communication ?
Par exemple :Numéro
Fiche / Broche / PortAdresse MAC
atteignable
1 AA:AA:AA:AA:AA:AA
2 BB:BB:BB:BB:BB:BB
3 CC:CC:CC:CC:CC:CC
Communication sur un réseau
Comment se fait ensuite la communication ?
Le switch va renvoyer la trame via la fiche 3 :☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐...☐☐☐☐☐☐☐
Communication sur un réseau
Comment se fait ensuite la communication ?
Le PC 3 va recevoir ceci :☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐...☐☐☐☐☐☐☐
Comme la MAC de destination est
la sienne, il va traiter le message.