Differentiated services
# Differentiated services

DiffServ ou Differentiated Services est une architecture de réseau qui spécifie un mécanisme pour classer et contrôler le trafic tout en fournissant de la qualité de service (QoS), en différenciant les services des données.

## Principe

Tous les routeurs du domaine doivent être en DiffServ pour que cela puisse fonctionner. Leur gestion des priorités du trafic appelée per-hop behaviour (en) (PHB), s'effectue alors selon les différents types de flux (VOIP, multimédia...).

Au sein d'un domaine DiffServ, il convient de distinguer deux types de routeurs : ceux situés à la périphérie du domaine et ceux situé à l'intérieur. Les routeurs situés à la périphérie du système sont chargés d'attribuer un Differentiated Service Code Point (DSCP) aux paquets IP en provenance de l'extérieur du domaine, sur la base de l'adresse IP source et son port, l'adresse IP de destination et son port, le protocole utilisé ainsi que le Flow Label. Ce DSCP est stocké dans les 6 bits de poids fort du champ ToS en IPv4 ou du champ Traffic Class en IPv6 (les deux bits de poids faible sont quant à eux dédiés à la notification explicite de congestion). À l'intérieur du domaine, les routeurs suivent la valeur du Differentiated Services Code Point (DSCP) de l'en-tête IP pour déterminer le PHB à adopter.

Par défaut le PHB est en priorité minimum (best-effort delivery, bits de valeur 000000), et peut aller jusqu'au real-time (temps réel).

Bien que les 6 bits du DSCP permettent en théorie 64 types de services différents, les principaux PHB utilisés sont :

* Best-effort delivery — Priorité minimum, PHB par défaut, bits de valeur 000000
* Expedited forwarding — Latence et jitter faibles, aucun paquet n'est abandonné
* Assured forwarding — Permet d'offrir certaines garanties sur la livraison des packets en fonction de leur classe (rouge, jaune ou vert)
* Class Selector — Pour la rétrocompatibilité

Voici en détail les DSCP à mettre en place pour chaque application :

| Application | PHB | DSCP | RFC |
| - | - | - | - |
| Network Control | CS6 | 48 | RFC 2474 |
| VoIP Telephony | EF | 46 | RFC 3246 |
| Call Signaling | CS5 | 40 | RFC 2474 |
| Multimedia Conferencing | AF41 | 34 | RFC 2597 |
| Real-Time Interactive/TelePresence | CS4 | 32 | RFC 2474 |
| Multimedia Streaming | AF31 | 26 | RFC 2597 |
| Broadcast Video | CS3 | 24 | RFC 2474 |
| Low-Latency/transactional data | AF21 | 18 | RFC 2597 |
| Operations/administrations/management | CS2 | 16 | RFC 2474 |
| High-Troughput/Bulk Data | AF11 | 10 | RFC 2597 |
| Best Effort | DF | 0 | RFC 2474 |
| Low-Profit/Scavenger Data | CS1 | 8 | RFC 3662 |
