OVH Cloud OVH Cloud

Couches OSI et protocoles

71 réponses
Avatar
Zouplaz
Bonjour, dans le cadre de mes études je suis en train de potasser un
bouquin "TCP/IP" (MacMillan).

C'est super intéressant mais il me manque un point d'accroche. J'ai besoin
de déterminer avec précision quelles couches sont concernées (englobées ?)
par certains protocoles.

Par exemple, PPP (et ses dérivés PPPoE, PPPoA, et d'autres surement).
J'ai du mal à déterminer à quel niveau ils se situent.

Ce que je cherche (on y arrive) : un site web expliquant clairement à quel
niveau de la norme ISO se situe tel ou tel protocole.

Idem pour SLIP, CSLIP, PPTP, etc etc... J'ai vraiment du mal à les situer.
Contrairement à des protocoles de "haut niveau" comme ftp,smtp,telnet...

Je pourrais aussi citer ssh... Le forwarding de ports en ssh me trouble.
Dans le cas de ssh, ou se situe-t-il ? Par exemple, on peut imaginer une
session pop3 au travers d'un tunnel ssh... Donc ssh jouerait sur les
couches inférieures (puisque c'est totalement transparent pour le client
pop3)...

Etc etc j'en ai plein d'autres

Je ré-itère (suis confu ce soit, j'ai un peu arrosé un repas ;)) : un site
mettant en relation les protocoles les plus courants et leur position dans
l'architecture OSI.

Merci !!!

Ouf... J'y suis arrivé !!

10 réponses

Avatar
Pierre LALET
Je ne sais pas si tu le sais, mais le modèle OSI est tellement bien
normalisé, qu'on a même des sortes d'exemples de protocoles, comme
(j'espère ne pas dire de bêtise) ASN.1 pour la couche Presentation.

Donc deja de base on sort completement du modele quand on dit que tel
service internet est sur les couches 5-6-7.

Mais ce que je veux dire c'est que le modele OSI forme reellement un
tout et n'a pas ete fait pour faire de l'encapsulation de basses
couches.

En gros comme si on avait ethernet, TCP/IP, telnet au dessus et point
final. Pas des sortes de proxy, des triturations d'encapsulations, et
autres.

C'est un protocole decrit de A a Z, dont les couches sont
interchangeables il est vrai, mais chacune faisant tranquillement sa
fonction sans qu'il soit question d'un quelconque point de vue.


OSI dont tu parles est mort ! (si j'ai bien compris, il y a eu un moment
ou on a du choisir entre OSI et TCP/IP pour les communications, et OSI
coutait trop cher [désolé si je dis une connerie])

Tout ce qu'il en reste, c'est un modèle conceptuel, et c'est tout. Et ce
modèle, il me va *très* bien pour décrire les encapsulations. Je ne lui
demande *rien* de plus.

C'est pour cela que ca me choque un peu le fait de ramner du ssh a du
niveau 3 alors qu'il est deja transporte par TCP/IP.


Mais je ne ramène rien du tout ! Ssh est une application, et il se
trouve qu'il peut permettre de fournir un service de niveau 4 (quand il
forwarde du TCP), et même un service de niveau 1 (quand on s'en sert
comme liaison série pour faire du PPP). Cela ne change pas que sur la
liaison de départ, ssh occupe les couches 5 à 7. Mais avec cette
application on peut repartir et faire une nouvelle couche OSI.

Mais alors comparer au modele OSI n'est plus possible.
Ou alors on cree un modele completement different avec un nombre de
macro-couches infinies, chaques couches etant divisees en 7 couches
assimilees aux couches du modeles OSI. Où changer de "point de vue"
revient à changer de macro-couche.


Si tu veux, mais cela complique le modèle sans rendre plus facile la
compréhension, donc c'est pour le moins inutile, à mon sens.

Et là, je suis d'accord. :-)
(ouf, the end or not ?)


Peut-être bien... à mon avis on est sur la bonne voie.

Mais je suis quand même obligé de mettre un "X-Troll: no" pour que les
gens comprennent que ce n'est *pas* un troll ;-)

pierre

--
Pierre LALET
-- http://www.enseirb.fr/~lalet
Clé publique PGP : http://www.enseirb.fr/~lalet/pierre_lalet.asc
Empreinte de la clé : B6B8 0F89 2220 DF8B 0F3B C0C0 773E 15E6 A878 FC7E

Avatar
Pierre LALET
Bon, plus exactement, la couche 4 s'occupe du bon acheminement entre
deux entités de sessions, ou faire un multiplexage des sessions.
C'est la notion de "port" dans UDP.


Donc en fait il y a plusieurs boulots, et ils peuvent être faits par
des gens différents.



On sort de plus en plus du modele OSI...


Bein non, pas au sens où il faut le prendre maintenant, c'est-à-dire un
modèle conceptuel.

Hein ?
IPsec remplace IP en soit.
Et pas IP transporte IPsec.


Hein ? (à mon tour ;-) )

Enfin c'est plus compliqué : dans IPv6, on peut choisir IP ou IPsec en
guise de couche 3, mais on a pas l'une qui transporte l'autre.


Ah bon. Et dans IPv4 ?

Bon, je propose SSL + TCP est de couche 4, comme TCP.



Ouais, une sorte de fusion des deux a la rigueur (ou mini-surcouche
entre TCP et SSL !).
Mais franchement on s'ecarte de plus en plus du modele OSI auquel tu
tiens tant a te raccrocher.
Tiens, deja sachant que TCP s'occupe de gerer une connexion, alors que
normalement c'est un des boulots de la couche Session (5)...


Bein voir mon autre post. pour moi, ce modèle est conceptuel, et c'est
tout. Ca aide à mieux voir ce qui se passe.

pierre

--
Pierre LALET
-- http://www.enseirb.fr/~lalet
Clé publique PGP : http://www.enseirb.fr/~lalet/pierre_lalet.asc
Empreinte de la clé : B6B8 0F89 2220 DF8B 0F3B C0C0 773E 15E6 A878 FC7E



Avatar
Vincent Hiribarren
Pierre LALET writes:

Et dans la maniere dont toi tu te connectes habituellement, le PPP
transportant ces paquets TCP/IP, PPP passant par une connexion ssh qui
elle meme est sur du tcp/ip passant sur du ethernet, tu le mets où
dans le modele OSI ?


J'accepte le fait qu'un service soit vu différemment selon le point de
vue adopté.


Bon on avance.
Je ne sais pas si tu le sais, mais le modèle OSI est tellement bien
normalisé, qu'on a même des sortes d'exemples de protocoles, comme
(j'espère ne pas dire de bêtise) ASN.1 pour la couche Presentation.

Donc deja de base on sort completement du modele quand on dit que tel
service internet est sur les couches 5-6-7.

Mais ce que je veux dire c'est que le modele OSI forme reellement un
tout et n'a pas ete fait pour faire de l'encapsulation de basses
couches.

En gros comme si on avait ethernet, TCP/IP, telnet au dessus et point
final. Pas des sortes de proxy, des triturations d'encapsulations, et
autres.

C'est un protocole decrit de A a Z, dont les couches sont
interchangeables il est vrai, mais chacune faisant tranquillement sa
fonction sans qu'il soit question d'un quelconque point de vue.

C'est pour cela que ca me choque un peu le fait de ramner du ssh a du
niveau 3 alors qu'il est deja transporte par TCP/IP.

Bein non, je trouve qu'il est assez bien adapté. Il n'est certes pas
parfait, mais il est bien pratique. Le tout est d'accepter de changer
de point de vue.


Mais alors comparer au modele OSI n'est plus possible.
Ou alors on cree un modele completement different avec un nombre de
macro-couches infinies, chaques couches etant divisees en 7 couches
assimilees aux couches du modeles OSI. Où changer de "point de vue"
revient à changer de macro-couche.

Et là, je suis d'accord. :-)
(ouf, the end or not ?)


Avatar
Pierre LALET

Ah non, stop ! PPPoE et PPP sont transportés physiquement par les mêmes
fils (sur un bout de chemin), mais sans suivre le même protocole, et ils
ne s'empiètent pas l'un sur l'autre. Ils sont *à côté*.



Donc PPPoE niveau 2, avec comme niveau 1 Ethernet, puis le réseau
téléphonique (mais avec des fraquences distinctes de celles utilisées
par le premier PPP). Tiens, au passage, ce PPPoE circule pendant un
moment au dessus d'ethernet, lui même de niveau 2.



Au-delà de la modulation électrique, l'ADSL, à la base, c'est de l'ATM
(couche ?), avec au-dessus AAL5 (ATM Adaptation Layer 5, donc couche 5
déjà), qui permet d'encapsuler tout un tas de protocoles. Si on utilise
PPPoE, le protocole encapsulé sur AAL5 est ethernet. Ensuite, PPPoE est
transporté sur cet ethernet, mais le modem, lui, n'est pas concerné par
PPPoE : il transforme de l'ethernet "physique" en ethernet encapsulé sur
AAL5 et vice versa. On pourrait aussi bien transporter directement de
l'IP au lieu de PPPoE, ou tout autre protocole passant sur ethernet.
Mais il se trouve qu'à l'autre bout, l'équipement ne comprend que PPPoE.


Ah bon, je coyais que PPPoE c'était juste pour communiquer avec le modem
ethernet. Donc merci.

Sinon, ATM, c'est niveau 2.

Donc, accès internet en ADSL, c'est :

IP sur PPPoE sur ethernet sur AAL5 sur ATM sur ADSL. Ouf !

Et notez bien que l'existence des trames ethernet, sous forme physique
ou encapsulée, perdure tout le long du lien ADSL, et même au-delà :
jusqu'à l'AC (Access Concentrator), c'est-à-dire le BAS chez FT.


PPP -> PPPoE


Non, ils sont *à côté* l'un de l'autre. La preuve, si tu en coupes un,
tu n'affectes pas l'autre.



Ça dépend si on parle du PPP passant par le modem RTC ou du PPP
transporté par PPPoE. PPPoE est une version modifiée de PPP pour lui
permettre de passer par une liaison ethernet. Sous Linux, pppd se sert
de rp-pppoe pour gérer cette particularité, mais c'est toujours pppd qui
gère la partie PPP classique (LCP, NCP...)


Oui, il y eu une confusion entre processus pppd / pppoe et protocole PPP
/ PPPoE.

Ici c'est le démon PPTP qui va lancer PPP (cette fois ci en tant que
"serveur" je suppose)...

J'ai donc :
PPTP -> PPP -> PPPoE ???


non. Au sens strict, tu as PPTP (niveau 2) au dessus de TCP (il me
semble -- niveau 4,



La connexion TCP mise en place dans le protocole PPTP ne sert que pour
le contrôle, pas pour le transport. Le transport est assuré par un
tunnel GRE (protocole IP 47).


Dont acte. Donc PPTP au dessus de GRE au dessus d'IP. GRE... quelle
couche ? ;-)

mais vu comme une simple liaison série, niveau 1,
par le PPP de PPTP). TCP est lui même au dessus d'IP (niveau 3), lui
même au dessus du PPP (ou PPPoE, ça dépend si tu utilises ton lien RTC
ou ADSL pour cette connexion -- niveau 2).



