File: tcp.7

package info (click to toggle)
manpages-ja 0.5.0.0.20100315-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 21,156 kB
  • ctags: 1
  • sloc: sh: 13,935; perl: 157; makefile: 114
file content (1132 lines) | stat: -rw-r--r-- 39,962 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
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
.\" 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.
.\"
.\" 2.4 Updates by Nivedita Singhvi 4/20/02 <nivedita@us.ibm.com>.
.\" Modified, 2004-11-11, Michael Kerrisk and Andries Brouwer
.\"	Updated details of interaction of TCP_CORK and TCP_NODELAY.
.\"
.\" 2008-11-21, mtk, many, many updates.
.\"     The descriptions of /proc files and socket options should now
.\"     be more or less up to date and complete as at Linux 2.6.27
.\"     (other than the remaining FIXMEs in the page source below).
.\"
.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
.\" Translated 1999-12-06, NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\" Updated 2002-11-15, NAKANO Takeo
.\" Updated 2005-02-21, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\" Updated 2005-09-07, Akihiro MOTOKI
.\" Updated 2005-12-26, Akihiro MOTOKI
.\" Updated 2006-07-19, Akihiro MOTOKI, LDP v2.36
.\" Updated 2008-08-07, Akihiro MOTOKI, LDP v3.05
.\" Updated 2008-12-31, Akihiro MOTOKI, LDP v3.15
.\" Updated 2009-03-01, Akihiro MOTOKI, LDP v3.19
.\"
.\"WORD         full duplex connection  ̿
.\"WORD         listening state         ³Ԥ
.\"WORD         denial of service attack	DoS 
.\"WORD         urgent data             ۵ޥǡ
.\"
.TH TCP  7 2008-12-01 "Linux" "Linux Programmer's Manual"
.SH ̾
tcp \- TCP ץȥ
.SH 
.B #include <sys/socket.h>
.br
.B #include <netinet/in.h>
.br
.B #include <netinet/tcp.h>
.sp
.B tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
.SH 
 RFC\ 793, RFC\ 1122, RFC\ 2001 Ƥ TCP ץȥ
NewReno ĥ SACK ĥޤƼΤǤ롣
TCP ϡ
.BR ip (7)
ĤΥåȴ֤ˡι⤤ȥ꡼ظ
(full-duplex) ̿󶡤롣
v4  v6 ξΥС
.BR ip (7)
бƤ롣
TCP ϡǡä夹뤳ȡǼ줿ѥåȤ
뤳Ȥݾڤ롣ޤѥåñ̤˥å
뤳Ȥǡž顼Τ롣
TCP ϥ쥳ɶ (record boundary) ¸ʤ

줿Ф TCP åȤϡ
⡼ȥɥ쥹륢ɥ쥹ʤ
äƾܺ٤˻ꤵ줿֤ǤϤʤ
ؤ TCP ³ˤϡ
.BR connect (2)
ѤƤ⤦ TCP åȤؤ³Ω롣
ο³ˤϡޤ
.BR bind (2)
ǥåȤʥɥ쥹ȥݡȤ˷ӤĤ
.BR listen (2)
ƤǥåȤ³Ԥ֤ˤ롣
θ塢夷³׵Ф
.BR accept (2)
ѤåȤ򿷤롣
.BR accept (2)
ޤ
.BR connect (2)
Υ뤬åȤϡܺ٤˻ꤵ줿֤Ȥʤꡢ
ǡΤȤ꤬ǽȤʤ롣³Ԥ֤ (listening) åȤ䡢
³ (connect) ƤʤåȤ̤ƥǡȤꤹ뤳ȤϤǤʤ

Linux  RFC\ 1323  TCP high performance ĥ򥵥ݡȤƤ롣
ˤϡProtection Against Wrapped Sequence Numbers (PAWS)
ɥ󥰡ॹפʤɤޤޤƤ롣
ɥ󥰤ѤȡٱޤӰ礭³ǡ
(64K ʾ)  TCP ɥѤ뤳ȤǽȤʤ롣
ѤˤϡΥХåե礭ʤФʤʤ
ƥΤФХåեѹϡե
.I /proc/sys/net/ipv4/tcp_wmem

.I /proc/sys/net/ipv4/tcp_rmem
ѤƹԤȤǤ롣
ޤġΥåȤΤߤ礭ˤϡ
.B SO_SNDBUF

.B SO_RCVBUF
åȥץѤ
.BR setsockopt (2)
ѤꤹФ褤

.B SO_SNDBUF

.B SO_RCVBUF
Υᥫ˥륽åȥХåեκ祵ϡե
.I /proc/sys/net/core/rmem_max

.I /proc/sys/net/core/wmem_max
ǻꤵ줿ƥȤƤͤĶ뤳ȤϤǤʤ
TCP ϼºݤˤ
.BR setsockopt (2)
뤬׵ᤷХåեܤƤ롣
Τᡢθ
.BR getsockopt (2)
Ԥȡ
.BR setsockopt (2)
׵ᤷХåեȤϰۤʤ֤ͤ롣
TCP Ϥ;ʬʶ֤򡢴Ū䥫ͥι¤ΤѤƤ롣
.I /proc
եͤϡȿǤºݤ TCP ɥ礭ͤȤʤ롣
³ˤ륽åȤΥХåեѹͭˤˤϡ
.BR listen (2)

.BR connect (2)
ꤷʤФʤʤ
ܤ
.BR socket (7)
򸫤衣
.PP
TCP ϶۵ޥǡ (urgent data) 򥵥ݡȤƤ롣۵ޥǡ
餫νפʥåǡȥ꡼˴ޤޤƤ뤳ȡ
ΥǡǤ᤯٤ȡԤ뤿Ѥ롣
۵ޥǡˤϡ
.BR send (2)

.B MSG_OOB
ץꤹ롣
۵ޥǡȡͥ
.B SIGURG
ʥ롣
.B SIOCSPGRP

.B FIOSETOWN
ioctl ( POSIX.1-2001 ǵꤵƤ
.BR fcntl (2)
.B F_SETOWN
) ѤƤΥåȤΡֽͭԡפȤꤵ줿
ץץ롼פǤ롣
.B SO_OOBINLINE
åȥץͭˤʤäƤȡ۵ޥǡ
̾Υǡȥ꡼˺ (ץϲ
.B SIOCATMARK
ioctl Ȥäƶ۵ޥǡξĴ٤뤳ȤǤ)
̵ˤʤäƤˤϡ
.BR recv (2)

