PDA

Voir la version complète : C'est quoi TCP/IP ? À quoi ça sert ? Comment ça marche



benny
14/04/2013, 20h12
Beaucoup de gens passent la majorité de leur temps navigant sur le net sans connaitre les définitions de certains termes très importants, et moi parmi eux. Aujourd’hui je propose une petite leçon explicative que j’ai trouvée dans le net, des termes : TCP/IP



Note aux spécialistes de TCP/IP:
Par pitié ne m'inondez pas de mails pour me dire "C'est faux !" ou "C'est pas vrai dans tel cas !". JE SAIS.Je ne suis pas entré dans tous les cas particuliers pour ne pasembrouiller les explications. J'applique le KISS (Keep It SimpleStupid !).
Exemple: quand je dis que chaque ordinateur est identifié defaçon unique par une adresse IP, je ne veux pas partir dans les casparticuliers du NAT, des proxy, DHCP et autres.
Merci.

Si vous vous baladez sur Internet, vous avez dû, à un moment ou à un autre, entendre parler de TCP/IP. Qu'est-ce que c'est que cette bête ?Cette page est un peu longue, mais une fois terminée, vous aurez compris ce que sont IP, UDP, TCP et à quoi ils servent. TCP/IP est un protocole, c'est à dire des règles de communication.

IP


Commençons par IP (nous verrons TCP par la suite).


IP signifie Internet Protocol : littéralement "le protocole d'Internet". C'est le principal protocole utilisé sur Internet.
Internet signifie Inter-networks, c'est à dire "entre réseaux". Internet est l'interconnexion des réseaux de la planète.
Le protocole IP permet aux ordinateurs reliés à ces réseaux de dialoguer entre eux.



Faisons un parallèle avec la poste.Quand vous voulez envoyer une lettre par la poste:

vous placez votre lettre dans une enveloppe,
sur le recto vous inscrivez l'adresse du destinataire,
au dos, vous écrivez l'adresse de l'expéditeur (la votre).


http://sebsauvage.net/comprendre/tcpip/tcpip_env.gif
Ce sont des règles utilisées par tout le monde. C'est un protocole.Sur Internet, c'est à peu près la même chose:chaque message (chaque petit paquet de données) est enveloppé par IPqui y ajoute différentes informations:

l'adresse de l'expéditeur (votre adresse IP),
l'adresse IP du destinataire,

différentes données supplémentaires (qui permettent de bien contrôler l'acheminement du message).


http://sebsauvage.net/comprendre/tcpip/tcpip_encip.gif

L'adresse IP est une adresse uniqueattribuée à chaque ordinateur sur Internet (c'est-à-dire qu'il n'existepas sur Internet deux ordinateurs ayant la même adresse IP).

De même, l'adresse postale (nom, prénom, rue,numéro, code postal et ville) permet d'identifier de manière unique undestinataire. Tout comme avec l'adresse postale, il fautconnaître au préalable l'adresse IP de l'ordinateur avec lequel vousvoulez communiquer.L'adresse IP se présente le plus souvent sousforme de 4 nombres (entre 0 et 255) séparés par des points. Parexemple: 204.35.129.3

Le routage IP



Pour envoyer votre lettre, vous la postezdans la boîte aux lettres la plus proche. Ce courrier est relevé,envoyé au centre de tri de votre ville, puis transmis à d'autrescentres de tri jusqu'à atteindre le destinataire.
http://sebsauvage.net/comprendre/tcpip/tcpip_centres_tri.gif
C'est la même chose sur Internet !Vous déposez le paquet IP sur l'ordinateur leplus proche (celui de votre fournisseur d'accès en général). Le paquetIP va transiter d'ordinateur en ordinateur jusqu'à atteindre ledestinataire.
http://sebsauvage.net/comprendre/tcpip/tcpip_sautsip.gif




Les ports



Bien !Avec IP, nous avons de quoi envoyer et recevoir des paquets de données d'un ordinateur à l'autre.Imaginons maintenant que nous ayons plusieursprogrammes qui fonctionnent en même temps sur le même ordinateur: unnavigateur, un logiciel d'email et un logiciel pour écouter la radiosur Internet.Si l'ordinateur reçoit un paquet IP, comment savoir à quel logiciel donner ce paquet IP ?
http://sebsauvage.net/comprendre/tcpip/tcpip_apps5.gif

Comment savoir à quel logiciel est destiné ce paquet IP ?
Le navigateur, le logiciel de radio ou le logiciel d'email ?
C'est un problème sérieux !On pourrait attribuer un numéro unique à chaque logiciel dans l'ordinateur.Il suffirait alors de mettre ce numéro dans chaque paquet IP pour pouvoir s'adresser à tel ou tel logiciel.On appelle ces numéros des ports(pensez aux "portes" d'une maison: à une adresse donnée, on va pouvoirdéposer les lettres à différentes portes à cette adresse).
http://sebsauvage.net/comprendre/tcpip/tcpip_batiment.gif

