📄 tp.4
字号:
implementation, despite the fact thatthe frozen reference function is required only forclass 4..It Ar p_inact_ticksnonzero short integer [various].brNumber of clock ticks without an incoming packet from the peer after which .Tn TPclose the connection.This parameter applies only to class 4..It Ar p_keepalive_ticksnonzero short integer [various].brNumber of clock ticks between acknowledgments that are sentto keep an inactive connection open (to prevent the peer'sinactivity control function from closing the connection).This parameter applies only to class 4..It Ar p_winsizeshort integer between 128 and 16384. [4096 bytes].brThe buffer space limits in bytes for incoming and outgoing data.There is no way to specify different limits for incoming and outgoingpaths.The actual window size at any timeduring the lifetime of a connectionis a function of the buffer size limit, the negotiatedmaximum TPDUsize, and the rate at which the user program receives data.This parameter applies only to class 4..It Ar p_tpdusizeunsigned char between 0x7 and 0xd. [0xc for class 4] [0xb for class 0].brLog 2 of the maximum TPDU size to be negotiated.The.Tn TPstandard.Pf ( Tn ISO8473) gives an upper bound of 0xd for class 4 and 0xb for class 0.The.Tn ARGOimplementation places upper bounds of0xc on class 4 and 0xb on class 0..It Ar p_ack_strat.Dv TPACK_EACHor.Dv TPACK_WINDOW..Bq Dv TPACK_WINDOW.brThis parameter applies only to class 4.Two acknowledgment strategies are supported:.Pp.Dv TPACK_EACH means that each data TPDUis acknowledgedwith an AK TPDU..Pp.Dv TPACK_WINDOWmeans that upon receipt of the packet that representsthe high edge of the last window advertised, an AK TPDU is generated..It Ar p_rx_strat4 bit mask.Bq Dv TPRX_USE_CW No \&|\ Dv TPRX_FASTSTARToverconnectionless network protocols].Pf [ Dv TPRX_USE_CWoverconnection-oriented network protocols].brThis parameter applies only to class 4.The bit mask may include the following values:.Pp.Dv TPRX_EACH :When a retransmission timer expires, retransmiteach packet in the send window rather thanjust the first unacknowledged packet..Pp.Dv TPRX_USE_CW :Use a "congestion window" strategy borrowedfrom Van Jacobson's congestion window strategy for TCP.The congestion window size is set to one whenevera retransmission occurs..Pp.Dv TPRX_FASTSTART :Begin sending the maximum amount of data permittedby the peer (subject to availability).The alternative is to start sending slowly by pretending the peer's window is smaller than it is, and lettingit slowly grow up to the peer window's real size.This is to smooth the effect of new connections on a congested networkby preventing a transport connection from suddenly overloading the network with a burst of packets.This strategy is also due to Van Jacobson..It Ar p_class5 bit mask.Bq Dv TP_CLASS_4 No \&|\ Dv TP_CLASS_0.brBit mask including one or both of the values.Dv TP_CLASS_4and.Dv TP_CLASS_0 .The higher class indicated is the preferred class.If only one class is indicated, negotiation will not occurduring connection establishment..It Ar p_xtd_formatBoolean.[false].brBoolean indicating that extended format is negotiated.This parameter applies only to class 4..It Ar p_xpd_serviceBoolean.[true].brBoolean indicating that the expedited data transport service will be negotiated.This parameter applies only to class 4..It Ar p_use_checksumBoolean.[true].brBoolean indicating the the use of checksums will be negotiated.This parameter applies only to class 4..It Ar p_use_nxpdReserved for future use..It Ar p_use_rccReserved for future use..It Ar p_use_efcReserved for future use..It Ar p_no_disc_indicationsBoolean.[false].PpBoolean indicating that the local.Tn TPentity will not issueindications (signals) when a.Tn TPconnection is disconnected..It Ar p_dont_change_paramsBoolean. [false].brIf.Em truethe.Tn TPentity will not overrideany of the other values given in this structure.If the values cannot be used, the.Tn TPentity will drop, disconnect,or refuse to establish the connection to which this structure pertains..It Ar p_netserviceOne of {.Dv ISO_CLNS ,.Dv ISO_CONS ,.Dv ISO_COSNS ,.Dv IN_CLNS } ..Pf [ Dv ISO_CLNS ].brIndicates which network service is to be used..Pp.Dv ISO_CLNSindicates the connectionless network service providedby CLNP .Pf ( Tn ISO8473)..Pp.Dv ISO_CONSindicates the connection-oriented network service providedby X.25.Pf ( Tn ISO8208) and.Tn ISO8878..Pp.Dv ISO_COSNSindicates the connectionless network service running over aconnection-oriented subnetwork service: CLNP .Pf ( Tn ISO8473) over X.25.Pf ( Tn ISO8208)..Pp.Dv IN_CLNSindicates the DARPA Internet connectionless network service provided by IP (RFC 791)..It Ar p_dummyReserved for future use..El.PpThe.Dv TPOPT_FLAGSoption is used for obtainingvarious boolean-valued options.Its meaning is as follows.The bit numbering used is that of the RT PC, which means that bit0 is the most significant bit, while bit 8 is the least significant bit..sp 1.Em Values for TPOPT_FLAGS:.Bl -tag -width Bitsx.It Sy Bits.Sy Description [Default].It \&0.Dv TPFLAG_NLQOS_PDN :set when the quality of the network service issimilar to that of a public data network..It \&1.Dv TPFLAG_PEER_ON_SAMENET :set when the peer.Tn TPentityis considered to be on the same network as the local.Tn TPentity..It \&2Not used..It \&3.Dv TPFLAG_XPD_PRES :set when expedited data are present[0].It 4\&..7Reserved..El.Sh ERROR VALUES.PpThe.Tn TPentity returns.Va errnoerror values as defined in.Aq Pa sys/errno.hand.Aq Pa netiso/iso_errno.h .User programs may print messages associated with these value byusing an expanded version of.Xr perrorfound in the.Tn ISOlibrary,.Pa libisodir.a ..PpIf the.Tn TPentity encounters asynchronous eventsthat will cause a transport connection to be closed,such astiming out while retransmitting a connect request TPDU,or receiving a DR TPDU,the.Tn TPentity issues a.Dv SIGURGsignal, indicating thatdisconnection has occurred.If the signal is issued during a a system call, the system call may be interrupted,in which case the.Va errnovalue upon return from the system call is.Er EINTR.If the signal.Dv SIGURGis being handled by readingfrom the socket, and it was an.Xr accept 2thattimed out, the read may result in.Er ENOTSOCK ,because the.Xr acceptcall had not yet returned alegitimate socket descriptor when the signal was handled..Dv ETIMEDOUT(or a some other errno value appropriate to thetype of error) is returned if.Dv SIGURGis blockedfor the duration of the system call.A user program should take one of the following approaches:.Bl -tag -width Ds.It Block Dv SIGURGIf the program is servicingonly one connection, it can block or ignore.Dv SIGURGduring connection establishment.The advantage of this is that the.Va errnovaluereturned is somewhat meaningful.The disadvantage of this is thatif ignored, disconnection and expedited data indications could bemissed.For some programs this is not a problem..It Handle Dv SIGURGIf the program is servicing more than one connection at a timeor expedited data may arrive or both, the program may elect toservice.Dv SIGURG .It can use the.Fn getsockopt ...TPOPT_FLAGS...system call to see if the signalwas due to the arrival of expedited data or due to a disconnection.In the latter case, .Xr getsockoptwill return.Er ENOTCONN ..El.Sh SEE ALSO.Xr tcp 4 ,.Xr netstat 1 ,.Xr iso 4 ,.Xr clnp 4 ,.Xr cltp 4 ,.Xr ifconfig 8 ..Sh BUGSThe protocol definition of expedited data is slightly problematic,in a way that renders expedited data almost useless,if two or more packets of expedited data are send withintime \(*e, where \(*edepends on the application.The problem is not of major significance since most applicationsdo not use transport expedited data.The problem is this:the expedited data acknowledgment TPDUhas no field for conveyingcredit, thus it is not possible for a.Tn TPentity to inform its peerthat "I received your expedited data but have no room to receive more."The.Tn TPentity has the choice of acknowledging receipt of theXPD TPDU:.Bl -tag -width Ds.It "when the user receives the" XPD TSDUwhich may be a fairly long time,which may cause the sending.Tn TPentity to retransmit the packet,and possibly to close the connection after retransmission, or.It "when the" Tn TP No "entity receives it"so the sending entity does not retransmit or close the connection.If the sending user then tries to send more expedited data.Dq soon ,the expedited data will not be acknowledged (until thereceiving user receives the first XPD TSDU)..El.PpThe.Tn ARGOimplementation acknowledges XPD TPDUsimmediately,in the hope that most users will not use expedited data frequentlyenough for this to be a problem.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -