Cours TCP/IP1

publicité
TCP/IP
V.Barreaud
(d’après une œuvre
originale de
T. Jeandel)
[email protected]
www.loria.fr/~barreaud
Sommaire







Présentation générale
Modèle OSI
La couche réseau
La couche transport
Résolution de noms
DHCP
Utilitaires TCP/IP
Sommaire







Présentation générale
Modèle OSI
La couche réseau
La couche transport
Résolution de noms
DHCP
Utilitaires TCP/IP



Concept
Historique
Organisation
Internet = inter-networks
Concept d’interconnexion
Réseau: une économie d’échelle
Minimisation de la structure:
utilisation d’adresses
Une connexion continue entre
Compiègne et Bordeaux empêche
Une connexion entre Lille et Lyon
Utilisation de paquets
Présentation générale







TCP/IP = suite de protocoles "réseau"
Protocoles publics
Adressage logique
Protocole "routable"
Service de "nommage"
Contrôle des erreurs et flots de données
Support applicatif (ports)
Historique





1974 Vinton CERF et Robert KAHN - ARPA
(Advanced Research Project Agency)
Interconnexion d'ordinateurs. Transfert de
fichiers, limité au monde de la recherche
NSFNet
Unix Berkeley
1989 Création du World Wide Web.
1993 Premier navigateur MOSAIC
Organisation
TCP/IP = protocole ouvert, public
ISOC (Internet Society)
 IAB (Internet Architecture Board)


Gestion et fonctionnement d'internet
IETF (Internet Engineering Task Force)
Spécifications techniques d'internet
IRTF (Internet Research Task Force)
Recherches autour de TCP/IP
RFC : Request For Comments
Sommaire







Présentation générale
Modèle OSI
La couche Réseau
La couche Transport
Résolution de noms
DHCP
Utilitaires TCP/IP
Le Modèle OSI
Application
Application
Présentation
Présentation
Session
Session
Transport
Transport
Réseau
Réseau
Liaison
Liaison
Physique
Physique
TCP/IP et le modèle OSI
•Dépannage réseau
•Transfert de fichiers
•Internet
Couches applicatives
(Application, Présentation,Session)
Transport
Internet
(Réseau)
•Contrôle des flots
de données
•Accusés de réception
•Adressage logique
•Correspondance
avec l'adressage physique
•Interface physique
Accès
réseau
avec
le réseau
•Contrôle
(Liaison
de d'erreurs
données, Physique)
Encapsulation
Données utilisateur
Application
Entête
applicatif
Données utilisateur
TCP
Entête
TCP
Données applicatives
Segment TCP
Entête
IP
Entête
TCP
Données applicatives
datagramme IP
Entête
Ethernet
Entête
IP
Entête
TCP
IP
Données applicatives
Trame Ethernet
Driver Ethernet
Remorque
Ethernet
Couche Physique:
"Accès au réseau"


Accès au réseau physique
Envoyer et recevoir des datagrames IP
•Interface avec la carte réseau
•Coordination de la transmission des données
•Formatage des données
•Conversion des signaux analogiques/numériques
•Contrôle d'erreurs des trames
(ajout d'infos, contrôle à l'arrivée, accusés de réception,..)
Ethernet, Token Ring, FDDI, SLIP, PPP,…
Trame ETHERNET
Préam
bule
7
octets
Délimite
ur
de
début
de
trame (1
octet)
Adresse MAC
Destination
(généralement 6
octets)
Adresse MAC
Source
(généralemen
t 6 octets)
Longueur du
champ de
données
(2 octets)
Champ de données
(Trame LLC 802.2)
Bourrage
(Complément
pour obtenir
64 octets)
Code de
contrôle de la
trame (4 octets)
Couche Liaison:
Transmission sans erreur de codage




Transmission sans erreur des datagrammes
entre 2 systèmes adjacents.
Masque aux couches supérieurs les
imperfections du moyen de transmission.
Moyen: codage redondant (parité, …)
Le protocole de correction n’est pas forcément
le même entre deux nœuds adjacents.
Couche réseau:
crée la « base » du réseau.





