add protocol development

This commit is contained in:
Klagarge committed 2024-02-01 10:16:02 +01:00
1 parent 9a811a2d3d
commit 3d08888842
8 files changed
+202

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
##### FTAM
File Transfer and Access Management
##### ASN.1
Abstract Syntax Notation One
##### CLNP
Connectionless Network Protocol
##### HDLC
High-Level Data Link Control
##### HTTP
HyperText Transfer Protocol
##### FTP
File Transfer Protocol
##### TCP
Transprot Control Protocol
##### UDP
User Datagram Protocol
##### SPX
Sequenced Packet eXchange
##### IP
Internet Protocol
##### IPX
Internetwork Packet eXchange
+3
View File
@@ -170,5 +170,8 @@
<!-- Draw.io -->
<script src="scripts/viewer.min.js"></script>
<script src='scripts/drawio.js'></script>
<!-- Glossary -->
<script src="//unpkg.com/docsify-glossary/dist/docsify-glossary.min.js"></script>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

+167
View File
@@ -2,3 +2,170 @@
Protocol developement
</h1></header>
# OSI model
Le modèle OSI (Open Systems Interconnection) est un cadre conceptuel qui divise les fonctions d'un système de
communication en sept couches. Chaque couche offre des services spécifiques et communique avec les couches adjacentes
pour assurer l'interopérabilité des systèmes. Les sept couches du modèle OSI, de la plus haute à la plus basse, sont :
Application, Présentation, Session, Transport, Réseau, Liaison de données, et Physique.
Ce modèle facilite le développement, la compréhension et la standardisation des protocoles de communication.
![osi_model.png](medias%2Fosi_model.png)
Dans un flux de données, les informations traversent ces couches de la couche Application à la couche Physique à
la source, puis sont reçues et traitées de bas en haut à la destination. Chaque couche ajoute des en-têtes spécifiques
et effectue des opérations pour assurer une communication efficace et fiable.
![dataflow_in_layer_model.png](medias%2Fdataflow_in_layer_model.png)
<details>
<summary><b><u>Exemples</u></b></summary>
![layers_protocols.png](medias%2Flayers_protocols.png)
</details>
## Element de protocol
Un protocole est un ensemble de règles qui définit le format et la séquence des messages échangés entre les entités
d'un système de communication. Les entités communiquent entre elles en échangeant des messages. Chaque message est
composé d'un en-tête et d'un corps. L'en-tête contient des informations de contrôle et le corps contient les données
à transférer. Les entités peuvent être des processus, des machines, des systèmes, etc.
### Notions en rapport avec les protocoles
Les notions suivantes sont essentielles en rapport avec la spécification des protocoles :
- **(N)-service :**
Un service de la couche N.
- **(N)-service provider :**
Le soumissionnaire du service, généralement la couche N.
- **(N)-service user :**
L'utilisateur du service, généralement la couche N+1 ou N-1.
- **(N)-service access point :**
Voie à un certain service. Un service n'est utilisable que si son SAP est connu.
- **(N)-service primitif :**
Éléments de base pour l'utilisation d'un service. Ce sont les suivants, et uniquement les suivants :
Request - Confirmation et Indication - Response.
- **(N)-service data unit :**
Informations qui sont traitées par un service et qui arrivent aux éléments de base en tant que paramètres.
- **(N)-layer :**
La couche N, soit le soumissionnaire des services de cette couche, soit l'utilisateur des services d'une autre couche.
- **(N)-protocol :**
Les règles de communication entre deux couches de même niveau.
- **(N)-entity :**
Instance de service d'une couche.
- **peer-entity :**
Instances de service de la même couche qui communiquent ensemble au moyen d'un protocole.
- **(N)-protocol data unit :**
Paquet virtuel de donnée qui est transporté à l'autre entité paire au moyen d'un protocole.
<details>
<summary><b><u>Exemple SAP</u></b></summary>
![example_SAP.png](medias%2Fexample_SAP.png)
![overview_protocol_example.png](medias/overview_protocol_example.png)
</details>
## Stratégie de conception de protocoles
Un modèle OSI à 7 couches est souvent trop complexe pour les systèmes embarqués. Il est donc nécessaire de définir
une stratégie de conception de protocoles adaptée aux contraintes de ces systèmes.
### Stratégie 3 Couches
La stratégie 3 couches définit trois couches de communication :
1. **Couche Application :**
- Correspond aux couches 7 (Application), 6 (Presentation) et 5 (Session) du modèle OSI.
- Gère la logique applicative, la présentation des données et la gestion des sessions.
2. **Couche MAC (Medium Access Control) :**
- Englobe les couches 4 (Transport), 3 (Network) et 2 (Data Link) du modèle OSI.
- Gère le contrôle d'accès au support de transmission, le routage, et les fonctions liées à la liaison de données.
3. **Couche PHY (Physical) :**
- Équivaut à la couche 1 (Physical) du modèle OSI.
- Se charge des aspects physiques de la transmission des données, tels que la modulation, la fréquence, et la connectique.
Cette stratégie divise les responsabilités de communication en trois niveaux distincts, facilitant la modularité,
la maintenance et l'interchangeabilité des composants du système.
### Stratégie RX-TX
La stratégie RX-TX définit deux processus par couche :
1. **Couche RX :**
- Reçoit les données de la couche supérieure.
- Traite les données reçues.
- Envoie les données à la couche inférieure.
2. **Couche TX :**
- Reçoit les données de la couche inférieure.
- Traite les données reçues.
- Envoie les données à la couche supérieure.
Cette stratégie permet de séparer les processus de réception et d'émission des données, facilitant la maintenance
et l'interchangeabilité des composants du système.
### Stratégie SAP
La stratégie SAP définit la manière dont les services sont accessibles à l'extérieur. Il existe deux approches possibles :
1. **Single SAP :**
- Un seul SAP pour accéder à un service unique.
- Exemple : Un SAP pour accéder à la couche MAC.
- Avantages : Facile à implémenter, facile à utiliser.
- Inconvénients : Pas de distinction entre les services.
2. **Multi SAP :**
- Un ou plusieurs SAP pour accéder à un ou plusieurs services.
- Exemple : Un SAP pour accéder à la couche MAC et un autre SAP pour accéder à la couche PHY.
- Avantages : Distinction entre les services, flexibilité.
- Inconvénients : Plus complexe à implémenter, plus complexe à utiliser.
Cette stratégie permet de définir l'accès aux services de communication, facilitant la modularité et l'interchangeabilité
des composants du système.
### Stratégie de mémoire
La stratégie de mémoire définit la manière dont les données sont transférées entre les couches. Il existe deux approches
possibles :
1. **Copier les données :**
- Copie des données entre les couches.
- Avantages : Facile à implémenter, facile à utiliser.
- Inconvénients : Utilisation de la mémoire, complexité de gestion de la mémoire.
2. **Référencer les données :**
- Référence des données entre les couches.
- Avantages : Utilisation de la mémoire, facilité de gestion de la mémoire.
- Inconvénients : Plus complexe à implémenter, plus complexe à utiliser.
Cette stratégie permet de gérer efficacement la mémoire, facilitant la maintenance et l'interchangeabilité des composants
du système.
### Stratégie de découplage
La stratégie de découplage définit la manière dont les données sont traitées entre les couches. Il existe deux approches
possibles :
1. **Utilisation de files d'attente :**
- Utilisation de files d'attente pour traiter les données de manière asynchrone.
- Avantages : Facile à implémenter, facile à utiliser.
- Inconvénients : Perte d'informations pendant le traitement.
2. **Utilisation de mécanismes de synchronisation :**
- Utilisation de mécanismes de synchronisation pour traiter les données de manière synchrone.
- Avantages : Pas de perte d'informations pendant le traitement.
- Inconvénients : Plus complexe à implémenter, plus complexe à utiliser.
Cette stratégie permet de traiter les données de manière efficace, facilitant la maintenance et l'interchangeabilité
des composants du système.