Avec la poste, à une même adresse, on peut s'adresser
à différentes personnes en indiquant un numéro de porte.
http://sebsauvage.net/comprendre/tcpip/tcpip_apps6.gifDe même, à une même adresse IP, on peut s'adresser à différents logiciels
en précisant le numéro de port (ici: 3).
Ainsi, l'adresse IP permet de s'adresser à un ordinateur donné, et le numéro de port permet de s'adresser à un logiciel particulier sur cet ordinateur.

"Mais TCP/IP ?". On y vient, on y vient... patience.UDP/IP est un protocole qui permet justement d'utiliser des numéros de ports en plus des adresses IP (On l'appelle UDP/IP car il fonctionne au dessus d'IP).IP s'occupe des adresses IP et UDP s'occupe des ports. Avec le protocole IP on pouvait envoyer des données d'un ordinateur A à un ordinateur B.
http://sebsauvage.net/comprendre/tcpip/tcpip_comm2ord.gif
Avec UDP/IP, on peut être plus précis: on envoie des données d'une application x sur l'ordinateur A vers une application y sur l'ordinateur B.Par exemple, votre navigateur peut envoyer un message à un serveur HTTP (un serveur Web):
http://sebsauvage.net/comprendre/tcpip/tcpip_commcouches.gif


Chaque couche (UDP et IP) va ajouter ses informations.
Les informations de IP vont permettre d'acheminer le paquet à destination du bon ordinateur. Une fois arrivé à l'ordinateur en question, la couche UDP va délivrer le paquet au bon logiciel (ici: au serveur HTTP).
Les deux logiciels se contentent d'émettre et de recevoir des données ("Hello !"). Les couches UDP et IP en dessous s'occupent de tout.


Ce couple (199.7.55.3:1057, 204.66.224.82:80) est appelé un socket. Un socket identifie de façon unique une communication entre deux logiciels.




TCP



Bon... on peut maintenant faire communiquer 2 logiciels situés sur des ordinateurs différents.Mais il y a encore de petits problèmes:

Quand vous envoyez un paquet IP sur Internet, il passe par des dizaines d'ordinateurs. Et il arrive que des paquets IP se perdent ou arrivent en double exemplaire.
Ça peut être gênant : imaginez un ordre de débit sur votre compte bancaire arrivant deux fois ou un ordre de crédit perdu !
Même si le paquet arrive à destination, rien ne vous permet de savoir si le paquet est bien arrivé (aucun accusé de réception).
La taille des paquets IP est limitée (environ 1500 octets).
Comment faire pour envoyer la photo JPEG du petit dernier qui fait 62000 octets ? (la photo... pas le bébé).

C'est pour cela qu'a été conçu TCP.
TCP est capable:


de faire tout ce que UDP sait faire (ports).
de vérifier que le destinataire est prêt à recevoir les données.
de découper les gros paquets de données en paquets plus petits pour que IP les accepte
de numéroter les paquets, et à la réception de vérifier qu'ils sont tous bien arrivés, de redemander les paquets manquants et de les réassembleravant de les donner aux logiciels. Des accusés de réception sontenvoyés pour prévenir l'expéditeur que les données sont bien arrivées.


Par exemple, pour envoyer le message "Salut, comment ça va ?", voilà ce que fait TCP (Chaque flèche représente 1 paquet IP):


http://sebsauvage.net/comprendre/tcpip/tcpip_tcp.gif
A l'arrivée, sur l'ordinateur 204.66.224.82, la couche TCP reconstitue le message "Salut, comment ça va ?" à partir des 3 paquets IP reçus et le donne au logiciel qui est sur le port 80.




Pour conclure TCP/IP



Pas mal tout ça, hein ?Avec TCP/IP, on peut maintenant communiquer de façon fiable entre logiciels situés sur des ordinateurs différents.TCP/IP est utilisé pour des tas de choses:

Dans votre navigateur, le protocole HTTP utilise le protocole TCP/IP pour envoyer et recevoir des pages HTML, des images GIF, JPG et toutes sortes d'autres données.



FTP est un protocole qui permet d'envoyer et recevoir des fichiers. Il utilise également TCP/IP.



Votre logiciel de courrier électronique utilise les protocoles SMTP et POP3 pour envoyer et recevoir des emails. SMTP et POP3 utilisent eux aussi TCP/IP.



Votre navigateur (et d'autres logiciels) utilisent le protocole DNS (http://sebsauvage.net/comprendre/dns/index.html)pour trouver l'adresse IP d'un ordinateur à partir de son nom (parexemple, de trouver 216.32.74.52 à partir de 'www.yahoo.com'). Leprotocole DNS utilise UDP/IP et TCP/IP en fonction de ses besoins.


Il existe ainsi des centaines de protocoles différents qui utilisent TCP/IP ou UDP/IP.L'avantage de TCP sur UDP est que TCP permet des communications fiables. L'inconvénient est qu'il nécessite une négociation ("Bonjour, prêt à communiquer ?" etc.), ce qui prend du temps.

popov
15/04/2013, 22h48
court mais tres intuitive bon boulot .