C’est la « couche IP ».
Permet à 2 systèmes non-adjacents de
communiquer en se servant de relais.
Notion d’@ est importante.
Notion de table de correspondance entre @ et
fils pour aiguiller les messages.
Routage: voir plus loin.
Couche transport:
Délivrer un message complet entre deux
machines non-adajacentes.




C’est la « couche UDP/TCP »
Permet d’offrir un service constant, quelque
soit les qualités du réseau utilisé.
Permet de gérer la perte d’un paquet
Réorganise les paquets à l’arrivée.
Couches supérieures:
Session, présentation et application



La couche session permet d’établir une relation
durable entre deux applications souhaitant
coopérer (visio conférence…) (pas obligatoire)
La couche présentation permet de résoudre les
problèmes de codage des données
hétérogènes (big/little endians).
La couche application fournit les services de
communication qux utilisateurs (mail, transfert
de fichier, …)
Sommaire







Présentation générale
Modèle OSI
La couche Réseau
La couche transport
Résolution de noms
DHCP
Utilitaires TCP/IP





Le protocole IP
L’adressage IP
Le routage
Les sous masques
ARP, RARP, ICMP
IP Internet Protocol




But: Acheminement des datagrames d'une machine à
une autre par des intermédiaires .
Adressage logique, indépendant du matériel
(distribution supervisée des adresses)
Routage (comment ces adresses sont elles traitées?)
Correspondance entre adresse physique et adresse
logique (DNS et DHCP: voir plus loin)
IP Internet Protocol (2)

Le protocole IP définie
–
–
–

La taille de l’unité de donnée, sa structure.
La fonction de routage, comment les machines et
les passerelles doivent traiter les paquets.
Les messages d’erreur et leurs traitement.
L’entête IP contient
–
–
Version, longueur, priorité, durée de vie, @ source
et @ destination.
Options de routage, de traçage, …
Adressage IP
Système de communication universel : établir une
méthode générale d’identification des machines.
 Adresse = 32 bits = 4 octets = 4 entiers < 256
Exemple : 192.14.28.32
 Adresse en 2 parties :

–
–

Net ID : Identifiant du réseau
Host ID : Identifiant de la "machine"
5 classes de réseaux
Adressage IP : Classes d'adresses
0
Classe A
0
Classe B
10
8
Net-id
Classe C 1 1 0
Classe D 1 1 1 0
Classe E
16
11110
24
31
Host-id
Net-id
Host-id
Net-id
Multicast
Réservé
Host-id
Adressage IP :
Classe A [1.x.x.x ; 126.x.x.x]
27 - 2 = 126 réseaux
224 - 2 = 16,7 millions d'hôtes / réseau
 Classe B [128.x.x.x ; 191.x.x.x]
214 = 16 384 réseaux
216 - 2 = 65534 hôtes / réseau
 Classe C [192.x.x. ; 223.x.x.x]
221 = 2 millions de réseaux
28 - 2 = 254 hôtes / réseau

Adressage IP : Exemples






201.14.26.55
130.255.14.18
198.14.231.0
101.14.12.56
193.34.45.250
193.256.14.28






C
B
C
A
C
Impossible !
Adressage IP : Adresses "spéciales"






Host-Id = 00000…000 -> Réseau
Host-Id = 11111…111 -> Broadcast
127.x.x.x ->loopback
10.0.0.0 à 10.255.255.255 -> privé
172.16.0.0 à 172.31.255.255 -> privé
192.168.0.0 à 192.168.255.255 -> privé
Routage IP




Dépend de la hiérarchie des réseaux et sous
réseaux
Permet un filtrage du trafic, un ré-équilibrage
Masque les détails du réseau physique
Routage statique ou routage dynamique
–
–