.BR recvmsg (2)

.B MSG_OOB
ե饰åȤƤȤˤΤߡ۵ޥǡǤ롣

Linux 2.4 Ǥ¿ѹʤ졢
롼ץåȤȥ󥰤夷ǽޤä
εǽˤϡԡ
.BR sendfile (2)
Explicit Congestion Notification
TIME_WAIT åȤοˡ
keep-alive åȥץ
Duplicate SACK ĥΥݡȤʤɤ롣
.SS ɥ쥹Υեޥå
TCP  IP ξؤ˹ۤƤ
.RB ( ip (7)
򻲾)
.BR ip (7)
Ƥ륢ɥ쥹եޥåȤ TCP ˤŬѤ롣
TCP  point-to-point ̿򥵥ݡȤ롣
֥ɥ㥹Ȥޥ㥹ȤϥݡȤʤ
.SS /proc 󥿥ե
ƥΤФ TCP ѥ᡼ˤϡ
.I /proc/sys/net/ipv4/
ǥ쥯ȥΥեˤꥢǤ롣
ˡIP ˴Ϣ
.I /proc
󥿥եΤۤȤɤ TCP ˤĤƤŬѤ롣
.BR ip (7)
򻲾ȤΤȡ
.I Boolean
ͤǡ
0 ʳ ("true") б륪ץͭ
0  ("false") ̵Ǥ뤳Ȥ̣롣
.TP
.IR tcp_abc " (Integer; default: 0; Linux 2.6.15 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
RFC 3465 Ƥ Appropriate Byte Count (ABC) 椹롣
ABC ϡʬŪ ACK ˱ԥɥ
.RI ( cwnd )
äˤ䤫ˤˡǤ롣
ʲͤǤ롣
.RS
.IP 0 3
ACK 
.I cwnd
䤹 (ABC ʤ)
.IP 1
ե륵ΥȤ ACK 
.I cwnd
.IP 2
ACK ٱ ACK (delayed acknowledgment) 껦뤿 2 Ȥ
Ф ACK ξˡ
.I cwnd
 2 䤹ȤǤ롣
.RE
.TP
.IR tcp_abort_on_overflow " (Boolean; default: disabled; Linux 2.4 ʹ)"
.\" Since 2.3.41
³ԤƤ륵ӥ٤ơˤĤƤʤˡ
³ꥻåȤǤ褦ˤ롣
ѤȡСȤˤäƥСեäȤˡ
³Ǥ褦ˤʤ롣ΥץѤΤϡ
ǡ®Ǥʤˡָꤹפȡ
ΥץѤȡΥФ³Ƥ륯饤
ˤȤäƤϳˤʤ뤳Ȥ롣
.TP
.IR tcp_adv_win_scale " (integer; default: 2; Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
Хåե󥰤ΥСإåɤη׻ˡ
.I tcp_adv_win_scale
ξ
.I "bytes/2^tcp_adv_win_scale"
ˡ
.I tcp_adv_win_scale
餫 0 ξ
.I "bytes-bytes/2^(\-tcp_adv_win_scale)"
Ȥ롣

åȤμХåե֤ϥץꥱȥͥǶͭ롣
TCP ϥХåեΰ TCP ɥȤƴ
ɥȤ³¾üΤ롣
֤λĤϡ֥ץꥱץХåեȤѤ졢
塼󥰤䥢ץꥱٱ䤫ͥåȥΥ롣
.I tcp_adv_win_scale
Υǥեͤ 2 Ǥꡢ
ξ祢ץꥱХåեΤ 1/4 ˤʤ롣
.TP
.IR tcp_allowed_congestion_control " (String; default: see text; Linux 2.4.20 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
øץѤǤ楢르ꥺɽ/ꤹ
.RB ( TCP_CONGESTION
åȥץ򻲾ȤΤ)
ΥꥹȤ
.I tcp_available_congestion_control
ɽꥹȤʬȤʤ롣
.\" FIXME How are the items in this delimited? Null bytes, spaces, commas?
ΥꥹȤΥǥեͤϡ"reno" 
.I tcp_congestion_control
Υǥե򤢤碌ΤȤʤ롣
.TP
.IR tcp_available_congestion_control " (String; read-only; Linux 2.4.20 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
ϿƤ楢르ꥺΥꥹȤɽ롣
.\" FIXME How are the items in this delimited? Null bytes, spaces, commas?
ΥꥹȤ˺ܤäƤΤ
.I tcp_allowed_congestion_control
ɽ롣
¾楢르ꥺब⥸塼ȤѲǽ
⥸塼뤬ɤƤʤȤ⤢롣
.TP
.IR tcp_app_win  " (integer; default: 31; Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
ѿϡTCP ɥβХʬ
Хåե󥰤ΥСإåѤͽ󤹤뤫ꤹ롣

Υɥ \fIwindow/2^tcp_app_win\fP  mss 礭ۤ (Хñ)
ץꥱХåեȤͽ󤵤롣
0 ꤹȰͽΰʤ
.\"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_base_mss " (Integer; default: 512; Linux 2.6.17 ʹ)"
ѥåȲ쥤 Path MTU discovery (MTU probing) ǡ
.I search_low
νͤȻѤ͡
MTU probing ͭʾ硢ͤϤ³ MSS νͤȤʤ롣
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_bic " (Boolean; default: disabled; Linux 2.4.27/2.6.6  2.6.13 ޤ)"
BIC TCP 楢르ꥺͭˤ롣
BIC-TCP ¦Τߤѹǡ
ӥƥ TCP  (friendliness) ξ󶡤Ĥġ
礭ʥɥβǤ RTT ʿݾڤΤǤ롣
ΥץȥǤ additive increase (ɲŪ) 
binary search increase (ʬõ) ȤĤλȤߤ
Ȥ߹碌Ƥ롣ԥɥ礭Ȥϡʬ礭
additive increase ˤꡢӥƥݤʤ
 RTT ʿݾڤ롣
