Pour compléter bendia :
Le modèle OSI est un modèle théorique de représentation des différentes couches composant une liaison de communication entre deux périphériques / composants.
TCP est un protocole qui est catégorisé dans la couche transport (4) du modèle OSI.
IP est un autre protocole qui est lui catégorisé dans la couche réseau (3) du modèle OSI.
Le problème c’est qu’on utilise le terme "modèle TCP/IP" pour décrire une autre représentation théorique d’une liaison en seulement 4 catégories. (cf wikipedia)
Personnellement je fais de l’électronique et j’utilise principalement des protocoles des couches PHY (1), MAC (2) et j’aide un peu le soft pour de l’ethernet donc j’utilise aussi la couche 3 et 4.
Quand je travaille sur ces couches basses, j’ai vraiment besoin de faire la différence entre la couche Physique et la couche de liaison : on peut faire passer de l’Ethernet sur énormément de couches physiques et pas seulement les plus connues du grand public : 10/100/1000Base-T(X)
Le modèle TCP/IP est pour moi trop simpliste. Mais pour un dev logiciel haut niveau il peut convenir