La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

TCP/IP sur les réseaux Ethernet

Présentations similaires


Présentation au sujet: "TCP/IP sur les réseaux Ethernet"— Transcription de la présentation:

1 TCP/IP sur les réseaux Ethernet
x. laure

2 Correspondance entre TCP/IP et le modèle OSI
Le modèle OSI est très structuré mais certaines couches ont des fonctions qui peuvent être allégées ou regroupées. L’idée est de partir sur une optique réseau LAN. Par définition, ce type de réseau de « petite taille » est moins sujet aux erreurs de transmission. De plus, il a besoin de grandes performances et la simplification que permet TCP/IP (et d’Ethernet) autorise des débits plus grands. x. laure

3 Correspondance entre TCP/IP et le modèle OSI
Modèle OSI Modèle TCP/IP Modèle TCP/IP sur Ethernet Application Présentation Session Transport Réseau Liaison Physique Couche application Couche transport Couche Internet Couche interface réseau Couche application Couche transport Couche Internet Ethernet Physique 5 4 3 2 1 x. laure

4 Schéma représentant un réseau et les différents éléments qui le compose ainsi que les couches OSI misent en jeux Serveur WEB Serveur Mail PC MAC 1 7 ... 1 7 ... 1 7 ... 1 7 ... 1 2 1 2 répéteur répéteur 1 3 Routeur Internet 1 7 ... 1 4 ... 1 7 ... imprimante « Firewall » x. laure

5 Détails du modèle TCP/IP
Telnet FTP SMTP DNS RIP SNMP TCP (Transport Control Protocol) UDP (User Datagram Protocol) IP (Internet Protocol) Ethernet Token Ring Frame Relay ATM En vert : la partie de la pile de protocoles de TCP/IP (Internet protocol Suite), spécifique à l ’OS. En Jaune : la partie de la pile spécifique à la « carte réseau » pour un OS donné :les drivers de la carte réseau. ICMP ARP x. laure

6 Encapsulation / démultiplexage
x. laure

7 Ethernet Liaison physique OSI Ethernet
LLC (Logical Link Control) (ne vérifie pas l’intégrité des trames) Fonctions MAC * (CSMA/CD – formation des trames) Couche physique (paires torsadées, FO, …) * les cartes réseau Ethernet ont une adresse MAC unique x. laure

8 Le rôle de LLC distribution des informations au bon protocole
Un PC windows Un Mac OS X Une imprimante Couche application Couche application Couche application physique CSMA/CD LLC TCP/IP AppleTalk TCP/IP AppleTalk LLC LLC CSMA/CD CSMA/CD physique physique x. laure

9 L’adresse MAC Chaque appareil adressable d'un réseau doit avoir une adresse spécifique. Dans le cas des réseaux Ethernet, cette adresse est composée de 6 octets. Elle est codée sur chaque carte interface lors de sa fabrication. La mise à disposition des adresses est contrôlée de façon très stricte par l'IEEE. Chaque constructeur se voit attribuer un identifiant unique et une plage de numéros pour ses cartes interfaces. La combinaison fournit l'adresse Ethernet ou adresse MAC de la station. Les trois premiers octets contiennent l'identifiant du constructeur. Les adresses IEEE, ou adresses MAC, sont notées en hexadécimal, en séparant les octets avec le symbole "-" ou ":". Exemple : AF B et 00:20:AF:56:78:1B correspondent à la même adresse d'une carte du constructeur 3Com. Codes constructeurs Code Constructeur Remarque 0020AF 3COM Corporation 0080C8 D-Link 00A0C9 Intel Cartes PRO100B x. laure

10 IP (Internet Protocol) couche réseau
IP gère : Adressage ARP Adresse IP DNS Le routage Principe Protocole de routage dynamique ICMP La fragmentation MTU Le protocole IP est dit « Best effort delivery » c’est à dire qu’il fait de son mieux pour envoyer les données. Ce n’est pas lui qui est chargé de s’assurer que le message final est bien arrivé à destination. x. laure

