999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PIC單片機局域網嵌入式NAT穿透技術研究

2010-08-23 08:33:26尹會明
制造業自動化 2010年3期
關鍵詞:嵌入式系統

尹會明

YIN Hui-ming

(南京信息職業技術學院,南京 210046)

0 引言

人們生活水平的提高和信息技術的飛速發展,數字化、智能化且遠程可監控的嵌入式設備將飽受青睞。由于被控對象、測控裝置等設備的地域分散性,以及監控任務的實時性要求,基于Intemet遠程信息處理和控制是一個很好的解決方案。嵌入式系統(Embedded Systems)是根據應用的要求,將操作系統和功能軟件集成于計算機硬件系統之中,從而實現軟件與硬件一體化的計算機系統。

IPv4地址匿乏和中國IT起步較晚等歷史原因,使我國的私網IP遠多于公網IP。大部分主機的工作環境都是在局域網,NAT網絡地址轉換技術為局域網內的主機訪問Intemet提供服務。NAT技術對于局域網內的主機是透明的,但當外網主機要主動連接局域網內的主機時就得設計穿透技術。遠程監控嵌入式系統的絕大部分工作環境都是局域網,因此設計NAT穿透技術就成為必須的工作。

1 NAT地址轉換技術

網絡的快速發展極大地增加了對IP地址的需求。解決IP地址匿乏問題可以通過在下一階段部署IPv6予以解決,而在當前IPv4的環境下,應著重考慮通過網絡地址轉換Network Address Translator,NAT)技術來解決。NAT支持私有地址在內部網絡中的應用。由于內網用戶眾多,但大量的都是進行內部通信,因此可能使用只能在內部使用的私有地址。由于公網中的路由器無法識別此類地址,將視其為非法地址。當內網用戶要和外界通信時,可以由網關為其動態分配一個合法的公網地址,網關負責該私有地址和公網地址的映射,這就是NAT的功能。因為內網之間不會通過私有地址直接通信,所以不同的內網之間可以重用兩樣的私有地址空間,這樣就可以解決大量用戶對IP地址的需求。按照地址轉換方式,可以分為以下兩類:

1.1 基礎NAT

基礎NAT將私有地址轉換成公網地址,但并不將TCP用DP端口信息進行轉換,它將公網地址與內部主機進行綁定,使得外部可以用公網IP地址訪問內部主機。如果私有地址和公網地址為一一對應的映射關系,則稱為靜態綁定;如果公網地址是在主機訪問外網時臨時分配的,則稱為動態綁定。動態綁定僅在一定時間內有效,需要定時刷新。該類NAT的主要目的并非地址擴展,而是配合防火墻隔離私有網絡,并對內部主機訪問外部實施控制。

1.2 網絡地址和端口轉換(NAPT)

這類方式比較普遍,網絡地址/端口轉換器檢查、修改包的IP地址和TCP/UDP端口信息,這樣,更多的內部主機就可以同時使用一個公網IP地址。該類NAT的主要目的是實現地址擴展。由于NAT,穿越的端口號將改變,它給許多應用帶來影響。按照地址映射的實現方式,可以分為以下四類:

1)全錐形(Full Cone)NAT

當內部主機發起一個至外網的會話時,NAT為其建立一個私有地址和公有地址之間的綁定,其后該主機至外網的任意會話將重用這個公有地址到達該內部主機。只要有一個連接會話存在,這個綁定就始終保持激活狀態。如圖4一1所示。NAT會將客戶機地址轉換成公網地址并綁定,任何數據包都可以通過地址送到客戶機的地址上。

2)地址受限錐形(Address Restrieted Cone)NAT

和全錐形NAT相同,當內部主機發起一個至外網的會話時,NAT為其分配一個公有地址。不同的是,該地址不能自動為其基于PIC單片機的網絡嵌入式系統研究它外網主機使用,必須由該內部主機首先向外網主機發送數據包后,這個外網主機才能通過該地址向內部主機發送數據。這樣可拒絕未經請求的數據進入,支持防火墻的過濾功能。NAT會將客戶機地址轉換成公網地址并綁定,只有來自主機

的數據包才能與主機通信。

3)端口受限錐形(Port Restricted Cone)NAT

和地址受限NAT類似,只是限制范圍從IP地址擴展到地址,即只有當內部主機向某個外部的地址發送數據包后,該外部的地址才能通過映射后的地址進入內網。NAT會將客戶機地址轉換成公網地址并綁定,只有來自主機的數據包才能和主機通信。

4)對稱形(Synunetric)NAT

和錐形NAT不同,它的地址綁定只能用于指定的內網地址和外網地址對,也就是說,對于每一個內外網的地址對之間的會話必須單獨分配一個地址映射綁定。NAT會將客戶機地址轉換成公網地址并綁定為|<->,NAT只接受來自的數據包,將它轉給,每次客戶機請求一個不同的公網地址和端口,NAT會新分配一個端口號

