L'SCTP (Stream Control Transmission Protocol, protocole, échange de clés sur Internet) fournit des services aux protocoles de couche d'application de façon similaire à TCP. Toutefois, SCTP permet la communication entre deux systèmes à multihébergement ou deux systèmes dont l'un est à multihébergement. La connexion SCTP s'appelle une association. Dans une association, une application divise les données à transmettre en plusieurs flux de messages. Une connexion SCTP peut atteindre les extrémités à l'aide de plusieurs adresses IP, ce qui s'avère particulièrement important dans le cadre d'applications de téléphonie. Les capacités multiréseau de SCTP améliorent la sécurité des sites ayant recours à IP Filter ou IPsec. La page de manuel sctp(7P)répertorie les points à prendre en considération au niveau de la sécurité.
Par défaut, le protocole SCTP fait partie d'Oracle Solaris et ne nécessite aucune configuration supplémentaire. Toutefois, vous devrez peut-être configurer explicitement certains services de couche d'application pour utiliser SCTP. Des exemples sont les applications echo et discard. La procédure suivante explique comment ajouter un service d'écho qui utilise un socket style SCTP un à un. Vous pouvez utiliser la même procédure et d'ajouter des services pour TCP UDP.
La tâche suivante explique comment ajouter un service SCTP inet, qui est géré par SMF le démon de, au référentiel inetd. Dans ce cas, la tâche explique comment utiliser les commandes d'ajout du service SMF.
Avant de commencer
Avant d'effectuer la procédure suivante, créez un fichier manifeste pour le service. A titre d'exemple, cette procédure s'effectue via un fichier manifeste du service appelé echoecho.sctp.xml.
Reportez-vous à la page de manuel pfedit(1M).
Utilisez la syntaxe suivante pour la définition du service:
service-name port/protocol aliases
# cd dir-name # svccfg import service-manifest-name
Par exemple, vous devez ajouter un service SCTP echo à l'aide du manifeste echo.sctp.xml qui se trouve dans le répertoire service.dir comme suit :
# cd service.dir # svccfg import echo.sctp.xml
# svcs FMRI
Pour l'argument FMRI, utilisez le FMRI (Fault Managed Resource Identifier, identificateur de ressources gérées erronées) du manifeste de service.
# inetadm -l FMRI
# inetadm -e FMRI
L'exemple suivant indique les commandes à utiliser et les entrées de fichier qui doivent être renseignés pour que le service echo utilise SCTP.
# cat /etc/services . . echo 7/tcp echo 7/udp echo 7/sctp # cd service.dir # svccfg import echo.sctp.xml # svcs network/echo* STATE STIME FMRI disabled 15:46:44 svc:/network/echo:dgram disabled 15:46:44 svc:/network/echo:stream disabled 16:17:00 svc:/network/echo:sctp_stream # inetadm -l svc:/network/echo:sctp_stream SCOPE NAME=VALUE name="echo" endpoint_type="stream" proto="sctp" isrpc=FALSE wait=FALSE exec="/usr/lib/inet/in.echod -s" user="root" default bind_addr="" default bind_fail_max=-1 default bind_fail_interval=-1 default max_con_rate=-1 default max_copies=-1 default con_rate_offline=-1 default failrate_cnt=40 default failrate_interval=60 default inherit_env=TRUE default tcp_trace=FALSE default tcp_wrappers=FALSE # inetadm -e svc:/network/echo:sctp_stream # inetadm | grep echo disabled disabled svc:/network/echo:stream disabled disabled svc:/network/echo:dgram enabled online svc:/network/echo:sctp_stream