2017-02-13 4 views

答えて

0

CoAP実装では、通常、独自の最大メッセージサイズ設定(デフォルト値)が導入されています。

RFC 7252 - The Constrained Application Protocol (CoAP)

がそれを引用:

CoAP仕様自体は提供

特定のケースでは、適切な制限を選択する方法の詳細情報については、RFC 7252の4.5を指すように参照してください。メッセージサイズの上限のみ。 IPパケットより大きなメッセージは、望ましくないパケットの断片化を招きます。 適切にカプセル化されたCoAPメッセージは、単一のIPパケット内に適合するべきである(すなわち、IP断片化を避ける)べきであり、(単一のUDPペイロードを に収めることによって)1つのIPデータグラムに収まる必要がある。 パスMTUが宛先に対して知られていない場合、1280 バイトのIP MTUが仮定されるべきである(SHOULD)。 ヘッダーのサイズについて何も分かっていない場合、適切な上限はメッセージサイズで1152バイト、ペイロードサイズでは 1024バイトです。

また、それは、ネットワークスタックの実装に依存します:

実装上の注意:メッセージサイズのパラメータのCoAPの選択は、IPv6で、今日のIPv4パスのほとんどとよく 動作します。 (ただし、 がIPv4の場合、IP というフラグメンテーションがないことを絶対に確かめるのは難しいです)。異例のネットワークでのIPv4のサポートが の対価である場合、実装は というより保守的なIPv4データグラムサイズ(576バイトなど)に制限したいことがあります。 [RFC0791]によると、IPv4のIP MTUの絶対最小値は、 として68バイトと低く、UDPペイロードに対してはセキュリティバイトを除いた残りの40バイトがセキュリティ になります。 IPv4 DFビットを使用して、 形式のパスMTUディスカバリ[RFC4821]を実行しますが、これは一般的に でCoAPの現実的な使用例では不要です。)more importa (例えば、6LoWPAN L2パケットは様々なオーバーヘッドを含む から127バイトに制限される) である。これにより、 の実装でパケットサイズが控えめになり、 サイズのメッセージに近づくと、ブロック単位の転送[ブロック]が に移動するようになる可能性があります。 `` `

大きなメッセージを送信する場合は、別の仕様があります。

RFC 7959: Block-Wise Transfers in the Constrained Application Protocol (CoAP)

人気の実装のほとんどは、同様にこの仕様を実装しています。

関連する問題