11 Le protocole ARP (address resolution protocol)
Le protocole ARP est lié au mode de fonctionnement des réseaux Ethernet. Le problème : La machine A veut communiquer avec la machine B et elle connais son adresse IP. Mais le N°IP est une information de niveau 3 elle a également besoin de l’adresse Ethernet du correspondant pour composer sa « trame Ethernet »… elle va donc faire une requête ARP et attendre une réponse. Pour cela elle fait un broadcast (appel sur tout le réseau) La station qui se reconnaît envoie une réponse contenant son adresse IP et son adresse Ethernet. La réponse est mise dans une mémoire (cache ARP) et durant un certain laps de temps toutes les trames en direction de ce même numéro IP utiliseront la correspondance mise en mémoire. IP = Eth= 03:00:ff:40:23:70 IP = Eth= 03:00:ff:25:30:65 IP = Eth= 03:00:ff:00:01:20 A B C Question à tous : je suis ip= Eth=03:00:ff:40:23:70 qui est IP= ? Réponse à Eth=03:00:ff:40:23:70 IP= : mon Eth= 03:00:ff:00:01:20 et mon IP= x. laure

12 1) Adressage IP L’adresse IP : Toutes les machines connectées au réseau doivent avoir une adresse IP différente. A la différence de l’adresse MAC (Ethernet) L’adresse IP intègre en plus une notion adresse du réseau. Il est alors facile de retrouver une machine dans la multitude des réseaux connectés. Comme l’adresse IP doit être unique il existe une autorité centrale pour allouer ces adresses aux réseaux connectés. Cette autorité est le Centre d’Information du Réseau Internet appelé InterNIC Il existe 3 types d’adresse IP : Unicast (destiné à une seule machine) Broadcast (destiné à toutes les machine d’un réseau donné) Multicast (destiné à toutes les machines d’un groupe multicast) Une adresse IP est un nombre de 32 bits. Pour des raisons évidentes de lisibilité on utilise la notation décimale pointée (ex : pour l ’adresse binaire ) Adresses particulières: « loopback » adresse virtuelle employée pour les tests est les simulations. Une adresse C dont le dernier octet est un 0 est une adresse de réseau… Une adresse C dont le dernier octet est 255 est un broadcast… x. laure

13 1) Adressage IP Formation d’une adresse sur 32 Bits :
Les adresses privées : ces adresses ne sont pas routées sur Internet RFC Elles permettent de créer des réseau privés sans aucun risque « d’interférences » classe A : à classe C : à classe C : à Les masques de réseau: ils permettent de « subneter » le réseau. Par exemple vous disposez d’une classe B (donc possibilité d’allouer ( ) machines ) mais vous voulez plutôt préférer gérer 28 réseau de (28 - 2) machines (soit 254). Le NetMask pour classe B de 1 réseau et ordinateurs est (ou /16) Le NetMask pour une classe B « subnetée » en 253 réseaux de 254 machines est Attribution statique ou automatique des numéros IP : L’utilisation conjointe d’un serveur DHCP permet une attribution « à la volée » des numéro IP. 7 Bits 24 Bits CLASSE A : Adresses de à 1 14 Bits 16 Bits CLASSE B : Adresses de à 1 21 Bits 8 Bits CLASSE C : Adresses de à x. laure

14 Application TCP/IP : le DNS
Retenir des N°IP pour se connecter à un ordinateur n’est pas très facile voir impossible. Au début d’Internet des fichiers contenant la liste de toutes les adresses du réseau étaient créés sur toutes les machines. Cela est vite devenu impossible à gérer avec l’explosion d’Internet… d’où la création d’une base de données hiérarchisée pour retrouver tous ces noms : le DNS (Domain Name System). Attention le DNS n’est pas basé sur une organisation géographique. Les domaines à deux caractères (.fr, .uk, .us) indiquent plutôt un renseignement « linguistique » sur leurs sous-domaines mais pour le cas des domaines génériques à 3 caractères (.com, .net, .org, …) ils ne sont pas réservés aux domaines américains (sauf .gov et .mil). x. laure

15 Organisation schématique du DNS
Racine non nommée Arpa com edu gov int mil net org fr uk us … TOP niveau cnrs-orleans In-addr www web 163 crmd 9 www speedy 1 2 Domaines génériques (organisationnels) Domaines géographiques x. laure

16 IP : le routage Pour acheminer un datagramme IP deux cas sont possibles: La remise directe : le destinataire est dans le même réseau (voir diapo précédente pour ARP) le datagramme est adressé directement. La remise directe est toujours utilisée dans le cas du dernier routeur. La remise indirecte : le destinataire est dans un autre réseau, il faut franchir au moins un routeur. x. laure

