タグ

TCPに関するtztのブックマーク (12)

  • tcpdumpとiptablesの関係 - (ひ)メモ


     2009-04-03  h2onda linux, tcpdump tcpdump(libpcap)(OSI layer2) packet 使: man packet(7) 2009/04/02  - h2onda / 200942 tt_clown network NIC / "ip"tablesIPtcpdumpEthernet Frame 2009/04/02  - tt_clown / 200942 pack
    tcpdumpとiptablesの関係 - (ひ)メモ
  • はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ で id:nyaxt さんが書いてらっしゃるように、 epoll や kqueue を使う TCP_NODELAY, TCP_DEFER_ACCEPT *1 等を活用する TCP パケットを意識する I/O システムコールの回数を最小にする sendfile といったあたりは、確実にやるべきことだと思います。一方で、TCP 関連以外のオーバーヘッドが実は結構あって、 接続のタイムアウト処理 ログの出力 メモリの確保や解放をやらない あたりにも気を配る必要がある、と思います。 接続のタイムアウト処理については、以前 Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件 に書いたように、ビットアレイのリングバッファを使うのがベストだと思います。 ログの出力について、複数行を1回のシステムコールにまとめてもいいかど

    はやいTCPサーバを書く際に忘れがちなこと - kazuhoのメモ置き場
  • はやいTCPサーバの書き方 - nyaxtのPC作業ログ

    cagra高速化にあたってのノウハウを一部公開してみます。また明日校正/更新します。つっこみ待ちです。 select(2)の代わりにepoll_wait(2), kqueue, /dev/epoll等を使う 他に山ほど解説ページがあるので略 大量のディスクリプタを処理するようなサーバの場合、多少効果があるかもしれません。しかし、クライアント数が少ない場合、劇的な性能の向上は見込めないとおもいます。クライアント数が多い場合は、1セッション1スレッドなモデルではOS側のタスクスイッチングのオーバーヘッドが効いてくることも多いです。クライアント数を増やすには複数のセッションを1スレッドで処理できるようにすると良いです。実装にあたっては、non-blocking ioを活用すると効果的です。 TCP_NODELAYを設定する Nagleアルゴリズムをオフにします。多少応答性が良くなります。 これっ

    はやいTCPサーバの書き方 - nyaxtのPC作業ログ
  • TCP/IP エラー処理 connect 編

    connect(2) のエラー TCP において connect(2) 呼出し時に発生する可能性のあるエラーは以下の通りです。 タイムアウト RST 受信 EHOSTUNREACH また ENETUNREACH シグナル受信 その他 まず、connect(2) 時の正常な流れをしっかり覚えておいてください。 (connect(2) を呼んで) SYN を送る SYN+ACK が返ってくる (ここで connect(2) から戻る) ACK を送る タイムアウト もし仮に、SYN を送ったものの、相手側から SYN+ACK が返ってこない場合は、 (ローカルの TCP スタックが) しつこく SYN を再送します。何度 SYN を送っても SYN+ACK が返ってこない場合はあきらめてタイムアウトします。 「SYN+ACK が返ってこない」というのは、例えば以下のようなケースが考えられます。

  • Geekなぺーじ : 人生の全てはTCP/IPに学んだ


    1.  TCPTCP TCP(:) 使  2.  TCPAck(Acknowledgement) TCPAck   
    tzt
    tzt 2008/04/16
  • Microsoft Corporation

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    Microsoft Corporation
  • Omicron SACK

    SACK TCP/輻輳制御から分家. Selective ACK/選択的応答確認 SACK Reno の高速リカバリが失敗したり,NewReno の高速リカバリがややまどろっこしいのは,TCP が累積確認応答(cumulative acknowledgments)をベースにしたスライディングウィンドウプロトコルだからである. Reno では重複 ACK でわかるのは,最初のパケットロスだけである.ウィンドウ内に複数のパケットロスが起きた場合,最初のパケットロスに対する再送を行っても,次のパケットロス箇所がわかるのは,その再送に対する ACK が戻った後になるので,1 RTT に一つのパケットロスしか知ることができない. そこで選択的に確認応答を可能にする SACK が提案され,使われ始めている(少なくとも Linux や Solaris ではデフォルトで有効). SACK RFC:2018

    tzt
    tzt 2008/03/30
  • TCP/Tahoe、TCP/Reno、TCP/Vegas、TCP/SACKの4つの特徴がわかる日本語サイトを教えてください。…

    TCP/Tahoe、TCP/Reno、TCP/Vegas、TCP/SACKの4つの特徴がわかる日語サイトを教えてください。 できたら比較してるサイトなら最良。

    tzt
    tzt 2008/03/29
  • WIDE University

    [ English / Japanese ] SOI Asia Project

    tzt
    tzt 2008/03/28
  • untitled

    tzt
    tzt 2008/02/29
    TCP over TCPの性能評価
  • untitled

    tzt
    tzt 2008/02/29
    TCP over TCP の性能評価
  • なぜTCP Over TCPは悪いアイデアか

    This document is a translation of `Why TCP Over TCP Is A Bad Idea', which was written by Olaf Titz. この文書は、Olaf Titz氏による `Why TCP Over TCP Is A Bad Idea'の翻訳です。 IPトンネリングアプリケーションにしばしば用いられるアイデア は、IPパケットを(モデムラインのような)ストリーム転送に適した フォーマットにカプセル化する、PPPのようなプロトコルをTCPベー スの接続上で実行することです。これは、すでにいくつかの推奨 (Linux HOWTOや、私自身のウェブサイトや、もちろん他にもいく つか)がある、PPP over SSHの実行により、容易なソリューション となるでしょう。それは、データグラムベースの圧縮が効率的な 制約で困難となる一方

    なぜTCP Over TCPは悪いアイデアか
  • 1