diff --git a/_glossary.md b/_glossary.md new file mode 100644 index 0000000..9797d7c --- /dev/null +++ b/_glossary.md @@ -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 \ No newline at end of file diff --git a/index.html b/index.html index ce2ea7f..acb1200 100644 --- a/index.html +++ b/index.html @@ -170,5 +170,8 @@ + + + diff --git a/infotro/SDi/medias/dataflow_in_layer_model.png b/infotro/SDi/medias/dataflow_in_layer_model.png new file mode 100644 index 0000000..80092ee Binary files /dev/null and b/infotro/SDi/medias/dataflow_in_layer_model.png differ diff --git a/infotro/SDi/medias/example_SAP.png b/infotro/SDi/medias/example_SAP.png new file mode 100644 index 0000000..619e5d1 Binary files /dev/null and b/infotro/SDi/medias/example_SAP.png differ diff --git a/infotro/SDi/medias/layers_protocols.png b/infotro/SDi/medias/layers_protocols.png new file mode 100644 index 0000000..e6ce883 Binary files /dev/null and b/infotro/SDi/medias/layers_protocols.png differ diff --git a/infotro/SDi/medias/osi_model.png b/infotro/SDi/medias/osi_model.png new file mode 100644 index 0000000..5197731 Binary files /dev/null and b/infotro/SDi/medias/osi_model.png differ diff --git a/infotro/SDi/medias/overview_protocol_example.png b/infotro/SDi/medias/overview_protocol_example.png new file mode 100644 index 0000000..a9785b4 Binary files /dev/null and b/infotro/SDi/medias/overview_protocol_example.png differ diff --git a/infotro/SDi/protocol_development.md b/infotro/SDi/protocol_development.md index 867ae50..7f9a3c7 100644 --- a/infotro/SDi/protocol_development.md +++ b/infotro/SDi/protocol_development.md @@ -2,3 +2,170 @@ Protocol developement +# 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) + + +
+ Exemples + + ![layers_protocols.png](medias%2Flayers_protocols.png) + +
+ +## 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. + +
+Exemple SAP + +![example_SAP.png](medias%2Fexample_SAP.png) + +![overview_protocol_example.png](medias/overview_protocol_example.png) + +
+ + +## 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. + + +