167 can usually recover when datagrams are damaged, delayed, duplicated or
168 delivered out of order by the underlying communication medium.
169 .sp
170 .LP
171 If the local \fBTCP\fR receives no acknowledgements from its peer for a period
172 of time, (for example, if the remote machine crashes), the connection is closed
173 and an error is returned.
174 .sp
175 .LP
176 TCP follows the congestion control algorithm described in \fIRFC 2581\fR, and
177 also supports the initial congestion window (cwnd) changes in \fIRFC 3390\fR.
178 The initial cwnd calculation can be overridden by the socket option
179 TCP_INIT_CWND. An application can use this option to set the initial cwnd to a
180 specified number of TCP segments. This applies to the cases when the connection
181 first starts and restarts after an idle period. The process must have the
182 PRIV_SYS_NET_CONFIG privilege if it wants to specify a number greater than that
183 calculated by \fIRFC 3390\fR.
184 .sp
185 .LP
186 SunOS supports \fBTCP\fR Extensions for High Performance (\fIRFC 1323\fR) which
187 includes the window scale and time stamp options, and Protection Against Wrap
188 Around Sequence Numbers (PAWS). SunOS also supports Selective Acknowledgment
189 (SACK) capabilities (RFC 2018) and Explicit Congestion Notification (ECN)
190 mechanism (\fIRFC 3168\fR).
191 .sp
192 .LP
193 Turn on the window scale option in one of the following ways:
194 .RS +4
195 .TP
196 .ie t \(bu
197 .el o
198 An application can set \fBSO_SNDBUF\fR or \fBSO_RCVBUF\fR size in the
199 \fBsetsockopt()\fR option to be larger than 64K. This must be done \fIbefore\fR
200 the program calls \fBlisten()\fR or \fBconnect()\fR, because the window scale
201 option is negotiated when the connection is established. Once the connection
202 has been made, it is too late to increase the send or receive window beyond the
203 default \fBTCP\fR limit of 64K.
204 .RE
205 .RS +4
206 .TP
207 .ie t \(bu
244 .LP
245 Turn on \fBTCP ECN\fR mechanism in the following way:
246 .RS +4
247 .TP
248 .ie t \(bu
249 .el o
250 Use \fBndd\fR to modify the configuration parameter \fBtcp_ecn_permitted\fR. If
251 \fBtcp_ecn_permitted\fR is set to \fB0\fR, \fBTCP\fR will not negotiate with a
252 peer that supports \fBECN\fR mechanism. If \fBtcp_ecn_permitted\fR is set to
253 \fB1\fR when initiating a connection, TCP will not tell a peer that it supports
254 ECN mechanism. However, it will tell a peer that it supports \fBECN\fR
255 mechanism when accepting a new incoming connection request if the peer
256 indicates that it supports \fBECN\fR mechanism in the SYN segment. If
257 tcp_ecn_permitted is set to 2, in addition to negotiating with a peer on ECN
258 mechanism when accepting connections, TCP will indicate in the outgoing SYN
259 segment that it supports \fBECN\fR mechanism when \fBTCP\fR makes active
260 outgoing connections. The default for \fBtcp_ecn_permitted\fR is 1.
261 .RE
262 .sp
263 .LP
264 Turn on the time stamp option in the following way:
265 .RS +4
266 .TP
267 .ie t \(bu
268 .el o
269 Use \fBndd\fR to modify the configuration parameter \fBtcp_tstamp_always\fR. If
270 \fBtcp_tstamp_always\fR is \fB1\fR, the time stamp option will always be set
271 when connecting to a remote machine. If \fBtcp_tstamp_always\fR is \fB0\fR, the
272 timestamp option will not be set when connecting to a remote system. The
273 default for \fBtcp_tstamp_always\fR is \fB0\fR.
274 .RE
275 .RS +4
276 .TP
277 .ie t \(bu
278 .el o
279 Regardless of the value of \fBtcp_tstamp_always\fR, the time stamp option will
280 always be included in a connect acknowledgement (and all succeeding packets) if
281 the connecting system has used the time stamp option.
282 .RE
283 .sp
284 .LP
285 Use the following procedure to turn on the time stamp option only when the
286 window scale option is in effect:
287 .RS +4
288 .TP
289 .ie t \(bu
290 .el o
291 Use \fBndd\fR to modify the configuration parameter \fBtcp_tstamp_if_wscale\fR.
292 Setting \fBtcp_tstamp_if_wscale\fR to \fB1\fR will cause the time stamp option
293 to be set when connecting to a remote system, if the window scale option has
294 been set. If \fBtcp_tstamp_if_wscale\fR is \fB0\fR, the time stamp option will
295 not be set when connecting to a remote system. The default for
296 \fBtcp_tstamp_if_wscale\fR is \fB1\fR.
297 .RE
298 .sp
299 .LP
300 Protection Against Wrap Around Sequence Numbers (PAWS) is always used when the
301 time stamp option is set.
302 .sp
303 .LP
304 SunOS also supports multiple methods of generating initial sequence numbers.
305 One of these methods is the improved technique suggested in \fBRFC\fR 1948. We
306 \fBHIGHLY\fR recommend that you set sequence number generation parameters as
307 close to boot time as possible. This prevents sequence number problems on
308 connections that use the same connection-ID as ones that used a different
309 sequence number generation. The \fBsvc:/network/initial:default\fR service
310 configures the initial sequence number generation. The service reads the value
311 contained in the configuration file \fB/etc/default/inetinit\fR to determine
312 which method to use.
313 .sp
314 .LP
315 The \fB/etc/default/inetinit\fR file is an unstable interface, and may change
316 in future releases.
317 .sp
318 .LP
319 \fBTCP\fR may be configured to report some information on connections that
320 terminate by means of an \fBRST\fR packet. By default, no logging is done. If
321 the \fBndd\fR(1M) parameter \fItcp_trace\fR is set to 1, then trace data is
|
167 can usually recover when datagrams are damaged, delayed, duplicated or
168 delivered out of order by the underlying communication medium.
169 .sp
170 .LP
171 If the local \fBTCP\fR receives no acknowledgements from its peer for a period
172 of time, (for example, if the remote machine crashes), the connection is closed
173 and an error is returned.
174 .sp
175 .LP
176 TCP follows the congestion control algorithm described in \fIRFC 2581\fR, and
177 also supports the initial congestion window (cwnd) changes in \fIRFC 3390\fR.
178 The initial cwnd calculation can be overridden by the socket option
179 TCP_INIT_CWND. An application can use this option to set the initial cwnd to a
180 specified number of TCP segments. This applies to the cases when the connection
181 first starts and restarts after an idle period. The process must have the
182 PRIV_SYS_NET_CONFIG privilege if it wants to specify a number greater than that
183 calculated by \fIRFC 3390\fR.
184 .sp
185 .LP
186 SunOS supports \fBTCP\fR Extensions for High Performance (\fIRFC 1323\fR) which
187 includes the window scale and timestamp options, and Protection Against Wrap
188 Around Sequence Numbers (PAWS). SunOS also supports Selective Acknowledgment
189 (SACK) capabilities (RFC 2018) and Explicit Congestion Notification (ECN)
190 mechanism (\fIRFC 3168\fR).
191 .sp
192 .LP
193 Turn on the window scale option in one of the following ways:
194 .RS +4
195 .TP
196 .ie t \(bu
197 .el o
198 An application can set \fBSO_SNDBUF\fR or \fBSO_RCVBUF\fR size in the
199 \fBsetsockopt()\fR option to be larger than 64K. This must be done \fIbefore\fR
200 the program calls \fBlisten()\fR or \fBconnect()\fR, because the window scale
201 option is negotiated when the connection is established. Once the connection
202 has been made, it is too late to increase the send or receive window beyond the
203 default \fBTCP\fR limit of 64K.
204 .RE
205 .RS +4
206 .TP
207 .ie t \(bu
244 .LP
245 Turn on \fBTCP ECN\fR mechanism in the following way:
246 .RS +4
247 .TP
248 .ie t \(bu
249 .el o
250 Use \fBndd\fR to modify the configuration parameter \fBtcp_ecn_permitted\fR. If
251 \fBtcp_ecn_permitted\fR is set to \fB0\fR, \fBTCP\fR will not negotiate with a
252 peer that supports \fBECN\fR mechanism. If \fBtcp_ecn_permitted\fR is set to
253 \fB1\fR when initiating a connection, TCP will not tell a peer that it supports
254 ECN mechanism. However, it will tell a peer that it supports \fBECN\fR
255 mechanism when accepting a new incoming connection request if the peer
256 indicates that it supports \fBECN\fR mechanism in the SYN segment. If
257 tcp_ecn_permitted is set to 2, in addition to negotiating with a peer on ECN
258 mechanism when accepting connections, TCP will indicate in the outgoing SYN
259 segment that it supports \fBECN\fR mechanism when \fBTCP\fR makes active
260 outgoing connections. The default for \fBtcp_ecn_permitted\fR is 1.
261 .RE
262 .sp
263 .LP
264 Turn on the timestamp option in the following way:
265 .RS +4
266 .TP
267 .ie t \(bu
268 .el o
269 Use \fBndd\fR to modify the configuration parameter \fBtcp_tstamp_always\fR. If
270 \fBtcp_tstamp_always\fR is \fB1\fR, the timestamp option will always be set
271 when connecting to a remote machine. If \fBtcp_tstamp_always\fR is \fB0\fR, the
272 timestamp option will not be set when connecting to a remote system. The
273 default for \fBtcp_tstamp_always\fR is \fB0\fR.
274 .RE
275 .RS +4
276 .TP
277 .ie t \(bu
278 .el o
279 Regardless of the value of \fBtcp_tstamp_always\fR, the timestamp option will
280 always be included in a connect acknowledgement (and all succeeding packets) if
281 the connecting system has used the timestamp option.
282 .RE
283 .sp
284 .LP
285 Use the following procedure to turn on the timestamp option only when the
286 window scale option is in effect:
287 .RS +4
288 .TP
289 .ie t \(bu
290 .el o
291 Use \fBndd\fR to modify the configuration parameter \fBtcp_tstamp_if_wscale\fR.
292 Setting \fBtcp_tstamp_if_wscale\fR to \fB1\fR will cause the timestamp option
293 to be set when connecting to a remote system, if the window scale option has
294 been set. If \fBtcp_tstamp_if_wscale\fR is \fB0\fR, the timestamp option will
295 not be set when connecting to a remote system. The default for
296 \fBtcp_tstamp_if_wscale\fR is \fB1\fR.
297 .RE
298 .sp
299 .LP
300 Protection Against Wrap Around Sequence Numbers (PAWS) is always used when the
301 timestamp option is set.
302 .sp
303 .LP
304 SunOS also supports multiple methods of generating initial sequence numbers.
305 One of these methods is the improved technique suggested in \fBRFC\fR 1948. We
306 \fBHIGHLY\fR recommend that you set sequence number generation parameters as
307 close to boot time as possible. This prevents sequence number problems on
308 connections that use the same connection-ID as ones that used a different
309 sequence number generation. The \fBsvc:/network/initial:default\fR service
310 configures the initial sequence number generation. The service reads the value
311 contained in the configuration file \fB/etc/default/inetinit\fR to determine
312 which method to use.
313 .sp
314 .LP
315 The \fB/etc/default/inetinit\fR file is an unstable interface, and may change
316 in future releases.
317 .sp
318 .LP
319 \fBTCP\fR may be configured to report some information on connections that
320 terminate by means of an \fBRST\fR packet. By default, no logging is done. If
321 the \fBndd\fR(1M) parameter \fItcp_trace\fR is set to 1, then trace data is
|