|
TCPの「RST」「URG」「PSH」フラグについて
投稿日時 2007-7-3 21:27:42
執筆者 unix
|
結果を先に「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) ---こんなに一杯あります。困ったときは参照しましょ---
|
|