お世話になっております。
プログラムについての事ではないのですが
ご回答頂ければ幸いです。
クライアントからサーバに対してtracerouteを実行した際、サーバ側のパケットキャプチャには
パケットが到着した事が表示されるのですが、クライアント側のtracerouteの表示では途中で
結果が表示されなくなり、* * *とタイムアウトとなり続け、ホップ数30迄繰り返したのち終了します。
この現象はPort5000のみで発生し、4999,5001のポートでのtracerouteはすぐに結果が表示されます。
おそらく途中のルータのQOS機能で帯域制御等を行っている為に発生している様な気がするのですが
この様な事象が発生する理由、または発生する可能性のある条件等をご教示頂けれると助かります。
また、この通信が必要なアプリケーションが正常に動作する端末と動作しない端末(同じセグメント内の端末)
が存在し、アプリケーション上の問題ではないと考えております。
経緯として、このアプリケーションが正常に動作しない問題があり、上記調査を行っていました。
traceroute実行時はこのアプリケーションで使用するport5000を使用して実行しています。
通信にはUDPを使用していますが、現象はTCPでも発生しております。
この現象はLinuxのtracerouteで実施し、再現率100%です。(ただし夜間は実施していません。)
windows端末からのtracerouteは10回中4回タイムアウトになります。(ただし途中の経路のノードのみ)
不明点等あれば記載しますので、なにとぞよろしくお願い致します。
ご質問に対する回答を以下に記載します。
ご質問ありがとうございます。
送信元portはランダムです。主に30000以上のportが使用されています。
送信先portが5000になり、プロトコルはUDPになります。
サーバ側も同様に5000portを開けています。
windowsで試したコマンドは以下です。(結果も抜粋します)
Test-NetConnection -ComputerName <hostname> -port 5000
警告: TCP connect to (<address> : 5000) failed
windowsからはTCPしか試せていません。
[結果]
RemotePort : 5000
InterfaceAlias : イーサネット
PingSucceeded : True
PingReplyDetails (RTT) : 11 ms
TcpTestSucceeded : False
Linuxで試したコマンドは以下です。
traceroute -U p 5000 <address>
[結果]
[root@localhost ~]# traceroute -U -p 5000 <address>
traceroute to <address> (<address>), 30 hops max, 60 byte packets
1 <address1> (<address1>) 1.501 ms 1.464 ms 1.527 ms
2 <address2> (<address2>) 5.434 ms 6.089 ms 6.261 ms
3 <address3> (<address3>) 6.384 ms 7.293 ms 7.369 ms
4 <address4> (<address4>) 8.368 ms 8.240 ms 8.169 ms
5 <address5> (<address5>) 8.089 ms 7.937 ms 7.806 ms
6 <address6> (<address6>) 7.714 ms 6.171 ms 6.026 ms
7 <address7> (<address7>) 8.982 ms 13.406 ms 13.184 ms
8 * * *
9 * * *
10 * * *
ホップ30まで結果は変わりません。
address6からセグメントが変わり、ノードにアクセスする権限がありません。
サーバにはアクセス可能です。
なお、以下の通り、オプションにwを付けて待機時間を延ばしても結果が返却されませんでした。
traceroute -U -p 5000 -w 1000000 <address>
以上となります、ご確認よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー