File: tcp.7

package info (click to toggle)
manpages-ja 0.4.0.0.20020315-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 14,808 kB
  • ctags: 4
  • sloc: sh: 9,595; perl: 157; makefile: 62
file content (352 lines) | stat: -rw-r--r-- 10,863 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\" Permission is granted to distribute possibly modified copies
.\" of this page provided the header is included verbatim,
.\" and in case of nontrivial modification author and date
.\" of the modification is added to the header.
.\" $Id: tcp.7,v 1.13 2001/02/15 05:42:53 argrath Exp $
.\"
.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
.\" Translated Mon 6 Dec 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\"
.\"WORD         full duplex connection  ̿
.\"WORD         listening state         
.\"WORD         denial of service atack ǽ
.\"
.TH TCP  7 "25 Apr 1999" "Linux Man Page" "Linux Programmer's Manual" 
.SH ̾
tcp \- TCP ץȥ
.SH 
.B #include <sys/socket.h>
.br
.B #include <netinet/in.h>
.br
.B tcp_socket = socket(PF_INET, SOCK_STREAM, 0); 
.SH 
 RFC793, RFC1122, RFC2001 Ƥ TCP ץȥ
NewReno ĥ SACK ĥޤƼΤǤ롣
TCP 
.BR ip (7)
ˤĤΥåȴ֤ˡι⤤ȥ꡼ظ
 (full duplex) ̿󶡤롣
TCP ϥǡä夹뤳ȡȤѥåȤ
뤳Ȥݾڤ롣 TCP ϥѥåȤȤ
åž顼Τ롣
TCP ϥ쥳ɶ (record boundary) ¸ʤ

줿Ф TCP åȤϡ
⡼ȥɥ쥹륢ɥ쥹
äƾܺ٤˻ꤵ줿ΤǤϤʤ
ؤ TCP ³ˤϡ
.BR connect (2)
Ѥ¾ TCP åȤؤ³Ω롣
褿³ˤϡޤ
.BR bind (2)
ǥåȤʥɥ쥹ݡȤ˥Хɤ
.BR listen (2)
ƤǥåȤ֤ˤ롣
θ塢夷³줾б뿷åȤ
ˤ
.BR accept (2)
Ѥ롣
åȤФ
.B accept
ޤ
.B connect
θƤӽФȡΥåȤϾܺ٤˻ꤵ줿ΤȤʤꡢ
ǡΤȤ꤬ǽȤʤ롣֤ΥåȤ䡢
³ƤʤåȤ̤ƥǡȤꤹ뤳ȤϤǤʤ

Linux 2.2  RFC1323  TCP high performance ĥ򥵥ݡȤƤ롣
ˤϡٱ䤬Х礭³Ѥ
large TCP ɥʤɤޤޤƤ롣
ѤˤϡΥХåե礭ʤФʤʤ

.B net.core.wmem_default

.B net.core.rmem_default
sysctl ѤХХä뤳ȤǤ롣
뤤ϸġΥåȤФäˤϡ
.B SO_SNDBUF

.B SO_RCVBUF
åȥץѤФ褤åȥХåեκͤϡ
.B net.core.rmem_max

.B net.core.wmem_max
sysctl ꤵ줿Хͤˤʤ롣
ܺ٤
.BR socket (7)
򸫤衣
.PP 
TCP ϶۵ޥǡ (urgent data) 򥵥ݡȤƤ롣۵ޥǡ
餫νפʥåǡȥ꡼˴ޤޤƤ뤳ȡ
ΥǡǤ᤯٤ȡԤ뤿Ѥ롣
۵ޥǡˤϡ
.BR send (2)

.B MSG_OOB
ץꤹ롣
۵ޥǡȡͥ
.B SIGURG
ʥ롣ϤΥåȤɤǤץ
.B FIOCSPGRP

.B FIOCSETOWN
ioctl ѤƤΥåȤ˥åȤ줿ץץ롼פǤ롣
.B SO_OOBINLINE
åȥץͭˤʤäƤȡ۵ޥǡ
̾Υǡȥ꡼Ȱ֤ (
.B SIOCATMARK
ioctl ˤäƥƥȤ)
̵ˤʤäƤˤϡ
.BR sendmsg (2)

.B MSG_OOB
ե饰åȤƤʤС۵ޥǡϼʤ
.SH ɥ쥹Υեޥå
TCP  IP ξ˹ۤƤ
.RB ( ip (7)
򸫤)
.BR ip (7)
Ƥ륢ɥ쥹եޥåȤ TCP ˤŬѤ롣
TCP  point-to-point ̿򥵥ݡȤ롣
֥ɥ㥹Ȥޥ㥹ȤϥݡȤʤ
.SH SYSCTL
 sysctl ˥ˤϡ
