[Armadillo:09077] Re: UDP通信について

Yuichiro Goto email@hidden
2013年 7月 26日 (金) 15:45:04 JST


後藤と申します。

> モニタ上に表示されず、規則性はないようです。

送信パケットがネットワークスタック内で破棄されている可能性は無いでしょうか?

ネットワークスタックの送信バッファサイズをチューニングすると状況が改善
されるかもしれません。

  /proc/sys/net/core/wmem_default
  /proc/sys/net/core/wmem_max

[参考URL]
  http://m0dlx.com/blog/Severe_UDP_packet_loss.html

以上です。

(2013/07/25 18:44), h.kondo wrote:
> 中山様
> 
> 近藤です。
> 少しでも情報をいただければと思っておりますので、
> 返信いただき、ありがとうございます。
> 
> もう少し、いろいろな観点で見直してみます。
> 
> 
> -----Original Message-----
> From: nakayama junichi
> Sent: Thursday, July 25, 2013 12:24 PM
> To: Armadillo general discussion list
> Subject: [Armadillo:09070] Re: UDP通信について
> 
> 近藤様
> 
> ONICOSの中山です。
> 
>> 物理的に、送信元と送信先のみを接続している場合(現状と同等)でも、
>> パケットロスが発生する可能性はあるのでしょうか。
>> ルータ等を使用して複数のネットワーク機器を接続している状態ではないのですが。
>>
> 
> それは少し気になるところですね。
> 正直、そこは私もよくわからないところですが、
> そのような環境でも、パケットロスは起こりうるのではないでしょうか?
> (実際に近藤さんの環境で起こっています)
> 
> パケットロスが発生するが、規則性はないということですので、
> 物理的なノイズなどの関係で発生していると思われます。
> ハードウェアやソフトウェアの構造上の問題であれば、
> 規則性があるはずです。
> 
> どうも、まともな回答になっていないようで、すいません。
> 
> 
>> 中山様
>>
>> 近藤です。
>> 情報のご提供ありがとうございます。
>>
>> UDPではパケットロスが生じる可能性があり、ご指摘のURLにもありましたが、
>> アプリケーション側の責任ということですね。
>>
>> 本来は、TCPへの変更や、アプリケーション側での再送処理等を行うべきだと
>> 理解できましたが、諸事情により難しい状況です。
>>
>> 物理的に、送信元と送信先のみを接続している場合(現状と同等)でも、
>> パケットロスが発生する可能性はあるのでしょうか。
>> ルータ等を使用して複数のネットワーク機器を接続している状態ではないのですが。
>>
>>
>>
>>
>> -----Original Message-----
>> From: nakayama junichi
>> Sent: Thursday, July 25, 2013 11:20 AM
>> To: Armadillo general discussion list
>> Subject: [Armadillo:09068] Re: UDP通信について
>>
>> 近藤様
>>
>> ONICOSの中山と申します。
>>
>> 近藤さんの期待されているような回答になっていないと思いますが、
>> UDPではパケットロスが生じる可能性があります。
>>
>> 例えば、以下のページに解説があります。
>> http://ascii.jp/elem/000/000/462/462454/
>>
>> TCPには再送制御の機能がありますが、
>> UDPにはそういった機能がありませんので、
>> パケットが届いていなくても、
>> それに対して何らかの対処が行われるということはありません。
>>
>> 届かないパケットが存在した場合、それが届くことを保証するのは
>> UDPの責任ではなく、アプリケーション側の責任ということになっています。
>> (パケットに連続番号を付与されているということなので、
>> 欠落した部分の再送要求を返す、といった機能を実装するのは不可能ではなさそうです)
>>
>> 上記リンク先のページにも書いてありますが、
>> パケットの到達を保証したいのであれば、TCPを使うのが一番良い方法です。
>>
>>
>>> お世話になります。近藤と申します。
>>>
>>> Armadillo440を使用し、UDP通信を行おうとしています。
>>> 以下のような条件で行っていますが、パケットが送信先に届かない事象が発生しています。
>>>
>>> kernel : 2.6.26-at15
>>> 条件 : 2Mバイトのデータを約1024バイト単位でパケット分割し、約20ms間隔でUDP送信する。
>>> 事象 : 途中の1パケットだけ送信先に届かない。
>>> 頻度 : 2Mバイトの送信動作100回中で数回発生する。
>>>
>>> パケットに連続番号を付加して通信モニタで確認したところ、不特定の1パケットが
>>>
>>> モニタ上に表示されず、規則性はないようです。
>>> 送信側ではエラーは発生しておらず、届かないパケットの前後のタイムスタンプを見ると
>>> 約40msとなっていて、届いていないパケット分だけ間隔が空いており、
>>> 送信側としては正常に動作しているつもりになっているようです。
>>>
>>> 発生頻度も少なく、調査に難航しています。
>>> 原因、調査方法等について、情報がありましたらご教示お願いします。
>>>
>>>
>>> 直接関係ないかもしれませんが、過去のメーリングリストを拝見したところ、
>>> 「UDPパケットをロス」という表記が見つかり、Armadillo800のブートローダで
>>> UDPパケットをロスする現象等を修正したアップデート情報にたどり着きました。
>>>
>>>
>>> 上記の「UDPパケットロス」とはどういう内容なのか情報はありませんでしょうか。
>>>
>>>
>>> また、Armadillo800固有の問題なのでしょうか。
>>>
>>> お手数をお掛けしますが、よろしくお願いします。
>>>
>>> _______________________________________________
>>> armadillo mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 




armadillo メーリングリストの案内