Introduction et services fournies par la couche application
L'ensemble d'Internet, matériel et logiciel, a été conçu et développé pour fournir des services au niveau de la couche applicative. La cinquième couche du modèle TCP/IP est l'endroit où ces services sont fournis aux utilisateurs d'Internet. Les quatre autres couches sont là pour rendre ces services possibles.
Les applications réseau sont les raisons d'être d'un réseau informatique. Si nous ne pouvions pas concevoir d'applications utiles, l'infrastructure et les protocoles de réseau ne seraient pas nécessaires pour les prendre en charge. Depuis la création de l'internet, de nombreuses applications utiles et divertissantes ont effectivement été créées. Ces applications ont été la force motrice du succès de l'internet, incitant les particuliers, les écoles, les gouvernements et les entreprises à faire de l'internet une partie intégrante de leurs activités quotidiennes.
La couche application est un bon point de départ pour l'étude des protocoles. C'est un terrain familier. Nous connaissons déjà un grand nombre d'applications qui reposent sur les protocoles que nous allons étudier. Elle nous donnera une bonne idée de ce que sont les protocoles et nous présentera un grand nombre des problèmes que nous retrouverons lorsque nous étudierons les protocoles des couches transport, réseau et liaison.
Principes des applications réseau
Au cœur du développement d'applications réseau se trouve l'écriture de programmes qui s'exécutent sur différents systèmes d'extrémité et communiquent entre eux sur le réseau. Par exemple, dans l'application Web, il existe deux programmes distincts qui communiquent entre eux : le programme de navigation exécuté sur l'hôte de l'utilisateur (ordinateur de bureau, ordinateur portable, tablette, smartphone, etc.) ; et le programme de serveur Web s'exécutant sur l'hôte du serveur Web. Autre exemple, dans une application de vidéo à la demande telle que Netflix, un programme fourni par Netflix s'exécute sur le smartphone, la tablette ou l'ordinateur de l'utilisateur ; et un programme de serveur Netflix s'exécutant sur l'hôte du serveur Netflix. Les serveurs sont souvent (mais certainement pas toujours) hébergés dans un centre de données.
Ainsi, lors du développement de votre nouvelle application, vous devez écrire un logiciel qui s'exécutera sur plusieurs systèmes d'extrémité. Ce logiciel peut être écrit, par exemple, en C, Java ou Python. Il est important de noter que vous n'avez pas besoin d'écrire un logiciel qui s'exécute sur des périphériques réseau, tels que des routeurs ou des commutateurs de couche de liaison.
Services
Tous les réseaux de communication qui ont commencé avant Internet ont été conçus pour fournir des services aux utilisateurs du réseau. Cependant, la plupart de ces réseaux ont été conçus à l'origine pour fournir un service spécifique. Par exemple, le réseau téléphonique a été conçu à l'origine pour fournir un service vocal : pour permettre aux gens du monde entier de se parler. Ce réseau, cependant, a été utilisé plus tard pour d'autres services, tels que la télécopie (fax), activés par les utilisateurs ajoutant du matériel supplémentaire aux deux extrémités.
Internet a été conçu à l'origine dans le même but : fournir un service aux utilisateurs du monde entier. L'architecture en couches de la suite de protocoles TCP/IP, cependant, rend Internet plus flexible que d'autres réseaux de communication tels que les réseaux postaux ou téléphoniques. Chaque couche de la suite était à l'origine composée d'un ou plusieurs protocoles, mais de nouveaux protocoles peuvent être ajoutés ou certains protocoles peuvent être supprimés ou remplacés par les autorités Internet. Cependant, si un protocole est ajouté à chaque couche, il doit être conçu de manière à utiliser les services fournis par l'un des protocoles de la couche inférieure. Si un protocole est supprimé d'une couche, il faut prendre soin de modifier le protocole à la couche immédiatement supérieure qui utilise censément les services du protocole supprimé.
Étant donné que la couche application est la seule couche qui fournit des services à l'utilisateur Internet, la flexibilité de la couche application permet d'ajouter facilement de nouveaux protocoles d'application à Internet, ce qui s'est produit pendant la durée de vie d'Internet.
Pour assurer le bon fonctionnement d'Internet, les protocoles utilisés dans les quatre premières couches du modèle TCP/IP doivent être standardisés et documentés. Ils font normalement partie du package inclus dans les systèmes d'exploitation tels que Windows ou UNIX. Cependant, pour être flexibles, les protocoles de la couche application peuvent être à la fois standard et non standard.
Protocoles de couche d'application standard
Il existe plusieurs protocoles de couche application qui ont été standardisés et documentés par l'autorité Internet, et nous les utilisons dans notre interaction quotidienne avec Internet. Chaque protocole standard est une paire de programmes informatiques qui interagissent avec l'utilisateur et la couche de transport pour fournir un service spécifique à l'utilisateur.
Dans le cas de ces protocoles d'application, nous devons savoir quels types de services ils fournissent, comment ils fonctionnent, les options que nous pouvons utiliser avec ces applications, etc. L'étude de ces protocoles permet à un gestionnaire de réseau de résoudre facilement les problèmes pouvant survenir lors de l'utilisation de ces protocoles. La compréhension approfondie du fonctionnement de ces protocoles nous donnera également quelques idées sur la façon de créer de nouveaux protocoles non standard.
Protocoles de couche d'application non standard
Un programmeur peut créer un programme de couche application non standard s'il peut écrire deux programmes qui fournissent un service à l'utilisateur en interagissant avec la couche transport. C'est la création d'un protocole non standard (propriétaire), qui n'a même pas besoin de l'approbation des autorités Internet s'il est utilisé à titre privé, qui a rendu Internet si populaire dans le monde entier. Une entreprise privée peut créer un nouveau protocole d'application personnalisé pour communiquer avec tous ses bureaux dans le monde en utilisant les services fournis par les quatre premières couches de la suite de protocoles TCP/IP sans utiliser aucun des programmes d'application standard. Ce qu'il faut, c'est écrire des programmes, dans l'un des langages informatiques, qui utilisent les services disponibles fournis par les protocoles de la couche transport.