Aller au contenu principal

13. Paramètres recommandés du bloc de contrôle de transmission (TCB)

Ce chapitre définit les paramètres du bloc de contrôle de transmission (TCB) que les implémentations SCTP doivent maintenir.

13.1. Paramètres nécessaires pour l'instance SCTP

13.1.1. Numéro de port SCTP local

Description : Numéro de port SCTP local pour recevoir les chunks INIT. Type : Entier non signé 16 bits Objectif : Identifie le point de terminaison SCTP local

13.1.2. Liste d'adresses IP locales

Description : Liste de toutes les adresses IP du point de terminaison local. Type : Tableau d'adresses IP Objectif : Support multihoming, liaison d'interface, annonce dans INIT/INIT ACK

13.1.3. Version du protocole SCTP

Description : Numéro de version du protocole SCTP pris en charge. Valeur actuelle : 1 Objectif : Vérification de compatibilité du protocole

13.1.4. Clé secrète

Description : Clé secrète pour générer les State Cookies. Type : Séquence d'octets (minimum recommandé 160 bits) Objectif : Générer et vérifier le HMAC des State Cookies, prévenir la falsification, doit être changée périodiquement

13.1.5. Valid.Cookie.Life

Description : Durée de vie valide du State Cookie. Valeur recommandée : 60 secondes Plage : 1-60 secondes recommandé Objectif : Empêcher l'acceptation de cookies périmés

13.1.6. Association.Max.Retrans

Description : Nombre maximum de retransmissions au niveau de l'association. Valeur recommandée : 10 tentatives Objectif : Association considérée comme échouée si dépassée, signaler COMMUNICATION LOST à l'ULP

13.2. Paramètres nécessaires par association

13.2.1. Verification Tag du pair

Description : Tag de vérification reçu du pair. Type : Entier non signé 32 bits Source : Champ Initiate Tag dans INIT ou INIT ACK Objectif : Utilisé dans chaque paquet SCTP sortant, empêche la falsification de paquets

13.2.2. Mon Verification Tag

Description : Tag de vérification du point de terminaison local. Type : Entier non signé 32 bits Génération : Généré aléatoirement lors de l'établissement de l'association (ne doit pas être 0) Objectif : Envoyé au pair dans INIT ou INIT ACK, valide les paquets reçus

13.2.3. État de l'association

Description : État actuel de l'association. Valeurs possibles : CLOSED, COOKIE-WAIT, COOKIE-ECHOED, ESTABLISHED, SHUTDOWN-PENDING, SHUTDOWN-SENT, SHUTDOWN-RECEIVED, SHUTDOWN-ACK-SENT

13.2.4. Liste d'adresses de transport du pair

Description : Toutes les adresses de transport du point de terminaison pair. Source : De INIT, INIT ACK ou ASCONF Contenu par adresse : Adresse IP, port SCTP, état (actif/inactif), compteur d'erreurs

13.2.5. Chemin principal

Description : Adresse de destination principale pour la transmission de données. Type : Pointeur vers une adresse dans la liste d'adresses de transport du pair Objectif : Chemin de transmission de données par défaut, modifiable via SET PRIMARY

13.2.6. Compteur d'erreurs global

Description : Compteur d'erreurs global au niveau de l'association. Type : Compteur entier Objectif : Suit les erreurs cumulatives de l'association, l'association échoue si dépasse Association.Max.Retrans

13.2.7. Seuil d'erreur global

Description : Seuil d'erreur global pour l'échec de l'association. Valeur recommandée : Égal à Association.Max.Retrans Objectif : Détermine l'échec de l'association

13.2.8. Peer Rwnd

Description : Taille de la fenêtre de réception du pair. Type : Entier non signé 32 bits Source : De INIT ACK, SACK ou mise à jour de fenêtre Objectif : Contrôle de flux, empêcher le débordement du tampon de réception

13.2.9. TSN suivant

Description : TSN à attribuer au prochain message utilisateur. Type : Entier non signé 32 bits Valeur initiale : Commence à partir de l'Initial TSN Objectif : Attribuer un TSN unique à chaque chunk DATA, croissant monotone (rebouclage à 0)

13.2.10. Point d'acquittement TSN cumulatif

Description : TSN cumulatif le plus élevé acquitté par le pair. Type : Entier non signé 32 bits Mis à jour depuis : Champ Cumulative TSN Ack dans SACK Objectif : Déterminer les données acquittées, libérer le tampon d'envoi

13.2.11. Flux sortants

Description : Nombre de flux sortants que ce point de terminaison peut utiliser. Type : Entier non signé 16 bits Négocié : Lors de l'établissement de l'association (minimum des demandes des deux côtés) Objectif : Support multi-flux, plage d'ID de flux : 0 à (Flux sortants - 1)

13.2.12. Flux entrants

Description : Nombre de flux entrants que le pair peut utiliser. Type : Entier non signé 16 bits Négocié : Lors de l'établissement de l'association Objectif : Valider les ID de flux reçus, doit être < Flux entrants

13.2.13. File de réorganisation

Description : Stocke les chunks DATA reçus mais pas encore livrés dans l'ordre. Structure de données : File triée par TSN Objectif : Gérer la réception hors ordre, livraison dans l'ordre à la couche supérieure

13.2.14. Liste d'adresses de transport locales

Description : Adresses de transport locales utilisées par cette association. Type : Liste d'adresses IP Objectif : Support multihoming, liaison d'interface

13.3. Données par adresse de transport

Pour chaque adresse de transport du pair, le point de terminaison SCTP doit maintenir :

13.3.1. Compteur d'erreurs