.B proc/sys/net/ipv4/*
եɤ߽񤭤ˡȡ󥿡եФ
.BR sysctl (2)
Ѥˡ롣
äơۤȤɤ IP sysctl  TCP ˤŬѤǤ롣
.BR ip (7)
򸫤衣
.TP
.B tcp_window_scaling
RFC1323  RCP window scaling ͭˤ롣
.TP
.B tcp_sack
RFC2018  TCP Selective Acknowledgements ͭˤ롣
.TP
.B tcp_timestamps
RFC1323  TCP timestamps ͭˤ롣
.TP
.B tcp_fin_timeout
åȤŪ˥ˡ
Ǹ FIN ѥåȤԤĻ֤ñ̤ǻꤹ롣
ϸ̩ˤ TCP λͤƤʤ
ǽ (denial of service atack) Ȥ뤿ˤɬפǤ롣
.TP
.B tcp_keepalive_probes
TCP keep-alive ץ֤κۤȤ롣
.B SO_KEEPALIVE
åȥץͭˤʤäƤʤ
keep-alive ʤ
.TP
.B tcp_keepalive_time
ǡʤʤäƤ顢³ keep-alive ޤǤ
֤ñ̤ǻꤹ롣ǥեȤ 10800  (3 )
.TP
.B tcp_max_ka_probes
slow timer ưȤˡĤ keep-alive ץ֤
뤫λꡣСȤ򤱤뤿ˤϡ
ͤϤޤ礭٤ǤϤʤ
.TP
.B tcp_stdurg
TCP urgent-pointer եɤ򡢸̩ RFC793 ˽äˤ롣
ǥեȤϡ۵ޥǡХȤݥȤΤȤ롢
BSD ߴβԤʤ RFC 793 βǤϡ϶۵ޥǡ
ǽХȤȲᤵ롣Υץͭˤȡ
¾ΥƥƱưǤʤʤ뤫⤷ʤ
.TP
.B tcp_syncookies
TCP syncookies ͭˤ롣ͥ
.B CONFIG_SYNCOOKIES
Ĥƥѥ뤷ƤʤФʤʤ syncookies 
¿³׵᤬夷ݤˡåȤ٤롣
syncookies ͭˤʤäƤȡ饤ȥޥ
٤ˤʤäƤޥûॢȤδָΤǤʤʤ롣
.TP
.B tcp_max_syn_backlog
åȤΥХå塼Ĺ Linux 2.2 ޤǤǤϡ
.BR listen (2)
ˤХå꤬³γΩåȴ֤ΥХå塼
ĹФͣλǤ롣 listen ֤ΥåȰĤˤĤơ
ޤ³γΩƤʤ
.RB ( SYN_RECV
֤) åȤ򤤤Ĥޤǥ塼Ǥ뤫ϡ sysctl ꤹ롣
׵᤬夹ȡ Linux ϥѥåȤɥåפϤ롣
 syncookies ƤСȤƥѥåȤˤϲ롣
Ĥޤꤳͤϼ¸Ū̵뤵롣
.TP
.B tcp_retries1
TCP ³׵ФƲ򲿲뤫롣
βۤȤ롣
.TP
.B tcp_retries2
³֤ǡ TCP ѥåȤ뤫롣
βۤȤ롣
.TP
.B tcp_syn_retries
ǽ SYN ѥåȤ򲿲ޤǥ⡼ȥۥȤ뤫롣
βۤȤƥ顼֤
255 ʲˤʤФʤʤ줬ؤ³Фͣ
ॢȤǤ롣³Ф
.B tcp_retries1
.TP
.B tcp_retrans_collapse
˥ե륵ΥѥåȤȤ롣
Υåˤ TCP ΥХ򤹤뤿Ѥ롣
.\" tcp_rfc1337 is not documented because it is too obscure and broken.
.SH åȥץ
TCP åȤΥץϡ
åȥեߥ꡼
.I SOL_TCP
.BR setsockopt (2)
Ǥ
.BR getsockopt (2)
ǼǤ롣
ˡۤȤɤ
.B SOL_IP
åȥץ TCP åȤФͭǤ롣ܺ٤
.BR ip (7)
򸫤衣
.TP
.B TCP_NODELAY
Nagle 르ꥺ̵ˤ롣ѥåȤ
ǽʸ¤᤯졢ɬפٱʤ
ͥåȥήѥåȤ̤Ϥ롣
Υ֡ͤե饰ˤȤ롣
.TP
.B TCP_MAXSEG 
भ TCP ѥåȤκ祻ȥꡦ롣
Υץ³Ω˥åȤȡ
³ǽΥѥåȤǥʥ󥹤 MSS ͤѹ롣
󥿡ե MTU 礭̵ͤ뤵졢ʤθ̤ڤܤʤ
.TP
.B TCP_CORK
ͭˤȡ partial ե졼ʤ
Υץ󤬲ȡ
塼󥰤줿 partial ե졼ब롣
.BR sendfile (2)
Ƥ˥إå֤ꡢ
롼ץåȤŬǤ롣Υץ
.B TCP_NODELAY
ƱѤ뤳ȤϤǤʤ
.SH IOCTL
 ioctl ˤ
.BR ioctl (2)
ѤƥǤ롣
񼰤ϰʲ̤ꡣ
.PP
.RS
.nf
.BI int " value";
.IB error " = ioctl(" tcp_socket ", " ioctl_type ", &" value ");"
.fi
.RE
.TP
.BR FIONREAD " or " TIOCINQ
Хåե˥塼줿ޤɤޤƤʤǡ̤֤
ؤΥݥ󥿡
.TP
.B SIOCATMARK
Ƥζ۵ޥǡ桼ץˤäƼѤߤǤп֤

.B SO_OOBINLINE
ȰѤ롣ϥƥȷ̤֤ؤΥݥ󥿤Ǥ롣
.TP
.B TIOCOUTQ
åȤ塼˻ĤäƤ̤ǡ̤֤
ͤϤͤؤΥݥ󥿤֤롣
ǰʤ顢ΤƤƤΥС Linux ˤϥХꡢ
˶ڡ(Хåե᥿ǡޤΥХȿ)
֤Ƥޤ
.BR TIOCOUTQ
Ѥϡ
Υ꡼¾ Unix Ǥؿξο񤤤ˤĤ
󥿥ƥȤ򤹤褦ˤƤۤ

.SH 顼
ͥåȥ顼ȡ TCP ϥѥåȤκߤ롣
󤫤äƤʤС³Ф
.B ETIMEOUT
顼Ǹ˼顼֤롣
.PP
ץꥱˤäƤϡä᤯顼Τ餻Ƥۤ礬롣
ˤ
.B SOL_IP
٥
.B IP_RECVERR
åȥץѤɤΥץͭˤʤäƤȡ
夷顼Ϥ٤Ƥ˥桼ץϤ롣
ΥץϿŤѤ뤳ȡ롼ƥ󥰤ѹʤɡ
̾濫ꤦͥåȥ֤Ф TCP ȼˤƤޤ
.SH 
³ΩΥåȽ񤭹ߤǥ顼Ȥ
.B SIGPIPE
Τ
.B SO_KEEPALIVE
åȥץ󤬥åȤƤ˸¤롣
.\"NAKANO ۤȤ?
.PP
TCP ˤӰ賰ǡ (out-of-band data) Ϥʤ
˶۵ޥǡ롣Ĥޤ Linux ˤƤϡ
³褬Ӱ賰ǡäƤ硢Ť۵ޥǡ
̾ΥǡȤƥȥ꡼뤳Ȥˤʤ (
.B SO_OOBINLINE
åȤƤǤƱͤǤ)
 BSD ١ΥåȤϰۤʤ롣
.PP
Linux ϡǥեȤǤ urgent ݥ󥿥եɤβ
BSD ߴˡѤ롣 RFC1122 ȿƤ뤬
¾ΥåƱưˤϤʤ
.B tcp_stdurg
sysctl ˤäѹǤ롣
.SH 顼
.TP
.B EPIPE
³褬ͽʤäǥåȤ򥯥
ޤϥåȥ󤵤줿åȤɤ߹ߤ¹Ԥ줿
.TP
.B ETIMEDOUT
³褬󤫥ǡƤȿʤ
.TP
.B EAFNOTSUPPORT
.I sin_family
Ϥ줿åȥɥ쥹Υפ
.B AF_INET
ǤϤʤä
.PP
.BR ip (7)
Ƥ륨顼䡢ͥåʥåؤˤ륨顼
TCP ֤뤳Ȥ롣
.PP
.SH Х
ޤƤʤ顼롣
.PP
IPv6 ˴ؤ뵭Ҥʤ
.PP
Ʃץץ󤬵ҤƤʤ
.SH С
sysctl  Linux 2.2 о줷
.B IP_RECVERR
 Linux 2.2 οǽǤ롣
.B TCP_CORK
 2.2 о줷
.SH Ϣ
.BR socket (7),
.BR socket (2),
.BR ip (7),
.BR sendmsg (2),
.BR recvmsg (2)
.br
.BR RFC793 :
TCP λ
.br
.BR RFC1122 :
TCP ɬ׾ Nagle 르ꥺ
.br
.BR RFC2581 :
Ĥ TCP 르ꥺ