[PR]
by amanatu
-->
カレンダー
«  «  2008 11月  »  »
26 27 28 29 30 31 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 1 2 3 4 5 6

メインメニュー

最新ブログエントリ

エンジニアアイテム


最近のコメント

最近のトラックバック

アーカイブ


メルマガ登録 ID: 0000209784
UNIXのおべんきょしませんか?
 
バックナンバー powered by まぐまぐトップページへ
ブログ - unixさんのエントリ
 unixさんのエントリ配信

2007/07/03
TCPの「RST」「URG」「PSH」フラグについて

執筆者: unix (9:27 pm)
 結果を先に「URG」「PSH」はむしろ現在は使いません。
といった方がいいでしょう(≧∇≦)/

 TCPについてこれまでオープンやクローズを説明しました。
SYN,ACK,FINフラグについては使われ方が分かったと思いますが
他にも「RST」「URG」「PSH」さらにおまけで「ECN」フラグなんて
のもTCPには存在します。ECNはTCPの拡張のフラグで、フロー制御の
時に使うので今回は置いて、残りの「RST」「URG」「PSH」は覚えるという
ほどのものでも無いので一気に説明します。

■RSTフラグ
 接続要求を拒否します(listenして無いポートに接続きたりしたとき)
 コネクション確立中のものを切断します
 受け取るとすぐクローズします

 関係するカーネルパラメータ:「tcp_rfc1337」

 デフォルト1にセットされています。0に変更するとRFC違反になるので
 そもそも設定変更はしてはいけません。

■URGフラグ
 帯域外のデータを転送するためにあるはずですが
 実際は帯域内になってるので真実ではない。
 アプリケーションに緊急にデータを渡すためのフラグ。
 受け取ったアプリケーションが緊急モードになる。

 関係するカーネルパラメータ:「tcp_stdurg」

 デフォルト無効になっています。RFC793に厳密に
 従うためには有効にしますが、緊急ポインターは
 BSD互換のものが使われることが多いので、多くは
 意味を持たないので現在では無効がデフォルト。
 BSDとRFC793ではフラグの位置が違うような感じ

■PSHフラグ
 カーネルでバッファリングせずに、プロセスにすぐに
 渡すようにするためのフラグですが、現在はカーネル
 はすぐにプロセスに渡すの実質使用していません。

 特にカーネルパラメータで関係が深いものがありません。

■ECNフラグ
 RFC2481 Explicit Congestion Notification (ECN)のような
 輻輳制御の手法です。他にも「Tahoe」「Reno」 「NewReno」
 「TCP New-Reno」「BIC」「Westwood+」「vegas」など
 いろいろあります。デフォルトではBIC TCPが有効(RHEL4 2.6.9)になっています。

総まとめ RFC一覧

---TCPそのものやTCPに関わるRFC総まとめ---
RFC793  Transmission Control Protocol
RFC813  Window and Acknowledgement Strategy in TCP

RFC1144 compressing tcp ip headers for low
RFC1323 TCP Extensions for High Performance
RFC1337 TIME-WAIT Assassination Hazards in TCP

RFC2001 Fast Retransmit, and Fast Recovery Algorithms
RFC2018 TCP Selective Acknowledgment Options
RFC2147 TCP and UDP over IPv6 Jumbograms
RFC2415(Informational) Simulation Studies of Increased Initial TCP Window Size
RFC2481(Experimental) A Proposal to add Explicit Congestion Notification (ECN) to IP
RFC2581 TCP Congestion Control
RFC2582 The NewReno Modification to TCP's Fast Recovery Algorithm

RFC2760 Ongoing TCP Research Related to Satellites
RFC2861(Experimental) TCP Congestion Window Validation
RFC2883 An Extension to the Selective Acknowledgement (SACK) Option for TCP
RFC2988 Computing TCP's Retransmission Timer
RFC2923(Informational) TCP Problems with Path MTU Discovery

RFC3042 Enhancing TCP's Loss Recovery Using Limited Transmit
RFC3390 Increasing TCP's Initial Window
RFC3448 TCP Friendly Rate Control (TFRC)
RFC3522(Experimental) The Eifel Detection Algorithm for TCP
RFC3649(Experimental) HighSpeed TCP for Large Congestion Windows
RFC3742(Experimental) Limited Slow-Start for TCP with Large Congestion Windows
RFC3782 The NewReno Modification to TCP's Fast Recovery Algorithm
RFC3821 Fibre Channel Over TCP/IP (FCIP)
---こんなに一杯あります。困ったときは参照しましょ---
unixさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (2241)
このエントリのトラックバックURL
http://unix-study.com/modules/weblog/weblog-tb.php/93
印刷用ページ 友達に送る
 
投稿された内容の著作権はコメントの投稿者に帰属します。
技術コンテンツ全文検索

表示形式: ソート:

pitattomatch ADs
最新ニュースブロック
ヘッドラインブロック
新着リンク
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Powered by Xoops2.05  Theme Design by OCEAN-NET
copyright (c) 2003 All rights reserved.