ԥɥȤˤ binary search increase ˤ
TCP ãƤ롣
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_bic_low_window " (integer; default: 14; Linux 2.4.27/2.6.6 ʹ 2.6.13 ޤ)"
BIC TCP ԥɥĴ򳫻Ϥͥɥ (ѥåñ)
ꤹ롣ͤ򲼲硢BIC TCP ϥǥեȤ TCP Reno 
Ʊư򤹤롣
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_bic_fast_convergence " (Boolean; default: enabled; Linux 2.4.27/2.6.6 ʹ 2.6.13 ޤ)"
BIC TCP ԥɥѲˤ®ȿ褦ˤ롣
ƱͥͭĤΥեĤˤޤȤޤΤ
®Ԥ褦ˤ롣
.TP
.IR tcp_congestion_control " (String; default: enabled; Linux 2.4.13 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
³ǻѤǥեȤ楢르ꥺꤹ롣
"reno" 르ꥺϾѲǽ
ͥ꼡Ǥ̤褬ѤǤ뤳Ȥ⤢롣
ΥեΥǥեͤϥͥΰĤȤꤵ롣
.TP
.IR tcp_dma_copybreak " (integer; default: 4096; Linux 2.6.24 ʹ)"
ƥ DMA ԡ󥸥¸ߤͥ
.B CONFIG_NET_DMA
ץͭˤʤäƤˡ
DMA ԡ󥸥˥եɤ륽åȤɤ߹ߥβ
(Хñ)
.TP
.IR tcp_dsack " (Boolean; default: enabled; Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
RFC\ 2883  TCP Duplicate SACK ΥݡȤͭˤ롣
.TP
.IR tcp_ecn " (Boolean; default: disabled; Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
RFC\ 2884  Explicit Congestion Notification ͭˤ롣
ͭˤȡְä񤤤򤹤Ť롼
ϩˤ褦³ФƱƶ
ˤäƤ³뤫⤷ʤ
.TP
.IR tcp_fack " (Boolean; default: enabled; Linux 2.2 ʹ)"
.\" Since 2.1.92
TCP Forward Acknowledgement ΥݡȤͭˤ롣
.TP
.IR tcp_fin_timeout " (integer; default: 60; Linux 2.2 ʹ)"
.\" Since 2.1.53
åȤŪ˥ˡ
Ǹ FIN ѥåȤԤĻ֤ñ̤ǻꤹ롣
ϸ̩ˤ TCP λͤƤʤ
DoS  (denial of service attack) Ȥ뤿ɬפǤ롣
Linux 2.2 Ǥϥǥեͤ 180 Ǥä
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_frto " (integer; default: 0; Linux 2.4.21/2.6 ʹ)"
.\" Since 2.4.21/2.5.43
F-RTO ͭˤ롣F-RTO  TCP ॢ (RTO) 
ǽ夵르ꥺǤ롣
εǽ̵Ķä˸̤ȯ롣
̵ĶǤϡ̾ϡ֥롼ԤǤϤʤ̵δ
ˤѥåȥȯ롣
ܺ٤ RFC\ 4138 򻲾ȡ

ΥեϰʲΤ줫ͤ뤳ȤǤ롣
.RS
.IP 0 3
F-RTO ̵ˤ롣
.IP 1
Ǥ F-RTO 르ꥺͭˤ롣
.IP 2
Υե SACK Ѥ硢SACK ĥǤ F-RTO ͭˤ롣
Ǥ F-RTO  SACK ѤƤˤѤǤ뤬
Ǥξˤ F-RTO  SACK ͭˤʤä TCP եǤ
ѥåȿ¬ȡߴĤ̤¸ߤ롣
.RE
.IP
Linu 2.6.22 ǤϡΥѥ᡼ϥ֡ͤǤꡢ
嵭 0  1 Τߤ򥵥ݡȤƤ
.TP
.IR tcp_frto_response " (integer; default: 0; Linux 2.6.22 ʹ)"
F-RTO  TCP ॢȤʪȸФ
(ĤޤꡢTCP äĹॢȤꤷƤ
ॢȤ򤱤줿)
ˤɤ뤫˴ؤ褬Ĥ롣
ʲͤǤ롣
.RS
.IP 0 3
졼Ȥ򸵤Ⱦʬˤ롣
餫ǡݼŪȿԤRTT 1ʬλָ
ԥɥ
.RI ( cwnd )
ȥȤ
.RI ( ssthresh )
Ⱦʬˤʤ롣
.IP 1
ݼŪȿΥץλѤϿ侩ʤ
ȿäǤäƤ⡢Linux TCP ¾ʬ
ޤϢȤǤʤǤ롣
.I cwnd

.I ssthresh
ľȾʬˤ롣
.IP 2
ѶŪȿ
פȽ¬ä
(TCP äտ٤ǽ̵뤹)

.I cwnd

.I ssthresh
ϥॢͤᤵ롣
.RE
.TP
.IR tcp_keepalive_intvl " (integer; default: 75; Linux 2.4 ʹ)"
.\" Since 2.3.18
TCP keep-alive Υץֳ֤ (ñ)
.TP
.IR tcp_keepalive_probes " (integer; default: 9; Linux 2.2 ʹ)"
.\" Since 2.1.43
TCP keep-alive ץ֤κ
βƤ³褫ȿʤϡ
³Ǥ롣
.TP
.IR tcp_keepalive_time " (integer; default: 7200; Linux 2.2 ʹ)"
.\" Since 2.1.43
³ɥ֤ˤʤäƤ顢keep-alive
ץ֤ޤǤλ֤ñ̤ǻꤹ롣
.B SO_KEEPALIVE
åȥץͭˤʤäƤʤ
keep-alive ʤ
ǥեͤ 7200  (2 )
keep-alive ͭˤʤäƤ硢
ˤ褽 11 ʬ (75 ôֳ֤ 9 ץʬ)
в᤹ȥɥ֤³Ͻλ롣

