S.I.P à travers les NATs
Le protocole STUN & TURN
Plan de l’exposé
1. Présentation rapide de S.I.P
2. Présentation des différents types de NAT
3. La problématique
4. Le protocole STUN
5. Le protocole TURN
6. Les solutions alternatives
Plan de l’exposé
1. Présentation rapide de S.I.P
2. Présentation des différents types de NAT
3. La problématique
4. Le protocole STUN
5. Le protocole TURN
6. Les solutions alternatives
Présentation de S.I.P
SIP : Session Initiation Protocol
Protocole de Pure Signalisation : uniquement un flux d’informations
Ses principales fonctions :
- Localiser un terminal
- Contacter un terminal
- Échanger des informations sur les médias pour permettre
l’établissement d’une session
- Modifier des sessions existantes
- Clore une session média existante
Présentation de S.I.P
Exemple typique d’une communication SIP
Client 1 Client 2INVITE [email protected]
180 RINGING
200 OK
ACK
COMMUNICATION
BYE
OK
Un paquet S.I.P : que contient-il ?
Présentation de S.I.P
MaryJohn
ENTETE SIPINVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 192.190.132.20:3456
Call-ID:[email protected]: sip: [email protected]
To : sip:[email protected] 1 INVITE
Content-type: application/sdpContent-lenght:98
Message SDPv= 0
o=mary 3123 121231 IP V4 192.190.132.20c=IN IP4 192.190.132.20
m=audio 49170 RTP/AVP 0
Plan de l’exposé
1. Présentation rapide de S.I.P
2. Présentation des différents types de NAT
3. La problématique
4. Le protocole STUN
5. Le protocole TURN
6. Les solutions alternatives
Les NATs
NAT : Network Adresse Translation
Utilité : Répondre à la pénurie des adresses publiques IPV4, protection du réseau
Différents types de NAT :
- Full Cone NAT
- Resticted Cone NAT
- Port Resticted Cone NAT
- Symetric NAT
Les NATs
FULL CONE NAT
Mapping Constant : pas besoin de connexion sortante pour
avoir une connexion entrante
Toutes les machines peuvent répondre avec n’importe quel
port source
NAT
Client 1
Machine 2
Machine 4
Machine 3
192.168.0.2port 2344
193.45.56.2port 5000
Les NATs
RESTRICTED CONE NAT
Un paquet sortant est nécessaire pour ouvrir une
connexion entrante
Seul le destinataire peut répondre mais sur n’importe
avec n’importe quel port source
Mapping calculé en fonction de l’adresse IP et port de la source
NAT
Client 1
Machine 2
Machine 4
Machine 3
192.168.0.2port 2344
193.45.56.2port 5000
Réponse : port source
n’importe lequel
193.122.11.29port 11345
Les NATs
PORT RESTRICTED CONE NAT
Un paquet sortant est nécessaire pour ouvrir une
connexion entrante
Seul le destinataire peut répondre mais avec le port sur
lequel le paquet est arrivé
Mapping calculé en fonction de l’adresse IP et port de la source
NAT
Client 1
Machine 2
Machine 4
Machine 3
192.168.0.2port 2344
193.45.56.2port 5000
Réponse : on doitutilisé le même port
(ici port 11345)
193.122.11.29port 11345
NAT
Client 1
Machine 2
Machine 4
Machine 3
192.168.0.2port 2344
193.45.56.3port 3444
193.56.78.98Port 11345
NAT
Client 1
Machine 2
Machine 4
Machine 3
192.168.0.2port 2344
193.45.56.2port 5000
Réponse : on doitutilisé le même port
(ici port 11345)
193.122.11.29port 11345
Les NATs
SYMETRIC NAT
Un paquet sortant est nécessaire pour ouvrir une
connexion entrante
Seul le destinataire peut répondre mais avec le port sur
lequel le paquet est arrivé
Mapping calculé en fonction du couple adresse IP/port de la
source et de celui du destinataire
Plan de l’exposé
1. Présentation rapide de S.I.P
2. Présentation des différents types de NAT
3. La problématique
4. Le protocole STUN
5. Le protocole TURN
6. Les solutions alternatives
La problématique
Pour que S.I.P fonctionne à travers les NATs, il faut que le client S.I.P puisse connaître et envoyer dans son paquet
SIP une adresse qui permettra au destinataire de répondre.
Plan de l’exposé
1. Présentation rapide de S.I.P
2. Présentation des différents types de NAT
3. La problématique
4. Le protocole STUN
5. Le protocole TURN
6. Les solutions alternatives
Le protocole STUN
NATClient 1
SERVEUR STUN
Quelle est mon IP publique?Ton IP est 193.78.54.09 et ton port le 6321
Principe de STUN
- Caractériser le type de NAT
- Déterminer le couple « adresses » « ports » publics qu’on doit utiliser dans le paquet SIP pour obtenir une réponse
STUN SharedSecretRequest/TLS
NAT
SERVEUR STUNTéléphone Téléphone
STUN SharedSecretReponse/TLS
STUN BindingRequest/UDP
STUN BindingResponse/UDP
INVITE
180 RINGING
200 OK
ACK
COMMUNICATION
Plan de l’exposé
1. Présentation rapide de S.I.P
2. Présentation des différents types de NAT
3. La problématique
4. Le protocole STUN
5. Le protocole TURN
6. Les solutions alternatives
NAT
Client 1
SERVEUR STUN/TURN
Client 2
Ton IP est 193.78.54.09 et ton port le 6321
Quelle est mon IP publique?
Contact Client 2
Connexion Client 2
COMMUNICATION
Principe de TURN
- Basé sur STUN pour l’échange de clés
- Le serveur TURN sert de relais entre l’émetteur et le récepteur
Le protocole TURN
STUN SharedSecretRequest/TLS
NAT
SERVEURSTUN & TURN
Téléphone Téléphone
STUN SharedSecretReponse/TLS
TURN BindingRequest/UDP
TURN BindingResponse/UDP
INVITE
180 RINGING
200 OK
ACK
COMMUNICATION
INVITE
180 RINGING
200 OK
ACK
COMMUNICATION
Plan de l’exposé
1. Présentation rapide de S.I.P
2. Présentation des différents types de NAT
3. La problématique
4. Le protocole STUN
5. Le protocole TURN
6. Les solutions alternatives
Conclusion
1. Tunnel de données (VPN)
2. UPnP (Universal Plug And Play)
3. MidCom
Le protocole STUN
Le protocole TURN
Les Solutions Alternatives
Merci de votre attention….
Vos questions………
……nos réponses
Top Related