linux dhcp 续租失败,DHCP租约到期自动续租问题导致TCP连接异常

本文探讨了Linux设备在DHCP租约到期后,因未能成功续租导致TCP连接异常的问题。正常情况下,设备会在租约到期前请求更新IP地址,但若未收到DHCP服务器的响应,将使用过期IP导致TCP连接失败。分析日志显示,设备在无ACK响应时不断尝试请求,只有在设备亮屏或接收到Ack后网络才能恢复正常。为解决此问题,建议检查网络环境和DHCP服务器配置,确保续租过程的顺利进行。
摘要由CSDN通过智能技术生成

DHCP

简单的来说,DHCP是一个局域网协议,使用UDP协议进行工作,它的作用就是动态的分配IP地址,Gateway地址,DNS服务器地址等信息,一旦租约到期,那么路由器就会把当前的这个ip分配给其他设备使用,所以,对于设备而言要定期请求DHCP Server来更新ip地址信息,保证ip地址有效可用

DHCP租约到期,设备不会自动进行续租而仍然使用旧的ip地址

DHCP租约到期,设备向DHCP Server发起请求,但是没有收到Ack

遇到如上情况会导致ip无法更新,所以设备仍然会使用旧的ip,对于tcp连接来说,使用旧的过期ip就意味着连接不到远程服务器,从我们的日志信息中可以得知,当TCP使用过期的ip去连接远程服务器的时候会报如下异常:java.net.NoRouteToHostException: No route to host,意思是说没有可达Host的路由,确实是这样的,设备连接无线网是连接到路由器上的,而路由器上分配给设备的ip已经过期不可用,那么设备到路由器的链路是通的,但是路由器到远程主机的链路肯定是不通的,所以会报如上错误

正常情况下,我们的Android设备在处于熄屏的状态下,DHCP的租约是1个小时,所以会每隔半小时就请求DHCP Server来更新ip地址:

Line 30221: 09-11 12:58:51.016 1835 3789 D DhcpClient: Unicasting DHCPREQUEST ciaddr=172.28.88.48 request=0.0.0.0 serverid=null to /1.1.1.1:67

Line 30227: 09-11 12:58:51.246 1835 3791 D DhcpClient: Received packet: 00:0a:f5:43:d8:7c ACK: your new IP /172.28.88.48, netmask /255.255.248.0, gateways [/172.28.88.254] DNS servers: /114.114.114.114 /172.28.1.28 /8.8.8.8 /172.28.1.26 , lease time 3600

Line 30228: 09-11 12:58:51.247 1835 3789 D DhcpClient: Renewed lease: IP address 172.28.88.48/21 Gateway 172.28.88.254 DNS servers: [ 114.114.114.114 172.28.1.28 8.8.8.8 172.28.1.26 ] Domains dw.gdbbk.com DHCP server /1.1.1.1 Vendor info ������ lease 3600 seconds

Line 30228: 09-11 12:58:51.247 1835 3789 D DhcpClient: Renewed lease: IP address 172.28.88.48/21 Gateway 172.28.88.254 DNS servers: [ 114.114.114.114 172.28.1.28 8.8.8.8 172.28.1.26 ] Domains dw.gdbbk.com DHCP server /1.1.1.1 Vendor info ������ lease 3600 seconds

Line 30243: 09-11 12:58:51.252 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值