📄 draft-bidulock-tsvwg-sctptpi-00.me
字号:
.ba +3.lp.npThe \fILOCADDR\fR is the locally bound \fIport\fR and \fIaddr\fR list and isthe same as is indicated in the \fBT_BIND_ACK\fR primitive.For rules concerning the SCTP provider-specific interpretation of thisaddress, see the rules for the \fBT_BIND_ACK\fR primitive below..npThe \fIREMADDR\fRis the remote connected protocol address and is the same as is returned in the\fBT_CONN_IND\fR or the \fBT_CONN_CON\fR primitive.For rules concerning the SCTP provider-specific interpretation of theseaddresses, see the rules for \fBT_CONN_IND\fR and \fBT_CONN_CON\fR below..ba -3.ip "\fIT_BIND_REQ\fR"This primitive provides the protocol address to which the user is requestingthat the STREAM be bound in the \fIADDR_length\fR and \fIADDR_offset\fRfields.The following rules define the SCTP provider-specific interpretation of thetransport address:.ip "\fIT_BIND_ACK\fR"This primitive indicates the protocol address to which the STREAM has been boundby the provider in the \fIADDR_length\fR and \fIADDR_offset\fR fields.The following rules define the SCTP provider-specific interpretation of thetransport address:.ba +3.lp.npThe \fBT_BIND_ACK\fR primitive always returns a non-zero \fIADDR_length\fR inthe primitive..npIf the \fIport\fR field of the address is zero, then theSTREAM is bound as a "default listener" on the returned network addresses..npIf the \fIport\fR number is non-zero then the port number specified is that towhich the stream was bound..npIf the \fIaddr\fR list is empty, then the STREAM is bound to any and all networkaddresses which are available to the SCTP provider..npIf the \fIaddr\fR list is not emply, then the STREAM is bound to only thosenetwork addresses which are present in the list..ba -3.ipThe bound protocol address has provider-specific meaning to the SCTP TransportProvider. When the STREAM is bound as a "listener" (i.e. \fICONIND_number\fRis non-zero), it will accept incoming \fBINIT\fR messages sent to thespecified port number on any of the listed network addresses (or if there isno list, any network address). When the STREAM response to an SCTP \fBINIT\fRchunk with an SCTP \fBINIT-ACK\fR chunk, the list of bound network addresseswill be placed in the address list in the SCTP \fBINIT-ACK\fR chunk.When the STREAM is bound with \fICONIND_number\fR set to zero, a subsequent\fBT_CONN_REQ\fR primitive will launch an SCTP \fBINIT\fR chunk with the list ofbound network addresses in the address list in the SCTP \fBINIT\fR chunk..ip "\fIT_CONN_REQ\fR"This primitive provides the destination protocol address to which the user isrequesting that the STREAM be connected in the \fIDEST_length\fR and\fIDEST_offset\fR fields.The following rules define the SCTP provider-specific interpretation of thetransport address:.ba +3.lp.npThe \fBT_CONN_REQ\fR primitive must always be issued by the user with anon-zero \fIADDR_length\fR field, and the protocol address must contain atleast one network address in the address list..npIf the \fIport\fR field in the transport address is zero, the SCTP providerwill attempt to select a port..npIf the protocol address \fIaddr\fR list has more than one network address inthe list, only the first network address will be used as the destination ofthe SCTP \fBINIT\fR chunk which wil be issued to attempt the connection..npAdditional destination network addresses in the \fIaddr\fR list may be used aseligible destination network addresses once the association is formed laterand in conjunction with the network addresses which are returned by the peerin the SCTP \fBINIT-ACK\fR chunk..ba -3.ip "\fIT_CONN_CON\fR"This primitive indicates the protocol address of the peer endpointwhich is connected to the STREAM in the \fIRES_length\fR and \fIRES_offset\fRfields.The following rules define the SCTP provider-specific interpretation of thetransport address:.ba +3.lp.npThe \fBT_CONN_CON\fR primitive is always issued by the provider with anon-zero \fIRES_length\fR field, and the protocol address will contain atleast one network address in the address list..npThe first network address in the \fIaddr\fR list is the network address of thepeer endpoint which responded with an SCTP \fBINIT-ACK\fR chunk and asubsequent \fBCOOKIE-ACK\fR chunk confirming the connection..npThe remaining network addresses (if any) are addresses which were provided inthe SCTP \fBINIT-ACK\fR chunk. These are the alternative network addresses towhich the local host may send SCTP packets belonging to the association..ba -3.ip "\fIT_CONN_IND\fR"This primitive indicates the protocol address of the peer endpointwhich is attempting to connect to the STREAM in the \fISRC_length\fR and\fISRC_offset\fR fields.The following rules define the SCTP provider-specific interpretation of thetransport address:.ba +3.lp.npThe \fBT_CONN_IND\fR primitive is always issued by the provider with anon-zero \fISRC_length\fR field, and the protocol address will contain atleast one network address in the address list..npThe first network address in the \fIaddr\fR list is the network address of thepeer endpoint which initiated an SCTP \fBINIT\fR chunk and responded with anSCTP \fBCOOKIE-ECHO\fR chunk..npThe remaining network addresses (if any) are addresses which were provided inthe SCTP \fBINIT\fR chunk and echoed in the cookie in the \fBCOOKIE-ECHO\fRchunk. These are the alternative network addresses to which the local hostmay send SCTP packets belonging to the association..ba -3.sh 2 "SCTP Options".lpThe SCTP Provider Options are used in the following primitives:.(l.(c\fC+----------------+--------------------------------+| Transport | Parameter || Primitives | Fields |+----------------+--------------------------------+| T_INFO_ACK | OPT_size || T_OPTMGMT_REQ | OPT_length, OPT_offset || T_OPTMGMT_ACK | OPT_length, OPT_offset || T_CONN_REQ | OPT_length, OPT_offset || T_CONN_CON | OPT_length, OPT_offset || T_CONN_IND | OPT_length, OPT_offset || T_CONN_RES | OPT_length, OPT_offset || T_OPTDATA_REQ | OPT_length, OPT_offset || T_OPTDATA_IND | OPT_length, OPT_offset |+----------------+--------------------------------+.)c.ce 2\fBFigure 1.\fR Transport Primitives which usethe SCTP Transport Options.)l.lpThe general format of the Transport Option is as follows:.(l.nf\fCstruct t_opthdr { t_uscalar_t len; /* Option length, incl. header */ t_uscalar_t level; /* Option level */ t_uscalar_t name; /* Option name */ t_uscalar_t status; /* Negotiation result */ /* followed by option data */};.fi.)l.ip "\fIT_SCTP_NODELAY\fR"This option is formatted as a single \fIt_uscalar_t\fR boolean flag.Turns the Nagle algorithm off. This means that packets are always sent assoon as possible and no unnecessary delays are introduced, at the cost of morepackets in the network. Expects a \fIt_uscalar_t\fR boolean flag.This parallels the \fITCP_NODELAY\fR option for compatibility with \fBTCP\fR.\fIT_SCTP_NODELAY\fR and \fITCP_NODELAY\fR can be used interchangeably.This setting applies to the entire SCTP association.This option has meaning in \fBT_OPTMGMT_REQ\fR and \fBT_OPTMGMT_ACK\fRprimitives..ip "\fIT_SCTP_MAXSEG\fR"This option is formatted as a single \fIt_uscalar_t\fR which contains themaximum segment size in bytes.This option has meaning in \fBT_OPTMGMT_REQ\fR and \fBT_OPTMGMT_ACK\fRprimitives..ip "\fIT_SCTP_RECVSID\fR"This option is formatted as a single \fIt_uscalar_t\fR boolean flag.This option has meaning in \fBT_OPTMGMT_REQ\fR and \fBT_OPTMGMT_ACK\fRprimitives..ip "\fIT_SCTP_RECVPPI\fR"This option is formatted as a single \fIt_uscalar_t\fR boolean flag.This option has meaning in \fBT_OPTMGMT_REQ\fR and \fBT_OPTMGMT_ACK\fRprimitives..ip "\fIT_SCTP_RECVSSN\fR"This option is formatted as a single \fIt_uscalar_t\fR boolean flag.This option has meaning in \fBT_OPTMGMT_REQ\fR and \fBT_OPTMGMT_ACK\fRprimitives..ip "\fIT_SCTP_HB\fR"This option has meaning in \fBT_OPTMGMT_REQ\fR and \fBT_OPTMGMT_ACK\fRprimitives..ip "\fIT_SCTP_RTO\fR"This option has meaning in \fBT_OPTMGMT_REQ\fR and \fBT_OPTMGMT_ACK\fRprimitives..ip "\fIT_SCTP_SID\fR"This option is formatted as a single \fIt_uscalar_t\fR which contains thestream id significant to 16-bits.This option has meaning in \fBT_OPTDATA_REQ\fR, \fBT_OPTDATA_IND\fR,\fBT_OPTMGMT_REQ\fR, and \fBT_OPTMGMT_ACK\fR primitives..ip "\fIT_SCTP_PPI\fR"This option is formatted as a single \fIt_uscalar_t\fR which contains thePayload Protocol Identifier significant to 32-bits.This option has meaning in \fBT_OPTDATA_REQ\fR, \fBT_OPTDATA_IND\fR,\fBT_OPTMGMT_REQ\fR, and \fBT_OPTMGMT_ACK\fR primitives..ip "\fIT_SCTP_SSN\fR"This option is formatted as a single \fIt_uscalar_t\fR which contains thestream sequence number significant to 16-bits.This option has meaning in \fBT_OPTDATA_REQ\fR, \fBT_OPTDATA_IND\fR,\fBT_OPTMGMT_REQ\fR, and \fBT_OPTMGMT_ACK\fR primitives..ip "\fIT_SCTP_CORK\fR"This option is formatted as a single \fIt_uscalar_t\fR boolean flag.If enabled, the provider will not send out partial TSDUs. All queuedpartial TSDUs are sent when the option is cleared again. This is useful forprepending headers or for throughput optimization. This option cannot becombined with \fBT_SCTP_NODELAY\fR.This parallels \fITCP_CORK\fR for compatibility with \fBTCP\fR.\fIT_SCTP_CORK\fR and \fITCP_CORK\fR can be used interchangeably. For\fBT_OPTDATA_REQ\fR, this setting applies to the default or specified SCTPstream as set by the \fIT_SCTP_SID\fR option.This option has meaning in \fBT_OPTDATA_REQ\fR primitives..ip "\fIT_SCTP_STREAMS\fR"This option is formated as follows:.(l.nf\fCstruct sctp_opt_streams { uint16_t i_streams; uint16_t o_streams;};.fi.)l.ba +4Where.ip "\fIi_streams\fR"indicates the maximum or actual number of inbound SCPT streams..ip "\fIo_streams\fR"indicates the requested or actual number of outbound SCTP streams..ba -4.ipThis option has meaning in \fBT_CONN_REQ\fR, \fBT_CONN_CON\fR,\fBT_CONN_IND\fR, \fBT_OPTMGMT_REQ\fR, and \fBT_OPTMGMT_ACK\fR primitives..sh 2 "SCTP Errors".sh 1 "SCTP Implementation-Specific Details".sh 2 "SCTP IOCTLs".lpA number of SCTP Transport Provider IO Controls (IOCTLs) are included in theOpenSS7 implementation of the SCTP Transport Provider to permit the portablecontrol of system-wide parameters and statistics. These IOCTLs are asfollows:.(l.)l.sh 1 "SCTP Transport Provider Interface".sh 2 "STREAM Management".sh 3 "Capabilities".sh 4 "T_INFO_REQ, T_INFO_ACK".lpThe TPI specifies that the Transport Provider reply to a \fBT_INFO_REQ\fRprimitive with a \fBT_INFO_ACK\fR primitive. Although there are a number ofalternatives in the responding \fBT_INFO_ACK\fR primitive, the SCTP TransportProvider will respond with a smaller set of responses as defined here. The\fBT_INFO_ACK\fR primitive will have values populated as follows:.ba +4.ip "\fIPRIM_type\fR"This indicates the primitive type and is always set to \fBT_INFO_ACK\fR..ip "\fITSDU_size\fR"The size of the TSDU (Transport Service Data Unit) should be set to -1 toindicate that the provider supports the concept of a TSDU and that there is nolimit on the maximum size of a TSDU..ip "\fIETSDU_size\fR"The size of the ETSDU (Expedited Transport Service Data Unit) should be set to-1 to indicate that the provider support the concept of a ETSDU and that thereis no limit on the maximum size of a ETSDU..ip "\fICDATA_size\fR"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -