亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PIC單片機局域網(wǎng)嵌入式NAT穿透技術研究

        2010-08-23 08:33:26尹會明
        制造業(yè)自動化 2010年3期
        關鍵詞:外網(wǎng)公網(wǎng)局域網(wǎng)

        尹會明

        YIN Hui-ming

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

        0 引言

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

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

        1 NAT地址轉(zhuǎn)換技術

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

        1.1 基礎NAT

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

        1.2 網(wǎng)絡地址和端口轉(zhuǎn)換(NAPT)

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

        1)全錐形(Full Cone)NAT

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

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

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

        的數(shù)據(jù)包才能與主機通信。

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

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

        4)對稱形(Synunetric)NAT

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

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

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

        局域網(wǎng)外的主機分為兩種:擁有公網(wǎng)IP或擁有私網(wǎng)IP。

        2.1 公網(wǎng)主機與局域網(wǎng)嵌入式設備通訊方法

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

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

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

        2.2 私網(wǎng)主機與局域網(wǎng)嵌入式設備通訊方法

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

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

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

        3 嵌入式系統(tǒng)實現(xiàn)NAT穿透技術

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

        3.1 保持和服務器通信技術

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

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

        圖1 Timer2中斷服務程序和主循環(huán)處理

        3.2 解析服務器技術

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

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

        3.3 UDP數(shù)據(jù)包發(fā)送

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

        4 結(jié)論及建議

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

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

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

        [2]李兵建.基于嵌入式Intemet的遠程電網(wǎng)參數(shù)實時檢測系統(tǒng)的設計[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,著,陳西群,等譯.嵌入式系統(tǒng)軟件教程.[M]北京:機械工業(yè)出版社,2005,09:120-128.

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

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

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

        猜你喜歡
        外網(wǎng)公網(wǎng)局域網(wǎng)
        淺析大臨鐵路公網(wǎng)覆蓋方案
        中國新通信(2022年4期)2022-04-23 23:04:20
        內(nèi)網(wǎng)和外網(wǎng)間的同名IP地址轉(zhuǎn)換技術及應用
        公網(wǎng)鐵路應急通信質(zhì)量提升的技術應用
        基于VPN的機房局域網(wǎng)遠程控制系統(tǒng)
        電子制作(2019年16期)2019-09-27 09:35:04
        電子政務外網(wǎng)的安全管理研究
        基于802.1Q協(xié)議的虛擬局域網(wǎng)技術研究與實現(xiàn)
        電子制作(2017年17期)2017-12-18 06:40:48
        局域網(wǎng)性能的優(yōu)化
        電子制作(2017年8期)2017-06-05 09:36:15
        內(nèi)外網(wǎng)隔離條件下如何實現(xiàn)郵件轉(zhuǎn)發(fā)
        基于公網(wǎng)短信的河北省高速公路數(shù)據(jù)傳輸應用
        我國警用通信專網(wǎng)與公網(wǎng)比較研究
        警察技術(2015年3期)2015-02-27 15:36:53
        亚洲精品字幕在线观看| 一区二区视频中文字幕| 日韩亚洲欧美久久久www综合| 台湾无码av一区二区三区| 国产精品毛片无码久久| 中文字幕日本韩国精品免费观看| 99国产精品久久一区二区三区 | 国产成人综合亚洲看片| 久久精品夜夜夜夜夜久久| 无码人妻专区一区二区三区| 国产精品亚洲一区二区三区在线| 成年女人a级毛片免费观看| 亚洲精品久久无码av片软件| 亚洲成aⅴ人片在线观看天堂无码| 久久国产精品色av免费看| 成人欧美一区二区三区在线观看| 亚洲巨乳自拍在线视频| 伊在人亚洲香蕉精品区麻豆| 国产亚洲av综合人人澡精品| 久久青青草原精品国产app| chinese国产乱在线观看| 亚洲av五月天天堂网| 国产av剧情一区二区三区| 天天躁日日躁狠狠很躁| 青草网在线观看| 人妻被公上司喝醉在线中文字幕| 大地资源高清在线视频播放| 男女野外做爰电影免费| 久久久久亚洲AV无码去区首| 三上悠亚亚洲精品一区| 国产一区二区三区四区五区加勒比| 亚洲男人天堂2017| 亚洲无人区乱码中文字幕| 中文字幕亚洲无线码在线一区| 无码国产色欲xxxxx视频| 91热爆在线精品| 亚洲中文字幕日韩综合| 亚洲精品美女久久久久久久| 女女同性黄网在线观看| 久久老熟女一区二区三区| 亚洲精品色婷婷在线影院|