ؤˤ³׵䥢ץꥱǤΥॢȤϡ
äȤäû⤷ʤ
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_low_latency " (Boolean; default: disabled; Linux 2.4.21/2.6 ʹ)"
.\" Since 2.4.21/2.5.60
ͭˤȡTCP åϥ롼ץåȤ⤯
ٱ򾯤ʤ뤳Ȥͥ褷ȽǤԤ
Υץ̵ˤȡ롼ץåȤ⤯뤳Ȥͥ褵롣
Υǥեͤѹ褤ץꥱȤƤ
Beowulf ԥ塼饹󤲤
.TP
.IR tcp_max_orphans " (integer; default: see below; Linux 2.4 ʹ)"
.\" Since 2.3.41
ƥबƤ롢
orphan  (ɤΥ桼եϥɥˤ⥢åƤʤ)
TCP åȤκ
οۤȡorphan ³ϥꥻåȤ졢ٹɽ롣
¤¸ߤΤϡñʻǽ (denial-of-service) 
ɤ˲᤮ʤͤ򾮤뤳ȤϿ侩ʤ
ͥåȥξˤäƤϡοͤ礭ʤȤʤ⤷ʤ
orphan ʥåȤҤȤĤ
64K ٤ΥåԲǽʥ񤹤뤳Ȥդ衣
ǥեȤνͤϥͥѥ᡼ NR_FILE 
νǥեͤϥƥΥ˱Ĵ롣
.TP
.IR tcp_max_syn_backlog " (integer; default: ; Linux 2.2 ʹ)"
.\" Since 2.1.53
³ƤƤ륯饤Ȥ
ack Ƥʤ֤³ꥯȤ򥭥塼֤
οͤۤȡͥϥꥯȤΤƻϤ롣
ǥեȤͤ 256 ǡ
ƥ˽ʬʥ꤬ (128Mb ʾ)  1024 ˤʤꡢ
꤬˾ʤ (32 Mb ʲ)  128 ˤʤ롣
οͤ 1024 ʾ䤷ϡ
.I include/net/tcp.h
 TCP_SYNQ_HSIZE 
TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog Τ褦˽
ͥƥѥ뤹뤳Ȥ򾩤롣
.TP
.IR tcp_max_tw_buckets " (integer; default: ; Linux 2.4 ʹ)"
.\" Since 2.3.41
ƥबƤ TIME_WAIT ֤ˤ륽åȤκ
¤¸ߤΤϡ
ñʻǽ (denial-of-service) ɤ˲᤮ʤ
ǥեͤ NR_FILE*2 ǡƥΥ˱Ĵ롣
οͤۤȡΤ褦ʥåȤϥ졢ٹɽ롣
.TP
.IR tcp_moderate_rcvbuf " (Boolean; default: enabled; Linux 2.4.17/2.6.7 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
ͭˤȡTCP ϼХåեμưĴԤ
Ūˤϡ
.RI ( tcp_rmem[2]
ĶʤϰϤ) Хåե礭ưŪѲ
ηϩǺΥ롼ץåȤãΤɬפ礭˹碌褦Ȥ롣
.TP
.IR tcp_mem " (Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
 3 Ĥ [low, pressure, high] ʤ٥ȥͤǤ롣
 TCP ̤פ뤿Ѥ
(̤ϥƥΥڡñ̤Ƿ¬)
ǥեȤϥ֡ȻѤǤ̤׻롣
(ºݤˤϡTCP 
.I "low memory"
ΤߤѤ롣ͤ 32ӥåȥƥǤ 900 ᥬХȤ¤롣
64 ӥåȥƥǤϤ¤Ϥʤ)
.RS
.TP 10
.I low
TCP ϡХ˥ȤڡοͰʲξϡ
ꥢĴʤ
.TP
.I pressure
TCP Ȥ꤬οʬΥڡۤȡ
TCP ϥޤ褦ˤʤ롣
Ȥڡ
.I low
ʲˤʤȡΥ갵֤æ롣
.TP
.I high
TCP Х˳Ƥڡκ͡
ͤϥͥˤäƲݤ뤢¤ͥ褵롣
.RE
.TP
.IR tcp_mtu_probing " (integer; default: 0; Linux 2.6.17 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Υѥ᡼ϡTCP ΥѥåȲ쥤 Path MTU discovery 椹롣
ΥեˤϰʲͤǤ롣
.RS
.IP 0 3
̵ˤ롣
.IP 1
ǥեȤǤ̵ICMP ֥åۡ뤬Ф줿ͭˤ롣
.IP 2
ͭˤ롣
MSS νͤȤ
.I tcp_base_mss
Ѥ롣
.RE
.TP
.IR tcp_no_metrics_save " (Boolean; default: disabled; Linux 2.6.6 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
ǥեȤǤϡTCP ³˳Ƽ³ѥ᡼
롼ȥå (route cache) ¸ᤤ³Ω줿ݤ
ξ֤ȤƻѤǤ褦ˤʤäƤ롣
̾ϡˤΤȤǽ夹뤬
ȤǽȤ⤢롣
.I tcp_no_metrics_save
ͭˤȡTCP ³³ѥ᡼򥭥å
ʤʤ롣
.TP
.IR tcp_orphan_retries " (integer; default: 8; Linux 2.4 ʹ)"
.\" Since 2.3.41
餫饯³ˤĤơ
ץ֤Կ
.TP
.IR tcp_reordering " (integer; default: 3; Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
TCP ѥåȥȥ꡼ǥѥåȽεžȯǤꡢ
ѥåȥäȤϤߤʤʤѥåȿκ͡
ͤĶƥѥåȤνžȡѥåȥ
ߤʤslow start 롣
οͤѹʤۤɤ
ϡ³ΥѥåȤ¤ؤˤä
ɬפ®㲼Ǿ褦߷פ줿
ѥå¤ؤ (packet reordering) θΥȥåʤΤǤ롣
.TP
.IR tcp_retrans_collapse " (Boolean; default: enabled; Linux 2.2 ʹ)"
.\" Since 2.1.96
κݤ˥ե륵ΥѥåȤȤ롣
.TP
.IR tcp_retries1 " (integer; default: 3; Linux 2.2 ʹ)"
.\" Since 2.1.43
̤˳ΩƤ³ˡ
TCP ͥåȥؤ򴬤ޤ˺ߤ
βۤȡޤǽˡ
˲ǽʤͥåȥؤ˷ϩ򹹿롣
ǥեȤ RFC ꤷƤǾǤ 3
.TP
.IR tcp_retries2 " (integer; default: 15; Linux 2.2 ʹ)"
.\" Since 2.1.43
Ω֤³ˡβ TCP ѥåȤκ
ԤʤäƤʾϤ롣
ǥեͤ 15 ǡ (ΥॢȤ˰¸뤬)
褽 1330 ʬ٤δ֤б롣
RFC\ 1122 ϺǾθ³ 100 ä֤Ƥ뤬
ϤƤξˤûȻפ롣
.TP
.IR tcp_rfc1337 " (Boolean; default: disabled; Linux 2.2 ʹ)"
.\" Since 2.1.90
TCP ư RFC\ 1337 ˽򤵤롣
̵ˤȡTIME_WAIT ֤ΤȤ RST 줿硢
TIME_WAIT ֤νλԤˤΥåȤľ˥롣
.TP
.IR tcp_rmem " (Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
 3 Ĥ [min, default, max] ʤ٥ȥͤǤ롣
 TCP ХåեĴ뤿Ѥ롣
