DHCP租約到期自動(dòng)續(xù)租問(wèn)題導(dǎo)致TCP連接異常

DHCP

  • 簡(jiǎn)單的來(lái)說(shuō),DHCP是一個(gè)局域網(wǎng)協(xié)議,使用UDP協(xié)議進(jìn)行工作瓣颅,它的作用就是動(dòng)態(tài)的分配IP地址,Gateway地址凳忙,DNS服務(wù)器地址等信息,一旦租約到期禽炬,那么路由器就會(huì)把當(dāng)前的這個(gè)ip分配給其他設(shè)備使用涧卵,所以,對(duì)于設(shè)備而言要定期請(qǐng)求DHCP Server來(lái)更新ip地址信息瞎抛,保證ip地址有效可用

DHCP租約到期艺演,設(shè)備不會(huì)自動(dòng)進(jìn)行續(xù)租而仍然使用舊的ip地址

DHCP租約到期,設(shè)備向DHCP Server發(fā)起請(qǐng)求桐臊,但是沒(méi)有收到Ack

  • 遇到如上情況會(huì)導(dǎo)致ip無(wú)法更新,所以設(shè)備仍然會(huì)使用舊的ip晓殊,對(duì)于tcp連接來(lái)說(shuō)断凶,使用舊的過(guò)期ip就意味著連接不到遠(yuǎn)程服務(wù)器,從我們的日志信息中可以得知巫俺,當(dāng)TCP使用過(guò)期的ip去連接遠(yuǎn)程服務(wù)器的時(shí)候會(huì)報(bào)如下異常:java.net.NoRouteToHostException: No route to host认烁,意思是說(shuō)沒(méi)有可達(dá)Host的路由,確實(shí)是這樣的,設(shè)備連接無(wú)線網(wǎng)是連接到路由器上的却嗡,而路由器上分配給設(shè)備的ip已經(jīng)過(guò)期不可用舶沛,那么設(shè)備到路由器的鏈路是通的,但是路由器到遠(yuǎn)程主機(jī)的鏈路肯定是不通的窗价,所以會(huì)報(bào)如上錯(cuò)誤
  • 正常情況下如庭,我們的Android設(shè)備在處于熄屏的狀態(tài)下,DHCP的租約是1個(gè)小時(shí)撼港,所以會(huì)每隔半小時(shí)就請(qǐng)求DHCP Server來(lái)更新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  1835  3789 D DhcpClient: Scheduling renewal in 1799s
    Line 30244: 09-11 12:58:51.253  1835  3789 D DhcpClient: Scheduling rebind in 3149s
    Line 30245: 09-11 12:58:51.253  1835  3789 D DhcpClient: Scheduling expiry in 3599s
    Line 30718: 09-11 13:28:51.280  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 30718: 09-11 13:28:51.280  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 30722: 09-11 13:28:51.306  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 30723: 09-11 13:28:51.307  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 30723: 09-11 13:28:51.307  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 30747: 09-11 13:28:51.316  1835  3789 D DhcpClient: Scheduling renewal in 1799s
    Line 30748: 09-11 13:28:51.316  1835  3789 D DhcpClient: Scheduling rebind in 3149s
    Line 30749: 09-11 13:28:51.316  1835  3789 D DhcpClient: Scheduling expiry in 3599s
    Line 31114: 09-11 13:58:53.153  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 31114: 09-11 13:58:53.153  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 31120: 09-11 13:58:53.220  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 31121: 09-11 13:58:53.221  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 31121: 09-11 13:58:53.221  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 31133: 09-11 13:58:53.226  1835  3789 D DhcpClient: Scheduling renewal in 1799s
    Line 31134: 09-11 13:58:53.226  1835  3789 D DhcpClient: Scheduling rebind in 3149s
    Line 31135: 09-11 13:58:53.226  1835  3789 D DhcpClient: Scheduling expiry in 3599s

以上是發(fā)起請(qǐng)求后有正常收到Ack的情況坪它,但是接下來(lái)設(shè)備發(fā)起了請(qǐng)求并沒(méi)有收到Ack帝牡,所以導(dǎo)致設(shè)備一直不斷的去發(fā)起DHCP請(qǐng)求往毡,而且此時(shí)設(shè)備并沒(méi)有網(wǎng)絡(luò)切換廣播,并且設(shè)備本地判斷網(wǎng)絡(luò)是正晨t?捎玫模蚴窃O(shè)備到路由器的網(wǎng)絡(luò)是通的罩息,只是路由器到遠(yuǎn)程服務(wù)器的鏈路是不通的:

