📄 tcp.4
字号:
.\" Copyright (c) 1983, 1991, 1993.\" The Regents of the University of California. All rights reserved..\".\" Redistribution and use in source and binary forms, with or without.\" modification, are permitted provided that the following conditions.\" are met:.\" 1. Redistributions of source code must retain the above copyright.\" notice, this list of conditions and the following disclaimer..\" 2. Redistributions in binary form must reproduce the above copyright.\" notice, this list of conditions and the following disclaimer in the.\" documentation and/or other materials provided with the distribution..\" 3. All advertising materials mentioning features or use of this software.\" must display the following acknowledgement:.\" This product includes software developed by the University of.\" California, Berkeley and its contributors..\" 4. Neither the name of the University nor the names of its contributors.\" may be used to endorse or promote products derived from this software.\" without specific prior written permission..\".\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION).\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF.\" SUCH DAMAGE..\".\" @(#)tcp.4 8.1 (Berkeley) 6/5/93.\".Dd June 5, 1993.Dt TCP 4.Os BSD 4.2.Sh NAME.Nm tcp.Nd Internet Transmission Control Protocol.Sh SYNOPSIS.Fd #include <sys/socket.h>.Fd #include <netinet/in.h>.Ft int.Fn socket AF_INET SOCK_STREAM 0.Sh DESCRIPTIONThe.Tn TCPprotocol provides reliable, flow-controlled, two-waytransmission of data. It is a byte-stream protocol used tosupport the.Dv SOCK_STREAMabstraction. TCP uses the standardInternet address format and, in addition, provides a per-hostcollection of.Dq port addresses .Thus, each address is composedof an Internet address specifying the host and network, witha specific.Tn TCPport on the host identifying the peer entity..PpSockets utilizing the tcp protocol are either.Dq activeor.Dq passive .Active sockets initiate connections to passivesockets. By default.Tn TCPsockets are created active; to create apassive socket the.Xr listen 2system call must be usedafter binding the socket with the.Xr bind 2system call. Onlypassive sockets may use the .Xr accept 2call to accept incoming connections. Only active sockets mayuse the.Xr connect 2call to initiate connections..PpPassive sockets may.Dq underspecifytheir location to matchincoming connection requests from multiple networks. Thistechnique, termed.Dq wildcard addressing ,allows a singleserver to provide service to clients on multiple networks.To create a socket which listens on all networks, the Internetaddress.Dv INADDR_ANYmust be bound. The.Tn TCPport may still be specifiedat this time; if the port is not specified the system will assign one.Once a connection has been established the socket's address isfixed by the peer entity's location. The address assigned thesocket is the address associated with the network interfacethrough which packets are being transmitted and received. Normallythis address corresponds to the peer entity's network..Pp.Tn TCPsupports one socket option which is set with.Xr setsockopt 2and tested with.Xr getsockopt 2 .Under most circumstances,.Tn TCPsends data when it is presented;when outstanding data has not yet been acknowledged, it gatherssmall amounts of output to be sent in a single packet oncean acknowledgement is received.For a small number of clients, such as window systemsthat send a stream of mouse events which receive no replies,this packetization may cause significant delays.Therefore,.Tn TCPprovides a boolean option,.Dv TCP_NODELAY(from.Aq Pa netinet/tcp.h ,to defeat this algorithm.The option level for the.Xr setsockoptcall is the protocol number for.Tn TCP ,available from.Xr getprotobyname 3 ..PpOptions at the.Tn IPtransport level may be used with.Tn TCP ;see.Xr ip 4 .Incoming connection requests that are source-routed are noted,and the reverse source route is used in responding..Sh DIAGNOSTICSA socket operation may fail with one of the following errors returned:.Bl -tag -width [EADDRNOTAVAIL].It Bq Er EISCONNwhen trying to establish a connection on a socket whichalready has one;.It Bq Er ENOBUFSwhen the system runs out of memory foran internal data structure;.It Bq Er ETIMEDOUTwhen a connection was droppeddue to excessive retransmissions;.It Bq Er ECONNRESETwhen the remote peerforces the connection to be closed;.It Bq Er ECONNREFUSEDwhen the remotepeer actively refuses connection establishment (usually becauseno process is listening to the port);.It Bq Er EADDRINUSEwhen an attemptis made to create a socket with a port which has already beenallocated;.It Bq Er EADDRNOTAVAILwhen an attempt is made to create a socket with a network address for which no network interfaceexists..El.Sh SEE ALSO.Xr getsockopt 2 ,.Xr socket 2 ,.Xr intro 4 ,.Xr inet 4 ,.Xr ip 4.Sh HISTORYThe.Nmprotocol stack appeared in.Bx 4.2 .
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -