Télécharger le fichier pdf d’un mémoire de fin d’études
Classe D
Les adresses de la classe D sont utilisées pour la diffusion (multicast) vers les machines d’un même groupe. Elles vont de 224.0.0.0 à 239.255.255.255 (28 bits pour les machines appartenant à un même groupe). Ce groupe peut être un ensemble de machines mais aussi un ensemble de routeurs (diffusion des tables de routage). Certains systèmes ne supportent pas les adresses de multicast [2].
Adresse de boucle local
La machine elle-même ou machine locale peut être auto-adressée avec une adresse de la forme 127. x. x. x, cette adresse dite de boucle locale (localhost) est utilisée lors de tests de la machine ou de programmes applicatifs. Tout datagramme émis à destination d’une adresse 127. x. x .x est directement recopié du tampon d’émission vers le tampon de réception, il n’est jamais émis sur le réseau, ce qui protège ce dernier d’éventuels dysfonctionnements du nouvel applicatif.
Adresse de diffusion
L’adresse 255.255.255.255 est utilisée pour envoyer un message à toutes les machines du même segment de réseau. La diffusion est limitée aux seules machines de ce segment, le datagramme n’est pas relayé sur d’autres réseaux. L’adresse 255.255.255.255 est dite adresse de diffusion générale ou limitée car la diffusion ne franchit jamais un routeur [1].
Masque de réseau
Pour une adresse IP donnée, un masque est utilisé pour dissocier les champs d’adresse réseau de l’adresse machine d’une adresse IP. Il est formé par une succession de 1 à gauche suivi d’une succession de 0. Pour chaque classe, il existe un masque par défaut [2] :
Classe A : 255.0.0.0.
Classe B : 255.255.0.0.
Classe C : 255.255.255.0.
Pour subdiviser un grand réseau en des sous-réseaux comportant des nombres réduits de machines, on peut fabriquer un masque de sous-réseau ou masque personnalisé. Pour ce faire, on prend le masque par défaut puis on emprunte des bits à la partie adresse machine, et l’on met ces bits à 1. Il faut noter que.
Deux bits au moins doivent rester pour adresser les machines.
On emprunte au moins deux bits.
Par exemple, 255.255.255.224 est un masque de sous-réseau de classe C construit en empruntant trois bits.
Adresse privée et adresse publique
L’organisme IANA offre un plan d’attribution d’adresses pour les réseaux connectés à Internet (réseau public). Or, tous les réseaux n’ont pas nécessairement un besoin d’interconnexion via un réseau public, dans ce cas l’unicité d’adresse au plan mondial est inutile. Certaines entreprises disposent de leur propre réseau (réseau privé) et n’ont aucun besoin d’interconnexion vers l’extérieur, il est alors possible d’utiliser n’importe quelle adresse IP. Toutefois, afin d’éviter l’anarchie dans l’utilisation des adresses, l’IANA a défini dans la RFC 1918 des plages d’adresses réservées pour ces réseaux privés. Ces adresses sont dites privées et donc non routables sur Internet. Le tableau suivant indique ces plages d’adresses .
Taille du datagramme IP
Comme on l’a vu précédemment, la taille d’un datagramme IP maximale est de 65536 octets. Toutefois cette valeur n’est jamais atteinte car les réseaux n’ont pas une capacité suffisante pour envoyer de si gros paquets. La taille maximale d’une trame de la couche liaison de donnée, appelée MTU, diffère selon le réseau.
Fragmentation IP
Si la taille d’un datagramme IP dépasse la taille du MTU du réseau qu’il doit franchir, le datagramme ne peut être envoyé en un seul morceau. Il doit être fragmenté en morceaux de tailles inférieures au MTU du réseau à parcourir. Cette fragmentation se fait au niveau du routeur qui se place à l’entrée du réseau à traverser. Pour tenir compte de la fragmentation et pour faciliter le réassemblage, chaque datagramme possède des champs, définis précédemment, comme le champ offset (permettant de connaître la position du début du fragment dans le datagramme initial), le champ ID (numéro attribué à chaque fragment), le champ TL (recalculé pour chaque fragment) et les champs flags DF et MF [1].
Routage IP
Le routage IP fait partie intégrante de la couche IP du modèle DoD. Le routage consiste à assurer l’acheminement d’un datagramme IP à travers un réseau en empruntant un chemin choisi suivant des critères spécifiques déterminés par les protocoles de routage. Ce rôle est assuré par des machines appelées routeurs, c’est-à-dire des machines reliant au moins deux réseaux.
Principe du routage
Les routeurs sont des périphériques de la couche Internet du modèle DoD qui correspond à la couche 3 du modèle OSI. Un routeur dispose au moins de deux ports. Quand un datagramme IP arrive sur le port du routeur, le logiciel de routage intégré dans le routeur examine l’en-tête du datagramme pour déterminer la manière dont on doit la transmettre. L’information la plus déterminante est l’adresse de destination du datagramme. Le logiciel de routage consulte la table de routage qui se trouve sur le routeur, puis transmet le datagramme par le biais d’un des ports du routeur [1].
Les protocoles de routage
Il existe deux grandes familles de protocole de routage :
Le protocole de routage intérieur ou IRP, qui est un protocole de routage partagé uniquement par tous les routeurs d’un système autonome. Les protocoles IRP sont appelés aussi IGP (Interior Gateway Protocol). L’IRP est le protocole le plus utilisé dans l’environnement TCP/IP pour router les paquets entre les passerelles du réseau Internet. C’est un protocole IGP qui utilise un algorithme permettant de trouver le chemin le plus court. Le nombre de noeuds traversés doit être entre 1 et 15. La valeur 16 indique une impossibilité. RIP se fonde sur une diffusion périodique des états du réseau d’un routeur vers ses voisins
Le protocole de routage extérieur ou ERP, qui est un protocole de routage relais entre des systèmes autonomes. Les protocoles ERP sont appelés aussi EGP (Exterior Gateway Protocol).
Les protocoles TCP et UDP
La couche hôte à hôte du modèle DoD, équivalente de la couche transport du modèle OSI, définit deux grandes familles de protocoles: TCP et UDP. Ces deux protocoles assurent chacun les fonctions caractéristiques de cette couche :
Le transport de bout en bout (hôte à hôte) des messages provenant de la couche supérieure.
La création de plusieurs connexions logiques par multiplexage sur la même connexion réseau.
Description du protocole H 323
Le standard H.323 fournit, depuis son approbation en 1996, un cadre pour les communications audio, vidéo et de données sur les réseaux IP. Il a été développé par l’ITU (International Telecommunications Union) pour les réseaux qui ne garantissent pas une qualité de service (QoS), tels qu’IP IPX sur Ethernet, Fast Ethernet et Token Ring. Il est présent dans plus de 30 produits et concerne le contrôle des appels, la gestion multimédia, la gestion de la bande passante pour les conférences point-à-point et multipoints. H.323 traite également de l’interfaçage entre le LAN et les autres réseaux.
Le protocole H.323 fait partie de la série H.32x qui traite de la vidéoconférence à travers de différents réseaux. Il inclut H.320 et H.324 liés aux réseaux ISDN (Integrated Service Data Network) et PSTN (Public Switched Telephone Network) [4].
Plus qu’un protocole, H.323 crée une association de plusieurs protocoles différents qui peuvent être regroupés en trois catégories : la signalisation, la négociation de codec, et le transport de l’information.
Les messages de signalisation sont ceux envoyés pour demander la mise en relation de deux clients, qui indique que la ligne est occupée ou que le téléphone sonne, etc. En H.323, la signalisation s’appuie sur le protocole RAS pour l’enregistrement et l’authentification, et sur le protocole Q.931 pour l’initialisation et le contrôle d’appel.
La négociation est utilisée pour se mettre d’accord sur la façon de coder les informations à échanger. Il est important que les téléphones (ou systèmes) utilisent un langage commun s’ils veulent se comprendre. Il s’agit du codec le moins gourmand en bande passante ou de celui qui offre la meilleure qualité. Il serait aussi préférable d’avoir plusieurs alternatives de langages. Le protocole utilisé pour la négociation de codec est le H.245
Le transport de l’information s’appuie sur le protocole RTP qui transporte la voix, la vidéo ou les données numérisées par les codecs. Les messages RTCP peuvent être utilisés pour le contrôle de la qualité, ou la renégociation des codecs si, par exemple, la bande passante diminue.
Infrastructure H.323
Le protocole H.323 est constitué par un ensemble de protocoles permettant des communications entre plusieurs objets. Ces objets sont les terminaux, les Gateways et les Gatekeepers qui seront définis comme suit :
Terminal
Le terminal H.323 est soit un téléphone, soit un PC muni d’une carte son et d’un micro. Il s’agit d’un appareil « client » pour l’utilisateur. Eventuellement, le terminal peut être doté d’un système de transmission d’images et de données, mais ce n’est pas obligatoire. Le rôle premier du standard H.323 est de permettre les échanges entre les terminaux donc d’envoyer et recevoir des messages multimédias [5].
Avantages et inconvénients du protocole H.323
La technologie H.323 possède des avantages et des inconvénients. Parmi les avantages, on peut citer : [4]
La gestion de la bande passante : H.323 permet une bonne gestion de la bande passante en posant des limites au flux audio/vidéo afin d’assurer le bon fonctionnement des applications critiques sur le LAN. Chaque terminal H.323 peut procéder à l’ajustement de la bande passante et à la modification du débit en fonction du comportement du réseau en temps réel (latence, perte de paquets et gigue).
Le support Multipoint : H.323 permet de faire des conférences multipoint via une structure centralisée de type MCU (Multipoint Control Unit) ou en mode ad-hoc.
Le support Multicast : H.323 permet également de faire des transmissions en multicast.
L’interopérabilité : H.323 permet aux utilisateurs de ne pas se préoccuper de la manière dont se font les communications. Les paramètres (les codecs, le débit…) sont négociés de manière transparente.
Flexibilité : une conférence H.323 peut inclure des terminaux hétérogènes (studio de visioconférence, PC, téléphones…) qui peuvent partager selon le cas, de la voix de la vidéo et même des données grâce aux spécifications T.120.
Les inconvénients de la technologie H.323 sont :
La complexité de mise en oeuvre et les problèmes d’architecture en ce qui concerne la convergence des services de téléphonie et d’Internet, ainsi qu’un manque de modularité et de souplesse.
L’existence de nombreuses options susceptibles d’être implémentées de façon différentes par les constructeurs qui peut poser des problèmes d’interopérabilité.
Le protocole SIP
Le protocole SIP (Session Initiation Protocol) est un protocole normalisé et standardisé par l’IETF (Internet Engineering Task Force) (décrit par le RFC 3261 qui rend obsolète le RFC 2543, et complété par le RFC 3265). Il s’agit d’un protocole complémentaire aux protocoles déjà développés par l’IETF comme RTP (Real-time Transport Protocol) qui assure le plus souvent les sessions audio et vidéo. Il est aujourd’hui le protocole qui attire le plus l’attention des développeurs de logiciel VoIP car il est sensiblement plus simple à exploiter que H.323. On peut également rencontrer SIP comme protocole pour envoyer des messages instantanés ou renseigner sur des événements. Le SIP remplace progressivement H323.
Le SIP est le standard ouvert de VoIP, interopérable, le plus étendu et vise à devenir le standard des télécommunications multimédias (son, image, etc.). Skype par exemple, qui utilise un format propriétaire, ne permet pas l’interopérabilité avec un autre réseau de voix sur IP et ne fournit que des passerelles payantes vers la téléphonie standard. SIP n’est donc pas seulement destiné à la VoIP mais à de nombreuses autres applications telles que la visiophonie, la messagerie instantanée, la réalité virtuelle ou même les jeux vidéo.
Le SIP est décrit comme un protocole de contrôle de la couche application. Il établit, modifie, et termine des conversations multimédias. Il ressemble un peu, en syntaxe, à HTTP et SMTP, car il permet d’établir une session entre des interlocuteurs identifiés par des adresses similaires à des adresses e-mail [4] [5].
Avantages et inconvénients du protocole SIP
Ouvert, standard, simple et flexible sont les principaux atouts du protocole SIP ; voici en détails ces différents avantages : [4]
Ouvert : les protocoles et documents officiels sont détaillés et accessibles à tous en téléchargement.
Standard : l’IETF a normalisé le protocole et son évolution continue par la création ou l’évolution d’autres protocoles qui fonctionnent avec SIP.
Simple : SIP est simple et très similaire à http.
Flexible : SIP est également utilisé pour tout type de sessions multimédias (voix, vidéo, mais aussi musique, réalité virtuelle, etc.).
Téléphonie sur réseaux publics : il existe de nombreuses passerelles (services payants) vers le réseau public de téléphonie (RTC, GSM, etc.) permettant d’émettre ou de recevoir des appels vocaux.
Points communs avec H.323 : l’utilisation du protocole RTP et quelques codecs son et vidéo sont en commun.
Par contre une mauvaise implémentation ou une implémentation incomplète du protocole SIP dans les User Agents peut perturber le fonctionnement ou générer du trafic superflu sur le réseau.
Comparaison H.323 et SIP
SIP est un protocole indépendant de la couche transport, il peut aussi bien s’utiliser avec TCP qu’avec UDP. De plus, SIP est un protocole de signalisation hors bande, c’est-à-dire il sépare les flux de données de ceux de la signalisation, ce qui rend plus souple l’évolution « en direct » d’une communication (arrivée d’un nouveau participant, changement de paramètres…).
Les protocoles de transports
Pour transporter la voix ou la vidéo sur IP, le protocole UDP (User Datagram Protocol) s’impose par rapport au protocole TCP en terme de transport en temps réel. En effet, si TCP (Transmission Control Protocol) présente l’avantage de gérer un transfert fiable (renvoi des paquets IP en cas d’erreur), il est malheureusement incompatible avec un flux temps-réel dans la mesure où les mécanismes de TCP prévoient une réduction automatique du débit accordé à l’émetteur en cas de congestion du réseau et une remontée lente vers le débit nominal. Par contre, l’UDP est un protocole sans correction d’erreur, et à aucun moment l’arrivée des paquets dans leur ordre d’émission est assurée. Pour le transport de données en temps réel telles que la voix ou la vidéo, il est nécessaire d’utiliser deux protocoles supplémentaires : RTP (Real-Time transport Protocol) et RTCP (RTP Control Protocol).
Le protocole RTP
Le RTP (Real time Transport Protocol), standardisé en 1996, est un protocole qui a été développé par l’IETF afin de faciliter le transport en temps réel de bout en bout des flots données audio et vidéo sur les réseaux IP, c’est à dire sur les réseaux de paquets. Le RTP est un protocole qui se situe au niveau de l’application et qui utilise les protocoles sous-jacents de transport TCP ou UDP. Mais l’utilisation du RTP se fait généralement au-dessus d’UDP ce qui permet d’atteindre plus facilement le temps réel. Les applications temps réels comme la parole numérique ou la visioconférence constituent un véritable problème pour Internet. Qui dit application temps réel, dit présence d’une certaine qualité de service (QoS) que le RTP ne garantit pas du fait qu’il fonctionne au niveau Applicatif. De plus RTP est un protocole qui se trouve dans un environnement multipoint, donc on peut dire que celui-ci possède à sa charge, la gestion du temps réel, mais aussi l’administration de la session multipoint [4].
Les fonctions du protocole RTP
Le but du RTP est de fournir un moyen uniforme de transmission sur IP des données soumises à des contraintes de temps réel (audio, vidéo, etc.) et d’organiser les paquets à l’entrée du réseau et de les contrôler à la sortie. C’est un protocole de bout en bout, volontairement incomplet et malléable pour s’adapter aux besoins des applications. Il sera intégré dans le noyau de l’application. Il laisse la responsabilité du contrôle aux équipements d’extrémité. Le RTP permet [5] [6]:
d’identifier le type de l’information transportée pour lui associer un transport sécurisé.
d’ajouter des marqueurs temporels permettant d’indiquer l’instant d’émission du paquet. L’application destinataire peut alors synchroniser les flux et mesurer les délais et la gigue.
d’inclure des numéros de séquence à l’information transportée afin de détecter l’occurrence de paquets perdus et de délivrer les paquets en séquence à l’application destinataire.
Transporter les applications audio et vidéo dans des trames (avec des dimensions qui sont dépendantes des codecs qui effectuent la numérisation). Ces trames sont incluses dans des paquets afin d’être transportées et doivent, de ce fait, être récupérées facilement au moment de la phase de segmentation des paquets afin que l’application soit décodée correctement.
En revanche, ce n’est pas la solution qui permettrait d’obtenir des transmissions temps réel sur IP.
En effet, il ne procure pas de :
Réservation de ressources sur le réseau (pas d’action sur le réseau).
Fiabilité des échanges (pas de retransmission automatique, pas de régulation automatique du débit).
Garantie dans le délai de livraison et dans la continuité du flux temps réel.
|
Table des matières
INTRODUCTION GENERALE
CHAPITRE 1 LE RESEAU IP
1.1 Introduction
1.2 Architecture TCP/IP
1.2.1 Couche Accès Réseau
1.2.2 Couche Internet
1.2.3 Couche Transport hôte à hôte
1.2.4 Couche Application
1.2.5 Principe d’encapsulation dans le réseau TCP/IP
1.2.6 Hiérarchie de l’implémentation TCP/IP
1.3 Adressage dans le réseau IP
1.3.1 Résolution d’adresses : ARP et RARP
1.3.2 Adresse IP
1.3.3 Adresse privée et adresse publique
1.4 Protocole IP
1.4.1 Format du datagramme IP
1.4.2 Taille du datagramme IP
1.4.3 Fragmentation IP
1.4.4 Routage IP
1.5 Les protocoles TCP et UDP
1.5.1 Notion de port
1.5.2 Le protocole TCP
1.5.3 Le protocole UDP
1.6 Conclusion
CHAPITRE 2 LA VOIP SUR LES RESEAUX IP
2.1 Introduction
2.2 Protocole H 323
2.2.1 Description du protocole H 323
2.2.2 Infrastructure H.323
2.2.3 Avantages et inconvénients du protocole H.323
2.3 Le protocole SIP
2.3.1 Les entités SIP
2.3.2 Fonctionnement du protocole SIP
2.3.3 Codes d’erreurs
2.3.4 Avantages et inconvénients du protocole SIP
2.4 Comparaison H.323 et SIP
2.5 Les protocoles de transports
2.5.1 Le protocole RTP
2.5.2 Le protocole RTCP ou Real Time Control Protocol
2.6 Intérêts de la VoIP
2.7 Quality Of Service
2.7.1 Définition
2.7.2 Elément de la qualité de service
2.7.3 Récapitulation sur les contraintes de la VoIP
2.8 Conclusion
CHAPITRE 3 LE WEBRTC, NOUVEL ELAN POUR LA VOIP
3.1 Introduction
3.2 Problématique SIP & NAT
3.2.1 Introduction NAT
3.2.2 Visualisation du problème SIP-NAT
3.2.3 Illustration de la problématique dans la VoIP
3.3 Architecture de WebRTC
3.3.1 Architecture d’application WebRTC
3.3.2 Etablissement de la communication
3.3.3 Modèle d’architecture WebRTC
3.4 WebRTC API
3.4.1 MediaStreams
3.4.2 PeerConnection
3.4.3 DataChannel
3.5 WebRTC dans les navigateurs
3.5.1 Chrome
3.5.2 Mozilla Firefox
3.6 Implémentation
3.7 Interopérabilité
3.8 Les fonctionnalités du WebRTC
3.8.1 Donner accès au navigateur à votre caméra et à votre micro
3.8.2 Permettre le transfert p2p des flux audio et vidéo
3.8.3 Permettre le transfert de toutes autres données de l’application en p2p
3.9 Conclusion
CHAPITRE 4 MISE EN PLACE DU SERVEUR WEBRTC AVEC FREESWITCH
4.1 Introduction
4.2 Serveur Freeswitch
4.2.1 Installation de Freeswitch
4.2.2 Les fichiers de configuration de base
4.2.3 Mode verto
4.2.4 Mode rtmp
4.2.5 Création User Agent
4.3 Interface web : Fusionpbx
4.3.1 Introduction
4.3.2 Configuration
4.4 Interface WebRTC
4.4.1 Menu Accueil
4.4.2 Menu Webrtc
4.4.3 Menu Contact
4.5 Conclusion
CONCLUSION GENERALE
ANNEXE 1 CODE SOURCE JAVASCRIPT
ANNEXE 2 EXEMPLE DE COMPTE SIP
BIBLIOGRAPHIE
Télécharger le rapport complet