我一直在阅读规范,rfc4346和rfc4347,但是我没有看到任何关于DTLS记录的最小尺寸的提及,即在这种情况下UDP有效载荷大小。
DTLS / TLS的角度是否有任何要求确定尺寸?鉴于DTLS标头是固定的并且具有预定义的长度,那么记录可能是握手还是应用程序数据呢?
感谢。
答案 0 :(得分:0)
DTLS为握手消息提供了自己的分片机制,它也负责重新排序的数据包(在握手消息头中有一个frag offset / len字段)。这有助于dtls发送大于PMTU大小的数据包(通常是证书消息)。对于应用程序数据,您可以依赖内核对数据包进行分段并重新组合它们。如果要关闭内置碎片,可以使用以下命令:
SSL_CTX_set_options(ctx, SSL_OP_NO_QUERY_MTU);
然后你可以在你的ssl中设置一个巨大的mtu值
SSL_set_mtu(ssl, <big_value_here>);
这样你就可以让内核处理碎片和重组。