タグ

dataとTCPに関するmoritataのブックマーク (3)

  • TCPとタイムアウトと私 - Cybozu Inside Out | サイボウズエンジニアのブログ

    部長や副部長もプログラミングを(たまに)することで有名なサイボウズの運用部長、山泰宇です。 有名じゃないかもしれませんが、ブログに書いたので有名になるということでご了承ください。 今回は、先日発生した yrmcds に起因する障害の原因と対策を解説します。 yrmcds というのは、サイボウズが開発している memcached 互換のキーバリューストレージです。 問題の理解のため、まず TCP 通信で、通信先の相手の障害にどう対応するか解説します。 データの送信中に相手が落ちるケース このケースはさらに二つに分かれます。 相手の OS は生きているが、通信しているプログラムが落ちるケース 相手の OS ごと(あるいはネットワークごと)落ちるケース 1 と 2 の違いは、前者の場合 RST パケットが返ってくるのに対して、後者ではなにも返ってこない点です。後者の場合、ack されない

    TCPとタイムアウトと私 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Transmission Control Protocol - Wikipedia

    ⋮ ⋮ 56 448 Source port (16 bits) Identifies the sending port.[10] Destination port (16 bits) Identifies the receiving port.[10] Sequence number (32 bits) Has a dual role: If the SYN flag is set (1), then this is the initial sequence number. The sequence number of the actual first data byte and the acknowledged number in the corresponding ACK are then this sequence number plus 1. If the SYN flag is

    Transmission Control Protocol - Wikipedia
  • Omicron TCP/遅延ACK

    受信したパケットに対して即座に ACK を返すのではなく,新しいパケットが届くか,一定時間待ってそれでもパケットが届かなかった(遅延ACKタイマが expire した)場合だけ ACK を返す. 遅延ACKの有効化=ACK数の減少なので,遅延ACKを有効にするとウィンドウサイズの増加が遅くなる.そこで Linux ではスロースタートフェーズでは遅延ACKを無効化する QuickACK を導入している. デフォルトで有効なわけじゃなくて,setsockopt(TCP_QUICKACK) しないと activate されない? Linux の実装. データ構造 include/linux/tcp.h: struct tcp_opt { : /* Delayed ACK control data */ struct { __u8 pending; /* ACK is pending */ __u

  • 1