none
Window Server 2012 r2と2003のTCP通信プロトコルの違いについて RRS feed

  • 質問

  • L4SWとWindows Server間の通信においてWindows Server 2012 r2と2003で以下のように異なっていますが、

    原因を教えて頂きたくお願いします。

    ソースコードは全く同じです。

    【Windows 2003】

    L4SW -----SYN------> Server

    L4SW <--SYN,ACK--- Server

    L4SW ---FIN,ACK---> Server

    L4SW <----ACK------ Server

    L4SW <--FIN,ACK--- Server

    L4SW -----ACK-----> Server

    正常終了

    【Windows 2012 r2】

    L4SW -----SYN-----> Server

    L4SW <--SYN,ACK--- Server

    L4SW ---FIN,ACK---> Server

    L4SW <----ACK------ Server

       7秒後

    L4SW -----RST------> Server

    上記のように2012 r2ではServer側からFINを投げずに、L4SW側からのtimeoutによるRSTで終了

    Windows 2012 r2では、2003のClose処理と違いがあるのでしょうか?

    例えば、2003では明示的にCloseしなくてもFINが出ていたが、2012 r2では明示的にCloseしないといけないとか?

    よろしくお願いします。

    2015年1月28日 7:30

回答

すべての返信

  • ちょっと気になったのですが、リンクするライブラリが2003のときと異なっているということでしょうか?
    2015年1月28日 7:42
  • 上記の通信ですが、サーバ側の処理の流れとしては、

    ①socket生成

    ②bind

    ③listen

    ④accept

    ⑤socket close

    の流れで、④⑤を繰り返すような処理になっています。

    Windows2003のときには⑤のsocket closeがなかったのですが、L4SW(client側)から通信終了のFINが来たタイミングでサーバ側からもFINが投げられていました。

    Windows2012R2では、⑤のsocket closeがない場合には、L4SW(Client側)から通信終了のFINが来てもサーバ側は何も処理をせず、Client側からのRSTで終了するような処理になっています。

    winsocketはws2_32.dllだと思われますが、2003以降で変更があったのかどうか教えて頂きたくお願いします。

    2015年2月24日 5:44
  • チャブーンです。

    残念ですが、TCPの動作仕様については、どこにも公開されていないようです。Microsoft Open Specificatiosにも仕様については記載がありませんので、どこにも載っていないでしょう。

    https://msdn.microsoft.com/en-us/library/gg685446.aspx
    https://msdn.microsoft.com/en-us/library/jj712081.aspx

    この場合MSに直接聞いていただくしかないですが、聞き先が違います。ここは、単なるコミュニケーションスペースで、MSエンジニアは一切回答はおこないません。仮に応答があった場合も公開済みの情報をお知らせするレベルで、社内情報の開示やサポートはおこないません。MS有償サポートに聞いていただくとよいでしょう。

    http://www.microsoft.com/ja-jp/services/professional.aspx


    2015年2月25日 0:20
    モデレータ
  • こんにちは、Y.TARUI さん
    フォーラムオペレータの佐伯 玲 です。

    その後さらにチャブーンさんから返信が寄せられておりますがご覧いただけておりますでしょうか?
    公開されている情報内での解決が難しそうなのでチャブーンさんからのアドバイスの通りフォーラムで詳細な情報を得るのは難しそうですね…

    残念ながらフォーラム内で解決は出来なさそうですがご質問に区切りがつく内容の返信がいただけているかと思いますので私のほうから「回答としてマーク」とさせていただきました。


    宜しくお願い致します。

    TechNet Community Support 佐伯 玲

    2015年3月6日 1:56