[PR]
by amanatu
-->
カレンダー
«  «  2007 6月  »  »
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

メインメニュー

最新ブログエントリ

エンジニアアイテム


最近のコメント

最近のトラックバック

アーカイブ


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

最新エントリ
2007/06/05
カテゴリ: Miscellaneous : 

執筆者: unix (3:11 pm)
 TCPのクローズには

・ハーフクローズ
・同時クローズ

があり、クローズのフローや状態遷移については説明しました。
ハーフクローズの場合を例に挙げると

Active--FIN_WAIT_1-----------FIN_WAIT_2-------TIME_WAIT-------------CLOSED

1.FIN↓ 2.FIN+ACK↑ 3.FIN↑ 4.FIN+ACK↓

Passive-----------CLOSE_WAIT-----------LAST_ACK--------CLOSED


0. ESTABLISHED ESTABLISHED

1. (クローズ)
FIN-WAIT-1 --> < SEQ=100 >< ACK=300 >< CTL=FIN,ACK > --> CLOSE-WAIT

2. FIN-WAIT-2 <-- < SEQ=300 >< ACK=101 >< CTL=ACK > <-- CLOSE-WAIT

3. (クローズ)
TIME-WAIT <-- < SEQ=300 >< ACK=101 >< CTL=FIN,ACK > <-- LAST-ACK

4. TIME-WAIT --> < SEQ=101 >< ACK=301 >< CTL=ACK > --> CLOSED

5. (2 MSL)
CLOSED

となりActive側が最後に「TIME-WAIT」→「CLOSED」に変わる時間を2MSLと表現しています。

MSLとは「Max Segment Lifetime」の略です。
日本語では「最大セグメント生存時間」ですね。

何が生存できる最大の時間かというと、パケットがネットワークに滞在できる
最大の時間といったところです。RFC793でMSLは2分と言及されています。
つまりMSLの2倍の2MSLは4分ということになります。長いですね(^^;

このMSLの時間(MSLタイマー)のsolarisとlinuxではどうなってるか見てみると。

Solarisはデフォルト60秒 ->2MSL=120秒(2分)
# ndd -get /dev/tcp tcp_time_wait_interval (solaris7以前はtcp_time_wait_interval)

Linuxでは60秒 ->2MSL=120秒(2分)
# cat /proc/sys/net/ipv4/tcp_fin_timeout
※manにはFIN_TIME_WAIT2での待ち(最後のFIN待ち)のためとしか書いて無いんですね・・・

おそらくほとんどのUNIXがRFCを無視しているかも(^▽^笑)

技術コンテンツ全文検索

表示形式: ソート:

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

パスワード:


パスワード紛失

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