Administración de redes TCP/IP, IPMP y túneles IP en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Agregación de servicios que utilizan el protocolo SCTP

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.

Cómo agregar servicios que utilicen el protocolo SCTP

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.

  1. Inicie sesión en el sistema local con una cuenta de usuario con privilegios de escritura para los archivos del sistema.
  2. Agregue una definición para el nuevo servicio en el archivo /etc/services mediante el comando pfedit.

    Consulte la página del comando man pfedit(1M).

    Utilice la siguiente sintaxis para la definición del servicio:

    service-name port/protocol aliases
  3. Cambie al directorio donde se encuentra el manifiesto del servicio y, a continuación, importe el manifiesto del servicio.
    # 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
  4. Compruebe que se haya agregado el manifiesto del servicio.
    # svcs FMRI

    Para el argumento FMRI, utilice el Fault Managed Resource Identifier (FMRI) del manifiesto del servicio.

  5. Enumere las propiedades del servicio para determinar si debe realizar modificaciones.
    # inetadm -l FMRI
  6. Active el nuevo servicio.
    # inetadm -e FMRI
  7. Compruebe que el servicio esté activado.
Ejemplo 1-2  Cómo agregar un servicio que utilice el protocolo de transporte SCTP

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