33540: 09-11 14:28:54.007  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 33540: 09-11 14:28:54.007  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 33557: 09-11 14:28:59.012  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 33557: 09-11 14:28:59.012  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 33585: 09-11 14:29:04.021  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 33585: 09-11 14:29:04.021  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 33701: 09-11 14:29:12.088  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 33701: 09-11 14:29:12.088  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 33724: 09-11 14:29:28.065  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 33724: 09-11 14:29:28.065  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 33779: 09-11 14:30:03.317  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 33779: 09-11 14:30:03.317  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 33815: 09-11 14:31:13.838  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 33815: 09-11 14:31:13.838  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 51658: 09-11 14:33:33.786  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 51658: 09-11 14:33:33.786  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 53369: 09-11 14:35:32.229  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 53369: 09-11 14:35:32.229  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 53714: 09-11 14:37:46.146  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 53714: 09-11 14:37:46.146  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 55611: 09-11 14:40:02.569  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 55611: 09-11 14:40:02.569  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 57692: 09-11 14:42:01.271  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 57692: 09-11 14:42:01.271  1835  3789 D DhcpClient: Unicasting DHCPREQUEST ciaddr=172.28.88.48 request=0.0.0.0 serverid=null to /1.1.1.1:67

在這段時(shí)間內(nèi),TCP連接是一直報(bào)java.net.NoRouteToHostException: No route to host異常扣汪,如果TCP當(dāng)前正處于連接中断楷,那么DHCP的更新可能會(huì)導(dǎo)致TCP斷線,等到后面設(shè)備發(fā)起的DHCP請(qǐng)求收到Ack之后崭别,TCP連接立刻恢復(fù)正常,并且此時(shí)收到了網(wǎng)絡(luò)切換廣播茅主,針對(duì)以上問(wèn)題,如何恢復(fù)呢诀姚?搜索網(wǎng)上資料是說(shuō)應(yīng)用程序每次重新建立一條新的TCP的時(shí)候會(huì)觸發(fā)設(shè)備請(qǐng)求DHCP Server响牛,但是從我們的log查看發(fā)現(xiàn)并沒(méi)有,請(qǐng)求DHCP Server沒(méi)有Ack后設(shè)備會(huì)間隔重試赫段,當(dāng)設(shè)備被觸發(fā)亮屏后呀打,網(wǎng)絡(luò)馬上恢復(fù)正常,DHCP請(qǐng)求也收到Ack糯笙,同時(shí)也收到網(wǎng)絡(luò)切換廣播

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贬丛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子豺憔,更是在濱河造成了極大的恐慌额获,老刑警劉巖恭应,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異境肾,居然都是意外死亡褒纲,警方通過(guò)查閱死者的電腦和手機(jī)准夷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)莺掠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)衫嵌,“玉大人彻秆,你說(shuō)我怎么就攤上這事楔绞〈蕉遥” “怎么了酒朵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵扎附,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我留夜,道長(zhǎng),這世上最難降的妖魔是什么鳖眼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任嚼摩,我火速辦了婚禮钦讳,結(jié)果婚禮上枕面,老公的妹妹穿的比我還像新娘愿卒。我一直安慰自己潮秘,他們只是感情好掘猿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布唇跨。 她就那樣靜靜地躺著,像睡著了一般买猖。 火紅的嫁衣襯著肌膚如雪改橘。 梳的紋絲不亂的頭發(fā)上玉控,一...
    開(kāi)封第一講書(shū)人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音高诺,去河邊找鬼碌识。 笑死虱而,一個(gè)胖子當(dāng)著我的面吹牛筏餐,可吹牛的內(nèi)容都是我干的牡拇。 我是一名探鬼主播魁瞪,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼惠呼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了剔蹋?” 一聲冷哼從身側(cè)響起旅薄,我...
    開(kāi)封第一講書(shū)人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤泣崩,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后律想,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體猎莲,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡技即,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了而叼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡葵陵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出脱篙,到底是詐尸還是另有隱情伤柄,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布文搂,位于F島的核電站,受9級(jí)特大地震影響煤蹭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜硝皂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稽物。 院中可真熱鬧,春花似錦姨裸、人聲如沸秧倾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赡艰。三九已至售淡,卻和暖如春慷垮,著一層夾襖步出監(jiān)牢的瞬間揖闸,已是汗流浹背料身。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工汤纸, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芹血,地道東北人贮泞。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓幔烛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親饿悬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子令蛉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 主目錄見(jiàn):Android高級(jí)進(jìn)階知識(shí)(這是總目錄索引)[written by 無(wú)心追求] DHCP 簡(jiǎn)單的來(lái)說(shuō)狡恬,D...
    ZJ_Rocky閱讀 2,400評(píng)論 0 3
  • 1.這篇文章不是本人原創(chuàng)的蝎宇,只是個(gè)人為了對(duì)這部分知識(shí)做一個(gè)整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,068評(píng)論 6 174
  • 前言 寫(xiě)這篇文章的緣由是客戶提出的一個(gè)問(wèn)題:客戶使用公司的Wi-Fi產(chǎn)品的App运杭,有兩個(gè)設(shè)備出現(xiàn)了問(wèn)題夫啊,點(diǎn)擊App...
    Noskthing閱讀 2,956評(píng)論 2 23
  • 個(gè)人認(rèn)為辆憔,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評(píng)論 0 8
  • 其實(shí)很喜歡花店虱咧,也曾經(jīng)想過(guò)去開(kāi)個(gè)花店,不過(guò)后來(lái)在養(yǎng)死一盆仙人掌之后再不敢奢望腕巡。難以想象開(kāi)一個(gè)花店的場(chǎng)景。此處應(yīng)有呵...
    夏暖心閱讀 297評(píng)論 0 4