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

1 2 3 4 5
Avatar
Pierre LALET
Pierre LALET writes:


Il ne transporte pas TCP. C'est TCP qui transporte ssh.
Les ACK et autres, c'est ssh qui le fait pour toi ???


ssh est transporté par un lien TCP, et est capable de faire du forward
TCP, donc capable de transporter du TCP. Il **fournit** donc un
service qui transporte un protocole de niveau 4, pour moi il
**fournit** donc un service de niveau 3.



Tu ne te places pas dans un contexte réseau.
Qu'est-ce qui va faire que ton paquet TCP encapsulé dans SSH va etre
tranporté ? Ben c'est les paquets IP/TCP en dessous de SSH. Et pas du
tout SSH qui ne sera compris qu'a l'arrivé par le serveur ou le client
ssh (hors d'un contexte réseau donc puisque le paquet est arrivé à
destination), meme si c'est un paquet TCP qui est transporté. Ce
dernier pourra etre reenvoyé par la suite, mais c'est un autre
cheminement que le précédent.

C'est la lettre exterieure qui compte, et pas la lettre dans la
lettre.


Pourquoi ??? Donne des arguments.

Je ne vois pas pourquoi "c'est la lettre exterieure qui compte". Peu
importe comment ssh fait le travail (ici en le mettant dans une autre
enveloppe), par contre, c'est le travail qu'il fait qui compte. Et il
fait une partie du boulot de TCP sur une partie du chemin.

Quand on met du ppp dans du ssh, on peut dire que ssh est alors une
liaison série, et ce qu'il fournit à ppp, c'est juste un service de
niveau 1. Peu importe comment il le fournit.

Ben si, en dessous tu as deja de l'IP et du TCP.
C'est ce qui fait que Ssh ne peut pas etre de niveau 3.


Bein non. Ce n'est pas un argument valide à mon sens. Ce qui compte,
comme l'a dit Annie, "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".

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
"Annie D." writes:


Outre le fait que je ne pense pas que SSH transporte TCP, 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. Par exemple, tous les
PPP sur quelque chose (oE, oA, PPTP, tunnel L2TP...) sont de couche 2,
même s'ils sont encapsulés dans un protocole de couche 2, 3 ou plus.



C'est mieux explique que moi, et c'est ce que je voulais exprimer.


Non, ce n'est pas ce que tu dis, c'est le contraire : "tous les PPP sur
quelque chose (oE, oA, PPTP, tunnel L2TP...) sont de couche 2, même
s'ils sont encapsulés dans un protocole de couche 2, 3 ou plus".

Or, tu dis que ssh ne peut pas être de niveau 4, parce qu'il est
encapsulé dans TCP qui est lui même de niveau 4.

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:

Il ne transporte pas TCP. C'est TCP qui transporte ssh.
Les ACK et autres, c'est ssh qui le fait pour toi ???


ssh est transporté par un lien TCP, et est capable de faire du forward
TCP, donc capable de transporter du TCP. Il **fournit** donc un
service qui transporte un protocole de niveau 4, pour moi il
**fournit** donc un service de niveau 3.


Tu ne te places pas dans un contexte réseau.
Qu'est-ce qui va faire que ton paquet TCP encapsulé dans SSH va etre
tranporté ? Ben c'est les paquets IP/TCP en dessous de SSH. Et pas du
tout SSH qui ne sera compris qu'a l'arrivé par le serveur ou le client
ssh (hors d'un contexte réseau donc puisque le paquet est arrivé à
destination), meme si c'est un paquet TCP qui est transporté. Ce
dernier pourra etre reenvoyé par la suite, mais c'est un autre
cheminement que le précédent.

C'est la lettre exterieure qui compte, et pas la lettre dans la
lettre.

Ssh transporte TCP au même titre qu'IP, je ne vois pas de différence
fondamentale.


