使用Dnsmasq作为dhcp,解决IOS连接路由器慢

        android手机第一次连接路由器WiFI速度很快,而苹果手机连接速度很慢,原因主要有两个:1.IOS系统WiFI存在Bug;2.dhcp服务器分配IP地址时间过长。

        通过dnsmasq日志发现,IOS第一次连接路由器WiFI耗时原因:

        1.读取机子中ip地址缓存,耗时1s(android不会);

        2.发送REQUEST报文,报文里的IP是机子上次连接WiFi的分配的IP地址,如果不是同一个网段的路由器,dnsmasq直接发送NACK报文(设置dnsmasq配置文件,如果不设置,耗时2s);

        3.发送DISCOVER报文,dnsmasq回应OFFER报文,耗时3s(android也是);

        4.发送REQUEST报文,dnsmasq回应ACK报文,耗时1s(android不会);

        5.发送ARP报文,新分配的IP有没有被占用,耗时1-2s(android耗时1s)。

        从上面可以看出IOS连接WiFI比androd多3s。

        解决方法是修改dnsmasq配置文件dnmasq.conf:

        1.添加dhcp-authoritative,对应上面的第二条,不同同一网段,dnsmasq直接发送NACK,可以缩短2s;

        2.添加no-ping,对应上面第三条,服务器在发送OFFER报文前,不会发送ICMP报文,可以缩短3s;

        使用上面的配置使IOS第一次连接速度大约4s左右,二次连接2s左右

文章来自:http://16wifi.blog.51cto.com/10413804/1661632
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3