• Forums
  • Tutoriels
  • Magazine
  • FAQs
  • Blogs
  • Projets
  • Chat
  • Newsletter
  • Études
  • Emploi
  • Club
  • Contacts
 
  • Accueil Actualités IT Pro
  • ALM Cycle de vie du logiciel
    • ALM
    • UML
    • Merise
  • Java Plateforme et langage Java
    • Java
    • Spring
    • Dév. Web Java
    • Android
    • Eclipse
    • NetBeans
  • .NET Microsoft Framework .NET
    • Microsoft DotNET
    • Visual Studio
    • ASP.NET
    • C#
    • VB.NET
    • Windows Phone
    • Windows Azure
  • Dév. Web Développement Web et Webmarketing
    • Développement Web
    • AJAX
    • Apache
    • ASP
    • CSS
    • Flash / Flex
    • JavaScript
    • PHP
    • Ruby & Rails
    • Web sémantique
    • Webmarketing
    • (X)HTML
  • EDI Environnements de Développement Intégré
    • EDI
    • 4D
    • Delphi
    • Eclipse
    • LabVIEW
    • NetBeans
    • MATLAB
    • Visual Studio
    • WinDev
    • Visual Basic 6
    • Lazarus
    • Qt Creator
  • Langages Langages de programmation applicatifs
    • Langages
    • Assembleur
    • C
    • C++
    • C#
    • Objective C
    • Pascal
    • Perl
    • Python
    • Visual Basic 6
    • VB.NET
    • XML
    • Autres
  • SGBD Systèmes de Gestion de Bases de Données
    • SGBD & SQL
    • 4D
    • Access
    • DB2
    • Firebird
    • InterBase
    • MySQL
    • NoSQL
    • Oracle
    • PostgreSQL
    • SQL-Server
    • Sybase
  • Office Bureautique pour l'entreprise
    • Microsoft Office
    • Access
    • Excel
    • Word
    • Outlook
    • PowerPoint
    • SharePoint
    • Microsoft Project
  • Solutions d'entreprise Autres logiciels pour l'entreprise
    • Solutions d'entreprise
    • Business Intelligence
    • ERP / PGI
    • CRM
    • SAS
    • Cloud Computing
    • SAP
    • Microsoft BizTalk Server
  • Applications Applications logicielles
    • Applications
    • 2D - 3D - Jeux
    • OpenOffice & LibreOffice
    • Projets
  • Mobiles Logiciels et matériels mobiles
    • Mobiles
    • Android
    • iOS
    • Windows Phone
  • Systèmes Logiciels et matériels systèmes
    • Systèmes
    • Windows
    • Linux Professionnel
    • Sécurité
    • PC
    • Mac
    • Réseau
    • Green IT
    • Virtualisation
    • Systèmes Embarqués
 
  • Systèmes
  • Windows
  • Linux
  • Sécurité
  • PC
  • Mac
  • Réseau
  • Green IT
  • Virtualisation
  • Systèmes Embarqués
 
 
Facebook
Twitter
RSS
  • Accueil Réseau
  • Forums Réseau
  • Cours Réseau
  • Livres Réseau
  • Rubrique IRC

Cours d'introduction à TCP/IP

