Stream Control Transmission Protocol (SCTP)
Description: OpenSS7 Project Manual Pages Internet Protocol IP Transport
There are three OpenSS7 implementations of SCTP as follows:
- Linux Native Sockets SCTP Implementation
- Linux Fast-STREAMS SCTP Implementation
- strinet STREAMS-over-Sockets (SoS) SCTP Implementation
SCTP
Section: The OpenSS7 Project Devices (4)
Updated: Tue, 18 Nov 2008 20:29:43 GMT
Index
Return to Main Contents
NAME
sctp
- Stream Control Transmission Protocol (SCTP)
SYNOPSIS
#include <sys/socket.h>
#include <netinet/sctp.h>
#include <sys/npi_sctp.h>
#include <sys/tpi_sctp.h>
#include <sys/xti_sctp.h>
-
int sctp_stream = open(sctp_device, flags);
-
int sctp_xtistr = t_open(sctp_device, flags);
-
int sctp_socket = socket(PF_INET, socket_type, IPPROTO_SCTP);
DESCRIPTION
SCTP
is an implementation of the Stream Control Transmission Protocol
(SCTP)
define in RFC 2960[1]
and RFC 3309[2].
SCTP
provides reliable deliver of ordered or unordered packets over a full duplex
connection between two streams on top of
ip(4).
SCTP
can guarantee that the data arrives in order on a stream, if requested, and
retransmits lost packets. It generates and checks a per-packet checksum to
catch transmission errors.
SCTP
uses the services of the Internet Protocol,
ip(4),
to transfer packets.
SCTP
is implemented as a
STREAMS(4)
multiplexing driver.
ip(4)
streams are lined under the
SCTP
multiplexing driver using the
I_LINK or I_PLINK
commands of
streamio(7),
to provide network services to
SCTP.
Once linked, the streams must be configured using
sctp_ioctl(4).
SCTP
provides two stream types. To select one of the stream types,
sctp_device
can be one of the following:
- /dev/sctp_n
- This device provides the
SCTP
protocol services using the N-primitives of the
Network Provider Interface,
npi(7),
used for the Stream Control Transmission Protocol as described in
npi_sctp(7).
The
npi(7)
interface provided on a stream opening this device is suitable for use with
the
sockets(3)
library and provides the
SCTP
interface using sockets as described in
sctp(7).
This stream provides connection-oriented NPI services.
- /dev/sctp_t
- This device provides the
SCTP
protocol service interface using the T-primitives of the Transport Provider
Interface,
tpi(7),
used of the Stream Control Transmission Protocol, as described in
tpi_sctp(7).
The
tpi(7)
interface provided on a stream opening this device is suitable for use with
the
xnet(3) or xti(3)
library and provides the
SCTP
interface using XTI as described in
xti_sctp(3).
SCTP
provides three socket types for use by the
sockets(3)
library
socket(7)
calls.
SCTP
provides sockets in the protocol family
PF_INET
using the protocol number
IPPROTO_SCTP.
The
socket_type
argument can be one of the following:
- SOCK_SEQPACKET
- A standard
SOCK_SEQPACKET
socket that preserves message boundaries, Nagles at the association level, and
provides ordered and unordered reliable and partial reliable, acknnowledged
and unacknowledged delivery on multiple streams.
This socket uses the underlying
/dev/sctp_t
transport service provider.
- SOCK_STREAM
- A
tcp(7)
compatible
SOCK_STREAM
socket that does not preserve message boundaries, Nagles at the stream level,
and provides ordered and out-of-band unacknowledged deliver on a single
stream. This is an optional capability of
SCTP
that provides for maximum compatability with applications written for
tcp(4).
This socket uses the underlying
/dev/sctp_t
transport service provider.
- SOCK_RDM
- A
udp(7)
compatible
SOCK_RDM
socket that preserves message boundaries, does not Nagle, and provides only
unordered but reliable or partially reliable delivery on multiple streams.
This is an optional capability of
SCTP
that provides for maximum compatibility with applications written for
rudp(7).
This socket uses the underlying
/dev/sctp_t
transport service provider.
The following entries in /etc/protosw provides the information necessary for
socksys(4)
to use these devices:
PF_INET | SOCK_SEQPACKET | IPPROTO_SCTP | /dev/sctp_t | tpi | cots
|
PF_INET | SOCK_STREAM | IPPROTO_SCTP | /dev/sctp_t | tpi | cots
|
PF_INET | SOCK_RDM | IPPROTO_SCTP | /dev/sctp_t | tpi | cots
|
For additional information, see
socksys(4)
and
protosw(5).
IOCTLS
All interfaces support a set of management IO controls using
ioctl(2)
and
streamio(7)
I_STR
system calls on the
sctp_stream, sctp_xtistr or sctp_socket.
These management controls are described in
NOTICES
SCTP
has several implementations. This manpage is for the
STREAMS(4)
implementation. There is also an
INET(4)
implementation which provides
tpi(7)
access to the Linux NET4 version of
SCTP.
For more information on this version, see
sctp(7).
FILES
<sys/socket.h>,
<netint/sctp.h>,
<sys/npi_ip.h>,
<sys/npi_sctp.h>,
<sys/tpi_ip.h>,
<sys/tpi_sctp.h>,
<sys/xti_ip.h>,
<sys/xti_sctp.h>.
DEVICES
/dev/sctp_n,
/dev/sctp_t.
SEE ALSO
ioctl(2),
ip(4),
npi(7),
npi_sctp(7),
protosw(5),
rudp(7),
sctp(7),
sctp(8),
sctp_ioctl(4),
sctp_ioctl(4).
socket(7),
sockets(3),
socksys(4),
streamio(7),
STREAMS(4),
tcp(7),
tpi(7),
tpi_sctp(7),
udp(7),
xnet(3),
xti(3),
xti_sctp(3).
REFERENCES
- [1]
- RFC 2960,
Stream Control Transmission Protocol (SCTP), October 2000, Randall R. Stewart, ed., The Internet Society.
(Obsoleted by RFC 4960) (Updated by RFC 3309) (Status: PROPOSED STANDARD)
<http://www.ietf.org/rfc/rfc2960.txt>
- [2]
- RFC 3309,
Stream Control Transmission Protocol (SCTP) Checksum Change, September 2002, Jonathan Stone, ed., The Internet Society.
(Obsoleted by RFC 4960) (Updates RFC 2960) (Status: PROPOSED STANDARD)
<http://www.ietf.org/rfc/rfc3309.txt>
- [3]
- RFC 3873,
Stream Control Transmission Protocol (SCTP) Mangement Information Base (MIB), September 2004, J. Pastor, M. Belinchon, The Internet Society.
(Status: PROPOSED STANDARD)
<http://www.ietf.org/rfc/rfc3873.txt>
- [4]
- RFC 3758,
Stream Control Transmission Protocol (SCTP) Partial Reliability Extension, May 2004, Randall R. Stewart, ed., The Internet Society.
(Status: PROPOSED STANDARD)
<http://www.ietf.org/rfc/rfc3758.txt>
- [5]
- draft-ietf-tsvwg-addip-sctp-08.txt,
Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration, September 24, 2003, Randall R. Stewart, ed., Internet Engineering Task Force - Signalling Transport Working Group.
Work In Progress.
<http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-addip-sctp-08.txt>
- [6]
- draft-ietf-tsvwg-sctpimpguide-10.txt,
Stream Control Transmission Protocol (SCTP) Implementor's Guide, November 13, 2003, Randall R. Stewart, ed., Internet Engineering Task Force - Signalling Transport Working Group.
Work In Progress.
<http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-sctpimpguide-10.txt>
TRADEMARKS
- OpenSS7tm
- is a trademark of OpenSS7 Corporation.
- Linux®
- is a registered trademark of Linus Torvalds.
- UNIX®
- is a registered trademark of The Open Group.
- Solaris®
- is a registered trademark of Sun Microsystems.
Other trademarks are the property of their respective owners.
IDENTIFICATION
-
The OpenSS7 Project: Package OpenSS7 version 0.9.2 released Tue, 18 Nov 2008 20:29:43 GMT.
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
(See roff source for permission notice.)
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- IOCTLS
- NOTICES
- FILES
- DEVICES
- SEE ALSO
- REFERENCES
- TRADEMARKS
- IDENTIFICATION
This document was created by
man2html,
using the manual pages.
Time: 20:29:42 GMT, November 18, 2008