2 實用高效的NAT穿透技術的設計

嵌入式系統的工作性質決定了它與外網主機通信都是由對方發起連接,同時考慮到局域網大部分應用是錐形NAT,本研究局主要為域網外的主機穿透錐形NAT,和嵌入式設備通信的技術。

局域網外的主機分為兩種:擁有公網IP或擁有私網IP。

2.1 公網主機與局域網嵌入式設備通訊方法

擁有公網IP的主機因為無法知道嵌入式設備在NAT,上映射的公網IP地址和端口,它無法向嵌入式設備發送任何數據包,這得提供第三方的幫助才能讓彼此建立連接。工作在局域網的嵌入式系統通過NAT時被網關映射成公網地址和端口并與服務器保持會話,當公網主機C想和嵌入式系統X連接時,它先從服務器S獲取x的公網地址和端口對。此時主機C能否通過直接向嵌入式系統x發送數據包呢?如果是Full Cone是可以的,但Address/Port Restricted Cone會丟棄這種數據包。

針對地址或端口受限的錐形NAT,需要局域網內的嵌入式系統X打一個“洞”,這個“洞”的方向是,以后主機C就可以通過發送數據包了,這就是UDPHolePunching技術。這個“洞”只能由局域網內的X來打,當然讓X向外網打洞的命令由服務器S來發送。

主要過程為:公網IP主機圭動連接局域網內嵌入式設備的過程,首先,主機C向服務器S獲取嵌入式系統X的外網地址和端口,同時請求服務器S向嵌入式系統X發送打洞命令,當主機C收到嵌入式系統X的數據包時,NAT穿透成功,主機C和嵌入式系統X建立聯系。

2.2 私網主機與局域網嵌入式設備通訊方法

相比公網IP主機而言,私網IP主機連接局域網內的嵌入式系統就要復雜一些,因為都不知道對方的公網IP和端口,誰也無法主動發出連接請求。借助于第三服務器的幫助,首先嵌入式系統X通過NATA時分配公網IP和端口對并與服務器S建立連接,同樣主機C通過NAT B時分配公網IP和端口對也與服務器S建立連接。

這時嵌入式系統X和主機C都可以與服務器S進行通信,主機C不能通過服務器S獲取X的公網地址和端口對而直接向x發送數據包,因為從X到方向的“洞”還沒有打通。

步驟1:主機C先從服務器S獲取X的公網地址和端口對,同時請求服務器S向嵌入式系統x發送打“洞”命令;步驟2:服務器S向嵌入式系統X發送主機C的公網地址和端口對并命令X向方向打“洞”;步驟3:嵌入式系統X接收到命令后向由網關A轉交給X,雙方的通信成功建立。

3 嵌入式系統實現NAT穿透技術

局域網外的主機主動連接嵌入式系統考慮了兩種情形:主機擁有公網IP或擁有私網IP。實現上述的通信,首先得找一臺擁有公網IP地址的第三方充當服務器的角色,并且在服務器和客戶機上得安裝相應的NAT,穿透軟件。如何讓嵌入式系統完成NAT穿透技術中的工作?工作在局域網內的嵌入式系統需要處理的是三個任務:定時刷新與服務器通信的端口以保持會話;接收并解析服務器的命令;打一個方向為特定地址和端口的“洞”。

3.1 保持和服務器通信技術

當嵌入式系統向擁有公網IP地址的服務器登錄時,網關會在NAT轉換時給其分配公網IP地址和端口,只要此UDP會話有效,服務器都可以通過此公網IP地址和端口和嵌入式系統通信。問題是,這個UDP會話能保持多久呢?這得依具體情況而定。因此,為了保持和服務器通信,嵌入式系統得定時刷新這個公網地址和端口。

本研究采取的辦法是每隔一分鐘向服務器發送一個保持激活的數據包,以維持這個公網IP地址和端口對的有效性。具體實施的方法是:復用了定時器2,它在UDP數據包的發送過程中己經被使用,復用可以提高效率節省硬件資源。在定時器2的中斷服務程序中,定義一個記錄分鐘的變量,每當一分鐘時間到就將發送保持激活數據包的信號量置1,然后退出中斷服務程序。在程序的主循環中查詢發送保持激活數據包的信號量是否為1,如果使能就向服務器發送保持激活數據包,否則繼續執行其它的任務,這部分的邏輯處理如圖1所示。

圖1 Timer2中斷服務程序和主循環處理

3.2 解析服務器技術

發送給服務器的保持激活數據包的格式措施為:封裝好一個UDP包,其中填寫服務器的端口號和IP地址,然后調用發送此UDP包的函數即可。

接收并解析服務器的命令是依賴于接收判別數據包的函數,系統接收到來自服務器的特定SOCKET的數據包,服務器的命令數據包會調用解析函數來處理,解析函數首先檢查UDP有效負載中的前2個字節是否為命令字(自定義為:0xAA,0x55),如果是則繼續從UDP中的有效負載中分離出想連接嵌入式系統的主機的公網IP地址和端口號;否則退出解析過程。

