1、ATT_MTU默认大小
可以看出对ble设备,ATT_MTU的默认大小是23字节,换言之,如果不修改MTU大小的,那么一包数据最多发送23个字节。
2、为什么要交换MTU
我们知道ATT_MTU的默认大小只有23,幸运的是,ATT层是支持交换MTU,因此我们可以通过交换MTU的大小可以数据提高吞吐量。
3、MTU交换过程
可以看出:MTU交换由客户端发起请求,参数中携带Client Rx MTU的大小服务器回复,参数中携带Server Rx MTU的大小,最终服务器和客户端使用Client Rx MTU、Server Rx MTU两者中较小的作为ATT_MTU大小。
4、抓包
Client Rx MTU设置为250,Server Rx MTU返回247,因此ATT_MTU使用247,LL层长度为251,也从印证了ATT_MTU设置为了247。