TCP ϡƥѤǤ˱ơ
ХåեΥ򤳤ѿϰϤ
ʲ˼ǥեȤưŪĴ롣
.RS
.TP 10
.I min
 TCP åȤѤХåեκǾ
ǥեͤϥƥΥڡǤ
(Linux 2.4 Ǥϡǥեͤ 4K ХȤǡ
ξʤƥǤ
.B PAGE_SIZE
ХȤ˸餵)
ͤϡ갵⡼ɤˤƤ⡢
ΥγƤ뤳Ȥݾڤ뤿Ѥ롣
ϡ
.B SO_RCVBUF
ѤƥåȤκХåեݤˤѤʤ
.\"nakano Documentation/networking/ip-sysctls.txt
.\"nakano ߤ¤ǤϤƤΤ褦ʡ
.TP
.I default
TCP åȤμХåեΥǥեȥ
ͤϡ٤ƤΥץȥФƤ롢
ͥåʥХΥǥեȥХåե
.I net.core.rmem_default
ͥ褵롣
ǥեͤ 87380 ХȤǤ
(Linux 2.4 Ǥϡξʤƥξ
43689 ޤǸ餵)
礭ʼХåեɬפʾϡ
ͤ䤹٤Ǥ (٤ƤΥåȤ˱ƶ)
礭 TCP ɥѤˤϡ
.I net.ipv4.tcp_window_scaling
ͭˤƤʤФʤʤ (ǥեȤͭ)
.TP
.I max
 TCP åȤѤХåեκ祵
ͤ⥰Х
.I net.core.rmem_max
ͥ褵롣
ϡ
.B SO_RCVBUF
ѤƥåȤμХåե¤ݤˤѤʤ
.\"nakano Ʊ塣
ǥեͤϰʲμǷ׻롣

    max(87380, min(4MB, \fItcp_mem\fP[1]*PAGE_SIZE/128))

(Linux 2.4 Ǥϡǥեͤ 87380*2 ХȤǡ
ξʤƥǤ 87380 ޤǸ餵롣)
.RE
.TP
.IR tcp_sack " (Boolean; default: enabled; Linux 2.2 ʹ)"
.\" Since 2.1.36
RFC\ 2018  TCP Selective Acknowledgements ͭˤ롣
.TP
.IR tcp_slow_start_after_idle " (Boolean; default: enabled; Linux 2.6.18 ʹ)"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
ͭˤȡRFC 2861 ưԤ졢
ɥַвԥɥ򥿥ॢȤ롣
ɥ֤ϸߤ RTO (ॢ) 롣
̵ˤȡԥɥϥɥַв⥿ॢȤʤ
.TP
.IR tcp_stdurg " (Boolean; default: disabled; Linux 2.2 ʹ)"
.\" Since 2.1.44
Υץͭˤȡ TCP ۵ޥݥ (urgent-pointer)
եɤ RFC\ 1122 ˽äԤ
.\" RFC\ 793 ϶۵ޥݥ󥿤ΰ̣ε꤬ۣǤä
.\" RFC\ 1122 ( RFC\ 961) ǤϤۣ椵˰Ĥβ᤿
.\" (ǰʤ "ְä" Ǥä)
β˽ȡ۵ޥݥ󥿤϶۵ޥǡκǸΥХȤؤ
Υץ̵ˤȡ۵ޥݥ󥿤β᤬ BSD ߴˡ
Ԥ: ۵ޥݥ󥿤϶۵ޥǡθκǽΥХȤؤ
Υץͭˤȡ꤬߱뤫⤷ʤ
.TP
.IR tcp_syn_retries  " (integer; default: 5; Linux 2.2 ʹ)"
.\" Since 2.1.38
ƥ֤ TCP ³˽ SYN κߤ
οͤ 255 礭٤ǤϤʤ
ǥեȤͤ 5 ǡ褽 180 äб롣
.TP
.IR tcp_synack_retries " (integer; default: 5; Linux 2.2 ʹ)"
.\" Since 2.1.38
passive  TCP ³ SYN/ACK ȤǺߤ
οͤ 255 礭٤ǤϤʤ
.TP
.IR tcp_syncookies " (Boolean; Linux 2.2 ʹ)"
.\" Since 2.1.43
.TCP syncookies ͭˤ롣ͥ
.B CONFIG_SYNCOOKIES
Ĥƥѥ뤷ƤʤФʤʤ
åȤΥХå塼Сեȡ
syncookies 롣
syncookies ǽϡSYN flood ⤫饽åȤȤ롣
ϤˤƤ⡢ǽʤȤѤ٤Ǥ롣
 TCP ץȥ˰ȿƤꡢ
