码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-06-14 00:39:49      阅读:471      评论:0      收藏:0      [点我收藏+]

标签:android   ios   wifi   路由器   ip地址   dnsmasq   

        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左右

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

标签:android   ios   wifi   路由器   ip地址   dnsmasq   

原文地址:http://16wifi.blog.51cto.com/10413804/1661632

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!