Table des matièresPlier Déplier

  • Avant propos
    • 1. Avant-propos
      • 1.1. Historique des principaux changements
      • 1.2. Préface
  • Réseaux locaux
    • 2. Réseaux locaux
      • 2.1. Préambule
      • 2.2. Généralités - LAN
        • 2.2.1. Généralités
        • 2.2.2. Modèle de communication OSI
      • 2.3. Réseaux locaux
        • 2.3.1. Qu'est-ce qu'un LAN ?
        • 2.3.2. WAN - MAN
        • 2.3.3. Communications interréseaux
      • 2.4. Couche 2 - Liaison (Data Link)
        • 2.4.1. Caractéristiques d'Ethernet
          • 2.4.1.1. Quelques principes fondamentaux
          • 2.4.1.2. Format d'une « Frame Ethernet »
          • 2.4.1.3. Adresses IEEE 802.3 ou Ethernet
          • 2.4.1.4. Unicast, multicast et broadcast
        • 2.4.2. Différences Ethernet - 802.2/802.3
      • 2.5. Interconnexion - Technologie élémentaire
        • 2.5.1. Raccordement
          • 2.5.1.1. 10Base5
          • 2.5.1.2. 10Base2
          • 2.5.1.3. 10BaseT
          • 2.5.1.4. Fibre optique
          • 2.5.1.5. Conclusion
        • 2.5.2. Répéteur
        • 2.5.3. Concentrateur
        • 2.5.4. Ponts
        • 2.5.5. Commutateurs
        • 2.5.6. Passerelles - Routeurs
      • 2.6. Bibliographie
  • Introduction à IP
    • 3. Introduction à IP
      • 3.1. TCP/IP et l'Internet - Un peu d'histoire
      • 3.2. Caractéristiques de TCP/IP
      • 3.3. Comparaison TCP/IP - ISO
        • 3.3.1. Couche « Application Layer »
        • 3.3.2. Couche « Transport Layer »
        • 3.3.3. Couche « Internet Layer »
        • 3.3.4. Couche « Network Access »
      • 3.4. Encapsulation d'IP
      • 3.5. Bibliographie
  • Anatomie d'une adresse IP
    • 4. Anatomie d'une adresse IP
      • 4.1. Adressage IP
        • 4.1.1. Unicité de l'adresse
        • 4.1.2. Délivrance des adresses IPv4
      • 4.2. Anatomie d'une adresse IP
        • 4.2.1. Décomposition en classes
        • 4.2.2. Adresses particulières
        • 4.2.3. Sous-réseaux
        • 4.2.4. CIDR
        • 4.2.5. Précisions sur le broadcast
      • 4.3. Adressage multicast
        • 4.3.1. Adresse de groupe multicast
        • 4.3.2. Adresse multicast et adresse MAC
      • 4.4. Conclusion et bibliographie
  • Protocole IP
    • 5. Protocole IP
      • 5.1. Datagramme IP
        • 5.1.1. Structure de l'entête
        • 5.1.2. Network Byte Order
        • 5.1.3. Description de l'entête
        • 5.1.4. Fragmentation IP - MTU
          • 5.1.4.1. Fragmentation
          • 5.1.4.2. Réassemblage
      • 5.2. Protocole ARP
        • 5.2.1. Fonctionnement
        • 5.2.2. Format du datagramme
        • 5.2.3. Proxy ARP
      • 5.3. Protocole RARP
      • 5.4. Protocole ICMP
        • 5.4.1. Le système de messages d'erreur
        • 5.4.2. Format des messages ICMP
        • 5.4.3. Quelques types de messages ICMP
      • 5.5. Protocole IGMP
        • 5.5.1. Description de l'entête
        • 5.5.2. Fonctionnement du protocole
        • 5.5.3. Fonctionnement du Mbone
      • 5.6. Routage IP
        • 5.6.1. Table de routage
        • 5.6.2. Routage statique
          • 5.6.2.1. Algorithme de routage
        • 5.6.3. Routage dynamique
          • 5.6.3.1. RIP - « Routing Information Protocol »
          • 5.6.3.2. OSPF - « Open Shortest Path First »
        • 5.6.4. Découverte de routeur et propagation de routes
        • 5.6.5. Message ICMP « redirect »
        • 5.6.6. Interface de « loopback »
      • 5.7. Finalement, comment ça marche ?
      • 5.8. Conclusion sur IP
      • 5.9. Bibliographie
  • Protocole UDP
    • 6. Protocole UDP
      • 6.1. UDP - User Datagram Protocol
        • 6.1.1. Identification de la destination
        • 6.1.2. Description de l'entête
        • 6.1.3. Ports réservés - ports disponibles
          • 6.1.3.1. Attribution des ports « ancienne méthode »
          • 6.1.3.2. Attribution des ports « nouvelle méthode »
      • 6.2. Bibliographie
  • Protocole TCP
    • 7. Protocole TCP
      • 7.1. TCP - Transmission Control Protocol
        • 7.1.1. Caractéristiques de TCP
        • 7.1.2. Description de l'entête
      • 7.2. Début et clôture d'une connexion
        • 7.2.1. Établissement d'une connexion
        • 7.2.2. Clôture d'une connexion
          • 7.2.2.1. Clôture canonique
          • 7.2.2.2. Clôture abrupte
      • 7.3. Contrôle du transport
        • 7.3.1. Mécanisme de l'acquittement
        • 7.3.2. Fenêtres glissantes
      • 7.4. Compléments sur le fonctionnement de TCP
        • 7.4.1. Algorithme de Nagle
        • 7.4.2. Départ lent
        • 7.4.3. Évitement de congestion
      • 7.5. Paquets capturés, commentés
      • 7.6. Conclusion sur TCP
      • 7.7. Bibliographie
  • Routage dynamique d'IP
    • 8. Routage dynamique d'IP
      • 8.1. Introduction et rappels
        • 8.1.1. IGP, EGP, Système autonome
        • 8.1.2. Vecteur de distances vs État de liens
      • 8.2. Routage avec RIP
        • 8.2.1. En fonctionnement
          • 8.2.1.1. Horizon partagé ou Split horizon
          • 8.2.1.2. Mises à jour déclenchées ou Triggered updates
        • 8.2.2. Le protocole RIPv1 vs RIPv2
        • 8.2.3. Algorithme Bellman-Ford
          • 8.2.3.1. Métrique
        • 8.2.4. Conclusion
          • 8.2.4.1. Points forts
          • 8.2.4.2. Points faibles
      • 8.3. Routage avec OSPF
        • 8.3.1. Grandes lignes de fonctionnement
        • 8.3.2. RIP vs OSPF
        • 8.3.3. Principe de propagation des états
          • 8.3.3.1. Valeur des états de liens
        • 8.3.4. Calcul du plus court chemin
        • 8.3.5. Hiérarchie de routeurs
        • 8.3.6. Fonctionnement à l'intérieur d'une zone
          • 8.3.6.1. Voisinage et adjacence
        • 8.3.7. Protocole HELLO
          • 8.3.7.1. Cinq types de paquets
          • 8.3.7.2. Entête standard des paquets OSPF
          • 8.3.7.3. Entête des paquets HELLO
      • 8.4. Bibliographie
  • Éléments de réseaux
    • 9. Éléments de réseaux
      • 9.1. Hôtes ou services virtuels
      • 9.2. Tunnel IP
        • 9.2.1. Tunnel IP avec l'interface gif
        • 9.2.2. IPsec et VPN
          • 9.2.2.1. IPsec dans quel but ?
          • 9.2.2.2. IPsec en résumé
          • 9.2.2.3. Comment utiliser IPsec ?
          • 9.2.2.4. Implémentation d'IPsec
      • 9.3. Proxy
      • 9.4. Translation d'adresses
        • 9.4.1. NAPT sur un routeur de type PC avec natd
          • 9.4.1.1. Interactions entre natd et le noyau
        • 9.4.2. Translation d'adresses vers le réseau privé
        • 9.4.3. NAPT sur un routeur CISCO
      • 9.5. Filtrage IP
        • 9.5.1. Filtrage IP sur un routeur CISCO
        • 9.5.2. Le cas d'ipfw de FreeBSD
      • 9.6. Exemple complet
      • 9.7. Bibliographie
  • Serveur de noms - DNS
    • 10. Serveur de noms - DNS
      • 10.1. Généralités sur le serveur de noms
        • 10.1.1. Bref historique
        • 10.1.2. Système hiérarchisé de nommage
          • 10.1.2.1. Domaine & zone
          • 10.1.2.2. Hiérarchie des domaines
      • 10.2. Fonctionnement du DNS
        • 10.2.1. Convention de nommage
          • 10.2.1.1. « Completion »
        • 10.2.2. Le « Resolver »
        • 10.2.3. Stratégie de fonctionnement
          • 10.2.3.1. Interrogation locale
          • 10.2.3.2. Interrogation distante
          • 10.2.3.3. Interrogation par « procuration »
        • 10.2.4. Hiérarchie de serveurs
        • 10.2.5. Conversion d'adresses IP en noms
        • 10.2.6. Conclusion
      • 10.3. Mise à jour dynamique
      • 10.4. Sécurisation des échanges
        • 10.4.1. TSIG/TKEY pour sécuriser les transferts
          • 10.4.1.1. TSIG
          • 10.4.1.2. TKEY
        • 10.4.2. DNSSEC pour sécuriser les interrogations
      • 10.5. Attaque DNS par amplification
      • 10.6. Format des « Resource Record »
        • 10.6.1. RR de type SOA
        • 10.6.2. RR de type NS
        • 10.6.3. RR de type A
        • 10.6.4. RR de type PTR
        • 10.6.5. RR de type MX
        • 10.6.6. RR de type CNAME
        • 10.6.7. Autres RR.
      • 10.7. BIND de l'ISC
        • 10.7.1. Architecture du daemon « named »
      • 10.8. Bibliographie
  • Courrier électronique
    • 11. Courrier électronique
      • 11.1. Généralités sur le courrier électronique
        • 11.1.1. Métaphore du courrier postal - L'enveloppe
        • 11.1.2. Adresse électronique
      • 11.2. Format d'un « E-mail » - RFC 822
        • 11.2.1. Quelques champs couramment rencontrés dans les entêtes
      • 11.3. Protocole SMTP - RFC 821
        • 11.3.1. Protocole SMTP
        • 11.3.2. Principales commandes de SMTP
          • 11.3.2.1. Commande HELO
          • 11.3.2.2. Commande MAIL
          • 11.3.2.3. Commande RCPT
          • 11.3.2.4. Commande DATA
          • 11.3.2.5. Commande QUIT
        • 11.3.3. Propagation du courrier électronique
        • 11.3.4. Courriers indésirables - Le spam
          • 11.3.4.1. Caractériser le spam
          • 11.3.4.2. Éviter le spam
      • 11.4. Exemple de MTA - « Sendmail » et son environnement
        • 11.4.1. Relations avec le DNS
        • 11.4.2. Relations avec le système d'exploitation
        • 11.4.3. Le cas de POP
        • 11.4.4. Le cas de IMAP
      • 11.5. Configuration du Sendmail
        • 11.5.1. Configuration à l'aide de M4
        • 11.5.2. Configuration manuelle
          • 11.5.2.1. Règles de réécriture
          • 11.5.2.2. Exemple de sortie de debug
      • 11.6. Bibliographie
  • Instrumentalisation de réseaux avec SNMP
    • 12. Instrumentalisation de réseaux avec SNMP
      • 12.1. Nécessité d'un outil
        • 12.1.1. Problématique de l'ISO
        • 12.1.2. Système de gestion de réseau
        • 12.1.3. SNMP - Simple Network Management Protocol
        • 12.1.4. Historique du protocole SNMP
        • 12.1.5. Vocabulaire et architecture
        • 12.1.6. Différentes versions
          • 12.1.6.1. Trois composantes pour SNMP
          • 12.1.6.2. Conclusion
      • 12.2. SMI - Structure of Management Information
      • 12.3. MIB - Management Information Base
        • 12.3.1. OID - Objet Identifier
        • 12.3.2. Types de données élémentaires
      • 12.4. La MIB-2
      • 12.5. Protocole SNMP
        • 12.5.1. Communauté
        • 12.5.2. PDU
        • 12.5.3. SNMPv3
      • 12.6. L'outil NET-SNMP
        • 12.6.1. s nmptranslate
        • 12.6.2. s nmpget
        • 12.6.3. s nmpgetnext
        • 12.6.4. s nmpwalk
        • 12.6.5. s nmptable
        • 12.6.6. s nmpset
        • 12.6.7. Approche graphique
      • 12.7. Glossaire des acronymes SNMP
      • 12.8. Liens & bibliographie
  • Généralités sur les sockets de Berkeley
    • 13. Généralités sur les sockets de Berkeley
      • 13.1. Généralités
      • 13.2. Présentation des sockets
      • 13.3. Étude des primitives
        • 13.3.1. Création d'une socket
          • 13.3.1.1. Valeur retournée par socket
        • 13.3.2. Spécification d'une adresse
          • 13.3.2.1. Spécification d'un numéro de port
          • 13.3.2.2. Spécification d'une adresse IP
          • 13.3.2.3. La primitive bind
          • 13.3.2.4. Les structures d'adresses
          • 13.3.2.5. Valeur retournée par bind
        • 13.3.3. Connexion à une adresse distante
          • 13.3.3.1. Mode connecté
          • 13.3.3.2. Mode datagramme
          • 13.3.3.3. Valeur retournée par connect :
        • 13.3.4. Envoyer des données
          • 13.3.4.1. Envoi en mode connecté
          • 13.3.4.2. Envoi en mode datagramme
        • 13.3.5. Recevoir des données
          • 13.3.5.1. Reception en mode connecté
          • 13.3.5.2. Recevoir en mode datagramme
        • 13.3.6. Spécifier une file d'attente
        • 13.3.7. Accepter une connexion
        • 13.3.8. Terminer une connexion
      • 13.4. Schéma général d'une session client-serveur
      • 13.5. Exemples de code « client »
        • 13.5.1. Client TCP « DTCPcli »
        • 13.5.2. Client UDP « DUDPcli»
      • 13.6. Conclusion et Bibliographie
  • Compléments sur les sockets Berkeley
    • 14. Compléments sur les sockets Berkeley
      • 14.1. Réservation des ports
        • 14.1.1. Réservation de port - Ancienne méthode
        • 14.1.2. Réservation de port - Nouvelle méthode
      • 14.2. Ordre des octets sur le réseau
      • 14.3. Opérations sur les octets
      • 14.4. Conversion d'adresses
        • 14.4.1. Conversion d'adresse - IPv4 seul
        • 14.4.2. Conversion d'adresse - Compatible IPv4 et IPv6
      • 14.5. Conversion hôte - adresse IPv4
        • 14.5.1. Une adresse IP à partir d'un nom d'hôte
        • 14.5.2. Un nom d'hôte à partir d'une adresse IP
      • 14.6. Conversion N° de port – service
        • 14.6.1. Le numéro à partir du nom
        • 14.6.2. Le nom à partir du numéro
      • 14.7. Getaddrinfo, pour IPv4 et IPv6
        • 14.7.1. La fonction getaddrinfo
          • 14.7.1.1. Prototype de getaddrinfo
          • 14.7.1.2. Description des arguments
          • 14.7.1.3. La structure addrinfo
          • 14.7.1.4. En résumé
          • 14.7.1.5. Exemple d'usage à la place de gethostbyname
          • 14.7.1.6. Exemple d'usage à la place de getservbyname
          • 14.7.1.7. En résumé
      • 14.8. Conversion nom de protocole - N° de protocole
      • 14.9. Diagnostic
      • 14.10. Exemples de mise en application
        • 14.10.1. Ancienne méthode (usage de gethostbyname)
        • 14.10.2. Nouvelle méthode (usage de getaddrinfo)
      • 14.11. Conclusion et bibliographie
  • Éléments de serveurs
    • 15. Éléments de serveurs
      • 15.1. Type de serveurs
        • 15.1.1. Serveurs itératif et concourant
        • 15.1.2. Le choix d'un protocole
          • 15.1.2.1. Mode connecté
          • 15.1.2.2. Mode datagramme
        • 15.1.3. Quatre modèles de serveurs
      • 15.2. Technologie élémentaire
        • 15.2.1. Gestion des « tâches esclaves »
        • 15.2.2. fork, vfork et rfork
        • 15.2.3. Processus légers, les « threads »
        • 15.2.4. Programmation asynchrone
        • 15.2.5. La primitive select
        • 15.2.6. La primitive poll
      • 15.3. Fonctionnement des daemons
        • 15.3.1. Programmation d'un daemon
        • 15.3.2. Daemon syslogd
        • 15.3.3. Fichier syslog.conf
        • 15.3.4. Fonctions syslog
      • 15.4. Exemple de « daemon » inetd
        • 15.4.1. Présentation de inetd
      • 15.5. Exemple de code serveur
        • 15.5.1. Guide de lecture du source serv2prot.c
      • 15.6. Bibliographie
  • Anatomie d'un serveur Web
    • 16. Anatomie d'un serveur Web
      • 16.1. Le protocole HTTP
        • 16.1.1. Exemple d'échange avec HTTP
        • 16.1.2. Structure d'un échange
      • 16.2. URI et URL
        • 16.2.1. Scheme HTTP
      • 16.3. Architecture interne du serveur Apache
        • 16.3.1. Environnement d'utilisation
        • 16.3.2. Architecture interne
          • 16.3.2.1. Gestion des processus
          • 16.3.2.2. Prise en main des requêtes
          • 16.3.2.3. Deux types de CGI
      • 16.4. Principe de fonctionnement des CGI
        • 16.4.1. CGI - Méthode GET, sans argument
        • 16.4.2. CGI - Méthode GET, avec arguments
        • 16.4.3. CGI - Méthode POST
        • 16.4.4. Écriture d'une CGI en Perl
      • 16.5. Conclusion - Bibliographie
  • Annexes
    • 17. Annexes
      • 17.1. Programme serv2prot.c
      • 17.2. Remerciements Developpez

