- PR -

WindowsServer2003のフラグメンテーション処理

1
投稿者投稿内容
ひーろ☆
会議室デビュー日: 2003/02/14
投稿数: 6
投稿日時: 2005-12-28 10:30
こんにちは。
ひーろと申します。

ネットワークの方かどうか迷ったのですが、ひとまずこちらに投稿させて頂きます。
いま少し不思議な現象が起きていて困っています。

現在、とある場所にWindowsServer2003にアプリケーションを乗せ、VPNを通じてリモートからWebでアクセスできるような環境を作ってあります。
リモートアクセスする際、NATされていない環境から行う分には何の問題の無くWebにアクセスできるのですが、NATされた環境からアクセスすると、Webの画面が中途半端に表示されて、半ば力尽きてタイムアウトを起こしてしまうのです。

現象から見て、MTUの問題のように見受けられたので詳しく調べてた結果、以下の事が分かりました。

リモートアクセスする際、TCPハンドシェイクされた結果、MTUは以下のようになっていました。

 WindowsServer2003
    |MTU=1400(MSS1360+40)
 (LAN側ポート)
   VPNルータ
 (IPSecトンネルI/F) 
    |MTU=1390(MSS1350+40)
 リモートPC

サーバがリモートPCに対して最大サイズの1400バイトパケットを投げたとき、VPNルータはリモートPC側にルーティングする際、パケットが収まりきらないので、type=3/code=4 のfragment needed をサーバに対して発行します。もちろん、サーバから出ているパケットにはDFビットがついているからです。

ここで質問です。
最初に不思議な現象が起こっていると書いたのは、このVPNルータからきた fragment needed の ICMP パケットに対して WindowsServer2003 が正常に反応していない、破棄しているように見えるのです。その結果、通信はタイムアウト時間経過後、リセットされて Web ページの表示が中途半端な状態で止まるのです。

WindowsServer2003 がこの ICMP パケットに反応しないのは普通なのでしょうか?
VPNルータ側のMTUサイズをいじれば解決するのでしょうが、納得いかないので質問させていただきました。

どうぞ宜しくお願いします。
masa
ベテラン
会議室デビュー日: 2005/04/27
投稿数: 99
投稿日時: 2005-12-28 15:10
こんにちは。

VPNルータが発行するfragment neededに対して
Windows2003がどこにルーティングして
いいか分かってないなんてオチは無いですか?
この絵から察するに発行元のソースアドレスは
VPNルータのLAN側ではなくIPSecトンネルI/Fのアドレスになるので
意図的にルーティングテーブルをサーバ側に書いてあげないとダメなのでは?

と思ったのですが違ってたらすみません。
ひーろ☆
会議室デビュー日: 2003/02/14
投稿数: 6
投稿日時: 2005-12-28 15:34
返信ありがとう御座います!

> VPNルータが発行するfragment neededに対して
> Windows2003がどこにルーティングして
> いいか分かってないなんてオチは無いですか?

はい、このオチは無いと思います。

>> Webの画面が中途半端に表示されて、半ば力尽きてタイムアウトを起こしてしまうのです。

と書いている通り、ショートパケットなら通信できているのです。
実際にパケットをキャプチャしたのですが、サーバからの
ショートパケットはリモートPCに届いています。

通信が止まるのは1400バイトのパケットを投げたときに限られるのです。
MSのサイトも色々調べてみたのですが、、、
唯一 MS05-019 のバグなのかとも考えましたが、
パッチを適用しても現象は変わりませんでした。
また、PathMTUDはデフォルトの通り有効になっています。

ちょっとお手上げ状態です。。。
ひーろ☆
会議室デビュー日: 2003/02/14
投稿数: 6
投稿日時: 2005-12-28 15:39
あ、少し意味を取り違えていたようです。

> VPNルータが発行するfragment neededに対して
> Windows2003がどこにルーティングして
> いいか分かってないなんてオチは無いですか?

icmpの送信元はVPNルータのLAN側アドレス(デフォルトゲートウェイ)
になっていますので、そういう意味でオチはないと思います。

ちゃんと読め>オレ

お騒がせしました。
たか
会議室デビュー日: 2007/10/05
投稿数: 1
投稿日時: 2007-10-05 17:45
こんにちは。

私も”ひーろ”さんと同じ環境で、同じ現象が起きています。

Windos2003サーバの同一LAN及びISDNによるダイヤルアップ接続時は問題なく通信可能ですが、インターネットVPN環境配下のPCから通信ができません。このときVPN配下のPCからのPING応答は正常です。”ひーろ”さんのよにパケットキャプチャしたわけではないですが、ある一定以上の大きさのパケット送受信のときにこの現象がおきるようです。現象は間欠で1日1回。現象がおきたときはサーバを再起動するしか復旧しません。

この現象に関しては解決したのでしょうか?
解決したのであれば、改善策を教えていただけないでしょうか。
宜しくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)