PS: je poste cet article à travers une connexion NNTP sur TCP relayée
par SSH passant par un accès ADSL avec PPPoE ;o)


Pfff... j'ai l'air de quoi avec mon NNTP sur IP sur ethernet tout le
long, moi ?

Ah non, pas là en fait. Là je poste avec NNTP sur IP. IP étant
transporté par deux liaisons ssh (sur IP sur ethernet, mais passons)
jusqu'à un routeur qui renvoie ça en ppp (sur ssh sur IP sur ethernet)
avec à l'autre bout... un Slirp (une émulation de PPP/SLIP qui reforge
les paquets qu'elle reçoit à partir de primitives connect()).

Et il suffirait que je me branche sur un autre port du switch, pour que
je passe tout directement en NNTP sur IP sur ethernet. Mais après c'est
trop simple.


pierre

--
Pierre LALET
-- http://www.enseirb.fr/~lalet
Clé publique PGP : http://www.enseirb.fr/~lalet/pierre_lalet.asc
Empreinte de la clé : B6B8 0F89 2220 DF8B 0F3B C0C0 773E 15E6 A878 FC7E



Avatar
Vincent Hiribarren
Pierre LALET writes:

Je ne veux pas etre de mauvaise fois, mais ssh est fait pour etre
transporte par du TCP/IP, si tu enleves ca ca n'est plus du ssh.
On retombe sur un modele point a point apparemment, ce qui change
tout.


