wifi ip地址租约处理
在wifi中,每个station连接ap后,ap都会给station分配一个ip
地址,如果station关闭后,ap是否会一直保留这个ip地址给该
station不?答案是否定的,每个ap都有一个ip地址租约时间的配置
项,就是 station在向ap申请ip地址后,只有一个有限的时间使用该
ip地址,如果时间到后station没有再次向ap获取 ip地址,该
station就会被ap踢出去,这样做目的是为了让ap在有限的ip地址数
目下,为更多不同的station 提供连接。避免一个station一直占用一
个ip地址不放,浪费ip地址资源。
下面是android上运行的例子,一个ap的ip地址租约时间设置为
7200秒,当一个station申请一个ip地址后,该station在7200秒内
ip地址,该station就会被ap踢出。当申请ip地址时间经过大约一半
的租约时间后(约3600秒),dhcp client会再触发一次ip地址申
请,这样station就 可以继续使用ip地址了,如果申请ip地址失败,
station也会断开与ap的连
接。
相关log如下:
重新申请ip地址:
E/native ( 403): do suspend falseE/WifiStateMachine( 403): scanCount==0 - abortingI/dhcpcd ( 7767): sending signal 14 to pid 1616I/dhcpcd ( 1616): received SIGALRM, renewingI/dhcpcd ( 1616): wlan0: renewing lease of 192.168.1.101I/dhcpcd ( 1616): wlan0: acknowledged 192.168.1.101 from 192.168.1.1 `8-13 I/dhcpcd ( 1616): wlan0: leased 192.168.1.101 for 7200 seconds
申请ip地址的dhcp过程如下:
1、 机子向ap发送一个dhcp discover包,请求分配ip地址;
2、 当Ap准备分配192.168.1.100的地址给机子时,发送一个广播包,询问是否有那个机子占用了该ip地址;
3、 没有机子占用192.168.1.100地址后,发送dhcp offer包,把192.168.1.100地址分配给机子;
4、 机子接着发送一个dhcp request包,请求确认分配的192.168.1.100地址;
5、 Ap发送一个dhcp ack包,确认机子分配的192.168.1.100地址;
在dhcp offer和dhcp ack包中,都有一个“IP Address Lease Time”字段,保存着ip地址的租约时间,这样dhcp client就知道了ip地址租约的超时时间,在快到达超时时间,再发起一次ip地址续约。正常情况下,机子发送一个dhcp request包,ap回应一个dhcp ack包就可以了。
wifi ip地址租约处理相关推荐
- 获取手机WiFi Ip地址
如何获取手机WiFi的ip地址,我就直接贴代码吧: public class MainActivity extends AppCompatActivity {private TextView tv;@ ...
- Android获取手机WiFi IP地址,MAC地址和网关地址程序实例
现在博主在上大三,正在学习一些计算机网络的一些概念,知道了局域网ip和网关ip不同的概念,当时还纳了闷了2的32次方好像不咋够用啊,原来是这个样子. 由于之前学过一段时间的Android,同时又在上A ...
- android开发工具类之获得WIFI IP地址或者手机网络IP
有的时候我们需要获得WIFI的IP地址获得手机网络的IP地址,这是一个工具类,专门解决这个问题,这里需要两个权限: <uses-permission android:name="and ...
- 办公室最经常用到的WIFI ip地址设置(window10)
1. 打开网络和Internet配置.点击电脑图标,鼠标右键,出现这个标志 2. 点击更改适配器选项. 3. 点击以太网 4.点击属性 5.用鼠标双击Internet协议版本(TCP/Ipv4),一定 ...
- uni-app Android端获取设备已连接的WiFi IP地址
1.manifest.json 在APP权限配置或源码中,添加需要的权限: android.permission.ACCESS_WIFI_STATE android.permission.INTERN ...
- python 获取本机wifi IP地址
import os,re import webbrowserclass WeNetWork_open_browser():def execCmd(self, cmd): # 返回CMD命令输出的内容r ...
- Android:获取wifi IP地址
需要先获取当前App的Application, 然后调用getSystemService()传入指定的参数; WifiManager wm = (WifiManager) MyApplication. ...
- 根据网络状态获取Ip地址
权限: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses ...
- 深入剖析DHCP服务IP地址自动分配原理
以下内容摘自笔者最新出版的<深入理解计算机网络>一书,目前该书已在当当网和京东网上可以正式预订了: 当当网链接:http://product.dangdang.com/main/produ ...
最新文章
- Sql中的递归问题-思考与建议
- java运输_JAVA-基础-方法
- Spark消费kafka任务卡死:Marking the coordinator xxx:9092 (id: 2147483647 rack: null) dead for group xxx
- Git-删除文件后找回-比较文件差异
- Linux操作系统下激活网卡命令
- java: Iterator的使用
- 『计算机视觉』Mask-RCNN_推断网络终篇:使用detect方法进行推断
- opencv python教程简书_OpenCV-Python教程:28.模板匹配
- [推荐]WebService开发知识介绍
- 没数据也能玩转BERT!无监督语义匹配实战
- [WPF] 嵌入资源到DLL,并解决PNG图片问题
- ~~遗传算法最最最最简单的实例~~
- 论文重复率太高咋办?Python来帮你解决
- linux 版的 wps 缺少字体的解决办法
- Java中get和set的作用、用法
- Windows Defender保护历史记录清空方法
- c语言操作符的自我总结hhhhhhhhh
- 基于STM32的高精度温度测控系统-原理图设计
- /system32/ntoskrnl.exe丢失无法启动
- MATLAB08:符号运算