760 likes | 892 Views
Chapitre 1. Les protocoles de l ’Internet. 1 ère partie :. Le protocole IP. Architecture Internet. FTP (File Transfer Protocol) copie de fichier d’un système à l’autre Telnet : connexion à distance SMTP (Simple Mail Transfer Protocol) protocole de transfert de messages
E N D
Chapitre 1 Les protocoles de l ’Internet M. Jarraya, Institut Supérieur d'Informatique
1ère partie : Le protocole IP M. Jarraya, Institut Supérieur d'Informatique
Architecture Internet • FTP (File Transfer Protocol) copie de fichier d’un système à l’autre • Telnet : connexion à distance • SMTP (Simple Mail Transfer Protocol) protocole de transfert de messages • SNMP (Simple Network Management Protocol) protocole de gestion réseau. • TCP (Transmission Control Protocol) Protocole de transport de données fiable. • UDP (User Datagram Protocol) protocole de transport sans connexion. • ARP (Address Resolution Protocol) protocole de résolution d’adresse. • IP (Internet Protocol) protocole réseau chargé de véhiculer les paquets sur les réseaux. • ICMP (Internet Control Message Protocol) protocole de surveillance de l’état des composants du réseau. Application FTP, Telnet SMTP, SNMP Présentation Session Transport TCP, UDP ICMP réseau IP ARP, RARP Liaison de données HDLC, PPP, SLIP,.. Physique Cuivre, Fibre optique, ondes Modèle OSI Modèle Internet
Num de version de IP 32 bits Longueur totale (octets) Long d’en-tête (multiple de 4 Octets) type of service head. len ver length Pour fragmentation/ réassemblement fragment offset Type de service flgs 16-bit identifier Durée de vie (décrémentée par Chaque routeur) upper layer time to live checksum Adresse IP source de 32 bits Adresse IP destinationde 32 bits Num du protocole de Couche supérieure E.g. enregistrer les adresses et Le temps de Passage des Routeurs (traceroute). Options (if any) données (longueur variable Typiquement un segment TCP ou UDP) Format du datagramme IP Avec TCP la charge (sans option)? • 20 octets de TCP • 20 octets de IP • = 40 octets + la taille du message applicatif
Le protocole IPv4 • Le numéro de version sur 4 bits (la version 4) : permet de vérifier que la source, la destination et tout routeur intermédiaire sont en accord sur le format du datagramme. • Longueur d ’en-tête sur 4 bits : code la longueur de l'en-tête Internet en mots de 32 bits afin de savoir le début des données. • Le Type de Service donne une indication sur la qualité de service souhaitée : Bits 0-2 : Priorité ; Bit 3 : 0 = Retard standard et 1 = Retard faible (Delay) Bits 4 : 0 = Débit standard et 1 = Haut débit. (Throughput) Bits 5 : 0 = Taux d'erreur standard et 1 = Taux d'erreur faible (Rate of Error) Bit 6-7 : Réservé. 32 bits 0 1 0 0 0 1 0 1 Priorité D T R 0 0 Longueur totale Identification Drap Dép_fragment Durée de vie Protocole Total de contrôle d ’entête Adresse source Adresse destination
Le protocole IPv4 • Le champ "Longueur Totale" sur 16 bits est la longueur du datagramme entier y compris en-tête et données, mesurée en octets. • Une valeur d'identification sur 16 bits assignée par l'émetteur pour identifier les fragments d'un même datagramme. • Flags sur 3 bits. Bit 0 : réservé, doit être laissé à zéro Bit 1: (AF) 0 = Fragmentation possible et 1 = Non fractionnable. Bit 2: (DF) 0 = Dernier fragment et 1 = Fragment intermédiaire. • Position relative (Dép_fragment) sur 13 bits qui indique le décalage du premier octet du fragment par rapport au datagramme complet mesurée en blocs de 8 octets (64 bits). 32 bits 0 1 0 0 0 1 0 1 Priorité D T R 0 0 Longueur totale Identification 0 AF DF Dép_fragment Durée de vie Protocole Total de contrôle d ’entête Adresse source Adresse destination
Le protocole IPv4 • Le champ durée de vie sur 8 bits permet de limiter le temps pendant lequel un datagramme reste dans le réseau. Si ce champ prend la valeur zéro, le datagramme doit être détruit. Ce champ est modifié pendant le traitement de l'en-tête Internet. • Le champ Protocole sur 8 bits indique quel protocole de niveau supérieur est utilisé dans la section données du datagramme Internet. • Le Total de contrôle d'en-tête sur 16 bits vérifie exclusivement la validité de l'en-tête uniquement, car certains champs de l'en-tête sont susceptible d ’être modifiés (ex., durée de vie) pendant leur transit à travers le réseau. ce champ doit être recalculé et vérifié en chaque point du réseau où l'en-tête est réinterprétée. 32 bits 0 1 0 0 0 1 0 1 Priorité D T R 0 0 Longueur totale Identification 0 AF DF Dép_fragment Durée de vie Protocole Total de contrôle d ’entête Adresse source Adresse destination
32 bits 0 Id_reseau Id_ordinateur Les adresses IP • Chaque ordinateur et chaque routeur du réseau Internet possède une adresse IP sous forme (id_réseau,id_ordinateur). • La structure des champs d'adresse est codée de sorte à désigner • un petit nombre de réseaux accueillant un très grand nombre d ’ordinateurs, • adresse la plus basse : 1.0.0.1 et adresse la plus haute : 126.0.0.0 • Le nbre de réseau = 126 et le nbre d ’ordinateurs =16777214 • un nombre modéré de réseaux accueillant un nombre modéré d ’ordinateurs, • adresse la plus basse : 128.0.0.0 et adresse la plus haute : 191.255.0.0 • Le nbre de réseau = 16384 et le nbre d ’ordinateurs =65534 Classe A : 32 bits Classe B : 1 Id_reseau 0 Id_ordinateur
32 bits 32 bits 1 1 Adresse multidestinataire 1 0 1 Id_reseau 1 0 Id_ordinateur 32 bits 1 Réservé pour usage ultérieur 1 1 1 0 Les adresses IP • un grand nombre de réseaux accueillant un nombre restreint d ’ordinateurs, • adresse la plus basse : 192.0.1.0 et adresse la plus haute : 223.255.255.0 • Le nbre de réseau = 2097153 et le nbre d ’ordinateurs =254 • adressage multidestinataire, • de plus, un encodage spécial permet de prévoir un mode d'adressage étendu futur. Classe C : Classe D : Classe E :
Les adresses IP • Exemple :
Les adresses IP • Le NIC (Network Information Center) est le seul organisme habilité à délivrer les numéros d ’identification des réseaux. • Certaines adresses sont absentes des plages des adresses IP et correspondent à des adresses réservées. Elle sont autorisées uniquement au démarrage du système et ne constituent jamais des adresses valides. Elles sont utilisées pour des diffusions dirigées et ne sont jamais des adresses valides. Tout à zéro « cet » ordinateur Un ordinateur sur « ce » réseau Tout à zéro Id_ord Tout à 1 Diffusion limitée au réseau d ’attachement Id_res Tout à 1 Diffusion dirigée vers « ce » réseau
Les liaison réseaux ont des MTU (max.transfer size) différents- qui représentent la taille maximale de la trame de liaison de données. Plusieurs types de liaison, différents MTUs Plusieurs datagrammes IP sont divisés dans le réseau (“fragmenté”) un datagramme devient plusieurs datagrammes “rassemblement” uniquement à la destination finale Des bits de l’en-tête servent à identifier et mettre dans l’ordre les différents fragments Fragmentation et rassemblent de paquets IP fragmentation: in: un large datagramme out: 3 petits datagrammes rassemblement
length =1500 length =1500 length =4000 length =1040 ID =x ID =x ID =x ID =x fragflag =0 fragflag =1 fragflag =1 fragflag =0 offset =0 offset =0 offset =370 offset =185 Un large datagramme devient Plusieurs petits datagrammes Fragmentation et rassemblent de paquets IP Exemple • Un datagramme de 4000 octets • MTU = 1500 octets 1480 octets dans le Champ données de IP offset = 1480/8
Adresse IP: La partie sous-réseaux (les bits de poids fort) La partie hôte (les bits de poids faible) C’est quoi un sous-réseau ? Des interfaces d’équipements réseaux avec la même partie sous-réseaux d’une adresse IP Peut physiquement atteindre chacun des autres équipement du même sous-réseau sans intervenir un routeur Les sous-réseaux 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.2 223.1.3.1 Un réseau contenant 3 sous-réseaux
Méthode : Pour déterminer les sous-réseaux: dissocier dans un premier temps chaque interface du routeur ou hôte auquel elle appartient Ceci engendre des parties de réseaux isolés limités par des interfaces On appelle ensuite sous-réseau chacun des ces réseaux isolés. 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Sous-réseaux Masque sous-réseaux: /24
Combien de sous-réseaux? Sous-réseaux 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.7.0 223.1.9.2 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2
Adressage IP: CIDR CIDR:Classless InterDomain Routing • La portion d’adresse sous-réseau de longueur arbitraire • Format d’adresse: a.b.c.d/x, où x est le nombre de bits dans la portion sous-réseau de l’adresse partie hôte partie Sous-réseaux 11001000 00010111 00010000 00000000 200.23.16.0/23
Le masque de sous-réseaux • Pour mettre en œuvre les sous-réseaux, les ordinateurs et les routeurs utilisent un masque de sous-réseau qui permet d ’extraire les différentes parties de l ’adresse IP. 32 bits 10 Id-réseau Id-Sous-réseau Id-ordinateur Masque de sous-réseau 1 1 1 1 1 1 1 1 ..... 1 1 1 1 1 1 1 1 1 0 0 0 .... 0 0 140 192 56 45 Adresse IP 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 Id-réseau Id-sous-réseau Id-ordinateur 255 255 255 0 Masque du sous-réseau 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
Le calcul du masque de sous-réseau et de l'adresse IP • Chaque fois que vous empruntez un bit supplémentaire au champ d'hôte, le nombre de sous-réseaux créés augmente d'une puissance de 2. • deux de ces sous-réseaux sont réservés ou inutilisables • Les huit sous-réseaux potentiels créés par l'emprunt de trois bits = 23 (2 x 2 x 2 ) et en enlevant les deux sous-réseaux réservés on obtient. • Question : Combien de sous-réseaux peuvent être créés avec un champ de sous-réseau de quatre bits ? • Réponse : Un champ de sous-réseau de quatre bits permet donc de créer 14 sous-réseaux utilisables (de 1 à 14)
Plan d’adressage • Comment éviter que vos adresses internes entrent en conflit avec celle de l’Internet? • La solution repose sur l’utilisation de la translation d’adresses (NAT). • Cette technique permet de masquer votre plan d’adressage privé vis-à-vis des utilisateurs situés sur l’Internet. • Un ensemble d’adresses privés seront non routées à l’Internet.
com fr edu org net tn sun acm rnu laas ieee isi Nommage des ressources • Utilisation d ’un nom symbolique plutôt qu ’une adresse décimale • Exemple : isiserver.isi.rnu.tn 192.168.1.2 www.yahoo.fr 10.25.123.68 • L ’unicité des adresses unicité des noms • Il existe un "plan de nommage" hiérarchique mondial (DNS) géographique générique
Nommage des ressources • Les domaines de haut niveau sont de deux types : • générique • com : commercial • edu : institutions liées à l ’éducation • org : organisation • net: fournisseur d ’accès. • géographique • tn : tunisie • fr : France • Chaque domaine gère les domaines qui sont situées sous lui. • Le nommage est basé sur les organisations et pas sur les réseaux
Nommage des ressources • Les noms sont plus faciles à utiliser que les adresses IP. • La résolution de noms peut se faire grâce à un fichier de corrélation (nom, adresse IP) au niveau de chaque hôte. • Cette solution peut être pratique pour un réseau de faible étendu • Elle devient fastidieuse si le réseau est grand, car la mise à jour du fichier de corrélation devient une tâche très lourde pour l ’administrateur réseau. • En pratique, une machine sera dédiée pour la résolution de noms • Chaque station envoie une requête contenant le nom d ’un hôte au serveur DNS afin de demander son adresse IP. • Pour minimiser le nombre de requêtes, chaque station doit mémoriser cette association (nom, adresse IP) dans un cache.
Principe de fonctionnement • Il existe plusieurs types de serveurs : • Les serveurs maîtres permettant de maintenir à jour la base de données des machines relatives à la zone pour laquelle la machine assure ce rôle de serveur maître. Il existe deux types de serveurs maîtres : • Le serveur primaire (un seul par zone) qui maintient les données sur disque. • Le serveur secondaire (un ou plusieurs par zone) qui reçoit périodiquement ses données du serveur primaire pour assurer le rôle de secours en cas de défaillance du serveur primaire. Un serveur peut être serveur maître pour plusieurs domaines : Il est primaire pour certains domaines et secondaire pour d ’autres.
Principe de fonctionnement • Les types de serveurs : (suite) • Les serveurs seulement caches : • Tous les serveurs DNS jouent le rôle de serveur cache. • Les serveurs DNS qui ne sont ni primaire ni secondaire sont dit seulement cache. • Il récupèrent l ’information à partir de serveurs maîtres et la conserve dans un cache pendant un temps déterminé par une variable temps de vies (TTL). • Ils répondent à une requête s ’il possède l ’information dans son cache sinon il la renvoie à un serveur maître. • Les serveurs du domaine racine ont une connaissance de tous les domaines racines de l ’Internet.
Distribution hiérarchique de la base de noms Serveur DNS racine Serveur DNS org Serveur DNS edu Serveur DNS com poly.edu Serveur DNS umass.edu Serveur DNS pbs.org Serveur DNS yahoo.com Serveur DNS amazon.com Serveur DNS Il existe trois types de serveurs : • Les serveurs de noms locaux • Les serveurs de noms racine • Les serveurs de noms de source autorisée
Serveur de Noms local • Chaque fournisseur d’accès internet (Entreprise, Université, FAI résientiel) dispose d’un serveur de nom local (par défaut) • N’appartient pas forcément à la hiérarchie DNS • Quand un hôte exécute une requête DNS, cette requête est dirigée au serveur DNS local. • En cas de non résolution en local il agit comme proxy et retransmet la requête à un autre serveur de nom de la hiérarchie.
Contacté par les serveurs de noms locaux quand il n’arrive pas à faire la résolution Le serveur de nom racine: Contacte les serveurs de noms de source autorisée si la résolution est inconnu Demande la résolution auprès du serveur de noms de source autorisée Ré-envoie la résolution au serveur de noms local Serveurs de noms racine a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 11 locations) k RIPE London (also Amsterdam, Frankfurt) i Autonomica, Stockholm (plus 3 other locations) m WIDE Tokyo e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) 13 serveurs de noms racine dans le monde b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA
Serveurs de noms de source autorisée (SA) • Serveurs SA de domaine haut niveau (TLD): responsable pour com, org, net, edu, etc, et tous les domaines de haut niveaux géographiques comme tn, fr, uk, ca, jp. • E.g; edu : pour éducation • les serveurs DNS SA non TLD: • Tout serveur est enregistré auprès d’un serveur de nom dit “de source autorisé”. • En régle générale, il s’agit tout simplement du serveur de nom du fournisseur d’accès local
Hôte à ult.rnu.tn veut l’adresse IP du hôte latour.rst.laas.fr recherche itérative: Le serveur contacté répond avec le nom d’un autre serveur à contacter “Je ne connais pas ce nom mais demande auprès de ce serveur Serveur DNS local dns-cck.rnu.tn Exemple : Recherche itérative Serveur DNS racine 2 3 Serveur DNS TLD 4 5 6 7 1 8 Serveur DNS de source autorisée dns.laas.fr calmip.ult.rnu.tn latour.rst.laas.fr
Serveur DNS local dns-cck.rnu.tn Exemple : Recherche récurssive Serveur DNS racine Recherche récursive: • Le serveur contacté doit envoyer le résultat de résolution à la machine source au stade final • charge assez lourde pour le serveur DNS? 2 3 6 7 Serveur DNS TLD 4 5 1 8 Serveur DNS de source autorisée dns.laas.fr calmip.ult.rnu.tn latour.rst.laas.fr
Le protocole de contrôle d ’Internet • Le protocole de contrôle d ’Internet (ICMP) permet aux routeurs et aux ordinateurs d ’envoyer des informations de contrôle réseau aux autres (ex.signaler une erreur de traitement du datagramme). • De point de vu décomposition en couche, ICMP est un protocole séparé qui appartient à la couche réseau mais qui utilise le protocole IP pour transporter les messages. • Dans la pratique, ICMP fait partie de IP et tous les modules de IP doivent supporter le protocole ICMP. • Il existe environ une douzaine de types de messages ICMP. • Chaque type de message ICMP est encapsulé dans un datagramme IP. Transport TCP/UDP IP ICMP
type code Total de contrôle d ’en-tête ICMP Généralement non utilisé Message ICMP Le protocole de contrôle d ’Internet 32 bits Version=4 Lg_ent Type de Service = 0 Longueur totale Identification Drap Dép_fragment Durée de vie Protocole=1 Total de contrôle d ’entête En-tête IP Adresse source Adresse destination En-tête ICMP
Le protocole de contrôle d ’Internet • Message "destinataire non accessible " • Dans le cas où le réseau indiqué dans le champ adresse de destination de l'en-tête IP du datagramme reçu est inaccessible ou inconnu (ex. la distance à ce réseau est marquée comme infinie) • Le routeur émet en retour un message ICMP (type=3) pour spécifier ce message. • Message "durée de vie écoulée " • Lorsqu'un routeur traitant un datagramme est amené à mettre à jour le champ Durée de Vie de l'en-tête IP et que ce champ atteint une valeur zéro, le datagramme doit être détruit. • Le routeur prévient l ’ordinateur source de cette destruction par ce message. • Message "erreur de paramètre " • Si le routeur où l ’ordinateur traitant le datagramme rencontre un problème avec un paramètre. • Le routeur ou l ’ordinateur détectant la faute peut alors en avertir la source par un tel message.
Le protocole de contrôle d ’Internet • Message de "redirection" • Un routeur peut rediriger un datagramme destiné à un ordinateur dans les situations suivantes : • Un routeur, G1, reçoit un datagramme Internet en provenance d'un ordinateur situé sur le segment local de réseau où il se trouve. • Le routeur, G1, vérifie ses tables de routage et obtient l'adresse du routeur suivant, G2, situé sur le chemin d'acheminement de ce datagramme vers le réseau local destinataire X. • Si G2 et l ’ordinateur source se trouvent sur le même segment de réseau, un message de redirection est envoyé vers l ’ordinateur source. • Ce message permet d'avertir la source que le trafic vers le réseau X peut être directement adressé au routeur G2, diminuant ainsi le chemin d'acheminement. • Pour les datagrammes présentant une option IP de routage précisant l'adresse du routeur dans le champ de destination, aucun message de redirection ne sera émis.
Le protocole de contrôle d ’Internet • Message d'écho et de "réponse à écho" • Les données reçues dans un message d'écho doivent être réémises dans la réponse à l'écho. • L'identificateur et le numéro de séquence peuvent être utilisés par l'émetteur du message d'écho afin d'associer facilement l'écho et sa réponse. • Marqueur temporel ou réponse à marqueur temporel • Ils sont semblables aux messages précédents avec une inscription de l ’heure d ’arrivée de la demande et l ’heure de retour dans le message • Ils donnent une indication sur le temps d ’acheminement. type code Total de contrôle d ’en-tête ICMP Identificateur Numéro de séquence Données...
Le protocole ARP (Adress Resolution Protocol) • L ’adresse Physique de la carte réseau est différente de l ’adresse logique (adresse IP) fixée par l ’administrateur. • Exemple : dans le cas d ’un réseau Ethernet, l ’adresse physique est fixée par le constructeur et elle est unique (sur 48 bits). • L ’adresse IP est utilisée par la couche réseau et l ’adresse physique est utilisée par la couche liaison de données. • Question : commet les adresses IP sont-elles interprétées au niveau de la couche liaison de données. • 1ère solution : Avoir un fichier de configuration contenant la correspondance entre adresse IP et adresse physique: Cette solution ne peut être exploitée que pour des réseaux de faible taille. • 2ème solution : Émission d ’un datagramme en mode diffusion générale demandant « qui possède l ’adresse IP ... » • La station qui reconnaît son adresse retournera en réponse son adresse physique. • Cette solution peut être optimisée en mémorisant les adresses retournées (utilisation de cache ARP). • 3ème solution : Chaque ordinateur diffuse au démarrage son adresse physique aux autres ordinateurs actifs sur le réseau.
Le protocole ARP (Adress Resolution Protocol) • Exemple : la station 1 veut émettre un datagramme à la station 2, mais elle ne connaît pas son adresse physique E2. • La station 1 émet un datagramme en mode diffusion générale demandant « qui possède l ’adresse IP 192.31.65.5 » • la station 2 reconnaît son adresse IP et envoie une réponse contenant l ’adresse Ethernet (E2). Routeur INF WAN Routeur MAT 192.31.65.1 192.31.63.3 192.31.60.4 192.31.60.7 192.31.65.7 192.31.65.5 192.31.63.4 192.31.63.5 1 2 R1 R2 3 4 E1 E2 E3 E4 E5 E6 Réseau Ethernet INF 192.31.65.0 Réseau Ethernet MAT 192.31.63.0 Réseau FDDI 192.31.60.0
Le protocole ARP (Adress Resolution Protocol) • La station ne peut utiliser le protocole ARP pour envoyer un datagramme à la station 4 que si le routeur INF est configuré pour répondre à une demande ARP sur le réseau Ethernet 192.31.63.0 • Cette solution est appelé proxy ARP. • Le mécanisme du proxy ARP dans cet exemple est : • La station 1 encapsule le datagramme IP dans la trame Ethernet adressée à E3. • Quand la trame Ethernet arrive au routeur INF, le datagramme IP est analysé et son contenu comparé à la table de routage. • Le routeur conclue alors que les datagrammes destinés au réseau 192.31.63.0 sont à transmettre au routeur MATet récupère l ’adresse Ethernet E6. Le routeur MAT élabore une trame Ethernet destinée à E6 dans laquelle il encapsule le datagramme et transmet cette trame sur le réseau MAT. • La station 4 récupère la trame et extrait le datagramme qui sera traité par le logiciel IP. • La communication avec un réseau distant à travers un WAN se fait de la même manière.
2ème partie : Le protocole TCP M. Jarraya, Institut Supérieur d'Informatique
32 bits port source port dest sequence number acknowledgement number head len not used Fenêtre réception U A P R S F checksum Pointeur donn.URG Options (longueur variable) données application (longueur variable) structure d’un segment TCP URG: données urgentes Compte le nombre d’octets de données (non du segment !) ACK: séq de l’ACK pris en considération PSH: passer donnée à la couche application Nombre d’octets pouvant être acceptés RST, SYN, FIN: pour établissement et fermeture de connexion Checksum Internet (comme pour UDP)
structure d’un segment TCP • Port source (16 bits) : Le numéro de port de la source. • Port Destinataire (16 bits ) : Le numéro de port du destinataire. • Numéro de séquence (32 bits) : Le numéro du premier octet de données par rapport au début de la transmission (sauf si SYN est marqué). Si SYN est marqué, le numéro de séquence est le numéro de séquence initial (ISN) et le premier octet a pour numéro ISN+1. • Accusé de réception (32 bits) : Si ACK est marqué ce champ contient le numéro de séquence du prochain octet que le récepteur s'attend à recevoir. • Data Offset ou Header length (4 bits) : La taille de l'en-tête TCP en nombre de mots de 32 bits. Il indique là ou commence les données. L'en-tête TCP, dans tous les cas a une taille correspondant à un nombre entier de mots de 32 bits.
structure d’un segment TCP • Réservé (6 bits) : Réservés pour usage futur et doivent être à 0. • Bits de contrôle (6 bits): • URG: Pointeur de données urgentes significatif • ACK: Accusé de réception. Si ACK est positionné à 1, alors le numéro de l ’accusé de réception est pris en compte. • PSH: Fonction Push qui signifie que les données doivent être poussées à l ’application concernée dès leur arrivée. • RST: Réinitialisation d ’une connexion devenue incohérente à cause de l ’arrêt brutal d ’un ordinateur ou de tout autre incident. • SYN: Synchronisation des numéros de séquence pour l ’établissement d ’une connexion. • FIN: Fin de transmission
structure d’un segment TCP • Fenêtre (16 bits) : Le nombre d'octets à partir de la position marquée dans l'accusé de réception que le récepteur est capable de recevoir. • Total de contrôle d ’en-tête (16 bits) : semblable à celui de IP • Pointeur de données urgentes (16 bits) : Communique la position d'une donnée urgente en donnant son décalage par rapport au numéro de séquence. Le pointeur doit pointer sur l'octet suivant la donnée urgente. Ce champs n'est interprété que lorsque URG est marqué. • Options (variables) : semblables à celles de IP.
Numéros de Sequence Host A ISN (initial sequence number) numéro de Sequence = 1er octet TCP HDR TCP Data Numéro de sequence Ack number = l’octet qui suit le dernier TCP HDR TCP Data Host B
Numéro de séquence: Le numéro dans le flux de données du premier octets de chaque segment Numéro ACKs: le num de seq du prochain octet qu’il attend de l’autre côté ACK cumulatif temps Numéro de séquence et d’accusé de réception TCP Hôte B Hôte A Utilisateur tappe ‘C’ Seq=42, ACK=79, data = ‘C’ Aquitte ‘C’, envoie ‘C’ Seq=79, ACK=43, data = ‘C’ Aquitte ‘C’, envoie ‘C’ Seq=43, ACK=80 Exemple de scénario Telnet
Seq=92 timeout temps TCP: scénarios de retransmission Hôte A Hôte B Hôte A Hôte B Seq=92, 8 octets de données Seq=92, 8 octets de données Seq=100, 20 octets de données ACK=100 timeout X ACK=100 ACK=120 lost Seq=92, 8 octets de données Sendbase = 100 Seq=92, 8 octets de données SendBase = 120 ACK=120 Seq=92 timeout ACK=100 SendBase = 100 SendBase = 120 déclanchement du Timeout temps Perte d’un accusé
TCP: scénarios de retransmission Hôte A Hôte B Seq=92, 8 octets de données ACK=100 Seq=100, 20 octets de données timeout X lost SendBase = 120 ACK=120 temps Accusé de réception cumulatif