【關鍵字】DHCP NAT uPnP 私有IP地址 端口掃描攻擊 html
1.引言 安全
針對當前多數家庭用戶使用ADSL接入網絡以及IPv4地址幾乎耗盡而IPv6暫時難以商用化的現狀,提出在組件家庭網絡時使用DHCP動態主機配置協議和NAT網絡地址轉換的數據通訊解決方案。主要解決公網地址獲取,NAT方案選擇,DHCP參數配置和NAT穿越等問題。 服務器
2.現狀分析 網絡
計算機和計算機配件,網絡設備的價格正在逐漸下降到能飛入尋常百姓家的水平,應運而生的家庭組網話題變得可行。而目前國內大多數住宅用戶經過ADSL接入方式實現INTERNET網絡服務的。若要實現家庭網絡用戶之間的網絡應用,如在智能家居領域,須要解決動態地址識別以及家庭網絡內部設備的NAT穿越功能。 計算機網絡
3.方案設計 設計
3.1 網絡體系結構設計 htm
家庭子網中包含多種網絡設備,安裝有網絡接口卡,具備網絡數據通訊能力。如在子網A中擁有PC,網絡打印機,Laptop等網絡設備。這些設備與路由器相連,若選擇無線路由器將會具備便捷的可移動性。路由器向上鏈接的是ADSL調制解調器,提供調製數據和解調數據的功能。ADSL調制解調器向上連向ISP,圖中的ISP多是同一個也多是不一樣的。 接口
3.2方案設計 進程
3.2.1 公網地址 資源
對於每一個家庭網絡,其NAT使能路由器從ISP那裏獲取IP地址,做爲整個網絡對外網的統一標識。得到方式依具體的網絡服務提供商而定。可能的方式有:
1.動態分配。ISP擁有的地址塊是有限的,但他們不但願有限的地址塊過多地限制他們的用戶容量,因此採用DHCP動態分配的方式對接入用戶進行IP地址分配。好比某ISP擁有200個可分配的IP地址,但擁有1000個用戶。因爲許多用戶並不會同時在線,經過動態分配的方式就可能使用少許的地址知足大量用戶需求。
2.靜態分配。部分家庭用戶可能但願獲得一個永久分配的IP地址,ISP能夠提供這樣的固定分配,並可能要求繳納更高的費用。
3.2.2 NAT方案選擇
網絡地址轉換方案主要有三類:靜態NAT、動態NAT、NAPT。
1.靜態NAT方案。內網私有IP地址與公網地址呈一一對應關係,此方案無助於節省IP地址。
2.動態NAT方案。私有IP地址與公網IP間的映射是動態的,加入網絡的設備被分配地址,離開網絡或者到達租賃期時地址被收回。
3.NAPT。此方案中一個家庭網絡只須要一個公網IP便可知足要求。內網設備經過同一IP的不一樣端口號來標識。
3.2.3 NAT使能路由器做爲DHCP Server
家庭網絡設備對於內部網絡來講應該是即插即用的無需過多配置和複雜的鏈接操做。可把NAT使能路由器做爲一個DHCP服務器,爲家庭網絡設備提供動態主機配置服務。
3.2.4 NAT穿越問題
不管採用C/S仍是P2P結構,當通訊雙方至少有一方處於NAT背後時,都須要解決NAT穿越的問題。這裏爲了實現簡潔的網絡結構而選擇uPnP方案。
3.3 方案實現
在實現中ISP爲家庭用戶動態分配IP地址,NAT方案選擇NAPT,路由器爲內部設備提供DHCP服務,採用uPnP實現NAT穿越。具體方案以下:
3.3.1.NAT Enabled Router接入ISP網絡。
1.此Router做爲DHCP客戶端,廣播一個DHCP DISCOVERY報文。因爲此時路由器還沒有配置,因此源IP爲0.0.0.0,目的IP爲255.255.255.255。
2.網絡中因此主機收到廣播,不提供DHCP的主機丟棄此報文。提供DHCP的服務器們在可用的IP地址中選取一個,封裝爲DHCP OFFER報文,設定超期時間,廣播出去。在數據鏈路層上封裝源Router的MAC地址。
3.Router接收到DHCP OFFER,當收到多個時則選取其中一個,返回DHCP REQUEST。同時發出一個ARP廣播,以檢測這個OFFER中的IP地址是否被同一子網中的某個設備佔用。如果已經被佔用,則向DHCP Server發送DHCP DECLINE,拒絕這次OFFER。
4.DHCP Server收到DHCP REQUEST後返回DHCP ACK做爲確認,依舊經過廣播的形式。
3.3.2 NAT方案
假設路由器已經從ISP得到一個公網IP地址111.111.111.111。NAT爲家庭網絡中的某個設備A1分配私有地址10.0.0.1。當A1但願與外網的某個設備C1,(IP地址爲222.222.222.222)通訊時的過程以下:
1.A1發起對C1創建TCP鏈接的請求,源IP:10.0.0.1,源端口號:3345
目的IP:222.222.222.222,目的端口號:80。
2.NAT更改源IP和源端口號:源IP:111.111.111.111 源端口號:5001
目的IP和端口號不變。同時在NAT表中增長新舊兩個IP/端口對的映射。
3.C1對請求返回響應,源IP:222.222.222 源端口號:80
目的IP:111.111.111.111 目的端口號:5001。
4.NAT收到此響應後查看NAT表,並根據查詢結果更改目的端口和IP。
目的IP:10.0.0.1 目的端口號:3345。
3.3.3 NAT對內部設備提供DHCP服務
此DHCP服務相似於ISP對家庭用戶的DHCP服務,不一樣之處在於這裏分配的是私有地址。私有地址包括三類,分別是:
A類:10.0.0.0至10.255.255.255
B類:172.16.0.0至172.31.255.255
C類:192.168.0.0至192.168.255.255
具體服務流程在此再也不贅述。
3.3.4 NAT穿越方案
NAT穿越採用uPnP即插即用協議。內部設備向NAT申請一個端口號做爲自身的標識。至關於在NAT上開了一個與外界通訊的窗口。如內部主機A1能夠向NAT Enabled RouterA申請一個從私有IP地址/端口號:10.0.0.1/3345到公網IP地址/端口號:111.111.111.111/5001的映射。這樣來自外邊設備的鏈接請求能夠獲得響應,內部設備能夠成爲服務器端。即使通訊雙方都處於家庭網絡內部也能夠實現通訊。此時ISP服務器可做爲跟蹤器,而內部設備向ISP報告本身能夠在某個公網IP端口對中被檢測到。
4.系統分析
4.1 優點:
1.NAT能夠做爲暫緩IPv4地址資源短缺的方案,在IPv4向IPv6過渡
過程當中起到重要做用。
2.NAT能夠實現帶寬分享
3.NAT提供了必定程度的安全防禦。因爲內部設備對外不可見,能夠避
免內部設備遭受到端口掃描攻擊。
4.2 不足
1.當採用NAPT時使用端口號來標識主機,有違端口號標識進程的原則
2.路由器應當只處理底三層,而在NAT更改端口號時涉及網絡層以上的
協議。
3.違反端到端原則,中間節點不該介入端口號和IP地址的修改。
5.結語
經過網絡地址轉換和動態主機配置協議實現了家庭網絡設備之間的通訊方案。有效地解決了家庭組網可能造成的地址穿越問題和地址短缺問題。功能上相對較完善且實現方案簡便有效。
【參考文獻】
[1] ADSL Modem. http://baike.baidu.com/view/854934.htm
[2] (美)特南鮑姆(美)韋瑟羅爾. 計算機網絡(第5版)
[3](美)多伊爾(美)卡羅爾.TCP/IP路由技術(第1卷)(第2版)
[4] 端口掃描攻擊.http://www.cnetnews.com.cn/2008/0112/706171.shtml
[5] Jie Wang.Computer Network Security:Theory And Practice.