tcp(4) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

tcp(4)

The  protocol  provides reliable, flow-controlled, two-way trans‐
mission of data.  It is a byte-stream protocol  used  to  support
the  abstraction.  uses the standard Internet address format and,
in addition, provides a per-host collection of Thus, each address
is composed of an Internet address specifying the host  and  net‐
work,  with  a specific port on the host identifying the peer en‐
tity.  Sockets utilizing the protocol are either or Active  sock‐
ets initiate connections to passive sockets.  By default, sockets
are  created  active; to create a passive socket, the system call
must be used after binding the socket with the system call.  Only
passive sockets may use the call to accept incoming  connections.
Only  active  sockets  may  use the call to initiate connections.
Passive sockets may their location to match  incoming  connection
requests from multiple networks.  This technique, termed allows a
single server to provide service to clients on multiple networks.
To  create  a  socket which listens on all networks, the Internet
address must be bound.  The port may still be specified  at  this
time;  if  the port is not specified, the system will assign one.
Once a connection has been established, the socket's  address  is
fixed by the peer entity's location.  The address assigned to the
socket  is  the  address  associated  with  the network interface
through which packets are being transmitted and  received.   Nor‐
mally,  this  address  corresponds  to the peer entity's network.
supports a number of socket options which can  be  set  with  and
tested  with  Information about a socket's underlying TCP session
may be retrieved by passing the read-only option to It accepts  a
single  argument: a pointer to an instance of This API is subject
to change; consult the source to determine which fields are  cur‐
rently  filled  out  by  this option.  specific additions include
send window size, receive window size,  and  bandwidth-controlled
window space.  Set or query congestion control algorithm specific
parameters.   See  for  details.   Select or query the congestion
control algorithm that TCP will use for the connection.  See  for
details.   Select or query the set of functions that TCP will use
for this connection.  This allows a user to select  an  alternate
TCP stack.  The alternate TCP stack must already be loaded in the
kernel.   To  list  the  available TCP stacks, see in the section
further down.  To list the default TCP stack, see in the section.
This option accepts a per-socket timeout argument of in  seconds,
for  new, non-established connections.  For the global default in
milliseconds see in the section further down.   This  option  ac‐
cepts an argument of for the amount of time, in seconds, that the
connection  must be idle before keepalive probes (if enabled) are
sent for the connection of this socket.  If set  on  a  listening
socket,  the  value is inherited by the newly created socket upon
For the global default in milliseconds see in the section further
down.  This option accepts an argument of to set  the  per-socket
interval,  in  seconds,  between keepalive probes sent to a peer.
If set on a listening socket, the value is inherited by the newly
created socket upon For the global default in milliseconds see in
the section further down.  This option accepts an argument of and
allows a per-socket tuning of the number of probes sent, with  no
response,  before  the  connection  will be dropped.  If set on a
listening socket, the value is inherited  by  the  newly  created
socket upon For the global default see the in the section further
down.  Under most circumstances, sends data when it is presented;
when  outstanding  data has not yet been acknowledged, it gathers
small amounts of output to be sent in a single packet once an ac‐
knowledgement is received.  For a small number of  clients,  such
as  window  systems  that send a stream of mouse events which re‐
ceive no replies, this packetization may  cause  significant  de‐
lays.   The boolean option defeats this algorithm.  By default, a
sender- and will negotiate among themselves to determine the max‐
imum segment size to be used for each connection.  The option al‐
lows the user to determine the result of this negotiation, and to
reduce it if desired.  usually sends a number of options in  each
packet, corresponding to various extensions which are provided in
this  implementation.   The boolean option is provided to disable
option use on a per-connection basis.  By  convention,  the  will
set the bit, and begin transmission immediately (if permitted) at
the  end  of  every  user call to or When this option is set to a
non-zero value, will delay sending any data at all  until  either
the  socket  is  closed,  or  the internal send buffer is filled.
This option enables the use of MD5 digests (also  known  as  TCP-
MD5)  on writes to the specified socket.  Outgoing traffic is di‐
gested; digests on incoming traffic are verified.  When this  op‐
tion  is  enabled  on a socket, all inbound and outgoing TCP seg‐
ments must be signed with MD5 digests.  One common use  for  this
in  a  router  deployment is to enable based routers to interwork
with Cisco equipment at peering points.  Support for this feature
conforms to RFC 2385.  In order for this option to function  cor‐
rectly,  it  is  necessary for the administrator to add a tcp-md5
key entry to the system's security associations  database  (SADB)
using  the  utility.   This entry can only be specified on a per-
host basis at this time.  If an SADB entry cannot  be  found  for
the  destination,  the system does not send any outgoing segments
and drops any inbound segments.  Each dropped  segment  is  taken
into  account  in  the TCP protocol statistics.  The option level
for the call is the protocol number for available from or All op‐
tions are declared in Options at the transport level may be  used
with  see Incoming connection requests that are source-routed are
noted, and the reverse source route is used in  responding.   The
default congestion control algorithm for is Other congestion con‐
trol  algorithms  can be made available using the framework.  The
protocol implements a number of variables in the  branch  of  the
MIB.   Implement  the window scaling and timestamp options of RFC
1323 (default is true).  The default value used for  the  maximum
segment  size when no advice to the contrary is received from MSS
negotiation.  Maximum send window.  Maximum receive window.   Log
any  connection attempts to ports where there is not a socket ac‐
cepting connections.  The value of 1 limits the logging to  (con‐
nection  establishment)  packets  only.  That of 2 results in any
packets to closed ports being logged.  Any value  unlisted  above
disables  the  logging  (default  is 0, i.e., the logging is dis‐
abled).  The Maximum Segment Lifetime,  in  milliseconds,  for  a
packet.   Timeout, in milliseconds, for new, non-established con‐
nections.  The default is 75000 msec.  Amount of  time,  in  mil‐
liseconds,  that  the  connection  must  be idle before keepalive
probes (if enabled) are sent.  The default  is  7200000  msec  (2
hours).   The interval, in milliseconds, between keepalive probes
sent to remote machines, when no response is received on a probe.
The default is 75000 msec.  Number of probes sent,  with  no  re‐
sponse,  before  a connection is dropped.  The default is 8 pack‐
ets.  Assume that is set on all connections, the kernel will  pe‐
riodically send a packet to the remote host to verify the connec‐
tion is still up.  Certain unreachable messages may abort connec‐
tions  in  state.   Flush  packets in the reassembly queue if the
system is low on mbufs.  If enabled, disable sending of RST  when
a  connection  is attempted to a port where there is not a socket
accepting connections.  See Delay ACK to  try  and  piggyback  it
onto a data packet.  Maximum amount of time, in milliseconds, be‐
fore  a delayed ACK is sent.  Enable Path MTU Discovery.  Size of
the control-block hash table (read-only).  This may be tuned  us‐
ing  the  kernel  option  or  by  setting in the Number of active
process control blocks (read-only).  Determines  whether  or  not
cookies  should be generated for outbound packets.  cookies are a
great help during flood attacks,  and  are  enabled  by  default.
(See  The  interval  (in seconds) specifying how often the secret
data used in RFC 1948 initial sequence number calculations should
be reseeded.  By default, this variable is set to zero,  indicat‐
ing that no reseeding will occur.  Reseeding should not be neces‐
sary,  and  will  break recycling for a few minutes.  The current
total number of segments present in all reassembly  queues.   The
maximum limit on the total number of segments across all reassem‐
bly queues.  The limit can be adjusted as a tunable.  The maximum
number of segments allowed in each reassembly queue.  By default,
the system chooses a limit based on each TCP connection's receive
buffer size and maximum segment size (MSS).  The actual limit ap‐
plied  to  a  session's reassembly queue will be the lower of the
system-calculated automatic limit and the  user-specified  limit.
Adjust the retransmit timer calculation for The slop is typically
added  to  the  raw  calculation  to take into account occasional
variances that the (smoothed round-trip time) is unable to accom‐
modate, while the minimum specifies an absolute minimum.  While a
number of RFCs suggest a 1 second minimum, these RFCs tend to fo‐
cus on streaming behavior, and fail to deal with the fact that  a
1 second minimum has severe detrimental effects over lossy inter‐
active  connections,  such  as  a 802.11b wireless link, and over
very fast but lossy connections for those cases  not  covered  by
the  fast retransmit code.  For this reason, we use 200ms of slop
and a near-0 minimum, which gives  us  an  effective  minimum  of
200ms  (similar  to Enable the ability to specify initial conges‐
tion window in number of segments.  The default value  is  10  as
suggested  by  RFC 6928.  Changing the value on fly would not af‐
fect connections using  congestion  window  from  the  hostcache.
Caution:  This  regulates the burst of packets allowed to be sent
in the first RTT.  The value should be relative to the  link  ca‐
pacity.  Start with small values for lower-capacity links.  Large
bursts can cause buffer overruns and packet drops if routers have
small buffers or the link is experiencing congestion.  Enable the
Limited  Transmit  algorithm  as described in RFC 3042.  It helps
avoid timeouts on lossy links and also when the congestion window
is small, as happens on short transfers.  Enable support for  RFC
3390,  which allows for a variable-sized starting congestion win‐
dow on new connections, depending on the  maximum  segment  size.
This  helps throughput in general, but particularly affects short
transfers and high-bandwidth large propagation-delay connections.
Enable support for RFC 2018, TCP Selective Acknowledgment option,
which allows the receiver to inform the sender about all success‐
fully arrived segments, allowing the  sender  to  retransmit  the
missing  segments only.  Maximum number of SACK holes per connec‐
tion.  Defaults to 128.  Maximum number of SACK holes per system,
across all connections.  Defaults to 65536.  When a  TCP  connec‐
tion  enters the state, its associated socket structure is freed,
since it is of negligible size and use, and a  new  structure  is
allocated  to  contain  a minimal amount of information necessary
for sustaining a connection in this state, called the  compressed
TCP  TIME_WAIT  state.   Since  this  structure is smaller than a
socket structure, it can save a significant amount of system mem‐
ory.  The MIB variable  controls  the  maximum  number  of  these
structures  allocated.   By  default,  it  is initialized to / 5.
Suppress creating of compressed TCP TIME_WAIT states for  connec‐
tions  in  which  both  endpoints are local.  Recycle connections
faster when the socket is marked as  (no  user  process  has  the
socket  open,  data  received on the socket cannot be read).  The
timeout used here is Timeout to use for fast recycling of connec‐
tions.  Defaults to 60 seconds.  Enable support for TCP  Explicit
Congestion Notification (ECN).  ECN allows a TCP sender to reduce
the  transmission rate in order to avoid packet drops.  Settings:
Disable ECN.  Allow incoming connections to request ECN.   Outgo‐
ing  connections will request ECN.  Allow incoming connections to
request ECN.  Outgoing connections will not request ECN.   Number
of retries (SYN or SYN/ACK retransmits) before disabling ECN on a
specific  connection.  This is needed to help with connection es‐
tablishment when a broken firewall is in the network path.   Turn
on  automatic  path MTU blackhole detection.  In case of retrans‐
mits OS will lower the MSS to check if it's MTU problem.  If cur‐
rent MSS is greater than configured value to try, it will be  set
to configured value, otherwise, MSS will be set to default values
and MSS to try for IPv4 if PMTU blackhole detection is turned on.
MSS  to  try  for  IPv6 if PMTU blackhole detection is turned on.
Number of times configured values were  used  in  an  attempt  to
downshift.  Number of times default MSS was used in an attempt to
downshift.  Number of connections for which retransmits continued
even  after MSS downshift.  List of available TCP function blocks
(TCP stacks).  The default TCP function block (TCP  stack).   De‐
termines  whether to inherit listen socket's tcp stack or use the
current system default tcp stack, as defined by Default is  true.
Use  criteria  defined in RFC793 instead of RFC5961 for accepting
RST segments.  Default is false.  Use criteria defined in  RFC793
instead of RFC5961 for accepting SYN segments.  Default is false.
A  socket operation may fail with one of the following errors re‐
turned: when trying to establish a connection on a  socket  which
already has one; when the system runs out of memory for an inter‐
nal  data  structure; when a connection was dropped due to exces‐
sive retransmissions; when the remote peer forces the  connection
to  be  closed;  when the remote peer actively refuses connection
establishment (usually because no process  is  listening  to  the
port);  when  an  attempt  is made to create a socket with a port
which has already been allocated; when an attempt is made to cre‐
ate a socket with a network address for which no  network  inter‐
face  exists; when an attempt is made to bind or connect a socket
to a multicast address.   when  trying  to  change  TCP  function
blocks  at  an invalid point in the session; when trying to use a
TCP function block that is not available; The  protocol  appeared
in The RFC 1323 extensions for window scaling and timestamps were
added in The option was introduced in and is





































맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3