L’algo de routage est géré par une table d’@IP
Les décisions ne tiennent compte que de l’@rezo.
Manipulation des champs de la couche rezo de
chaque datagramme
Routage IP (routage statique)
•Pour quel réseau ?
•Table de routage
•Même réseau ?
•Adresse de la passerelle (routeur)
Routage IP (routage dynamique)


Dialogue entre routeurs
Construction des tables de routage
–
–
Vecteur de distance : RIP
Etats de liens : OSPF
Routage IP (routage dynamique)
Vecteur de distance (Routing
Information Protocol)



Minimise les communications entre routeurs
Dans quelle direction envoyer l'information
Compteur de saut: distance (pas bande passante)
2
3
1
Routage IP (routage dynamique)
Etats de liens
(Open Shortest Path First)




Chaque routeur se construit une vision du
réseau (par l’intermédiaire des retours erreurs
qu’il reçoit….)
Identificateur de routeur
Arbre des routeurs
Vitesse et fiabilité (charge)
Sous réseaux
Subneting
Pourquoi fragmenter un réseau ?
 Optimisation des tables de routage
–
–
–


Connaître @ rezo pour envoyer dans une direction générale
Ce n’est qu’une fois arrivé près de la machine que l’on résout
son adresse.
Métaphore du colis de la Poste. (Code postal: département,
centre de tri, puis : rue, numéro, nom)
Limiter les congestions.
Séparer les machines sensibles.
Sous réseaux : Principe
•C’est un séparateur entre la partie réseau et la partie machine d’une @ IP.
•Une fonction ET Logique pour déterminer l’@ réseau.
•Il est recommandé d’avoir des bits à 1 contiguës dans ses masques.
Host-id
Net-id
Net-id
Sous réseau
Host-id
111111111111111 00000000000 0
Masque de sous réseau
Sous réseau : Principe (2)




Mon adresse IP: 192.168.25.132
Traduit en binaire:
11000000.10101000.00011001.10000100
Le masque de mon réseau: 255.255.255.128
Traduit en binaire:
11111111.11111111.11111111.10000000
@ réseau:
11000000.10101000.00011001.10000000
Soit: 192.168.25.128
Conclusion: on peut supposer que les machines de
mon réseau local ont pour adresse: 128 à 254…
Sous réseaux : Les choix
Net-id
Net-id
Sous réseau
Host-id
Le choix se fait en fonction des besoins et des limites:
•Une plage est allouée par le fournisseur d’accès.
•Un nombre de machines qui peut croître.
Sous réseaux : Masques par défaut



Classe C : 255.255.255.0
Classe B : 255.255.0.0
Classe A : 255.0.0.0
Sous réseaux : Masques Classe C






255.255.255.0
255.255.255.192
255.255.255.224
255.255.255.240
255.255.255.248
255.255.255.252
capa de : 253 machines
capa de : 64 machines
capa de : 32 machines
capa de : 16 machines
….
Sous Réseau = 0….0 et Sous réseau = 1….1
INTERDIT
Résumé:
Un exemple de plan d’adressage IP
Ethernet 128.10.0.0
128.10.2.3
Machine 4
128.10.2.8
Machine 2
192.5.48.3
Machine 1
192.5.48.1
128.10.2.70
Passerelle 2
128.10.2.26
Machine 3
192.5.48.2
Token-Ring
192.5.48.0
Passerelle 1
192.5.48.6
10.2.0.37
ARPANET
10.0.0.0
Exercices:


Soit le réseau d’@ 192.168.25.32
de masque 255.255.255.248
La machine 192.168.25.47 appartient-elle à ce
réseau?
Soit le réseau d’@ 193.225.34.0
de masque 255.255.255.0
Nous voulons installer 60 machines…
Quel masque utiliser?
ARP : Résolution d'adresse
Adress Resolution Protocol



Faire correspondre les adresses IP aux
adresses physiques
Table ARP (durée de vie limitée)
Trame de requête ARP (broadcast)
RARP : Inverse de ARP
Reverse Adress Resolution Protocol




Adresse physique -> adresse IP
Utilisé avec les stations diskless
BOOTP (Boot PROM) : Chargement de l'OS à
partir d'un serveur
Requete RARP : Quelle est mon adresse IP ?
ICMP : Contrôle de message
Internet Control Message Protocol

Rendre compte des problèmes "routeurs"
–
–
–
Datagramme ne peut pas atteindre sa destination
Manque de réserve de mémoire
Utilisation d'une route alternative pour optimiser le
trafic.
Sommaire







Présentation générale
Modèle OSI
La couche Réseau
La couche transport
Résolution de noms
DHCP
Utilitaires TCP/IP


TCP
UDP
Couche Transport



Interface entre lP et les applications
Contrôle d'erreurs : TCP / UDP
Multiplexage : données issues de plusieurs applications
TCP :
Protocole orienté connexion

Etablissement et maintien d'une connexion
entre 2 machines
Hé, tu m'écoutes ?
J'ai le cours réseau
Je vais te l'envoyer
Oui, je t'écoute
OK
OK
TCP
Transport Control Protocol
Tu l'as reçu ?
Oui, c'est bon !
Salut
Salut
TCP :
Acquitements
Source
Emission de Mi
Temporisation
armée
Réseau
Destination
Mi n‘est pas reçu
Ai non envoyé
Ai n’est pas reçu
Tempo. echue
Réemission de Mi
Réception de Mi
Emission de Ai
Réception de Aj
TCP :
Fenêtrage
Source
Réseau
Emission de Mi
Emission de Mi+1
Destination
Réception de Mi
Emission de Ai
Emission de Mi+2
Reception de Ai
Fenêtrage de taille 3
TCP :
Fenêtrage
• Optimisation
de la bande passante
•Gestion du contrôle de flux
(même par le destinataire)
•Fenêtrage au niveau de l'octet
1 2 3 4 5 6 7 8 9 10 11 . . .
Octets émis et
acquittés
Octets émis et
non acquittés
Octets
émissibles
Octets non émissibles
tout de suite.
UDP :
Protocole non orienté connexion

Expédition des données
Je t'envoie le cours réseau
UDP
• Moins fiable que TCP
User Datagram Protocol
Contrôles d'erreurs, ordonnancement
• + rapide
Sommaire







Présentation générale
Modèle OSI
La couche Réseau
La couche transport
Résolution de noms
DHCP
Utilitaires TCP/IP



Domaines
Noms
DNS
La résolution de noms
www.machin.com ?
Résolution de noms
210.132.14.153
La résolution de noms
http://rechn2.univ-nancy2.fr
Domaine français
Sous domaine univ-nancy2
Machine rechn2 du sous domaine univ-nancy2
La résolution de noms
Organisation


Base de données distribuée au niveau mondial
INTERNic (AfNic)
Pour enregistrer
son nom de domaine
Domaine complet
fr
Domaine fr
Un domaine est un sousarbre de l’espace nom
de domaine
centralweb
inria
m1
Des noeuds peuvent avoir les
mêmes noms dans des domaines
différents :
ns.centralweb.fr et ns.renault.fr
Domaine centralweb
noeud m1.centralweb.fr
La résolution de noms
Les Top Level Domain
–
7 domaines racines prédéfinis :







–
com : organisations commerciales ; ibm.com
edu : organisations concernant l’education ; mit.edu
gov : organisations gouvernementales ; nsf.gov
mil : organisations militaires ; army.mil
net : organisations réseau Internet ; worldnet.net
org : organisations non commerciales ; eff.org
int : organisations internationales ; nato.int
organisations nationales : fr, uk, de, it, us, au, ca,
se, etc.
La résolution de noms
Les solutions