Si. Le principe d'indépendance des couches fait que je peux envisager
de faire passer du ssh dans autre chose que le sacro-saint
TCP-au-desus-d'IP, et que cela va rester du ssh.


Oui mais ta liaison serie est du point a point. TCP/IP interconnecte
des reseaux. Enfin bon, on va pas s'arracher les yeux dessus.

Bon, plus exactement, la couche 4 s'occupe du bon acheminement entre
deux entités de sessions, ou faire un multiplexage des sessions.
C'est la notion de "port" dans UDP.


Donc en fait il y a plusieurs boulots, et ils peuvent être faits par
des gens différents.


On sort de plus en plus du modele OSI...

Non. SSL est transporté par TCP.
Apres il y a la cas particulier de IPsec mais la oui on touche
explicitement a la couche 3.


Donc, on peut transporter au dessus d'une couche 3 un serice de couche 3.


Hein ?
IPsec remplace IP en soit.
Et pas IP transporte IPsec.

Enfin c'est plus compliqué : dans IPv6, on peut choisir IP ou IPsec en
guise de couche 3, mais on a pas l'une qui transporte l'autre.

Bon, je propose SSL + TCP est de couche 4, comme TCP.


Ouais, une sorte de fusion des deux a la rigueur (ou mini-surcouche
entre TCP et SSL !).
Mais franchement on s'ecarte de plus en plus du modele OSI auquel tu
tiens tant a te raccrocher.
Tiens, deja sachant que TCP s'occupe de gerer une connexion, alors que
normalement c'est un des boulots de la couche Session (5)...