TCP ĥΤ褦ʡTCP ¾ʬȾͤƤޤ
饤Ȥ졼꤬뤳Ȥ⤢롣
٤ְ㤤ˤä٤礭ʾ֤ˤ륵ФĴƵߤ
Ȥߤʤ٤ǤϤʤ
Τ褦Ӥˤϡ
.IR tcp_max_syn_backlog ,
.IR tcp_synack_retries ,
.I tcp_abort_on_overflow
ʤɤλѤͤ뤳ȡ
.TP
.IR tcp_timestamps " (Boolean; default: enabled; Linux 2.2 ʹ)"
.\" Since 2.1.36
RFC\ 1323  TCP timestamps ͭˤ롣
.TP
.IR tcp_tso_win_divisor " (integer; default: 3; Linux 2.6.9 ʹ)"
Υѥ᡼ϡĤ TCP Segmentation Offload (TSO) ե졼
Ǥԥɥγ (ѡ) 椹롣
Сȡɤ礭 TSO ե졼ۤ뤫Τϥȥ졼ɥդǤꡢ
Υѥ᡼Ϥٹ礤ꤹ롣
.TP
.IR tcp_tw_recycle " (Boolean; default: disabled; Linux 2.4 ʹ)"
.\" Since 2.3.15
TIME_WAIT åȤᤤѤͭˤ롣
Υץͭˤȡ
NAT (ͥåȥɥ쥹Ѵ) ѤƤ꤬Τǡ
ޤ侩ʤ
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_tw_reuse " (Boolean; default: disabled; Linux 2.4.19/2.6 ʹ)"
.\" Since 2.4.19/2.5.43
ץȥ̤鸫ʤ˿ͥ TIME_WAIT
֤ΥåȤѤ뤳ȤĤ롣Ū˾ܤͤν
ʤˤΥץѹ٤ǤϤʤ
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_vegas_cong_avoid  " (Boolean; default: disabled; Linux 2.2  2.6.13 ޤ)"
.\" Since 2.1.8; removed in 2.6.13
TCP Vegas 楢르ꥺͭˤ롣
TCP Vegas Ӱ¬뤳ȤԤεϤͽۤ褦
TCP ¦ΤߤѹäΤǤ롣
TCP Vegas ԥɥ뤳Ȥǡ졼ȤĴ롣
TCP Vegas  TCP Reno ٤ƥѥåȥϾʤ
TCP Reno ۤѶŪʵưϤʤ
.\"
.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_westwood " (Boolean; default: disabled; Linux 2.4.26/2.6.3  2.6.13 ޤ)"
TCP Westwood+ 楢르ꥺͭˤ롣
TCP Westwood+  TCP ǽŬ褦 TCP Reno 
ץȥ륹å¦Τߤ˽äΤǤ롣
Ԥäǡԥɥ slow start ͤ
̿ξü֤Ӱο¬˴Ťꤹ롣
ο¬ȤäơTCP Westwood+ Ԥȯ˻ȤäƤ
Ӱθ줿 slow start ͤԥɥꤹ롣
TCP Westwood+ ϡͭͥåȥˤ TCP Reno θʿ
(fairness) ȡ̵󥯤ǤΥ롼ץåȤ礭夹롣
.TP
.IR tcp_window_scaling " (Boolean; default: enabled; Linux 2.2 ʹ)"
.\" Since 2.1.36
RFC\ 1323  TCP ɥ󥰤ͭˤ롣
εǽѤȡ³褬бƤС
TCP ³礭 (64K ʾ) ɥȤ褦ˤʤ롣
̾ TCP إåΥɥĹեɤ 16 ӥåȤʤΤǡ
ɥ 64K ХȰʲ˸¤롣
ä礭ʥɥȤϡ
ץꥱϥåȥХåեΥ䤷ơ
ɥ󥰤ΥץѤФ褤
.I tcp_window_scaling
̵ˤƤȡ
TCP ¾üȤ³κݤˡ
ɥ󥰤ΥͥԤʤʤ
.TP
.IR tcp_wmem " (Linux 2.4 ʹ)"
.\" Since 2.4.0-test7
 3 Ĥ [min, default, max] ʤ٥ȥͤǤ롣
 TCP ХåեĴ뤿Ѥ롣
TCP ϡƥѤǤ˱ơХåեΥ
ѿϰϤǰʲ˼ǥեȤưŪĴ롣
.RS
.TP 10
.I min
 TCP åȤѤХåեκǾ
ǥեͤϥƥΥڡǤ
(Linux 2.4 Ǥϡǥեͤ 4K Ǥ)
ͤϡ갵⡼ɤˤƤ⡢
ΥʲγƤ뤳Ȥݾڤ뤿Ѥ롣
ϡ
.B SO_SNDBUF
ѤƥåȤκХåեݤˤѤʤ
.TP
.I default
TCP åȤХåեΥǥեȥ
ͤϡ٤ƤΥץȥФƤ롢
ͥåʥХΥǥեȥХåե
.I net.core.rmem_default
ͥ褵롣
ǥեͤ 16K ХȤǤ롣
.\" Linux 2.4  2.6 Ǥ
礭Хåեɬפʾϡ
ͤ䤹٤Ǥ (٤ƤΥåȤ˱ƶ)
礭 TCP ɥѤˤϡ
.I /proc/sys/net/ipv4/tcp_window_scaling
 0 ʳ (ǥե) ˤƤʤФʤʤ
.TP
.I max
 TCP åȤѤХåեκ祵
ͤ
.IR /proc/sys/net/core/wmem_max
ͥ褵롣

.B SO_SNDBUF
ѤƥåȤХåե¤ݤˤѤʤ
ǥեͤϰʲμǷ׻롣

    max(65536, min(4MB, \fItcp_mem\fP[1]*PAGE_SIZE/128))