17 IP : le routage Dans le cas d’une remise indirecte :
La machine source s’aperçoit que l’adresse du correspondant n’est pas dans le même réseau. A ce moment elle consulte sa table de routage. La table de routage est une liste IP Réseau Destination > IP Prochain routeur. On dit que le routage est par sauts successifs (next hop routing). Si aucun réseau destination ne correspond elle envoie le datagramme IP au routeur par défaut de son réseau. Le TTL du datagramme est décrémenté ( pour éviter le bouclage et les congestions) x. laure

18 Exemple de routage Internet Table de routage Routeur 192.9.1.12
Internet Routeur Table de routage Routeur Destination Gateway default x. laure

19 IP : routage La table de routage est statique quand est elle mise à jour « à la main » ou par ICMP (voir le protocole ICMP). La table de routage est dynamique quand la mise à jour est impossible manuellement car les routes sont trop complexes ou trop fluctuantes. Protocole RIP (routing information protocole) : des informations sont échangées entre routeurs voisins. A cause de sa mise en œuvre RIP est réservé aux petits réseaux (métrique 16 = infini ) Protocole OSPF (Open Shortest Path first) : beaucoup plus complexe et performant que RIP. Il calcule les routes en fonction « des coûts » des liaisons. x. laure

20 IP : la fragmentation Suivant le type de réseau traversé pour aller d’un point à un autre la longueur de la trame d’origine peut être un problème : Trame Ethernet au Max 1526 Octets (dont 1500 Octets de données) Trame Token Ring plus de 4400 Octets ). Donc si une trame part d’un réseau Token Ring vers un réseau Ethernet les trame seront trop longues … il va falloir les découper en plus petits morceaux, c’est la fragmentation. Le routeur qui s’aperçoit du problème découpe la trame d’origine en X paquets numérotés, puis il les envoie sur la bonne interface. A l’autre bout IP réassemble ces paquets pour délivrer le datagramme comme il a été envoyé. La plus grande taille d’un datagramme IP est donnée par son MTU (Maximun transmit Unit) qui est, par exemple, de 1500 pour Ethernet et de 4464 pour Token Ring). x. laure

21 IP : le protocole ICMP Le protocole ICMP (Internet Control Message Protocol): Le protocole ICMP utilise IP. Il se trouve logiquement dans le haut de la couche. Il ne sert pas à fiabiliser IP mais rendre compte d’erreur de routage. Ces informations servent à créer de nouvelles routes dans les tables de routage ou encore à informer de la coupure d’une ligne , ou bien tout simplement à rendre compte de l’état actif ou inactif d’une interface (fonction écho utilisée par le programme ping) . x. laure

22 TCP Transport Control Protocol : Tcp est un protocole de transport fiable. Il est dit connecté car il s’assure avant de transporter des données que le correspondant est disposé à les recevoir dans de bonnes conditions. Comme TCP s’appuie sur IP qui lui n’est pas fiable il doit s’assurer du contrôle des données arrivées. TCP gère le flux de données pour limiter les congestions du réseau. TCP repose sur plusieurs concepts parmi eux les principaux sont: Le mode client / serveur Les « sockets » La « poignée de main » et Les accusés de réceptions Les fenêtres de données x. laure

23 Le client serveur Dans le mode client serveur simple une des deux machines est « passive », le client, et l’autre est « active », le serveur. Le client interroge le serveur Le serveur suivant répond ou agit en fonction de la requête du client. Par exemple : le web. L’application cliente est le navigateur L’application serveur est le serveur web (au sens logiciel) Le navigateur envoie une requête avec le protocole approprié (HTTP) et le serveur l’analyse et y répond en suivant lui aussi le même protocole. x. laure

24 Les « sockets » Le problème : si sur une même machine deux programmes serveurs (ou clients) sont actifs et comme cette machine n’a qu’une adresse ip… comment les deux couples client/serveur vont-ils dialoguer? Machine A Machine B ? Serveur Web Client Web Serveur Telnet Client Telnet Ip= Ip= x. laure

25 Les « sockets » La solution est donner un numéro de « port virtuel » à chaque application. Chaque connexion (socket) est identifiée par: IP source / port source et IP destination / port destination Il existe deux types de numéros de ports ceux inférieurs à Ces ports sont ceux dit « biens connus » il sont référencés et ils servent à distinguer les types de serveurs (80 http, 21 ftp commandes, 23 telnet, 139 netbios, …) et ceux « éphémères » au dessus de 1024 et jusqu’à qui eux servent aux clients. Serveur Web Client Web :80 :1025 Serveur Telnet Client Telnet :23 :1026 Ip= Ip= x. laure

26 L'établissement de la connexion
TCP est un protocole de transport dit connecté C’est à dire qu’il va établir une connexion et des vérification avant d’envoyer des données. L’établissement de cette connexion utilise la technique de la « poignée de mains à trois voies » (three-way handshacke). Exemple d’un diagramme de temps : Etablissement de la connexion : technique dite « send en wait » … Si au bout d ’un certain temps on a pas reçu d’acquittement: nouvelle demande Serveur Client temps Flag:Syn – N°de séquence Client – taille transmise (0) Flag:Syn – N°de séquence Serveur – taille transmise (0) ack - N° deséquence Client +1 Flag:Ack – N°de séquence Serveur +1 – taille transmise (0) Dialogue : SYN SYN/ACK ACK x. laure

27 Envoi massif de données
Technique de la « fenêtre glissante »: Bloc de données Mémoire disponible Emetteur Recepteur ... ... 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 ACK + Mémoire disponible PUSH 1 1 2 3 4 5 6 PUSH 2 PUSH 3 1 2 2 ACK 1 + mémoire dispo ACK 2 + mémoire dispo 1 2 3 4 5 6 PUSH 4 1 2 3 1 2 3 1 2 3 4 5 6 Le récepteur renseigne l’émetteur sur le volume qu’il peut supporter (avant traitement). L’émetteur envoie donc les différents blocs de données sans attendre les accusés de réception (ACK). Si un accusé de réception n’est pas retourné pour un bloc TCP l’expédie de nouveau (fiabilité) . Si trop de bloc de données arrivent avec des erreurs TCP modifie ces « timers » et il prend plus de temps pour l’envoi (gestion de flux). x. laure

28 Fin d’une connexion TCP
Problèmes possibles Fin d’une connexion TCP x. laure

29 Les Flags possibles sont :
Lors de l’établissement des connexions TCP va en plus échanger des informations sur les capacités des deux parties. Une information de fenêtre (taille des mémoires buffers allouées). TCP ne doit pas envoyer plus de données que la taille de la fenêtre. Des accusés de réception (Ack) mettent régulièrement à jour cette information (voir le transparent « envoi massif de données »). Une information de MSS (maximun segment size) qui est en fait la MTU (Maximun Transmission Unit) moins les 20 octects de l’entête TCP. Cette information permet a TCP de contrôler la taille de ces segments pour éviter la fragmentation au niveau IP, et par là limiter le travail de la couche réseau. Le numéro de séquence est un indicateur de la position du paquet dans le flux de données. De façon simple,Le numéro de séquence correspond à un numéro de départ incrémenté de taille des données +1. Mise en place d’algorithmes spécifiques comme celui de Naggle (pour limiter les petits paquets sur le réseau) ou encore celui du démarrage lent (qui assure une montée en débit progressive du flux de données une fois la liaison bien testée) URG POINTEUR URGENT (données à traiter en priorité) ACK Le numéro d’acquitement valide PSH Passage de données « en masse » à l’application SYN Synchronise les numéro de séquence pour initialiser une connexion RST Reset de la connexion (envoi par TCP si le port n’est pas affecté à une application) FIN L’émetteur à fini d’envoyer des données. x. laure

30 Les principaux états possibles d’une connexion:
TCP met en œuvre également des timers qui servent à savoir si un segment est considéré comme perdu ou si il faut encore l’attendre. Ces timers s’ajustent automatiquement tout au long de la transmission le RTT (Round Trip Time) est le temps entre l’envoi d’un segment et la réception de son acquittement (Flag ACK). Si ce délai est dépassé TCP génère un Timeout. Donc grâce à ce mécanisme TCP s’adapte à tous les réseaux. Les principaux états possibles d’une connexion: Listen : en attente d’une connexion Established : la connexion est active > communication entre les deux machines Time-Wait : connexion en attente (d’un ACK , d’une FIN, …) x. laure