[Snip le reste, répondu dans une autre contribution]


Avatar
Vincent Hiribarren
Zouplaz writes:

Arf, j'ai 4 mois pour être à l'aise avec tout ça sinon chuis mort !! ;-)


Mais non.
Je répète : le modèle OSI n'est qu'un modèle.
Une sorte de guide.

Dans la pratique, on a quoi ?
Le modèle Internet créé avant le modèle OSI basé sur un modèle à 4
couches.
Un modèles ATM basé sur un plan de gestion, un plan utilisateur, un
plan de contrôle avec 4 couches découpées d'une manière me faisant mal
à la tête.

Et tu veux avoir un collage sans faille de tout ca ?

Mettre par exemple du PPPoA avec de l'Internet est coller ca sur OSI ?
Alors déjà que tous ces modèles sont complètements différents, alors
si en plus tu les faits cohabiter... :-)

Donc ne te casse pas la tete.

Connais les differentes fonctionnalités des diverses couches OSI.
Sache a quoi c'est "equivalent" dans les autres modeles.
Et ne t'embete pas avec les histoire d'encapsulation de
sous-protocoles car tu sors completment du modele.

Meme les specialistes discutent sans fin et ne sont pas toujours
d'accord de la maniere dont on colle IP sur le modèle OSI.

