wolfSSLはDTLS 1.2に準拠した堅固で安全な実装を提供しています。ハンドシェーク中の次の状況ではデータの再送を行います:
- データ受信タイムアウトが発生した場合
- 通信相手の現フライト(一連のパケット)の最後のメッセージの到着順序が入れ替わった
- 通信相手の現フライトの最初のメッセージが重複して受信された
これらの手順は、高速で信頼性の高い接続プロセスの提供に必要です。残念ながら、後者の2つのケースでは、wolfSSLがハンドシェイクに必要な帯域幅よりも多くの帯域幅を消費する可能性があります。ネットワーク帯域幅が貴重で、待ち時間の心配が少ない場合、wolfSSL4.7.0は新しいマクロWOLFSSL_DTLS_RESEND_ONLY_TIMEOUTを導入しました。
このマクロを使用してwolfSSLをコンパイルするには、configureコマンドに追加するか(たとえば、./ configure –enable-dtls CPPFLAGS = -DWOLFSSL_DTLS_RESEND_ONLY_TIMEOUT)、user_setting.hヘッダーファイルで定義します。このマクロは、ネットワークタイムアウト時にメッセージの最後のフライトのみを再送信するようにwolfSSLに指示します。実際には、ハンドシェイクメッセージを再送信するまでの待機時間が長くなるため、並べ替わったメッセージの処理を行う機会が得られ、重複したメッセージが再送信をトリガーすることはありません。
ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/wolfssl-dtls-bandwidth-optimization/