31 UDP User Datagram Protocol : UDP est protocol de transport qui fonctionne sur un mode non connecté. Il est très similaire à TCP mais comme il n’est pas connecté il ne peut garantir la fiabilité des données transportées. C’est à la couche application de s’assurer de l’intégrité des données. Le mode non connecté permet des communications « légères » et par définition il permet de broadcasting. Si une arreur est détectée dans un datagramme UDP, ce dernier est détruit « en silence ». Il utilise lui aussi des numéros de ports. Exemple d’applications utilisant UDP: Le DNS, les serveurs de temps, tftp, snmp x. laure

32 Les outils de test de TCP/IP
Ping : permet de savoir si une machine est active. Ping est un programme qui utilise le protocole ICMP. Il utilise la fonction echo. Il envoie une quantité de données à une machine. Cette dernière si elle active répond en renvoyant les données. Ping mesure également le temps d’aller / retour. Traceroute : permet de connaître le chemin pris par IP avec les délais associés. Traceroute utilise une fonction du prtocole IP le TTL et lui aussi ICMP (message retour du routeur). Il place le champ TTL à 1 et le premier routeur le décrémente. Dès que ce champ passe à 0 une erreur ICMP est générée… Traceroute connaît le premier routeur. Puis il place ce champ à 2, ..etc Netstat : donne l’état des connexions TCP. TCPdump : est un sniffer en ligne de commande il permet des analyses très fines. x. laure

33 Résumé d’une communication TCP/IP sur Ethernet
Conditions de départ : La machine A veut se connecter au serveur … elle ne connaît que son nom. > test.fr Machine A .1 Routeur Routeur .1 Routeur DNS WWW x. laure

34 Demande connexion (SYN) Rem : Syn ne fait pas partie du champ Données
L’utilisateur lance son logiciel client de navigation WWW  Il saisit l’URL suivante : Comme le client doit passer une adresse IP à TCP il utilise le resolver DNS pour avoir l’IP exacte du serveur Requête au DNS connu : Réponse du DNS IP= Le client de navigation WWW passe l’ordre d’envoi d’une requête sur à TCP Dans un premier temps TCP doit s'acquitter de sa poignée de main pour cela Il passe à IP les données nécessaires pour une synchronisation (Flag:Syn) sur le serveur web (segment TCP) Au niveau IP… Est-ce que cette adresse est de mon réseau ? Et si non comment la joindre ? Oui > Est-ce que je connais l’adresse Ethernet pour cet IP (cache ARP) Oui > la machine peut envoyer ces trames Non > requête ARP Non > lecture de la table de routage > la seule route est celle par défaut c’est à dire via le routeur en .1 Est-ce que j’ai l’adresse Ethernet du routeur Oui … Non … Il passe ces informations au drivers de la carte Ethernet (paquet IP) Couche LLC Prépare de la trame (simplifiée) suivante le driver et la carte réseau envoient les bits : Le Premier routeur s’aperçoit que la trame est pour lui … Il lit l’adresse de destination et recherche une route dans sa table de routage Suivant la route trouvée il change l’adresse Ethernet de destination et source (la sienne) Regarde si la longueur de la trame va avec le MTU de la ligne Si non fragmentation en paquet compatibles Décrément du TTL Recalcule des CRC Envoi au saut suivant Encapsulation Eth Source Eth destinat IP source IP destinat Port source Port destinat Datas Remorque Demande connexion (SYN) Rem : Syn ne fait pas partie du champ Données 10:0C:75:23:01:58 80 00:0f:ad:1e:00:88 1025 x. laure

35 Demande connexion (SYN)
X routeurs plus loin … Le routeur aiguille la trame sur un de ces réseaux Est-ce qu’il connaît l’adresse Ethernet de destination dans ces caches ? (si non ARP) + le reste Envoi de la trame sur le réseau. La trame (simplifiée) suivante circule sur le réseau … Le niveau 2 du serveur s’aperçoit que la trame lui est destinée Remontée vers IP Si besoin est reconstitution des fragments Remontée vers TCP lecture du numéro de port 1) réservation de la fenêtre 2) réponse au SYN par un ACK 3) appel de l’application serveur Web (port 80) Après la poignée de main, le client www peut envoyer une requête HTTP, le serveur qui est en attente lui répondra, etc … Eth Source Eth destinat IP source IP destinat Port source Port destinat Datas Remorque Demande connexion (SYN) Ad. Eth Routeur 80 Ad. Eth destination 1025 Démultiplexage de la trame reçue x. laure

36 x. laure


Télécharger ppt "TCP/IP sur les réseaux Ethernet"

Présentations similaires


Annonces Google