




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 1DHCPDHCP規(guī)范和現(xiàn)網(wǎng)案例分析規(guī)范和現(xiàn)網(wǎng)案例分析陳曦2012年6月Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 2本次課題lDHCP簡介簡介l中國電信中國電信DHCP擴(kuò)展規(guī)范擴(kuò)展規(guī)范l現(xiàn)網(wǎng)現(xiàn)網(wǎng)DHCP案例分析案例分析Copyright 2012 Shanghai DareGlobal Technologies Co., L
2、td. All rights reserved. 3DHCP簡介 協(xié)議概述 報(bào)文格式 報(bào)文類型 常用option DHCP報(bào)文交互過程 DHCP客戶端更新租約 DHCP client狀態(tài)機(jī) DHCP中繼工作過程 處理DHCP中繼報(bào)文 Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 4協(xié)議概述DHCP動態(tài)主機(jī)配置協(xié)議(Dynamic Host Configuration Protocol)為網(wǎng)絡(luò)客戶機(jī)分配動態(tài)的IP地址提供安全、可靠的TCP/IP網(wǎng)絡(luò)配置保證IP地址不發(fā)生沖突,減少了在T
3、CP/IP網(wǎng)絡(luò)上增添、移動和配置計(jì)算機(jī)的管理負(fù)擔(dān),使IP地址管理自動化。動態(tài)分配IP地址在某些情況下還可以解決IP不夠用的問題。 Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 5報(bào)文格式OP(1)Htype(1)Hlen(1)Hops(1)Transaction ID(4)Seconds(2)Flags(2)Ciaddr(4)Yiaddr(4)Siaddr(4)Giaddr(4)Chaddr(16)Sname(64)File(128)Options(variable)Copyrigh
4、t 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 6報(bào)文字段含義最左邊的bit位,0代表廣播,1代表單播。其余bit尚未使用flags由DHCP Client填充,從DHCP Client開始獲得地址或地址續(xù)借后所使用了的秒數(shù)。Seconds由DHCP Client選擇的一個(gè)隨機(jī)數(shù),被DHCP Server和DHCP Client用來在它們之間交流messages和responses。由客戶設(shè)置并由DHCP Server返回的32 bit整數(shù)。客戶用它對請求和應(yīng)答進(jìn)行匹配。Transaction IDD
5、HCP Client設(shè)置為0,也能被一個(gè)代理服務(wù)器設(shè)置hopshardware address length,6字節(jié)。hlenhardware address type,1表示以太網(wǎng),這和ARP請求或應(yīng)答中同名字段表示的含義相同。htypemessage op code / message type“1“代表BOOTREQUEST ”2“代表 BOOTREPLYop含義字段Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 7報(bào)文字段含義(續(xù))包含報(bào)文的類型、有效租期、DNS(Domain
6、 Name System,域名系統(tǒng))服務(wù)器的 IP 地址等配置信息,RFC 2132中介紹了全部的option的定義optionsBoot file name,是一個(gè)空值終止串。DISCOVER中是“generic”名字或空字符, OFFER提供有效的目錄路徑全名。file“服務(wù)器主機(jī)名”字段是一個(gè)空值終止串,由服務(wù)器填寫。snameClient hardware addresschaddrDHCP Relay代理的IP地址。giaddrbootstrap中,下一個(gè)Server的IP地址。siaddryour(Client)IP addressyiaddrClient IP address,只
7、有DHCP Client已經(jīng)獲得IP地址,并且能響應(yīng)ARP requests時(shí),才能被填充。ciaddr含義字段Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 8報(bào)文類型報(bào)文類型主要功能DHCP-DISCOVERDHCP客戶端廣播發(fā)送的,用來查找網(wǎng)絡(luò)中可用的DHCP服務(wù)器DHCP-OFFERDHCP服務(wù)器用來響應(yīng)客戶端的DHCP-DISCOVER請求,并為客戶端指定相應(yīng)配置參數(shù)DHCP-REQUESTDHCP客戶端廣播發(fā)送給DHCP服務(wù)器,用來請求配置參數(shù)或者續(xù)借租期DHCP-ACKD
8、HCP服務(wù)器通知客戶端可以使用分配的IP地址和配置參數(shù)DHCP-NAKDHCP服務(wù)器通知客戶端地址請求不正確或者租期已過期DHCP-RELEASEDHCP客戶端主動向DHCP服務(wù)器發(fā)送,告知服務(wù)器該客戶端不再需要分配的IP地址DHCP-DECLINEDHCP客戶端發(fā)現(xiàn)地址沖突或由于其它原因?qū)е碌刂凡荒苁褂茫瑒t發(fā)送DHCP-DECLINE報(bào)文,通知服務(wù)器所分配的IP地址不可用Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 9常用optionOptionNameDescription1Su
9、bnet maskSpecifies subnet mask for the client3GatewaysA list of routers, in preferential order, for the client to use.6Domain Name serversA list of Domain Name servers in preferential order. A Domain Name server enables the client to locate other computers on the network by name.50Requested IP Addre
10、ssThis option is used in a client request (DHCP-DISCOVER) to allow the client to request that a particular IP address be assigned. 53DHCP Message TypeUsed to convey the type of the DHCP message.55Parameter Request ListUsed by a DHCP client to request values for specified configuration parameters.60V
11、endor class identifierUsed by DHCP clients to optionally identify the type and configuration of DHCP client.82DHCP Relay Agent Information OptionThe option is inserted by the DHCP relay agent when forwarding client-originated DHCP packets to a DHCP server, it include a circuit ID and a remote ID .12
12、5Vendor-Identifying Vendor OptionsDHCP clients and servers may use this option to exchange vendor- specific information. Either party may send this option, as needed.Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 10DHCP報(bào)文交互過程Copyright 2012 Shanghai DareGlobal Technolo
13、gies Co., Ltd. All rights reserved. 11DHCP客戶端更新租約 l DHCP服務(wù)器分配給客戶端的服務(wù)器分配給客戶端的IP地址有一定地址有一定的租借期限,當(dāng)租借期滿后服務(wù)器會收回該的租借期限,當(dāng)租借期滿后服務(wù)器會收回該IP地址。地址。l 為了延長為了延長DHCP客戶端使用該地址的期限,客戶端使用該地址的期限,需要更新需要更新IP地址租約。地址租約。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 12DHCP客戶端更新租約包交互Copyright 201
14、2 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 13DHCP client狀態(tài)機(jī)Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 14DHCP中繼工作過程 由于DHCP請求報(bào)文采用廣播方式發(fā)送報(bào)文,因此當(dāng)DHCP客戶端和DHCP服務(wù)器處于不同子網(wǎng)時(shí),必須要通過DHCP中繼進(jìn)行通信,最終獲取到IP地址。這樣,多個(gè)網(wǎng)絡(luò)上的DHCP客戶端可以使用同一個(gè)DHCP服務(wù)器,既節(jié)省了成本,又便于進(jìn)行集中管理。Copyr
15、ight 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 15處理DHCP中繼報(bào)文 DHCP中繼代理收到DHCP報(bào)文后首先識別該報(bào)文,再進(jìn)行相應(yīng)處理。 如果DHCP報(bào)文的UDP目的端口號為67,且BOOTP報(bào)文頭中的“op”字段是BOOTREQUEST(1),即表示該報(bào)文是DHCP客戶機(jī)發(fā)給服務(wù)器的請求報(bào)文。DHCP中繼代理會檢查報(bào)文的“giaddr”字段,如果其值為0.0.0.0,則DHCP中繼代理設(shè)備用接受該報(bào)文的接口的IP地址填充此字段后,發(fā)送報(bào)文到指定的DHCP服務(wù)器組內(nèi)的所有DHCP服務(wù)器。 如
16、果DHCP報(bào)文的UDP目的端口號為67,且BOOTP報(bào)文頭中的“op”字段是BOOTREPLY(2),即表示該報(bào)文是DHCP服務(wù)器希望通過中繼代理轉(zhuǎn)發(fā)給DHCP客戶端的回應(yīng)報(bào)文。DHCP中繼代理會將該報(bào)文從“giaddr”字段所屬的接口發(fā)送到指定的DHCP客戶端。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 16中國電信DHCP擴(kuò)展規(guī)范 發(fā)送discover報(bào)文的時(shí)間間隔 續(xù)租機(jī)制 終端ARP探測流程(福建電信地方規(guī)范) Option 60擴(kuò)展 Option 125擴(kuò)展Copyrig
17、ht 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 17發(fā)送discover報(bào)文的時(shí)間間隔 如第一次 DHCP 的請求,未收到來自DHCP 服務(wù)器的響應(yīng)后,需按照協(xié)議棧的要求在第 4 秒、第 8 秒、第 16 秒、第 32 秒、第 64 秒、第124秒、第184秒第304秒分別發(fā)起地址請求,且每次只發(fā)送一個(gè)請求報(bào)文。如第秒仍未收到服務(wù)器響應(yīng),則重啟會話,重復(fù)上述過程。其中福建電信要求: seconds elapse字段需記錄本次流程中所發(fā)送的累計(jì)時(shí)間,以秒為單位。 設(shè)備上電后,第一個(gè)DHCP Disco
18、ver包要在060秒之間隨機(jī)時(shí)延一段后發(fā)出。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 18discover報(bào)文的時(shí)間間隔實(shí)例Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 19續(xù)租機(jī)制 上圖中T1.5(68.75%, 5.5/8, 11/16)和T2.5(93.75%,7.5/8, 15/16)是中國電信的對標(biāo)準(zhǔn)規(guī)范的擴(kuò)展。Copyright 2012 Shanghai
19、DareGlobal Technologies Co., Ltd. All rights reserved. 20續(xù)租未響應(yīng)的抓包Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 21在T1期間總是得到響應(yīng)的抓包Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 22在T2期間才得到響應(yīng)的抓包Copyright 2012 Shanghai DareGlobal Technologie
20、s Co., Ltd. All rights reserved. 23終端ARP探測 (福建電信規(guī)范)Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 24ARP探測流程 1)家庭網(wǎng)關(guān)正常獲取后,ARP探測機(jī)制開始探測。探測周期為每四分鐘一次,探測包為全廣播包,探測三層地址為本接口網(wǎng)關(guān)地址。2)探測包發(fā)送后,等待超時(shí)時(shí)間為五秒。若五秒內(nèi)收到ARP回復(fù),本次探測結(jié)束。若五秒超時(shí)未收到ARP回復(fù),則:發(fā)送以廣播形式發(fā)送Request發(fā)(包中攜帶本接口之前正常獲取的地址)續(xù)租。3)若未收到 s
21、erver回應(yīng)的ACK報(bào)文。重復(fù)本過程發(fā)送Request報(bào)文(重復(fù)發(fā)送間隔為)。任何一次收到ACK報(bào)文后,本次探測結(jié)束。若)中三次Request續(xù)租報(bào)文均無回應(yīng),則重啟會話。(如同重新開機(jī)流程)Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 25ARP鏈路檢測總是正常的抓包Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 26ARP探測異常發(fā)request抓包Copyright
22、2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 27ARP探測異常且無法恢復(fù)抓包Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 28Option 60字段名長度內(nèi)容Code8固定值,60Length8整個(gè)報(bào)文長度Enterprise Code16企業(yè)代碼(參照e8規(guī)范)Field type8擴(kuò)展屬性,固定值31Field Length8擴(kuò)展域的長度Field Value認(rèn)證加密信息 0 1 2 3
23、 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | code (60) | Length | Enterprise Code | +-+-+-+-+ | Field type | Field Length | Field Value | +-+-+Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights
24、reserved. 29Option 60 Option60字段鑒權(quán)規(guī)劃參照中國電信“我的e家”技術(shù)規(guī)范e家終端(e8)文中標(biāo)準(zhǔn)設(shè)計(jì)。 擴(kuò)充Filed Type 31 - 60 為 IPTV 機(jī)頂盒專用,其中Field Type 31定義為IPTV機(jī)頂盒DHCP認(rèn)證的鑒權(quán)信息(具體為:接入層用戶名、密碼等信息加密后的密文,加密算法見本文相關(guān)內(nèi)容)。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 30Option 60加密算法 在家庭網(wǎng)關(guān)啟動后,如果FLASH中沒有儲存VOIP用戶名和密
25、碼信息,則OPTION 60相關(guān)信息如下:Type為34;Value為24位家庭網(wǎng)關(guān)序列號+默認(rèn)VOIP賬號字符串(固定為”admin/admin”)。如果VOIP賬號已保存到家庭網(wǎng)關(guān)的FLASH中, Option 60字段相關(guān)信息如下:Type值為34,Value值為24位家庭網(wǎng)關(guān)序列號+VoIP賬號的加密字符串 DHCP平臺對網(wǎng)關(guān)OPTION 60字段進(jìn)行驗(yàn)證,對驗(yàn)證通過的返回OFFER報(bào)文,沒有通過的丟棄該報(bào)文不做任何處理。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 31Op
26、tion 60加密算法家庭網(wǎng)關(guān)從FLASH中讀取出VoIP/IPTV賬號信息:用戶名(UserID)、密碼(Password)家庭網(wǎng)關(guān)生成隨機(jī)數(shù)R,R長度為64bit ,8字節(jié)。家庭網(wǎng)關(guān)生成時(shí)間戳TS,TS定義為距離格林威志時(shí)間1970年0點(diǎn)秒數(shù)的64bit 整型,強(qiáng)制轉(zhuǎn)換8字節(jié)長整型,如位數(shù)不夠高位補(bǔ)0。家庭網(wǎng)關(guān)生成密文C = EnCry(R+TS+64Bit, UserID), 例如C的長度為128bit,UserID為120bit(15字符),EnCry為3DES對稱加密算法,密鑰為R+TS后用64位0補(bǔ)足192bit。家庭網(wǎng)關(guān)生成密鑰Key = Hash(R+Password+TS),
27、其中Key為128bit,Hash()為哈希算法,這里定義為MD5;R+Password+TS就是Byte的直接拼接。家庭網(wǎng)關(guān)生成發(fā)送消息Message = O+R+TS+Key+C,其中O描述使用的對稱加密算法8bit,O=1:表示為上述描述的加密算法,O=其他數(shù)字:保留。 Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 32Option 60字段舉例CT option 60 全字段(UserIdad66133512iptv Password123456)3C 35 00 00 1F
28、 31 01 0A DA A1 3C 13 0D 33 6A 0E00 00 00 00 00 00 00 53 BE 31 31 0F 1F 5F C8 538E 67 70 77 32 19 DE A4 ED BA BF 98 50 1E D1 6CBF DE 0D 0E A5 0F F9 Type. . . . . . : 60(0 x3C) Length. . . . . : 53(0 x35) Enterprise Code : 0(0 x00 0 x00) Field type. . . : 31(0 x1F) Field Length. . : 49(0 x31) 加密方式. .
29、 . . : 1(0 x01)加密計(jì)算:隨機(jī)數(shù):0A DA A1 3C 13 0D 33 6A時(shí)間戳:0E 00 00 00 00 00 00 00密鑰Key:53 BE 31 31 0F 1F 5F C8 53 8E 67 70 77 32 19 DE密文C:A4 ED BA BF 98 50 1E D1 6C BF DE 0D 0E A5 0F F9Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 33Option 125 OPTION 125 功能是對標(biāo)準(zhǔn)DHCP協(xié)議一個(gè)補(bǔ)充標(biāo)準(zhǔn),
30、該功能的標(biāo)準(zhǔn)定義在RFC 3925中。 DHCP服務(wù)器在完成驗(yàn)證將客戶端的IP地址等信息封裝成DHCP OFFER包的時(shí)候,將OPTION 125信息封裝進(jìn)DHCP OFFER包中再發(fā)送給客戶端。 DHCP 服務(wù)器在收到Request包后,同樣也會在回給機(jī)頂盒的ACK包中添加OPTION125的信息。 客戶端收到OFFER/ACK包以后,首先查看該OFFER/ACK包中OPTION 125中的約定的信息,并與預(yù)先存儲的信息進(jìn)行比對。比對結(jié)果為相同則使用此OFFER/ACK,如果比對信息不同則將此OFFER/ACK丟棄。Copyright 2012 Shanghai DareGlobal Tec
31、hnologies Co., Ltd. All rights reserved. 34Option 125 格式 Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 35Option 125舉例舉例: Option-code=125 Option-len=DHCP 服務(wù)器廠商自定義 Enterprise-number1=DHCP 服務(wù)器廠商自定義 data-len1=16 vendor-class-data1=SHCTCIPTVDHCPAAACopyright 2012 Shanghai
32、DareGlobal Technologies Co., Ltd. All rights reserved. 36中國電信Option 125擴(kuò)展功能Option125特定字段內(nèi)容定義 enterprise-number1:待定,暫用0。 option-data1:DHCP SERVER特定信息(根據(jù)需要添加,總字節(jié)數(shù)不可超過250) Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 37Option125 擴(kuò)展字段定義 subopt-codesubopt-lensub-option-d
33、ataDescription of sub-option-data11-32設(shè)備的生產(chǎn)廠商名稱字符串格式,建議使用英文或拼音21-32DHCP server的設(shè)備種類或分類字符串格式,如: HGW-CT STB DHCP SERVER DHCP SERVER No.531-32DHCP server 的設(shè)備型號字符串格式,如DS-8000102上網(wǎng)類業(yè)務(wù)的VLAN ID2個(gè)字節(jié)十六進(jìn)制數(shù)(高字節(jié)在前),值0 x2000表示untag112IPTV業(yè)務(wù)的VLAN ID2個(gè)字節(jié)十六進(jìn)制數(shù)(高字節(jié)在前),值0 x2000表示untag122IMS業(yè)務(wù)的VLAN ID2個(gè)字節(jié)十六進(jìn)制數(shù)(高字節(jié)在前),
34、值0 x2000表示untag132VOICE業(yè)務(wù)的VLAN ID2個(gè)字節(jié)十六進(jìn)制數(shù)(高字節(jié)在前),值0 x2000表示untag1360(預(yù)留)83保留原有IPTV通道DHCP server專用其它(待定)Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 38Option125 舉例說明0000 7d 1c 00 00 00 00 17 02 06 48 47 57 2d 43 54 03 .HGW-CT.0010 09 44 50 36 30 37 2d 47 56 39 0b 02
35、 00 64 .DP607-GV9.d7d (option 125)1c (length 28)00 00 00 00 (enterprise-number1:待定,暫用0)17 (data-len1 = 23)02 (subopt-code 2) 06 (subopt-len) 48 47 57 2d 43 54 (HGW-CT)03 (subopt-code 3) 09 (subopt-len) 44 50 36 30 37 2d 47 56 39 (DP607-GV9)0b (subopt-code 11) 02 (subopt-len) 00 64 (IPTV業(yè)務(wù)的VLAN ID=10
36、0)Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 39現(xiàn)網(wǎng)DHCP案例分析福州語音問題通過option 60實(shí)現(xiàn)對A/B業(yè)務(wù)平面的訪問 Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 40福州語音問題現(xiàn)網(wǎng)現(xiàn)象描述 接福建大亞現(xiàn)場技術(shù)支持工程師(FAE)黃紅慈報(bào)道,SVN:5571的軟件版本,在福州幾個(gè)本地網(wǎng)多出現(xiàn)語音不能使用,到現(xiàn)場看了一下,發(fā)現(xiàn)PING SBC地址無法通,查
37、看路由表有IP存在,局方數(shù)據(jù)查詢說該ONU無發(fā)續(xù)約包過來,導(dǎo)致半個(gè)小時(shí)后語音不能正常使用,但在現(xiàn)場發(fā)現(xiàn)是有IP地址的。另外只要重新設(shè)置一下WAN口連接(就是點(diǎn)擊一下VLAN:45 按確認(rèn)后)設(shè)備在上報(bào)IP請求,IP就可以通了。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 41現(xiàn)網(wǎng)現(xiàn)象初步分析和定位 初步分析:可能是續(xù)租包沒有發(fā)出來,目前網(wǎng)關(guān)在續(xù)租到期未續(xù)租成功的情況下,IP地址可繼續(xù)使用(符合前面的“查看路由表有IP存在”),但無法ping通SBC(因?yàn)榈刂芬呀?jīng)被回收)。另外重新設(shè)置
38、一下WAN口連接,這是會重新開始DISCOVER的過程,就又能拿到server分配的IP了(符合前面的“IP就可以通了”)。 通過大亞FAE在現(xiàn)場的抓包,確實(shí)沒有發(fā)現(xiàn)發(fā)續(xù)租包,包括單播和廣播續(xù)租包。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 42在公司內(nèi)的驗(yàn)證 升級為同樣的版本,同樣的組網(wǎng)環(huán)境,在公司內(nèi)驗(yàn)證,發(fā)現(xiàn)DHCP所有過程一切正常,包括續(xù)租過程。DHCP續(xù)租包總是在租約期的一半時(shí)間向DHCP server準(zhǔn)時(shí)發(fā)出。Copyright 2012 Shanghai DareGlo
39、bal Technologies Co., Ltd. All rights reserved. 43初步懷疑方向 因?yàn)槭窃赩OIP WAN連接上發(fā)生了DHCP無法續(xù)租成功,而VOIP WAN連接是使用的獨(dú)立的路由表(與INTERNET路由表不一樣)。根據(jù)以往的經(jīng)驗(yàn),DHCP 單播續(xù)租包無法發(fā)出的一種可能是路由表不正確,導(dǎo)致單播包無法找到路由而發(fā)送失敗。根據(jù)負(fù)責(zé)組網(wǎng)模塊的工程師說法,福建那邊有一個(gè)特殊需求,從offer包提供的網(wǎng)關(guān)地址和網(wǎng)段掩碼,無論掩碼長度為多少,都加一個(gè)8位地址的掩碼的路由。根據(jù)為福建電信定制功能而寫的代碼,例如會添加了一條以下的路由:ip route add to 10.8
40、.0.0/8 dev eth4.46_1 table t31實(shí)際上這條路由添加是不會成功的,經(jīng)過路由表查看,這樣的路由沒有添加成功的,因?yàn)樽泳W(wǎng)和掩碼長度不匹配,需要修改成以下這樣的路由才能添加成功。ip route add to 10.0.0.0/8 dev eth4.46_1 table t31因此懷疑路由沒有添加成功導(dǎo)致單播DHCP續(xù)租包未能成功發(fā)出,經(jīng)過修改代碼,修正了以上的bug,發(fā)送版本給前方驗(yàn)證。 Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 44對初步懷疑的驗(yàn)證 經(jīng)過前
41、方驗(yàn)證,故障依舊,雖然前面bug得到了修正,但DHCP的問題與此bug無關(guān)。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 45再次分析驗(yàn)證(1) 因?yàn)樵诠经h(huán)境里測試一切正常,在福建現(xiàn)網(wǎng)環(huán)境不正常,因此懷疑與網(wǎng)絡(luò)環(huán)境是有很大關(guān)系的。查看DHCP模塊代碼的歷史修訂記錄,在今年2月份時(shí)未福建電信增加了DHCP ARP 探測的功能,是否與此有關(guān)? 因?yàn)锳RP探測功能可以單獨(dú)關(guān)閉,不啟用ARP探測功能,經(jīng)前方驗(yàn)證,問題依舊。 把DHCP模塊的代碼倒退到2月份之前的版本,重新編譯,發(fā)給前方驗(yàn)證
42、,問題消失。 看來是ARP探測功能加入后引入的bug。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 46再次分析驗(yàn)證(2) 為了證明推論,關(guān)掉NTP服務(wù),重啟設(shè)備,續(xù)租包能夠正常發(fā)出,證明確實(shí)與NTP服務(wù)有關(guān)。并進(jìn)一步分析出以下過程:1) 開機(jī)DHCP首先拿到地址,根據(jù)當(dāng)前的系統(tǒng)時(shí)間+租期/2得到開始發(fā)續(xù)租包的時(shí)間(在2000年)2) NTP在WAN口得到地址后開始啟動,更新系統(tǒng)時(shí)間到2012年3) DHCP進(jìn)程檢查發(fā)續(xù)租包的時(shí)間永遠(yuǎn)無法滿足,由于時(shí)間坐標(biāo)系不一致,續(xù)租時(shí)間是按200
43、0年為基準(zhǔn),當(dāng)前時(shí)間按NTP更新后的時(shí)間2012年為基準(zhǔn),導(dǎo)致發(fā)續(xù)租包的時(shí)間條件不滿足,永遠(yuǎn)發(fā)不出續(xù)租包。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 47再次分析驗(yàn)證(3) 需要在代碼中加入debug信息,看為何到了租期的一半時(shí)間DHCP續(xù)租為何不能發(fā)出。根據(jù)實(shí)現(xiàn)的原理,需要有兩個(gè)定時(shí)器,一個(gè)定時(shí)器檢查租期是否過半,一個(gè)檢查ARP探測定時(shí)器是否到時(shí)間,這兩個(gè)定時(shí)器每秒鐘分別檢查一次。 定時(shí)器的檢查是基于系統(tǒng)時(shí)間秒數(shù),以1970年1月1日0時(shí)0秒為基準(zhǔn)點(diǎn),取當(dāng)前時(shí)間距基準(zhǔn)點(diǎn)的秒數(shù),與
44、預(yù)計(jì)租期到一半的時(shí)間點(diǎn)進(jìn)行比較,如果等于這個(gè)時(shí)間點(diǎn),續(xù)租包就發(fā)出。 經(jīng)過分析debug信息,發(fā)現(xiàn)續(xù)租時(shí)間和當(dāng)前時(shí)間差別巨大,差值在12年左右。因?yàn)槔m(xù)租時(shí)間是在當(dāng)前時(shí)間+租期/2上得出的,不會差別這么大,推測與NTP服務(wù)開啟有關(guān),系統(tǒng)默認(rèn)時(shí)間是2000年,NTP更新后在2012年,正好差別12年。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 48再次分析驗(yàn)證(4) 通過以上分析,需要在NTP更新時(shí)間后,調(diào)整以前續(xù)租時(shí)間的坐標(biāo)系才能校準(zhǔn)時(shí)間,滿足發(fā)續(xù)租包的時(shí)間條件。 修改代碼,在檢查到續(xù)
45、租時(shí)間和當(dāng)前時(shí)間差值大于一個(gè)租期時(shí)(這種情況只有NTP修改時(shí)間才可能發(fā)生),立刻調(diào)整續(xù)租時(shí)間為當(dāng)前時(shí)間。通過驗(yàn)證,能夠解決此問題。 根據(jù)代碼修改記錄,同樣可以解釋SVN 5399的版本無問題, SVN 5711版本存在此問題。在此兩個(gè)版本之間,增加了DHCP模塊每4分鐘ARP檢查的功能,修 改了有關(guān)定時(shí)器的機(jī)制,以同時(shí)滿足定時(shí)器對續(xù)租和ARP檢查兩個(gè)功能的同時(shí)支持,定時(shí)器在正常情況下本身無問題,但沒有考慮到NTP服務(wù)刷新系統(tǒng)時(shí)間帶來的影響,導(dǎo)致 了這個(gè)差別。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights
46、reserved. 49再次分析驗(yàn)證(5) 根據(jù)代碼修改記錄,同樣可以解釋SVN 5399的版本無問題, SVN 5711版本存在此問題。 在此兩個(gè)版本之間,增加了DHCP模塊每4分鐘ARP檢查的功能,修 改了有關(guān)定時(shí)器的機(jī)制,以同時(shí)滿足定時(shí)器對續(xù)租和ARP檢查兩個(gè)功能的同時(shí)支持 定時(shí)器在正常情況下本身無問題,但沒有考慮到NTP服務(wù)刷新系統(tǒng)時(shí)間帶來的影響,導(dǎo)致 了這個(gè)差別。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 50多定時(shí)器實(shí)現(xiàn)機(jī)制Copyright 2012 Shanghai
47、 DareGlobal Technologies Co., Ltd. All rights reserved. 51現(xiàn)網(wǎng)問題的解決方法 針對前面出現(xiàn)的問題,解決現(xiàn)網(wǎng)存在問題的方法有如下幾種: 1) 升級到最新版本2) 退回到版本5399,但此版本無ARP檢查的功能3) 關(guān)閉NTP的功能,重啟設(shè)備。或者讓電信關(guān)掉NTP服務(wù)器Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 52更優(yōu)化的解決方案 經(jīng)過前面的分析,此問題的實(shí)質(zhì)是因?yàn)橄到y(tǒng)時(shí)間發(fā)生漂移,導(dǎo)致定時(shí)器無法按預(yù)期時(shí)間點(diǎn)觸發(fā)原定任務(wù)的處理
48、,雖然前面的解決辦法可以在偵測到故障發(fā)生時(shí)能夠自行恢復(fù),但畢竟屬于事后補(bǔ)救的方法,能否做到徹底解決呢? 考慮到系統(tǒng)啟動后先設(shè)置系統(tǒng)默認(rèn)時(shí)間(例如2010年1月1日0時(shí)0分),然后DHCP獲得地址后,再通過SNTP服務(wù)取得當(dāng)前的實(shí)際時(shí)間,實(shí)際時(shí)間與系統(tǒng)默認(rèn)時(shí)間肯定是不同的。這幾個(gè)過程的時(shí)序都是固定的,無法在此基礎(chǔ)上做任何改進(jìn)。 后來想到了取系統(tǒng)自上電以來的秒數(shù)(uptime),這個(gè)應(yīng)該與系統(tǒng)時(shí)間無直接關(guān)系,并且在修改系統(tǒng)時(shí)間后,理論上也不會發(fā)生任何突變。經(jīng)過驗(yàn)證,的確如此。 以系統(tǒng)上電的時(shí)間作為參考點(diǎn),取當(dāng)前的uptime作為時(shí)間比較點(diǎn),經(jīng)過驗(yàn)證,可以徹底解決此問題。Copyright 2012
49、 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 53更優(yōu)化的解決方案之關(guān)鍵代碼在系統(tǒng)頭文件中的定義struct sysinfo long uptime;/* Seconds since boot */*封裝了一個(gè)函數(shù),能夠返回系統(tǒng)自啟動以來的秒數(shù)*/long get_uptime()struct sysinfo s_info;int error;error = sysinfo(&s_info);if(error != 0) printf(get_uptime code error = %dn, error
50、);return 0;return s_info.uptime; Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 54一些經(jīng)驗(yàn)教訓(xùn) 研發(fā)寫代碼時(shí)需要仔細(xì)考慮各種情況下代碼的邏輯是否正確。本案例中因?yàn)楹雎粤讼到y(tǒng)時(shí)間可能變化,導(dǎo)致基準(zhǔn)時(shí)間變化,導(dǎo)致定時(shí)器不準(zhǔn)。概率雖然看似很小,但一旦條件滿足,就百分之百地出現(xiàn)故障。不完整的測試會放過一些bug在本案例中,因?yàn)橐郧暗拿看螠y試(包括自測,測試人員測試,現(xiàn)網(wǎng)測試,發(fā)行測試),都未能開啟SNTP服務(wù),導(dǎo)致無法測試出此bug。而且即使開啟SNTP服務(wù)
51、,普通的測試無法測試出此bug。要測試出此bug,還需要滿足以下條件: 1)測試時(shí)間足夠長,要大于租期的一半時(shí)間以上 2)局端設(shè)備(OLT,DHCP server等)要對未續(xù)租成功的設(shè)備回收IP地址,取消到此設(shè)備的路由因此,需要包括研發(fā),測試,F(xiàn)AE在內(nèi)的人都需要提高警覺,每個(gè)環(huán)節(jié)都不能放松。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 55一些技巧總結(jié) 為了快速測試,可以把DHCP租期時(shí)間盡量設(shè)置短一些,以便盡早完成整個(gè)測試過程。在現(xiàn)網(wǎng)中,由于無法修改局端的DHCP server的
52、租期,可以在代碼中修改,例如在現(xiàn)網(wǎng)中DHCP租期時(shí)間是30分鐘,在代碼中把租期時(shí)間直接修改為100秒,不影響此問題的本質(zhì)。在過50秒沒有發(fā)出續(xù)租包,即可認(rèn)為存在問題。 可以通過使用更改系統(tǒng)時(shí)間的命令來模擬SNTP服務(wù)的效果,這樣可以簡化和加快自測的效果。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 56通過DHCP實(shí)現(xiàn)對A/B平面的訪問 應(yīng)用背景 方案設(shè)計(jì) 方案驗(yàn)證結(jié)果 個(gè)別現(xiàn)網(wǎng)問題的解決 方案進(jìn)一步優(yōu)化LAN側(cè)VLAN綁定Copyright 2012 Shanghai DareGl
53、obal Technologies Co., Ltd. All rights reserved. 57應(yīng)用背景 在2009年底,上海電信欲推出一種新集上網(wǎng),看IPTV業(yè)務(wù)于一體的無線終端設(shè)備-魔屏,此設(shè)備的特點(diǎn)是能夠同時(shí)訪問A/B平面。所謂的A平面是指INTERNET網(wǎng)絡(luò),B平面是IPTV平面,B平面與A平面不能互相訪問,完全由中國電信經(jīng)營維護(hù),完全獨(dú)立的IP地址空間。 以往通過家庭網(wǎng)關(guān)接入的設(shè)備,由端口綁定決定這個(gè)設(shè)備要么只能訪問A平面,要么只能訪問B平面,無法同時(shí)訪問A/B平面。訪問A平面相當(dāng)于PC的行為,訪問B平面相當(dāng)于IPTV機(jī)頂盒的行為。Copyright 2012 Shanghai
54、 DareGlobal Technologies Co., Ltd. All rights reserved. 58A/B平面組網(wǎng)示意圖Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 59方案設(shè)計(jì)(初步)為了使魔屏使用簡單,魔屏是使用DHCP方式獲得地址。研究了B平面DHCP的電信規(guī)范,發(fā)現(xiàn)B平面對DHCP有特殊要求,其中一個(gè)要求是在option 60中可以識別IPTV機(jī)頂盒,即在option 60中有IPTV機(jī)頂盒的特征字段。因?yàn)锳/B平面IP地址空間是獨(dú)立的,要同時(shí)訪問這兩個(gè)平面一
55、定需要兩個(gè)獨(dú)立的IP地址,對于魔屏而言,需要在兩個(gè)平面分別DHCP獲取IP。由于端口綁定的原因,在正常情況下,哪怕發(fā)出兩次不同的DHCP請求,只能獲得一個(gè)平面的地址。按常規(guī)的做法是,網(wǎng)關(guān)開啟兩個(gè)SSID, 一個(gè)綁定在A平面,另外一個(gè)綁定在B平面。魔屏分別連接兩個(gè)SSID,這樣就可以同時(shí)訪問A/B平面了。這種做法在理論上可行,但從成本上和管理維護(hù)上是不可行的,因?yàn)橐B接上兩個(gè)SSID,魔屏或許需要兩個(gè)WiFi芯片,成本要增加,而且兩個(gè)SSID的連接即使從用戶使用角度看也是非常麻煩的。最好能從一個(gè)SSID連接上就能同時(shí)訪問A/B平面。Copyright 2012 Shanghai DareGlobal Technologies Co., Ltd. All rights reserved. 60方案設(shè)計(jì)(優(yōu)化) 使用一個(gè)SSID同時(shí)訪問A/B平面 默認(rèn)訪問A平面,默認(rèn)從
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 3 After school activities The little prince(教學(xué)設(shè)計(jì))-2024-2025學(xué)年冀教版(2024)英語七年級下冊
- 人美版(2024)七年級上冊(2024)第一單元 書法篆刻1.賞書法之韻教學(xué)設(shè)計(jì)
- 分?jǐn)?shù)的簡單計(jì)算第一課時(shí)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年三年級上冊數(shù)學(xué)人教版
- 2024秋七年級英語上冊 Unit 3 Is this your pencil Period 2 Section A (2a-3c)教學(xué)設(shè)計(jì)(新版)人教新目標(biāo)版
- 醫(yī)藥AI創(chuàng)新驅(qū)動行業(yè)變革與未來發(fā)展趨勢
- 科爾尼-供應(yīng)商管理
- 八年級生物上冊 16.1《先天性行為和后天學(xué)習(xí)行為》教學(xué)設(shè)計(jì)1 (新版)北師大版
- 全球人才培養(yǎng)與集聚能力提升方案
- Unit 5 My clothes Part C Story time(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語四年級下冊
- 全地形車智能制造項(xiàng)目可行性研究報(bào)告
- 鋼結(jié)構(gòu)防火施工方案
- 中華人民共和國安全生產(chǎn)法知識培訓(xùn)
- 腫瘤中醫(yī)治療及調(diào)養(yǎng)
- 云計(jì)算數(shù)據(jù)備份與恢復(fù)預(yù)案
- 人教版七年級生物上冊第一單元第一章第二節(jié)生物的特征課件
- 住房城鄉(xiāng)建設(shè)科學(xué)技術(shù)計(jì)劃項(xiàng)目科研開發(fā)類申報(bào)書
- GB/T 2424.7-2024環(huán)境試驗(yàn)第3部分:支持文件及導(dǎo)則試驗(yàn)A(低溫)和B(高溫)的溫度箱測量(帶負(fù)載)
- 智慧農(nóng)業(yè)的支撐技術(shù)簡介
- 政務(wù)服務(wù)中心物業(yè)服務(wù)投標(biāo)方案【新版】(技術(shù)方案)
- 重大事故隱患判定標(biāo)準(zhǔn)培訓(xùn)記錄、培訓(xùn)效果評估
- 品管圈活動在提高腦卒中患者日常基本生活自理技能訓(xùn)練執(zhí)行率的應(yīng)用效果
評論
0/150
提交評論