3.3 UDP數據包發送

現在有了該主機的公網IP(它可能是該主機自己的IP,也可能是其網關在NAT時分配的IP)和端口信息,這個UDP數據包就很容易封裝,跟發送保持激活數據包相似,最后調用發送數據包函數將包發送出去。這樣嵌入式系統向想連接嵌入式系統的主機就可以發送打“洞”的UDP數據包。

4 結論及建議

考慮到嵌入式系統絕大部分工作是局域網且由外網主機主動發起連接,本研究關注了NAT穿透技術的實現。首先,對NAT的原理和分類進行了詳細的闡述;然后,分析了針對分別擁有公網IP和私網IP的主機的NAT穿透技術;最后,講述了本嵌入式系統具體實現方法。

在NAT穿透技術的實現當中,缺少對symmetric(對稱形)NAT洞穿技術的研究,它在某些場合下也會有應用;安全性能不強,應用層協議的設計缺乏基于加密的握手協議,這給一些未經授權的主機非法操作本嵌入式系統提供了機會。

[1]田澤.嵌入式系統開發與應用教程[M].北京:北京航空航天大學出版社,2005,3.1-3.

[2]李兵建.基于嵌入式Intemet的遠程電網參數實時檢測系統的設計[D].江蘇:江蘇大學,2008:23-39.

[3]Deitel,GoldBerg.Intemet&Worrld Wide Web How to Program.3th Edition.Prentice Hall,2004.321-330.

[4]楊恢先,等編著.單片機原理及應用[M].長沙:國防科技大學出版社,2003:253-259.

[5]Simon,D.E,著,陳西群,等譯.嵌入式系統軟件教程.[M]北京:機械工業出版社,2005,09:120-128.

[6]StuartRBallPE.嵌入式微處理器系統設計實例[M].北京:電子工業出版2004:136-144.

[7]John Catsoulis.Designing Embedded Hardware[M].OReilly-Media Inc.2002:97-113.

[8]沈紅衛.單片機應用系統設計實例與分析[M].北京:北京航空航天大學出版社,2003:258-262.

猜你喜歡
嵌入式系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
主站蜘蛛池模板: 91区国产福利在线观看午夜| 中文字幕永久在线看| 91欧洲国产日韩在线人成| 国产美女91视频| 久久久久久午夜精品| 中文字幕波多野不卡一区| 日本久久久久久免费网络| 国产在线拍偷自揄观看视频网站| 91在线一9|永久视频在线| 亚洲 成人国产| 91精品专区| 亚洲欧美人成人让影院| 午夜不卡福利| 国产精品开放后亚洲| 久久精品国产精品一区二区| 亚洲人成日本在线观看| 国产人免费人成免费视频| 亚洲人网站| 国产视频欧美| 国产特一级毛片| 日韩欧美国产成人| 久久综合亚洲鲁鲁九月天| 在线播放精品一区二区啪视频| 欧美A级V片在线观看| 婷婷综合色| 国产成人免费高清AⅤ| 国产香蕉国产精品偷在线观看| 国产免费怡红院视频| 97se亚洲| 久久久久亚洲精品成人网| 中文无码影院| 国产在线无码一区二区三区| 亚洲中文字幕久久无码精品A| 久久亚洲国产一区二区| 97se亚洲综合在线韩国专区福利| 狠狠亚洲婷婷综合色香| 永久在线精品免费视频观看| 毛片免费在线视频| 激情综合婷婷丁香五月尤物| 亚洲人妖在线| 日韩欧美国产三级| 四虎影视库国产精品一区| 日本亚洲欧美在线| 一级毛片免费高清视频| 色综合天天综合中文网| 东京热高清无码精品| 在线观看国产一区二区三区99| 国产三区二区| 欧美成人午夜视频| 久久一色本道亚洲| 色综合天天视频在线观看| 午夜视频免费试看| 91麻豆精品国产高清在线| 中文字幕无线码一区| 中国美女**毛片录像在线| а∨天堂一区中文字幕| 波多野衣结在线精品二区| a级毛片免费网站| 欧美一区福利| 精品综合久久久久久97超人| 国产爽妇精品| 免费高清a毛片| 伦伦影院精品一区| 99久久国产综合精品2020| 欧美综合区自拍亚洲综合绿色| 国产后式a一视频| 国产精品久久精品| 欧美综合中文字幕久久| 四虎永久在线| 黄色污网站在线观看| 亚洲色图欧美一区| 亚洲国产欧美国产综合久久 | a级毛片一区二区免费视频| 亚洲成在线观看| 超碰91免费人妻| 一区二区三区成人| 91在线播放免费不卡无毒| 欧美特级AAAAAA视频免费观看| 国产永久无码观看在线| 亚洲av无码牛牛影视在线二区| 国产精品深爱在线| 日韩高清无码免费|