Provided by: manpages-ja_0.5.0.0.20060115-1_all bug

SYSCTL

       これらの変数にアクセスするには、 proc/sys/net/ipv4/* ファイルを読み書-
       する方法と、インターフェースに対して   sysctl(2)   を用いる方法がある。
       加えて、ほとんどの   IP   sysctl   は   TCP    にも適用でい襦    ip(7)
       を参照のこと。     Boolean    は整数値で、    0    以外の値    ("true")
       は対応するオプションが邑、          0           値           ("false")
       は無効、であることを意味する。

       tcp_abort_on_overflow (Boolean; default: disabled)
              接続を待ち受けているサービスが遅すぎて、受信についていけない場合に、
              接続をリセットでい襪茲Δ砲垢襦
              これを用いると、バーストによってオーバーフローが起こったとい法
              接続を回復でい襪茲Δ砲覆襦このオプションを用いるのは、
              受信デーモンを高速化でい覆ぞ豺腓法峺堕蠅垢襦廚海函
              このオプションを用いると、そのサーバに接続しているクライアント
              にとっては害になることがある。

       tcp_adv_win_scale (integer; default: 2)
              バッファリングのオーバーヘッドの計算方法を、   tcp_adv_win_scale
              が正の場合は  bytes/2^tcp_adv_win_scale  に、  tcp_adv_win_scale
              が負か 0 の場合は bytes-bytes/2^(-tcp_adv_win_scale) とする。

              ソケットの受信バッファ空間はアプリケーションとカーネルで共-
              される。  TCP  はバッファの一部を  TCP  ウィンドウとして管理し、
              これを受信ウィンドウとして接続の他端に通知する。
              空間の残りは「アプリケーション」バッファとして用いられ、
              スケジューリングやアプリケーションの遅延からネットワークを隔離する。
              tcp_adv_win_scale       のデフォルト値は       2        であり、
              この場合アプリケーションバッファは全体の 1/4 になる。

       tcp_app_win (integer; default: 31)
              この変数は、TCP                         ウィンドウの何バイト分を
              バッファリングのオーバーヘッド用に予約するかを指定する。

              そのウィンドウの   window/2^tcp_app_win   と   mss   の大いい曚
              (バイト単位)    がアプリケーションバッファとして予約される。   0
              を指定すると一切予約領域を取らない。

       tcp_bic (Boolean; default: disabled)
              BIC      TCP      輻輳制御アルゴリズムを邑にする。      BIC-TCP
              は送信側のみの変更で、      スケーラビリティと     TCP     親和
              (friendliness)             の両方を提供しつつ、             大-
              なウィンドウの下での線形な    RTT    公平世鯤歉擇垢襪發里任△襦
              このプロトコルでは additive increase  (追加的な増加)  と  binary
              search    increase    (二分探索増加)    といわれる二つの仕組みを
              組み合わせている。輻輳ウィンドウが大いい箸は、増分の大い
              additive  increase により、スケーラビリティを確保しながら 線形な
              RTT   公平世鯤歉擇垢襦   輻輳ウィンドウが小さいとい砲   binary
              search increase により TCP 親和世鮹成している。

       tcp_bic_low_window (integer; default: 14)
              BIC      TCP      が輻輳ウィンドウの調整を開始する閾値ウィンドウ
              (パケット単位)     を設定する。この閾値を下回る場合、BIC     TCP
              はデフォルトの TCP Reno と 同じ動作をする。

       tcp_bic_fast_convergence (Boolean; default: enabled)
              BIC   TCP   が輻輳ウィンドウの変化により速く反応するようにする。
              同じコネクションを共佑垢詁鵑弔離侫蹇爾一つにまとまるのを
              より速く行うようにする。

       tcp_dsack (Boolean; default: enabled)
              RFC 2883 の TCP Duplicate SACK のサポートを邑にする。

       tcp_ecn (Boolean; default: disabled)
              RFC 2884   の  Explicit  Congestion  Notification  を邑にする。
              これを邑にすると、間違った振舞いをする古いルータが
              経路の途中にあるような接続先に対して影響が生じ、
              場合によっては接続が落ちるかもしれない。

       tcp_fack (Boolean; default: enabled)
              TCP Forward Acknowledgement のサポートを邑にする。

       tcp_fin_timeout (integer; default: 60)
              ソケットを強制的にクローズする前に、         最後の          FIN
              パケットを待つ時間を秒単位で指定する。     これは厳密には    TCP
              の仕様を満たしていないが、 DoS 攻撃 (denial of  service  attack)
              から身を守るために必要である。  Linux 2.2 ではデフォルト値は 180
              であった。

       tcp_frto (Boolean; default: disabled)
              TCP                                 再送タイムアウトからの復旧-
              能を向上させたアルゴリズムである、           F-RIO          を-
              効にする。この機能は無線環兇覇辰妨果を発揮する。       無線環-
              では、通常は、中間ルータの輻輳ではなくランダムな無線の干渉
              によりパケットロスが発生する。

       tcp_keepalive_intvl (integer; default: 75)
              TCP keep-alive のプローブを送る間隔 (秒単位)。

       tcp_keepalive_probes (integer; default: 9)
              TCP               keep-alive                プローブの最大回数。
              この回数だけ試しても接続先から反応が得られない場合は、      あ-
              らめて接続を切断する。

       tcp_keepalive_time (integer; default: 7200)
              接続がアイドル状態になってから、keep-alive
              プローブを送信するまでの時間を秒単位で指定する。    SO_KEEPALIVE
              ソケットオプションが邑になっていないと               keep-alive
              は送られない。 デフォルト値は 7200 秒 (2 時間)。 keep-alive が-
              効になっている場合、  さらにおよそ  11   分   (75   秒間隔の   9
              プローブ分) 経過するとアイドル状態の接続は終了させられる。

              下層にある接続追跡機構やアプリケーションでのタイムアウトは、
              もっとずっと短いかもしれない。

       tcp_low_latency (Boolean; default: disabled)
              邑にすると、TCP          スタックはスループットを高くするよりも
              遅延を少なくすることを優先して判断を行う。
              このオプションを無効にすると、スループットを高くすることが優先される。
              このデフォルト値を変更した方がよいアプリケーションの例としては
              Beowulf コンピュータクラスタが挙げられるだろう。

       tcp_max_orphans (integer; default: 下)
              システムが許容する、                  orphan                  な
              (どのユーザファイルハンドルにもアタッチされていない)         TCP
              ソケットの最大数。                      この数を越えると、orphan
              な接続はリセットされ、警告が表示される。
              この制限が存在するのは、単純な使用不能       (denial-of-service)
              攻撃を  防ぐために過ぎない。この値を小さくすることは推奨しない。
              ネットワークの条件によっては、この数値を大-
              くしないといけないかもしれないが、 orphan なソケットひとつあたり
              64K       程度のスワップ不可能なメモリを消費することも注意せよ。
              デフォルトの初期値はカーネルパラメータの    NR_FILE   と等しい。
              この初期デフォルト値はシステムのメモリに応じて調整される。

       tcp_max_syn_backlog (integer; default: 下)
              接続してい討い襯ライアントから                              ack
              を受信していない状態の接続リクエストをゥ紂爾肪屬韻觝蚤膺堯
              この数値を越えると、カーネルはリクエストを捨て始める。
              デフォルトの値は  256  で、  システムに充分なメモリがある (128Mb
              以上) 場合は 1024 になり、 メモリが非常に少ない場合 (32 Mb 以下)
              は   128   になる。   この数値を  1024  以上に増やしたい場合は、
              include/net/tcp.h         の          TCP_SYNQ_HSIZE          を
              TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog          のように修正し、
              カーネルを再コンパイルすることを奨める。

       tcp_max_tw_buckets (integer; default: 下)
              システムが許容する    TIME_WAIT     状態にあるソケットの最大数。
              この制限が存在するのは、    単純な使用不能   (denial-of-service)
              攻撃を防ぐために過ぎない。       デフォルト値は        NR_FILE*2
              で、システムのメモリに応じて調整される。
              この数値を越えると、そのようなソケットはクローズされ、警告が表示される。

       tcp_mem
              これは      3      つの整数      [low,      pressure,      high]
              からなるベクトル値である。             これらは              TCP
              がメモリ使用量を追跡するために用いられる。
              デフォルトはブート時に利用でい襯瓮皀蠅領未ら計算される。

              low                            -                             TCP
              は、グローバルにアロケートしたページがこの数値以下の場合は、
              メモリアロケーションを調整しない。

              pressure                          -                          TCP
              がアロケートしたメモリがこの数値分のページ数を越えると、     TCP
              はメモリ消費を抑えるようになる。  アロケートしたページ数が   low
              以下になると、このメモリ圧迫状態から脱する。

              high     -     TCP    がグローバルに割り当てるページ数の最大値。
              この値はカーネルによって課されるあらゆる制限よりも優先される。

       tcp_orphan_retries (integer; default: 8)
              こちらからクローズした接続について、
              先方をプローブする最大試行数。

       tcp_reordering (integer; default: 3)
              TCP パケットストリームでパケット順序の逆転が発生しただけであり、
              パケットロスが起こったとはみなさない、パケット数の最大値。
              この値を超えてパケットの順序逆転が起こると、パケットロスが生じたと
              みなし、slow  start  に入る。   この数値は変更しないほうが良い。
              これは、接続中のパケットの並び替えによって生じる
              不必要な速度低下や再送を最小化するように設計された、
              パケット並び替え               (packet               reordering)
              の検知メトリックなのである。

       tcp_retrans_collapse (Boolean; default: enabled)
              再送の際にフルサイズのパケットを送ろうとする。

       tcp_retries1 (integer; default: 3)
              普通に確立されている接続上に、    TCP     がネットワーク層を巻-
              込まずに再送を試みる回数。
              再送がこの回数を越えると、まず最初に、
              新しい再送を送る前に可能ならネットワーク層に経路を更新させる。
              デフォルトは RFC が指定している最少数である 3。

       tcp_retries2 (integer; default: 15)
              確立状態の接続に、この回数        TCP         パケットの再送信を
              行なってもだめな場合はあい蕕瓩襦  デフォルト値は  15 で、これは
              (再送のタイムアウトに依存するが)          およそ          13〜30
              分程度の期間に対応する。     RFC 1122     は最小の限界を     100
              秒と置いているが、 これはたいていの場合には短すぎると思われる。

       tcp_rfc1337 (Boolean; default: disabled)
              TCP  の動作を  RFC 1337  に準拠させる。  無効にすると、TIME_WAIT
              状態のとい        RST        が受信された場合、       TIME_WAIT
              期間の終了を待たずにそのソケットを直ちにクローズする。

       tcp_rmem
              これは 3 つの整数 [min, default, max] からなるベクトル値である。
              これらは   TCP  が受信バッファサイズを調整するために用いられる。
              TCP                      は、システムで利用でい襯瓮皀蠅鳳じて、
              受信バッファのサイズをこれらの        sysctl        変数の範囲で
              以下に示すデフォルトから動的に調整する。

              min   -   各   TCP    ソケットが用いる受信バッファの最小サイズ。
              デフォルト値は 4K バイトで、メモリの少ないシステムでは PAGE_SIZE
              バイトに減らされる。      この値は、メモリ圧迫モードにおいても、
              このサイズの割り当てが成功することを保証するために用いられる。
              これは、                                               SO_RCVBUF
              を用いてソケットの最低受信バッファサイズを宣言する際には用いられない。

              default   -    TCP    ソケットの受信バッファのデフォルトサイズ。
              この値は、すべてのプロトコルに対して定義されている、
              ジェネリックなグローバルのデフォルトバッファサイズ
              net.core.rmem_default   より優先される。   デフォルト値は  87380
              バイトで、メモリの少ないシステムでは  43689   にまで減らされる。
              大い兵信バッファサイズが必要な場合は、  この値を増やすべい任△
              (すべてのソケットに影響する)。             大い             TCP
              ウィンドウを用いるには、     net.ipv4.tcp_window_scaling    を-
              効にしておかなければならない (デフォルトは邑)。

              max   -   各   TCP    ソケットで用いる受信バッファの最大サイズ。
              この値よりもグローバルの     net.core.rmem_max    が優先される。
              これは、                                               SO_RCVBUF
              を用いてソケットの受信バッファサイズ制限を宣言する際には用いられない。
              デフォルト値は   87380*2    バイトで、メモリの少ないシステムでは
              87380 にまで減らされる。

       tcp_sack (Boolean; default: enabled)
              RFC 2018 の TCP Selective Acknowledgements を邑にする。

       tcp_stdurg (Boolean; default: disabled)
              このオプションを邑にすると、  TCP 緊急ポインタ (urgent-pointer)
              フィールドを            RFC 1122            に従った解釈を行う。
              この解釈に従うと、緊急ポインタは緊急データの最後のバイトを指す。
              このオプションを無効にすると、緊急ポインタの解釈が           BSD
              互換の方法で                                           行われる:
              緊急ポインタは緊急データの後の最初のバイトを指す。
              このオプションを邑にすると、相互運用-
              に問題が生じるかもしれない。

       tcp_synack_retries (integer; default: 5)
              passive な TCP 接続の  SYN/ACK  セグメントで再送を試みる最大数。
              この数値は 255 よりも大いすべい任呂覆ぁ

       tcp_syncookies (Boolean)
              CONFIG_SYNCOOKIES   をつけてコンパイルしておかなければならない。
              ソケットのバックログゥ紂爾オーバーフローすると、     syncookies
              が送信される。        syncookies        機能は、SYN        flood
              攻撃からソケットを守ろうとする。
              これはいずれにしても、最終手段として用いるべい任△襦 これは TCP
              プロトコルに違反しており、         TCP         拡張のような、TCP
              の他の部分と衝突してしまう。
              クライアントやリレーで問題が起こることもある。
              過負荷や設定間違いによって負荷の大-
              な状態にあるサーバを調整して救うための 機構とみなすべい任呂覆ぁ
              そのような用途には、代わりに                tcp_max_syn_backlog,
              tcp_synack_retries,                        tcp_abort_on_overflow
              などの使用を考えること。

       tcp_syn_retries (integer; default: 5)
              アクティブな   TCP   接続に初期   SYN   の再送を試みる最大回数。
              この数値は  255  よりも大いすべい任呂覆ぁ  デフォルトの値は  5
              で、およそ 180 秒に対応する。

       tcp_timestamps (Boolean; default: enabled)
              RFC 1323 の TCP timestamps を邑にする。

       tcp_tw_recycle (Boolean; default: disabled)
              TIME-WAIT ソケットの素早い再利用を邑にする。 このオプションを-
              効にすると、           NAT            (ネットワークアドレス変換)
              を用いていると問題が生じるので、 あまり推奨しない。

       tcp_tw_reuse (Boolean; default: disabled)
              プロトコルの面から見て問題ない場合に新規コネクションに TIME-WAIT
              状態のソケットを再利用することを許可する。技術的に詳しい人の助言や
              要請なしにこのオプションを変更すべい任呂覆ぁ

       tcp_window_scaling (Boolean; default: disabled)
              RFC 1323      の     TCP     ウィンドウスケーリングを邑にする。
              この機能を用いると、接続先が対応していれば、   TCP   接続で大い
              (64K    以上の)    ウィンドウが使えるようになる。   通常は   TCP
              ヘッダのウインドウ長フィールドは        16        ビットなので、
              ウィンドウサイズは    64K    バイト以下に限られる。   もっと大-
              なウィンドウを使いたい場合は、
              アプリケーションはソケットバッファのサイズを増やして、
              ウィンドウスケーリングのオプションを利用すればよい。
              tcp_window_scaling            を無効にしていると、           TCP
              は他端との接続設定の際に、
              ウィンドウスケーリングのネゴシエーションを行なわない。

       tcp_vegas_cong_avoid (Boolean; default: disabled)
              TCP    Vegas    輻輳制御アルゴリズムを邑にする。    TCP   Vegas
              は帯域を推測することで輻輳の起こり始めを予想するように       TCP
              の送信側のみに変更を加えたものである。         TCP         Vegas
              は輻輳ウィンドウを修正することで、送信レートを調整する。     TCP
              Vegas  は  TCP  Reno  と比べてパケットロスは少ないが、  TCP Reno
              ほど積極的な挙動はしない。

       tcp_westwood (Boolean; default: disabled)
              TCP Westwood+ 輻輳制御アルゴリズムを邑にする。 TCP Westwood+ は
              TCP      輻輳制御の税修鮑播化するように     TCP     Reno     の
              プロトコルスタックの送信側のみに修正を加えたものである。
              輻輳が起こった後で、輻輳ウィンドウや    slow    start   の閾値を
              通信両端間の帯域の推測に基づいて設定する。 この推測を使って、TCP
              Westwood+ は輻輳が発生した時に使っていた 帯域を考慮に入れた slow
              start の閾値と輻輳ウィンドウを設定する。  TCP  Westwood+  は、-
              線ネットワークにおける     TCP     Reno    の公平    (fairness)
              と、無線リンクでのスループットを大い向上する。

       tcp_wmem
              これは 3 つの整数 [min, default, max] からなるベクトル値である。
              これらは   TCP  が送信バッファサイズを調整するために用いられる。
              TCP                      は、システムで利用でい襯瓮皀蠅鳳じて、
              送信バッファのサイズをこれらの        sysctl        変数の範囲で
              以下に示すデフォルトから動的に調整する。

              min   -   各   TCP    ソケットが用いる送信バッファの最小サイズ。
              デフォルト値は                    4K                    である。
              この値は、メモリ圧迫モードにおいても、
              このサイズ以下の割り当てが成功することを保証するために用いられる。
              これは、                                               SO_SNDBUF
              を用いてソケットの最低送信バッファサイズを宣言する際には用いられない。

              default   -    TCP    ソケットの送信バッファのデフォルトサイズ。
              この値は、すべてのプロトコルに対して定義されている、
              ジェネリックなグローバルのデフォルトバッファサイズ
              net.core.rmem_default    より優先される。   デフォルト値は   16K
              バイトである。           大い柄信バッファサイズが必要な場合は、
              この値を増やすべい任△ (すべてのソケットに影響する)。 大い TCP
              ウィンドウを用いるには、    net.ipv4.tcp_window_scaling     を-
              効にしておかなければならない (デフォルトは邑)。

              max    -   各   TCP   ソケットで用いる送信バッファの最大サイズ。
              この値よりもグローバルの net.core.wmem_max が優先される。 これは
              SO_SNDBUF
              を用いてソケットの送信バッファサイズ制限を宣言する際には用いられない。
              デフォルト値は 128K バイトで、システムのメモリサイズに応じて 64K
              にまで減らされる。

ン
       TCP   ソケットのオプションは、    オプションレベル引数に    IPPROTO_TCP
       を指定した   setsockopt(2)   で設定でぁ   getsockopt(2)  で取得でい襦
       さらに、ほとんどの      IPPROTO_IP       ソケットオプションも       TCP
       ソケットに対して邑である。詳細は ip(7) を見よ。

       TCP_CORK
              セットされると、          partial         フレームを送信しない。
              このオプションが解除されると、     ゥ紂璽ぅ鵐阿気譴     partial
              フレームが送られる。これは                           sendfile(2)
              を呼ぶ前にヘッダを前置したり、
              スループットを最適化したい場合に便利である。    現在の実装では、
              TCP_CORK        で出力を抑えることがでい觧間の上限は        200
              ミリ秒である。                            この上限に達すると、-
              ューイングされたデータは自動的に送信される。    Linux     2.5.71
              以降においてのみ、このオプションを                   TCP_NODELAY
              と同時に用いることがでい襦                               移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_DEFER_ACCEPT
              これを用いると、リスナはデータがソケットに到着した時のみ目覚めるようになる。
              整数値              (秒)              をとり、               TCP
              が接続を完了しようと試みる回数を制限でい襦               移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_INFO
              このソケットの情報を収集するのに用いる。              カーネルは
              /usr/include/linux/tcp.h     ファイルで定義されている     struct
              tcp_info                     を返す。                     移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_KEEPCNT
              接続を落とす前に  TCP  が試みる  keepalive  プローブの最大回数。
              移植世良要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_KEEPIDLE
              この時間  (秒単位)  を越えて接続がアイドル状態に留まっていると、
              このソケットに                                      SO_KEEPALIVE
              ソケットオプションが設定されている場合、   TCP   は    keepalive
              プローブを送りはじめる。                                  移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_KEEPINTVL
              各     keepalive      プローブの間隔      (秒単位)。      移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_LINGER2
              orphan       された       FIN_WAIT2       状態のソケットの寿命。
              このオプションを用いると、システムワイドな                sysctl
              tcp_fin_timeout      の値を、このソケットに対してのみ変更でい襦
              socket(7) レベルのオプション SO_LINGER と混同しないこと。 移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_MAXSEG
              送出             TCP            パケットの最大セグメントサイズ。
              このオプションを接続確立の前に設定すると、
              初期パケットで他端にアナウンスする      MSS     の値も変化する。
              インターフェースの MTU よりも大い (あるいは大いなってしまった)
              値は効果を持たない。                   また                  TCP
              は、この値よりも最小・最大の制限の方を優先する。

       TCP_NODELAY
              設定すると           Nagle            アルゴリズムを無効にする。
              すなわち、データ量が少ない場合でも
              各セグメントは可能な限り早く送信される。    設定されていないと、
              送信する分だけ溜まるまでデータはバッファされ、
              小さなパケットを頻繁に送らずにすみ、 ネットワークを邑に利用で-
              る。 このオプションは TCP_CORK により上書い気譴襦しかしながら、
              TCP_CORK
              が設定されている場合であっても、このオプションを設定すると、
              送信待ちの出力を明示的に掃そ个 (flush) ことになる。

       TCP_QUICKACK
              設定されていると               quickack               モードを-
              効にし、クリアされると無効にする。   通常の   TCP  動作では  ack
              は必要に応じて遅延されるのに対し、   quickack   モードでは   ack
              はすぐに送信される。 このフラグは永続的なものではなく、 quickack
              モードから/モードへ切り替えるためのものである。  これ以降の  TCP
              プロトコルの動作によっては、   内部のプロトコル処理や、遅延  ack
              タイムアウトの発生、     データ転送などの要因によって、     再び
              quickack             から出たり入ったりする。             移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_SYNCNT
              接続の試行を中止させる前に  TCP  が送る  SYN  再送数を設定する。
              これは          255          より大いはでい覆ぁ         移植-
              の必要なプログラムではこのオプションを用いるべい任呂覆ぁ

       TCP_WINDOW_CLAMP
              絞鵑垢襯Εンドウのサイズをこの値に固定する。
              カーネルによって最小サイズは                   SOCK_MIN_RCVBUF/2
              に制限されている。                        このオプションは移植-
              の必要なコードでは用いるべい任覆ぁ

IOCTL

       以下の      ioctl(2)      呼び出しは     value     に情報を入れて返す。
       正しい書式は以下の通り。

              int value;
              error = ioctl(tcp_socket, ioctl_type, &value);

       ioctl_type は以下のいずれか一つである:

       SIOCINQ
              受信バッファのゥ紂爾砲△襦△泙斉匹鵑任い覆ぅ如璽燭領未鯤屬后
              ソケットは    LISTEN   状態にあってはならず、   さもないとエラー
              (EINVAL) が返る。

       SIOCATMARK
              受信データストリームが緊急マークの位置であれば、真を返す (つまり
              value が 0 以外)。

              SO_OOBINLINE   ソケットオプションが設定されていて、   SIOCATMARK
              が真を返した場合、次のソケットからの読み込みでは緊急データが
              返される。  SO_OOBINLINE  ソケットオプションが設定されておらず、
              SIOCATMARK
              が真を返した場合、次のソケットからの読み込みでは緊急データに
              続くデータが返される             (実際に緊急データを読み込むには
              recv(MSG_OOB) とフラグをつける必要がある)。

              データの一回の読み込みでは緊急マークを跨がっての読み込みは行われない。
              アプリケーションが緊急データの存在を  (exceptfds  引た瑤鮖箸辰)
              select(2)                    経由または                   SIGURG
              シグナルの配送を通じて知らされた場合、                SIOCATMARK
              のチェックと読み込み    (何バイト読み込み要求をしてもよい)    を
              SIOCATMARK
              が偽を返さなくなるまで繰り返し行うことで、緊急マークの位置まで
              読み進めることがでい襦

       SIOCOUTQ
              ソケットの送信ゥ紂爾忙弔辰討い詭ち信データの量を返す。
              ソケットは      LISTEN      状態にあってはならない。      LISTEN
              状態の場合にはエラー (EINVA) となる。

理
       ネットワークエラーが起こると、      TCP      はパケットの再送を試みる。
       何回かやっても成功しなければ、この接続に対して                 ETIMEOUT
       エラーか最後に受信したエラーが返される。

       アプリケーションによっては、もっと早くエラーを知らせてほしい場合がある。
       これには            IPPROTO_IP            レベルの           IP_RECVERR
       ソケットオプションを用いると良い。このオプションが邑になっていると、
       到着したエラーはすべてただちにユーザープログラムに渡される。
       このオプションは慎重に用いること      --       ルーティングの変更など、
       通常ありうるネットワーク状態に対して TCP をより脆弱にしてしまう。

意
       TCP  には本当の意味での帯域外データ  (out-of-band  data)  はない。  TCP
       が持つのは緊急データである。つまり    Linux    においては、    接続先が
       (新しいやり方の)      帯域外データを送ってい疹豺隋      (古いやり方の)
       緊急データは通常のデータとしてストリームに挿入されることになる  (これは
       SO_OOBINLINE    がセットされている場合でも同様である)。    これは   BSD
       ベースのスタックとは異なる。

       Linux   は、デフォルトでは   urgent   ポインタフィールドの解釈に    BSD
       互換の方法を用いる。これは           RFC 1122          に反しているが、
       他のスタックと同時に動作させるにはやむを得ない。これは       tcp_stdurg
       sysctl によって変更でい襦

ー
       EPIPE  接続先が予期しなかったかたちでソケットをクローズした。
              またはシャットダウンされたソケットに読み込みが実行された。

       ETIMEDOUT
              接続先が、何回かデータを再送しても反応しない。

       EAFNOTSUPPORT
              sin_family     に渡されたソケットアドレスのタイプが      AF_INET
              ではなかった。

       ip(7)
       で定義されているエラーや、ジェネリックなソケット層におけるエラーも  TCP
       に返されることがある。

グ
       まだ説明されていないエラーがある。
       IPv6 に関する欺劼ない。

ン
       Explicit      Congestion     Notification、zero-copy     送信ファイル、
       並び替えのサポート、SACK    拡張    (DSACK)    などのサポートは     2.4
       で導入された。 フォワード確認 (FACK)、TIME_WAIT リサイクル、 接続ごとの
       keepalive などに対するソケットオプションや sysctl は 2.3 で導入された。

       本文中で与えた       sysctl       変数のデフォルト値と解説は、      2.4
       カーネル向けのものである。

者
       この man ページは最初 Andi Kleen  によって書かれた。  Alexey  Kuznetsov
       の文書  Documentation/networking/ip-sysctls.txt  の情報を元に、Nivedita
       Singhvi が 2.4 向けに更新した。

目
       accept(2), bind(2), connect(2), getsockopt(2),  listen(2),  recvmsg(2),
       sendfile(2), sendmsg(2), socket(2), sysctl(2), ip(7), socket(7)

       RFC 793: TCP の仕様。
       RFC 1122: TCP の要求事項と Nagle アルゴリズムの欺辧
       RFC 1323: TCP のタイムスタンプ・ウィンドウスケーリング各オプション。
       RFC 1644: TIME_WAIT assassination hazard に関する欺辧
       RFC 2481: Explicit Congestion Notification に関する欺辧
       RFC 2581: TCP 輻輳制御アルゴリズム。
       RFC 2018 と RFC 2883: SACK とその拡張。