Ben si, en dessous tu as deja de l'IP et du TCP.
C'est ce qui fait que Ssh ne peut pas etre de niveau 3.


Avatar
Jonathan ILIAS
On 24 Sep 2003 20:36:47 GMT, Zouplaz wrote:


Je reprends ssh, c'est un bon exemple de protocole que je ne situe pas, et
pourtant je m'en sers !!!



Niveau 7 à la base.
Biiipp ;p


niveau 6, présentation (pour le chiffrement) et niveau 7, application
(pour le shell)

Mais c'est vrai que pour la redirection de ports il tape à 3 et 4.

A mon avis non puisqu'il ne touche pas aux couches existantes... Je

mettrai ça au niveau 7 : application (même si le travail effectué
ressemble plutôt à du routage / transport)

Un cours que je trouve remarquable :
http://www.info.univ-angers.fr/pub/pn/poly/poly.html

Je m'y réfère souvent quand il s'agit de déterminer à quelle couche
appartient un protocole.

HTH

--
Jonathan ILIAS


Avatar
Vincent Hiribarren
Pierre LALET writes:

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, à
part sur un point : je disais que ssh est capable de transporter du
TCP, mais on va y revenir.


Euh, pierre, je te signale que l'implication "protocole de niveau 4,
donc ne transporte que du 5" est de toi... Je n'ai jamais dit ca,
juste que ssh etait transporte par IP donc il ne pouvait pas etre de
niveau 3. Le raisonnement que tu en tirais etait le mien, pas le tien.

Tu as sans doute raison. Donc on peut dire alors que ssh fait le
travail d'une partie de TCP sur un bout du chemin (et ce même s'il
fonctionne lui même au dessus de TCP).


Pas du tout !
Ssh repose sur du TCP et c'est TCP qui fait ce travail sur un bout du
chemin. Les mecanismes qui permettent de s'assurer que le paquet est
arrivé à bon port, c'est toujours TCP, et pas SSH.

Tu regardes trop haut et tu oublies que SSH est lui-meme transporte
par du TCP/IP. Il faut se placer du point de vue reseau et pas du
point de vue paquet, le modele OSI est un modele reseau.

Ce paquet SSH, quelle est sa raison d'etre ? Etre envoye a un client
ou un serveur SSH. Par une connexion TCP/IP.
Ce paquet arrive au client ou au serveur SSH. Il est arrivé a sa
destination finale puisque c'etait un paquet ssh devant arriver a un
terminal SSH. Il est trituré pour en sortir un autre paquet qui n'a
plus rien a voir avec l'ancien et que l'on peut a nouveau inscrire
dans le modele OSI. En oubliant l'ancien paquet.

[Snip]

Je modifie donc mon assertion en : "ssh fait le travail d'une partie
de TCP sur un bout du chemin et fournit donc des services de niveau
4". Exactement comme SSL, qui bien qu'encapsulé dans du TCP, fournit
des services de niveau 4.


SSL n'assure pas du tout des services de niveau 4, il me semble.
Le cryptage de donnees, c'est pas du niveau 4.
Le niveau 4 s'occupe surtout du bon acheminement des donnees (les ACK
et autres dans le cas de TCP/IP, la notion de ports...).
Si on le place au niveau 4 c'est par abus, car il transporte des
données de niveau 5.
Pour moi SSL offre un service de Session, donc niveau 5.
Mais n'oublions pas que Internet a son propre modele DoD a 4 couches !
C'est pas pour rien qu'il est difficile d'avoir un calque parfait sur
le modele OSI, et que donc on bricole des couches intermediaires.

Pareil pour SSH : SSH ne propose pas des fonctionnalites de couche 4.
Ce n'est pas lui qui s'assure du bon acheminement du paquet, mais la
couche TCP en dessous. C'est cette couche qui decidera de la viabilite
du paquet, pas SSH.

Avatar
Pierre LALET
Euh, pierre, je te signale que l'implication "protocole de niveau 4,
donc ne transporte que du 5" est de toi...