(Linux 2.4 Ǥϡǥեͤ 128K ХȤǡ
ξʤƥǤ 64K ˤޤǸ餵롣)
.RE
.TP
.IR tcp_workaround_signed_windows " (Boolean; default: disabled; Linux 2.6.26 ʹ)"
ͭˤȡɥ󥰥ץʤΤϡ
³ TCP Ƥȹͤɥդ̤Ȥߤʤ
̵ˤȡ³꤫饦ɥ󥰥ץʤä
ǤäƤ⡢³ TCP ƤȤϤߤʤʤ
.SS åȥץ
TCP åȤΥץϡ
ץ٥
.I IPPROTO_TCP
.BR setsockopt (2)
Ǥ
.BR getsockopt (2)
ǼǤ롣
ˡۤȤɤ
.B IPPROTO_IP
åȥץ TCP åȤФͭǤ롣ܺ٤
.BR ip (7)
򸫤衣
.\" FIXME Document TCP_CONGESTION (new in 2.6.13)
.TP
.BR TCP_CORK " (Linux 2.2 ʹ)"
.\" precisely: since 2.1.127
åȤȡ partial ե졼ʤ
Υץ󤬲ȡ
塼󥰤줿 partial ե졼ब롣
.BR sendfile (2)
Ƥ˥إå֤ꡢ
롼ץåȤŬǤ롣
ߤμǤϡ
.B TCP_CORK
ǽϤޤ뤳ȤǤ֤ξ¤ 200 ߥäǤ롣
ξ¤ãȡ塼󥰤줿ǡϼưŪ롣
Linux 2.5.71 ʹߤˤƤΤߡΥץ
.B TCP_NODELAY
ƱѤ뤳ȤǤ롣
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_DEFER_ACCEPT " (Linux 2.4 ʹ)"
.\" Precisely: since 2.3.38
ѤȡꥹʤϥǡåȤ夷ΤܳФ褦ˤʤ롣
 () Ȥꡢ
TCP ³λ褦Ȼߤ¤Ǥ롣
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_INFO " (Linux 2.4 ʹ)"
ΥåȤξΤѤ롣
ͥ
.I /usr/include/linux/tcp.h
եƤ
\fIstruct tcp_info\fP ֤
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_KEEPCNT " (Linux 2.4 ʹ)"
.\" Precisely: since 2.3.18
³Ȥ TCP ߤ keepalive ץ֤κ
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_KEEPIDLE " (Linux 2.4 ʹ)"
.\" Precisely: since 2.3.18
λ (ñ) ۤ³ɥ֤αޤäƤȡ
ΥåȤ
.B SO_KEEPALIVE
åȥץꤵƤ硢
TCP  keepalive ץ֤Ϥ롣
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_KEEPINTVL " (Linux 2.4 ʹ)"
.\" Precisely: since 2.3.18
 keepalive ץ֤δֳ (ñ)
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_LINGER2 " (Linux 2.4 ʹ)"
.\" Precisely: since 2.3.41
orphan 줿 FIN_WAIT2 ֤ΥåȤμ̿
ΥץѤȡƥΤŬѤե
.I /proc/sys/net/ipv4/tcp_fin_timeout
ͤ򡢤ΥåȤФƤΤѹǤ롣
.BR socket (7)
٥Υץ
.B SO_LINGER
ȺƱʤȡ
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.B TCP_MAXSEG
.\" Present in Linux 1.0
 TCP ѥåȤκ祻ȥ
Υץ³Ωꤹȡ
ѥåȤ¾ü˥ʥ󥹤 MSS ͤѲ롣
󥿡ե MTU 礭 (뤤礭ʤäƤޤä)
ͤϸ̤ʤ
ޤ TCP ϡͤǾ¤ͥ褹롣
.\" FIXME
.\" Document TCP_MD5SIG, added in Linux 2.6.20,
.\" Needs CONFIG_TCP_MD5SIG
.\" From net/inet/Kconfig
.\" bool "TCP: MD5 Signature Option support (RFC2385) (EXPERIMENTAL)"
.\" RFC2385 specifies a method of giving MD5 protection to TCP sessions.
.\" Its main (only?) use is to protect BGP sessions between core routers
.\" on the Internet.
.\"
.\" There is a TCP_MD5SIG option documented in FreeBSD's tcp(4),
.\" but probably many details are different on Linux
.\" Authors were yoshfuji@linux-ipv6.org and Dave Muller
.\" http://thread.gmane.org/gmane.linux.network/47490
.\" http://www.daemon-systems.org/man/tcp.4.html
.\" http://article.gmane.org/gmane.os.netbsd.devel.network/3767/match=tcp_md5sig+freebsd
.TP
.B TCP_NODELAY
.\" Present in Linux 1.0
ꤹ Nagle 르ꥺ̵ˤ롣
ʤǡ̤ʤǤ
ƥȤϲǽʸ¤᤯롣
ꤵƤʤȡ
ʬίޤޤǥǡϥХåե졢
ʥѥåȤˤ餺ˤߡ
ͥåȥͭѤǤ롣
Υץ
.B TCP_CORK
ˤ񤭤롣ʤ顢
.B TCP_CORK
ꤵƤǤäƤ⡢Υץꤹȡ
ԤνϤŪݤФ (flush) Ȥˤʤ롣
.TP
.BR TCP_QUICKACK " (Linux 2.4.4 ʹ)"
ꤵƤ quickack ⡼ɤͭˤꥢ̵ˤ롣
̾ TCP ưǤ ack ɬפ˱ٱ䤵ΤФ
quickack ⡼ɤǤ ack Ϥ롣
Υե饰ϱ³ŪʤΤǤϤʤ
quickack ⡼ɤ/⡼ɤڤؤ뤿ΤΤǤ롣
ʹߤ TCP ץȥưˤäƤϡ
Υץȥ䡢ٱ ack ॢȤȯ
ǡžʤɤװˤäơ
Ƥ quickack Фäꤹ롣
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_SYNCNT " (Linux 2.4 ʹ)"
.\" Precisely: since 2.3.18
³λԤߤ TCP  SYN ꤹ롣
 255 礭ϤǤʤ
ܿɬפʥץǤϤΥץѤ٤ǤϤʤ
.TP
.BR TCP_WINDOW_CLAMP " (Linux 2.4 ʹ)"
.\" Precisely: since 2.3.41
󤹤륦ɥΥ򤳤ͤ˸ꤹ롣
ͥˤäƺǾ SOCK_MIN_RCVBUF/2 ¤Ƥ롣
ΥץϰܿɬפʥɤǤѤ٤Ǥʤ
.SS å API
TCP Ӱ賰ǡ (out-of-band data) Ū˥ݡȤƤꡢ
(1 ХȤ) ۵ޥǡȤǤ롣
Ĥޤ Linux ˤƤϡ
³褬 () Ӱ賰ǡäƤ硢
(Ť)
۵ޥǡ̾ΥǡȤƥȥ꡼뤳Ȥˤʤ (
.B SO_OOBINLINE
åȤƤǤƱͤǤ)
 BSD ١ΥåȤϰۤʤ롣