Avatar
Pierre LALET
C'est un rajout et pas une composante a part entiere du protocole
comme pour IPv6.


Certes, mais ça existe.

Apres j'en sais fichtre rien pour IPv4. Mais fatalement ca fait
tripatouiller OSI dans tous les sens je suppose.


Bof... IPSec est encapsulé dans IP. On tripatouille pas plus que pour le
reste. C'est-à-dire qu'on a une couche 3 assurée par IPSec + IP, de même
qu'on peut avoir une couche 4 assurée par SSL + TCP.

pierre

--
Pierre LALET
-- http://www.enseirb.fr/~lalet
Clé publique PGP : http://www.enseirb.fr/~lalet/pierre_lalet.asc
Empreinte de la clé : B6B8 0F89 2220 DF8B 0F3B C0C0 773E 15E6 A878 FC7E

Avatar
Annie D.

Je sais bien que "la couche d'un protocole se définit par les services
qu'il propose, pas en ajoutant 1 au numéro de la couche sur laquelle il
s'appuie". Relis mes posts, c'est pour ça que j'ai écrit "si on suit ton
raisonnement,...".

Tu dis ici exactement ce que j'essaie de faire comprendre à Vincent,


Voui, j'ai profité de cet article pour répondre à vous deux.

Donc on peut dire alors que ssh fait le travail
d'une partie de TCP sur un bout du chemin


Quelle partie ? Il récupère les données d'une connexion et les renvoie
sur une autre. C'est une sorte de proxy.

Donc il fournit plutôt des services de
niveau 4 ? Enfin, dans tous les cas, ssh est capable de fournir des
services de niveau 3 ou 4, selon comment il fait le travail, et c'est
sans doute 4.


En fait, en suivant ce fil, je crois comprendre que TCP et couche 4 du
modèle ISO sont loin de se recouvrir. Or si je pense avoir une assez
bonne idée de ce que fait TCP (transporter de façon fiable un flux
d'octets d'un point à un autre), je ne sais pas quels sont les fonctions
de la couche 4. Je n'ai jamais étudié les réseaux, moi !

Exactement comme SSL, qui bien qu'encapsulé dans du TCP, fournit des
services de niveau 4.


Vous faites bien de le signaler, je ne l'aurais jamais pensé. A ma
connaissance, en pratique SSL est géré directement par les applications
(serveur et client web pour HTTPS par exemple). Du coup, je l'aurais
placé plus haut, très près de la couche applicative.

Avatar
Vincent Hiribarren
Pierre LALET writes:

Enfin c'est plus compliqué : dans IPv6, on peut choisir IP ou IPsec en
guise de couche 3, mais on a pas l'une qui transporte l'autre.


Ah bon. Et dans IPv4 ?


C'est un rajout et pas une composante a part entiere du protocole
comme pour IPv6.
Apres j'en sais fichtre rien pour IPv4. Mais fatalement ca fait
tripatouiller OSI dans tous les sens je suppose.


Avatar
Zouplaz
Vincent Hiribarren - :


Donc ne te casse pas la tete.

Connais les differentes fonctionnalités des diverses couches OSI.
Sache a quoi c'est "equivalent" dans les autres modeles.
Et ne t'embete pas avec les histoire d'encapsulation de
sous-protocoles car tu sors completment du modele.

Meme les specialistes discutent sans fin et ne sont pas toujours
d'accord de la maniere dont on colle IP sur le modèle OSI.



Rien qu'à voir ce fil effectivement ça tourne vite au casse tête.

Je pense que je vais suivre ton conseil (si je l'ai bien compris) : avoir
une vision claire du modèle OSI (ça ça va à peu près) et en apprendre assez
sur les différents protocoles, surtout les "bas niveau" (PPPx, GRE et cie)
car ce sont ceux là que je connais le plus mal (s'en servir est une chose
savoir en parler en est une autre)...