El protocolo de protocolo de transmisión para el control de flujo (SCTP) proporciona servicios a los protocolos de capa de aplicación de modo similar a TCP. Sin embargo, SCTP permite las comunicaciones entre dos sistemas, que pueden ser (uno o ambos) de host múltiple. La conexión SCTP se denomina asociación. En una asociación, una aplicación divide los datos que se transmitirán en uno o más flujos de mensajes, también denominados múltiples flujos. Una conexión SCTP puede realizarse en los puntos finales con varias direcciones IP, lo cual es especialmente importante en las aplicaciones de telefonía. Las posibilidades que ofrece el host múltiple de SCTP constituyen una consideración de seguridad si el sitio utiliza filtro IP o IPsec. En la página del comando man sctp(7P) se describen algunas de estas consideraciones.
De manera predeterminada, SCTP se incluye en Oracle Solaris y no requiere ninguna configuración adicional. Sin embargo, es posible que tenga que configurar de modo explícito determinados servicios de capa de la aplicación para que utilicen SCTP. Algunos ejemplos son aplicaciones de echo y discard. El procedimiento siguiente describe cómo agregar un servicio echo que utilice un socket de estilo uno a uno SCTP. Puede utilizar el mismo procedimiento para agregar servicios para TCP y UDP.
La tarea siguiente describe cómo agregar un servicio SCTP inet que administre el daemon inetd al repositorio SMF. Luego, la tarea describe cómo utilizar los comandos SMF para agregar el servicio.
Antes de empezar
Antes de llevar a cabo el procedimiento siguiente, cree un archivo de manifiesto para el servicio. Por ejemplo, este procedimiento utiliza un manifiesto para el servicio echo que se denomina echo.sctp.xml.
Consulte la página del comando man pfedit(1M).
Utilice la siguiente sintaxis para la definición del servicio:
service-name port/protocol aliases
# cd dir-name # svccfg import service-manifest-name
Por ejemplo, debe agregar un nuevo servicio SCTP echo con el manifiesto echo.sctp.xml que se encuentra en el directorio service.dir de la siguiente manera:
# cd service.dir # svccfg import echo.sctp.xml
# svcs FMRI
Para el argumento FMRI, utilice el Fault Managed Resource Identifier (FMRI) del manifiesto del servicio.
# inetadm -l FMRI
# inetadm -e FMRI
El siguiente ejemplo muestra los comandos para utilizar y las entradas de archivo que son necesarios para que el servicio echo utilice 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