1

我一直在阅读规范,rfc4346 和 rfc4347,但是我没有看到任何关于 DTLS 记录最小大小的提及,即在这种情况下是 UDP 有效负载大小。

从 DTLS/TLS 的角度来看,是否有任何决定大小的要求?鉴于 DTLS 标头是固定的并且具有预定义的长度,那么记录呢,可能是握手或应用程序数据?

谢谢。

4

1 回答 1

1

DTLS 为握手消息提供了自己的分片机制,它也处理重新排序的数据包(在握手消息头中有一个片段偏移量/长度字段)。这有助于 dtls 发送大于 PMTU 大小的数据包(通常是证书消息)。对于应用程序数据,您可以依靠内核对数据包进行分段并重新组装它们。如果要关闭内置碎片,可以使用以下命令:

SSL_CTX_set_options(ctx, SSL_OP_NO_QUERY_MTU);

然后你可以在你的 ssl 中设置一个巨大的 mtu 值

SSL_set_mtu(ssl, <big_value_here>);

这样你就可以让你的内核处理碎片和重组。

于 2014-03-28T04:14:08.073 回答