0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VMWare > パケットロスの効果 > UDP: 文字列の一部がロスするのではなく、パケットそのものがロスする

Last updated at Posted at 2017-02-08
VMware Workstation v12
Windows 8.1 pro (64bit)
Windows 7 pro (32bit)

@tenmyo さんのコメントにて教えていただいたVMWare上のでパケットロスを試してみました。

パケットロスには以下の2つの選択肢があります。

A. 着信転送側のロス (%)
B. 発信転送側のロス (%)

受信側で着信転送ロスにすると、テストしたい通信以外にもインターネット接続でロスが起きるように思いました。
そのため、送信側の発信転送ロスの設定をしました。

UDP通信

動作環境

  • UDP Echo server : Windows 8.1 pro (64bit)
    • C++ Builderで自作したEcho Serverソフトを使用
    • 発信転送ロスを20%に設定
  • クライアント : Windows 7 pro (32bit)
    • Unityで自作したUDP文字列送信ソフトを使用

Echo server
qiita.png

クライアント動作ソフト
qiita.png

動作させて気づいた事項 > [パケットロス]の定義

hello, how are you?という文字列を送信したときのロスはパケット単位?でロスを発生する。

つまり、hello, how are you?のロス時にはエコーバック文字列はない。

hello, how are you?を送信して、heo, ow, r y?のようにはならない。

後者の状況というのが現在取り組んでいる症状である。

と思うが、実際のところはWireSharkなどのキャプチャソフトを使ってみないと、間違っている可能性はある

WireSharkで確認

qiita.png

6000のポートへ送信後にEcho backがない通信が発生している。

上に書いたとおり、「文字列の一部がロス」ではなく、「パケット単位のロス」が発生するようだ。

TCP/IP通信

のんさんによるTCP/IPテストツールにて動作を見てみました。

http://www.vector.co.jp/soft/winnt/net/se411272.html
http://nonsoft.la.coocan.jp/

TCP/IPの場合は、送信処理でロスが発生しても、Delayの後にEcho Back文字列を受信できた。

TCP通信の再送処理が働いているようです。

0
2
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?