oui, précédé d'un "si on suit ton raisonnement", je disais ça pour
essayer de te montrer que tu avais tort, pas parce que je le pensais,
puisque c'est le contraire que je dis.

Je n'ai jamais dit ca,
juste que ssh etait transporte par IP donc il ne pouvait pas etre de
niveau 3. Le raisonnement que tu en tirais etait le mien, pas le tien.


"ssh est transporté par IP, donc ne peut pas être de niveau 3". C'est
bien ce que tu dis ?

Eh bien, c'est le contraire de ce que dit Annie : "tous les PPP sur
quelque chose (oE, oA, PPTP, tunnel L2TP...) sont de couche 2, même
s'ils sont encapsulés dans un protocole de couche 2, 3 ou plus",
puisqu'elle dit qu'un PPP, même encapsulé dans IP (lui même
éventuellement encapsulé dans un autre PPP), est de niveau 2.

Tu as sans doute raison. Donc on peut dire alors que ssh fait le
travail d'une partie de TCP sur un bout du chemin (et ce même s'il
fonctionne lui même au dessus de TCP).



Pas du tout !
Ssh repose sur du TCP et c'est TCP qui fait ce travail sur un bout du
chemin. Les mecanismes qui permettent de s'assurer que le paquet est
arrivé à bon port, c'est toujours TCP, et pas SSH.


Et alors ? Est-ce là tout le travail de la couche 4 ? UDP n'est donc pas
de niveau 4. Ce n'est pas parce que TCP fait une partie du travail de la
couche 4, que ssh ne peut pas faire le reste.

Tu regardes trop haut et tu oublies que SSH est lui-meme transporte
par du TCP/IP. Il faut se placer du point de vue reseau et pas du
point de vue paquet, le modele OSI est un modele reseau.


Mais je m'en fous, de savoir par quoi est transporté ssh. Tiens,
d'ailleurs, si dans ssh je remplace le socket TCP par une liaison série
comprenant un mécanisme d'aquitement, ssh n'est *plus* au dessus de TCP,
et pourtant ça ne change *rien*.

Ce paquet SSH, quelle est sa raison d'etre ? Etre envoye a un client
ou un serveur SSH. Par une connexion TCP/IP.
Ce paquet arrive au client ou au serveur SSH. Il est arrivé a sa
destination finale puisque c'etait un paquet ssh devant arriver a un
terminal SSH. Il est trituré pour en sortir un autre paquet qui n'a
plus rien a voir avec l'ancien et que l'on peut a nouveau inscrire
dans le modele OSI. En oubliant l'ancien paquet.


Bein je ne vois pas pourquoi. Quand tu crées un tunnel ppp au dessus de
n'importe quoi, tu crées aussi une interface. Ce n'est pas parce qu'elle
n'est pas physque qu'elle n'existe pas.

Je modifie donc mon assertion en : "ssh fait le travail d'une partie
de TCP sur un bout du chemin et fournit donc des services de niveau
4". Exactement comme SSL, qui bien qu'encapsulé dans du TCP, fournit
des services de niveau 4.



SSL n'assure pas du tout des services de niveau 4, il me semble.
Le cryptage de donnees, c'est pas du niveau 4.


http://javarome.free.fr/net/Protocole.html par exemple. Toutes les docs
que j'ai trouvé disent que SSL est un protocole de niveau 4.

Le niveau 4 s'occupe surtout du bon acheminement des donnees (les ACK
et autres dans le cas de TCP/IP, la notion de ports...).


Et UDP : il ne s'occupe pas du bon acheminement des données. Est-il de
niveau 4 ?

Si on le place au niveau 4 c'est par abus, car il transporte des
données de niveau 5.
Pour moi SSL offre un service de Session, donc niveau 5.


Mais non. Au dessus de SSL, on a *exactement* la même chose qu'au dessus
de TCP. En dessous, ça se passe différemment, mais on s'en fout.

Mais n'oublions pas que Internet a son propre modele DoD a 4 couches !
C'est pas pour rien qu'il est difficile d'avoir un calque parfait sur
le modele OSI, et que donc on bricole des couches intermediaires.

Pareil pour SSH : SSH ne propose pas des fonctionnalites de couche 4.
Ce n'est pas lui qui s'assure du bon acheminement du paquet, mais la
couche TCP en dessous. C'est cette couche qui decidera de la viabilite
du paquet, pas SSH.


"S'assure du bon acheminement du paquet" n'est pas le seul rôle de la
couche 4, sinon quid de UDP ?

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
Pierre LALET writes:


Je ne vois pas pourquoi "c'est la lettre exterieure qui compte". Peu
importe comment ssh fait le travail (ici en le mettant dans une autre
enveloppe), par contre, c'est le travail qu'il fait qui compte. Et il
fait une partie du boulot de TCP sur une partie du chemin.



Tout simplement car le modele OSI est un modele reseau, et pas un
modele applicatif.
On part des basses couches pour aller vers les plus hautes.
On s'interesse aux couches qui transportent, et non pas à ce qui est
transporté.


Et alors ? Ton paquet n'est qu'un flux d'électron, et je ne veux pas en
savoir plus ?

Ben si, en dessous tu as deja de l'IP et du TCP.
C'est ce qui fait que Ssh ne peut pas etre de niveau 3.


Bein non. Ce n'est pas un argument valide à mon sens. Ce qui compte,
comme l'a dit Annie, "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".



Le paquet TCP contenu dans SSH sera vraiment un paquet TCP quand il
sera decapsulé. C'est un deuxième cycle réseau.
Entre le serveur SSH et le client SSH, ton paquet n'est qu'un bete
paquet de niveau 5-6-7 OSI ou 4 DoD (Internet).
Absolument rien d'autre. Il n'a aucune autre raison d'etre.


Nous ne serons pas d'accord, tant pis, mais ce que tu dis est simplement
idiot. C'est comme si je disais que tes paquets, quand ils sont sur une
ligne téléphonique, ne sont que des sons, et rien d'autre.

Tout est mis en branle pour acheminer les paquets SSH par
l'intermediaire de TCP/IP et on se fout completement du contenu des
paquets SSH. Les routeurs ils n'y connaissent rien et ca n'est pas
leur probleme.


Et alors ? les équipements téléphoniques de FT ne connaissent les
paquets qui circulent au dessus d'eux en RTC. Est-ce que pour autant ils
n'existent pas ?

Enfin tes paquets SSH arrivent a bon port graces aux couches 1-2-3-4
OSI. O joie !
Et la, de maniere applicative, donc couches 7 OSI (ou en fait 5-6-7
puisqu'habituellement on assimile les 3 dernieres couches OSI a la
derniere couche Internet ou DoD), ton paquet est trituré.
Et puis hop, un nouveau paquet est généré. Un paquet... euh... ftp on
va dire. Bon, il etait contenu dans le paquet SSH, mais le reseau il
s'en fichait royalement. Et ce paquet est a nouveau envoyé sur le
reseau pour vivre un *nouveau* cycle qui n'a rien a voir avec le
precedent.


qu'est-ce que ça change ? ssh fournit un bout de travail de niveau 4.

Sauf, bien sur, si on se place du point de vue applicatif puisque le
but de ca c'est d'avoir une session ftp. Mais le reseau, et le modele
reseau, ils n'en ont rien à faire.


Réfléchir comme tu le fais, c'est ne pas tenir compte de l'étanchéité
entre les couches.

Que l'enveloppe timbrée soit transportée à l'intérieur d'une autre
enveloppe, et donc que le facteur n'en ait pas conscience, ou qu'elle
soit transoportée par le facteur directement, ça ne change rien à sa
condition d'enveloppe timbrée.