Description : Échecs de transmission consécutifs pour cette adresse. Type : Compteur entier Objectif : Détection d'échec de chemin, marquer le chemin comme inactif si dépasse Path.Max.Retrans

13.3.2. Seuil d'erreur

Description : Seuil pour marquer le chemin comme inactif. Valeur recommandée : Path.Max.Retrans (recommandé 5) Objectif : Déterminer l'échec du chemin

13.3.3. Path.Max.Retrans

Description : Retransmissions maximales pour un seul chemin. Valeur recommandée : 5 tentatives Objectif : Détection d'échec de chemin

13.3.4. cwnd (Fenêtre de congestion)

Description : Taille de la fenêtre de congestion en octets. Type : Entier non signé 32 bits Valeur initiale : min(4 * MTU, max(2 * MTU, 4380)) Objectif : Contrôle de congestion, limiter les données en attente

13.3.5. ssthresh (Seuil de démarrage lent)

Description : Seuil de démarrage lent en octets. Type : Entier non signé 32 bits Valeur initiale : Rwnd du pair Objectif : Distinguer les phases de démarrage lent et d'évitement de congestion

13.3.6. partial_bytes_acked

Description : Acquittements d'octets partiels accumulés en évitement de congestion. Type : Entier non signé 32 bits Objectif : Croissance de cwnd en évitement de congestion, accumuler MTU octets avant d'augmenter cwnd

13.3.7. PMTU (MTU du chemin)

Description : MTU du chemin vers cette destination. Type : Entier Valeur initiale : MTU du premier saut ou valeur conservatrice (par ex. 576 octets) Mis à jour par : Découverte du MTU du chemin Objectif : Segmentation de données, éviter la fragmentation IP

13.3.8. RTO (Délai de retransmission)

Description : Valeur du délai de retransmission en millisecondes. Type : Entier Valeur initiale : RTO.Initial (recommandé 3000 ms) Plage : RTO.Min à RTO.Max Objectif : Déterminer quand retransmettre les données non acquittées, ajusté dynamiquement selon RTT

13.3.9. SRTT (Temps aller-retour lissé)

Description : Temps aller-retour lissé en millisecondes. Type : Entier Objectif : Calculer RTO, estimer le délai réseau

13.3.10. RTTVAR (Variation du temps aller-retour)

Description : Variation du temps aller-retour en millisecondes. Type : Entier Objectif : Calculer RTO, tenir compte de la gigue RTT

13.3.11. Intervalle de battement de cœur

Description : Intervalle pour envoyer des battements de cœur à cette adresse. Valeur recommandée : 30 secondes Type : Entier (millisecondes) Objectif : Surveiller l'accessibilité du chemin, maintenir le chemin actif

13.3.12. Heure du dernier battement de cœur

Description : Heure du dernier battement de cœur envoyé à cette adresse. Type : Horodatage Objectif : Déterminer quand envoyer le prochain battement de cœur, utilisé avec l'intervalle de battement de cœur

13.3.13. Heure de confirmation de destination

Description : Heure à laquelle ce chemin a été confirmé accessible pour la dernière fois. Type : Horodatage Mis à jour quand : Réception de HEARTBEAT ACK, réception d'acquittement de nouvelles données Objectif : Décider si le battement de cœur doit être envoyé

13.3.14. État de l'adresse de transport

Description : État actuel de cette adresse de transport. Valeurs possibles : Active (disponible pour transmission de données), Inactive (actuellement indisponible), Unconfirmed (pas encore vérifiée) Objectif : Sélection de chemin et gestion d'échec

13.4. Paramètres généraux nécessaires

13.4.1. RTO.Initial

Valeur recommandée : 3000 millisecondes (3 secondes) Objectif : Utilisé quand aucune mesure RTT disponible

13.4.2. RTO.Min

Valeur recommandée : 1000 millisecondes (1 seconde) Objectif : Limite inférieure pour RTO

13.4.3. RTO.Max

Valeur recommandée : 60000 millisecondes (60 secondes) Objectif : Limite supérieure pour RTO

13.4.4. RTO.Alpha

Valeur recommandée : 1/8 (0.125) Objectif : SRTT = (1 - alpha) * SRTT + alpha * RTT'

13.4.5. RTO.Beta

Valeur recommandée : 1/4 (0.25) Objectif : RTTVAR = (1 - beta) * RTTVAR + beta * |SRTT - RTT'|

13.4.6. Max.Burst

Valeur recommandée : 4 paquets de taille PMTU Objectif : Empêcher le trafic en rafale de causer une congestion, limiter la transmission après retransmission rapide et timeout

13.4.7. SACK.Delay

Valeur recommandée : 200 millisecondes Maximum : 500 millisecondes Objectif : Permettre le regroupement de SACK, réduire la surcharge de chunks de contrôle

13.4.8. Valid.Cookie.Life

Valeur recommandée : 60 secondes Objectif : Prévenir les attaques par rejeu


Résumé

Importance des paramètres TCB :

  1. Niveau instance : Définir la configuration de base du point de terminaison SCTP
  2. Niveau association : Maintenir l'état et les informations de contrôle par association
  3. Niveau adresse : Supporter le multihoming et la gestion des chemins
  4. Général : Fournir un contrôle ajustable du comportement du protocole

Recommandations d'implémentation : Utiliser les valeurs recommandées par défaut, permettre la configuration via l'interface de gestion, maintenir la cohérence et l'exactitude des paramètres

Optimisation des performances : Un RTO approprié équilibre retransmission rapide et évitement de fausses retransmissions, cwnd/ssthresh appropriés optimisent le débit, l'intervalle de battement de cœur affecte la vitesse de détection d'échec et la surcharge