Fichier HOSTS (internes à la machine)
127.0.0.1
localhost
93.50.231.44
spmi1
#Serveur réseau péda
193.50.231.10
saphir
192.70.102.240
pasteur
Adapté à la résolution locale, maintenance nécessaire
• Serveur DNS
La résolution de noms
Serveurs de noms (name servers)
Un serveur de noms enregistre les données propres à
une partie de l’espace nom de domaine dans une zone
•Serveurs de noms primaires
•Serveurs de noms secondaires
ca
bc
ab
fr
on
q
b
domaine
zone
La résolution de noms
Le principe
www.machin.com?
DNS
Serveur DNS
DNS
Serveur DNS
DNS
Serveur DNS
Serveur Racine
La résolution de noms NetBios

Développé par IBM (protocole pour réseaux locaux)
Répandu sur les réseaux Windows (NetBeui)
Nom NetBios = Machine (Explorateur,Voisinage réseau)

LMHosts (fichier du même type que le fichier Hosts, mais


permet de spécifier des ressources ne faisant pas partie du même
sous-réseau)

Serveur WINS (Windows Internet Naming Service
convertie les noms NetBios en @IP et inversement)
Sommaire







Présentation
générale
Modèle OSI
La couche Réseau
La couche transport
Résolution de noms
DHCP
Utilitaires TCP/IP
DHCP Dynamic Host Configuration Protocol
Attribution dynamique d'adresses IP

Inconvénient des adresses IP statiques :
–
–
–

"Gaspillage" d'adresses
Rigidité
Configuration personnalisée
La solution : DHCP
DHCP
Serveur DHCP
broadcast
Adresse
172.24.56.13
OKIPpour
@
= 172.24.56.13
IP,
172.24.56.13
svp
, ça! va ?
Client DHCP
+ masque
+ passerelle
+ DNS
+ Bail
DHCP
La notion de "bail"


But : ne pas monopoliser une adresse
Principe
Attribution d'une adresse par S1
T1
Demande de renouvellement vers S1
Durée totale d'allocation
Demande de renouvellement vers S1
T2
Demande de renouvellement vers un serveur DHCP
Demande de renouvellement vers un serveur DHCP
Un petit complément sur DHCP
Sommaire







Présentation générale
Modèle OSI
La couche Réseau
La couche transport
Résolution de noms
DHCP
Utilitaires TCP/IP



Telnet
FTP
….
Couche Application
Connexion
Transfert de fichiers
IPConfig
FTP
Ping
Tftp
Arp
Rcp
Traceroute
Route
NetStat
NBTStat
Hostname
Accès réseau éloigné
Telnet
Rexec
Rsh
Finger
Utilitaires internet
Navigateurs
Clients
News
Client Mail
Utilitaires de connectivité
Les problèmes




Dysfonctionnement ou mauvaise configuration
d'un protocole
Problème de média
Résolution de nom incorrecte
Trafic excessif
IPConfig
Ping
Packet Internet Groper