--
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 vois pas pourquoi "c'est la lettre exterieure qui compte". Peu
importe comment ssh fait le travail (ici en le mettant dans une autre
enveloppe), par contre, c'est le travail qu'il fait qui compte. Et il
fait une partie du boulot de TCP sur une partie du chemin.


Tout simplement car le modele OSI est un modele reseau, et pas un
modele applicatif.
On part des basses couches pour aller vers les plus hautes.
On s'interesse aux couches qui transportent, et non pas à ce qui est
transporté.

[Snip]

Ben si, en dessous tu as deja de l'IP et du TCP.
C'est ce qui fait que Ssh ne peut pas etre de niveau 3.


Bein non. Ce n'est pas un argument valide à mon sens. Ce qui compte,
comme l'a dit Annie, "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".


Le paquet TCP contenu dans SSH sera vraiment un paquet TCP quand il
sera decapsulé. C'est un deuxième cycle réseau.
Entre le serveur SSH et le client SSH, ton paquet n'est qu'un bete
paquet de niveau 5-6-7 OSI ou 4 DoD (Internet).
Absolument rien d'autre. Il n'a aucune autre raison d'etre.
Tout est mis en branle pour acheminer les paquets SSH par
l'intermediaire de TCP/IP et on se fout completement du contenu des
paquets SSH. Les routeurs ils n'y connaissent rien et ca n'est pas
leur probleme.

Enfin tes paquets SSH arrivent a bon port graces aux couches 1-2-3-4
OSI. O joie !
Et la, de maniere applicative, donc couches 7 OSI (ou en fait 5-6-7
puisqu'habituellement on assimile les 3 dernieres couches OSI a la
derniere couche Internet ou DoD), ton paquet est trituré.
Et puis hop, un nouveau paquet est généré. Un paquet... euh... ftp on
va dire. Bon, il etait contenu dans le paquet SSH, mais le reseau il
s'en fichait royalement. Et ce paquet est a nouveau envoyé sur le
reseau pour vivre un *nouveau* cycle qui n'a rien a voir avec le
precedent.

Sauf, bien sur, si on se place du point de vue applicatif puisque le
but de ca c'est d'avoir une session ftp. Mais le reseau, et le modele
reseau, ils n'en ont rien à faire.

(Hum, désolé pour le style qui est peut-etre un peu enfantin...)


Avatar
Pierre LALET
Mais le modele OSI n'est pas fait pour qu'on lui colle dessus de
l'ethernet qui transporte du tcp du tcp-ip qui transporte du ssh qui
transporte du ppp qui transporte du tcp-ip qui transporte du ssh qui
transporte du ssl qui transporte du http...

Le modele OSI n'est pas fait pour ca.


Bein il faut pas l'utiliser pour parler d'encapsulation, alors.

Mais moi ça ne me gêne pas qu'un service soit de couches différentes
selon le point de vue adopté, et je trouve le modèle OSI assez adapté
pour décrire ça.

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:

Outre le fait que je ne pense pas que SSH transporte TCP, 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. Par exemple, tous les
PPP sur quelque chose (oE, oA, PPTP, tunnel L2TP...) sont de couche 2,
même s'ils sont encapsulés dans un protocole de couche 2, 3 ou plus.
C'est mieux explique que moi, et c'est ce que je voulais exprimer.



Non, ce n'est pas ce que tu dis, c'est le contraire


Grmmmbl, exact.
Encore une fois, tout depend si on se place du point de vue reseau,
ou applicatif.

Mais le modele OSI n'est pas fait pour qu'on lui colle dessus de
l'ethernet qui transporte du tcp du tcp-ip qui transporte du ssh qui
transporte du ppp qui transporte du tcp-ip qui transporte du ssh qui
transporte du ssl qui transporte du http...

Le modele OSI n'est pas fait pour ca.



1 2 3 4 5