.PP
Linux ϡǥեȤǤ urgent ݥ󥿥եɤβ
BSD ߴˡѤ롣 RFC\ 1122 ȿƤ뤬
¾ΥåƱưˤϤʤ
.I /proc/sys/net/ipv4/tcp_stdurg
ˤäѹǤ롣

.BR recv (2)

.B MSG_PEEK
ե饰ȤȡӰ賰ǡ뤳ȤǤ롣

Linux 2.4 ʹߤǤϡ
.BR recv (2)
(
.BR recvmsg (2))

.I flags

.B MSG_TRUNC
ȤȤǤ롣
Υե饰ꤹȡǡϡƤӽФϤ줿Хåե
˥ԡ֤ΤǤϤʤѴ褦ˤʤ롣
Linux 2.4.4 ʹߤǤϡ
.B MSG_PEEK
Ӱ賰ǡ뤿
.B MSG_OOB
Ȥ߹碌ƻȤäˤ⡢Ʊ̤Ĥ褦ˤʤäƤ롣
.SS ioctl
ʲ
.BR ioctl (2)
ƤӽФ
.I value
˾֤
񼰤ϰʲ̤ꡣ
.PP
.RS
.nf
.BI int " value";
.IB error " = ioctl(" tcp_socket ", " ioctl_type ", &" value ");"
.fi
.RE
.PP
.I ioctl_type
ϰʲΤ줫ĤǤ:
.TP
.B SIOCINQ
ХåեΥ塼ˤ롢ޤɤǤʤǡ̤֤
åȤ LISTEN ֤ˤäƤϤʤ餺
ʤȥ顼
.RB ( EINVAL )
֤롣
.TP
.B SIOCATMARK
ǡȥ꡼ब۵ޥޡΰ֤ǤС֤ (Ĥޤ
.I value
 0 ʳ)
.sp
.B SO_OOBINLINE
åȥץꤵƤơ
.B SIOCATMARK
֤硢ΥåȤɤ߹ߤǤ϶۵ޥǡ
֤롣
.B SO_OOBINLINE
åȥץꤵƤ餺
.B SIOCATMARK
֤硢ΥåȤɤ߹ߤǤ϶۵ޥǡ
³ǡ֤ (ºݤ˶۵ޥǡɤ߹ˤ
.B recv(MSG_OOB)
ȥե饰Ĥɬפ)

ǡΰɤ߹ߤǤ϶۵ޥޡ٤äƤɤ߹ߤϹԤʤ
ץꥱ󤬶۵ޥǡ¸ߤ
.RI ( exceptfds
Ȥä)
.BR select (2)
ͳޤ
.B SIGURG
ʥ̤Τ餵줿硢
.B SIOCATMARK
Υåɤ߹ (Хɤ߹׵򤷤Ƥ褤) 
.B SIOCATMARK
֤ʤʤޤǷ֤ԤȤǡ۵ޥޡΰ֤ޤ
ɤ߿ʤ뤳ȤǤ롣
.TP
.B SIOCOUTQ
åȤ塼˻ĤäƤ̤ǡ̤֤
åȤ LISTEN ֤ˤäƤϤʤʤ
LISTEN ֤ξˤϥ顼
.RB ( EINVAL )
Ȥʤ롣
.SS 顼
ͥåȥ顼ȡ TCP ϥѥåȤκߤ롣
󤫤äƤʤС³Ф
.B ETIMEOUT
顼Ǹ˼顼֤롣
.PP
ץꥱˤäƤϡä᤯顼Τ餻Ƥۤ礬롣
ˤ
.B IPPROTO_IP
٥
.B IP_RECVERR
åȥץѤɤΥץͭˤʤäƤȡ
夷顼Ϥ٤Ƥ˥桼ץϤ롣
ΥץϿŤѤ뤳 \(em 롼ƥ󥰤ѹʤɡ
̾濫ꤦͥåȥ֤Ф TCP ȼˤƤޤ
.SH 顼
.TP
.B EAFNOTSUPPORT
.I sin_family
Ϥ줿åȥɥ쥹Υפ
.B AF_INET
ǤϤʤä
.TP
.B EPIPE
³褬ͽʤäǥåȤ򥯥
ޤϥåȥ󤵤줿åȤɤ߹ߤ¹Ԥ줿
.TP
.B ETIMEDOUT
³褬󤫥ǡƤȿʤ
.PP
.BR ip (7)
Ƥ륨顼䡢ͥåʥåؤˤ륨顼
TCP ֤뤳Ȥ롣
.SH С
Explicit Congestion Notificationzero-copy 
.BR sendfile (2)
¤ؤΥݡȡSACK ĥ (DSACK) ʤɤΥݡȤ
2.4 Ƴ줿
եɳǧ (FACK)TIME_WAIT ꥵ롢³Ȥ keepalive
Ф륽åȥץ 2.3 Ƴ줿
.SH Х
ޤƤʤ顼롣
.br
IPv6 ˴ؤ뵭Ҥʤ
.\" Only a single Linux kernel version is described
.\" Info for 2.2 was lost. Should be added again,
.\" or put into a separate page.
.\" .SH 
.\"  man ڡϺǽ Andi Kleen ˤäƽ񤫤줿
.\" Alexey Kuznetsov ʸ Documentation/networking/ip-sysctl.txt
.\" ξ򸵤ˡNivedita Singhvi  2.4 ˹
.SH Ϣ
.BR accept (2),
.BR bind (2),
.BR connect (2),
.BR getsockopt (2),
.BR listen (2),
.BR recvmsg (2),
.BR sendfile (2),
.BR sendmsg (2),
.BR socket (2),
.BR ip (7),
.BR socket (7)
.sp
RFC\ 793: TCP λ͡
.br
RFC\ 1122: TCP ׵ Nagle 르ꥺεҡ
.br
RFC\ 1323: TCP Υॹסɥ󥰳ƥץ
.br
RFC\ 1644: TIME_WAIT assassination hazard ˴ؤ뵭ҡ
.br
RFC\ 3168: Explicit Congestion Notification ˴ؤ뵭ҡ
.br
RFC\ 2581: TCP 楢르ꥺࡣ
.br
RFC\ 2018  RFC\ 2883: SACK Ȥγĥ