ping adresse_IP | nom de machine
Utilise une requête ICMP
Utilise les couches "Accès réseau" et
"Internet"
TTL : Time To Live.Un paquet est toujours émis avec une durée de vie. Cette durée de vie est
décrémentée à chaque nœud qui traite le paquet (d'une durée minimum d'une seconde, ou du
temps qu'a mis la paquet à traverser le nœud).
Ping
Scénario de débogage






Ping sur l'adresse de bouclage (127.0.0.1)
Fonctionnement correct de TCP/IP
Ping sur l'adresse de l'hôte
Fonctionnement correct de l'interface réseau
Ping sur une adresse du réseau (ou du sous réseau)
Problèmes de médias
Ping sur la passerelle par défaut
Problèmes de masques, d'adresse de passerelle
Ping au delà de la passerelle
Problèmes de routeurs
Ping avec noms de machine
Configuration de DNS
ARP : Résolution d'adresse
Adress Resolution Protocol



Faire correspondre les adresses IP aux
adresses physiques
Table ARP (durée de vie limitée)
Trame de requête ARP (broadcast)
ARP : Résolution d'adresse



arp –a
Toutes les entrées du cache
arp – s 192.14.25.56 00-80-C7-E0-7E-C5
Entrer une nouvelle adresse IP / MAC
arp –d 192.14.25.56
Supprime une adresse IP du cache
• Calcul du Round Trip Time
• 3 essais
• Calcul pessimiste : ICMP priorité faible
Traceroute




Tracer le chemin emprunté par les
datagrammes
Chemin à un instant t
Commande lente
Utilise ICMP
Traceroute
TTL = 1
Rejet
TTL = 2
Rejet
TTL = 3
Rejet
TTL = 0
TTL = 1
Rejet
TTL = 2
Rejet
TTL = 0
TTL = 1
Rejet
TTL = 0
Route

Affichage / Mise à jour de la table de routage
Pour joindre cette adresse
Je passe par ce routeur
J'utilise cette interface
Test boucle locale
Les hôtes de mon réseau
Moi
Broadcast sur mon réseau
Netstat


Statistiques relatives à IP, TCP, UDP, ICMP
Datagrammes émis, reçus, erreurs éventuelles
Netstat
-a
-i
-c
-n
-r
-t
-u
affichage toutes les informations sur l'état des connexions,
affichage des statistiques,
rafraîchissement périodique de l'état du réseau,
affichage des informations en mode numérique sur l'état des
connexions,
affichage des tables de routage,
informations sur les sockets TCP
informations sur les sockets UDP.
Transfert de fichiers
FTP File Transfer Protocol
fichiers
Client FTP
Serveur FTP
Protocole TCP
Identification
• Transfert de fichiers
• Création de répertoires
• Déplacement
• Suppression
• Renommage
Client FTP
Transfert de fichiers
TFTP Trivial File Transfer Protocol



UDP
Pas d'identification
Démarrage de station "diskless"
NFS
Network File Sytem



Développé par SUN
Disques virtuels
Remote Procedure Call
Accès réseau



Telnet : émulation d'accès terminal
Rlogin, rcp, rsh, rexec, rwho
Applications d'accès à distance : pcAnywhere
TCP/IP et la sécurité

Interception d'un paquet de données
–
Solution :



Cryptage : rendre les données illisibles
Authentification (signature numérique) : connaître la source
Vérification de l'intégrité : pas de falsification pendant le
transit
TCP/IP et la sécurité


SSL : Secure Sockets Layer
Couche de sécurité entre sockets de la couche
transport et l'application
Exemple : https
IPSec
Utilisé dans les réseaux virtuels (VPN)
Serveurs PROXY

Proxy Cache Server = "Serveur par
procuration"
–
–
–
Cache des pages Web
Filtrage
Fichiers de Log
Firewall
Parefeu




Protection d'un réseau local connecté à
Internet
Filtrage des paquets
Filtrage applicatif : blocage de certains ports
(23 = telnet)
Filtrage utilisateur
IP v6





Pénurie d'adresses
Adresses sur 128 bits
Diffusion anycast
Priorité de flux (temps réel)
Amélioration de l'authentification et sécurité
Ports / Socket

Port : Adresse interne prédéterminée
= chemin d'accès bidirectionnel
ftp : 21
telnet : 23
smtp : 25
http : 80

Socket : Adresse IP + N° de port
Exemple : 111.21.14.128.21
Accès réseau :
Connexion au réseau téléphonique


SLIP : Serial Link Internet Protocol
PPP : Point to Point Protocol
SLIP



Transmission de datagrammes via modem
Aucun contrôle d'adresse
adressage fixe : incompatible avec les FAI
Aucun contrôle d'erreurs
Réalisés par la couche supérieure
PPP



Transmission de datagrammes via modem
Encapsulation de datagrammes
multiprotocoles
Contrôle liaison (LCP)
Dialogue sur les paramètres de connexion :



Contrôle réseau (NCP)
Authentification de messages (PAP)
Compression de l'entête IP
Téléchargement