Ce cours n'est pas un cours général sur les réseaux, mais une présentation minimale de cette technologie pour pouvoir aborder le cours de concepts et programmation TCP/IP sous UNIX. TCP/IP est le protocole le plus répandu dans le monde grâce à l'Internet. En 1980, il ne comptait que quelques dizaines d'hôtes, en juin 1996 ce nombre était de 12 millions de machines, réparties en près de 500 000 réseaux (par comparaison, en février 1995, les mêmes chiffres étaient 4 850 000 machines pour plus de 71 000 réseaux locaux).

N'hésitez pas à commenter ce document ! Commentez Donner une note à l'article (5)

Lire l'article.

Article lu   fois.

L'auteur

François Laissus Site personnel

L'article

Publié le 25 février 2009 - Mis à jour le 9 avril 2013 

Public visé : tout le monde

Version en ligne

Version PDF Version hors-ligne

ePub , Azw et Mobi

Lire l'article

Liens sociaux

Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 

suivant
  

Copyright © 2009 François Laissus. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cette page est déposée.

 
 

Responsable bénévole de la rubrique Réseau : le Rédacteur en Chef -

 
 
Developpez.com

Nous contacter

Participez

Informations légales

 
Services

Forum Réseau

Blogs

Hébergement

 
Partenaires

Hébergement Web

Copyright © 2000-2013 - www.developpez.com