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

基于LwIP協議棧的PCP協議的設計

2014-01-16 05:58:00劉艷萍司賽騰趙連環
電子設計工程 2014年14期

劉艷萍,司賽騰,趙連環

(1. 河北工業大學 信息工程學院,天津 300401;2.唐山世佳電子有限公司 河北 唐山 063020)

隨著近些年來網絡的普遍化,嵌入式設備的網絡接入已經成為主流趨勢。嵌入式設備的網絡化與串口通信技術相比,它是一種低成本、高性能的使用方案。同時也為測量與儀器技術帶來了前所未有的發展空間和機遇,網絡化測量技術與具備網絡功能的新型儀器應運而生。 LwIP的出現,讓嵌入式產品在互聯網通信方面的使用更方便。現在的網絡通信過程中,除了個別場所使用的是靜態的IP地址,大部分的IP地址都是使用DHCP協議來取得的。主機的網絡連接有兩種情況,一是網絡直接連接主機,進行地址映射的可能性比較小;另外,主機處于內部私網,能夠使公網的IP地址映射到內部的私網地址。PCP協議是在LwIP協議棧的基礎上,提出動態的地址映射,使操作更加方便。

1 Lw IP協議棧簡介

LwIP 協議棧[1]是瑞士計算機學院(SICS)的 Adam Dunkels開發的一套用于嵌入式系統的開放性 TCP/IP 協議棧。它們占用大約20k 大小的 RAM 和 60k 左右的 ROM 的空間 ,很適合 與 μC/OS-II 操作系統相配合使用。 最新的LwIP 版本到了1.4.1,這個實現了較為完備的 IP、ICMP、IGMP、UDP、TCP、DHCP、DNS、PPPOE 等協議[2]。

圖1 LwIP 協議棧協議Fig. 1 LwIP stack protocol

對于不同的協議進行不同的分層,圖1中給出了LwIP 協議棧所包含的協議,其中的DHCP和DNS協議包含在應用層的對應的UDP的應用協議中,其他的各種應用進程是根據用戶的據圖需要,傳輸層和網絡層所顯示的是LwIP協議棧的各種協議,網絡接口層的網絡接口用來實現數據傳輸。

各層之間的協議,為了實現兼容協議標準,實現互聯網的接入,需要嚴格的遵循協議模型,不過,由于LwIP 協議棧是面向各種嵌入式設備的,為了減少內存的消耗,采用靈活的數據包存儲機制,發送和接收的數據在各層協議之間不需要拷貝。

2 PCP協議簡介

PCP是端口控制協議[3],是新提出的一種端口映射協議,它在原有的端口映射協議的基礎上提出了兼容IPv6、第三方控制等新功能。原有的端口映射協議主要實現的是IPv4的地址協議之間的相互映射。為了IPv6協議的推廣,PCP協議就隨之出現。PCP既可以實現IPv4協議之間的映射和IPv6協議之間的映射,又能完成IPv6協議[4]和IPv4協議之間的映射。

PCP是一種標準的應用層協議,使用UDP的 5350 和5351端口號以請求、應答的方式來實現。如圖2所示,給出了PCP 協議的網絡OSI模型。PCP服務器端使用的端口號是 5350,而客戶端的端口號是 5351,這里分開的原因主要是UDP的端口號 5350 用于服務器端對端口的監聽,而UDP的端口號 5351 則用于客戶端對端口的監聽。一個網絡設備通常既需要作為某些設備的服務器,同時它又是某個設備的客戶端,對于某些操作系統來說,不能夠使用一個端口來實現這種通信方式,為了使通信變得更加簡單,應用的更加廣泛才做出這種不同端口的設置[5]。PCP協議的提出,能夠在原有私有IP地址和公有的IP地址映射的基礎上,擴大了映射的可操作性。

圖2 PCP 協議的OSI模型Fig. 2 PCP protocol OSI model

3 Lw IP協議棧的PCP協議設計

PCP協議的提出是為了實現公網IP地址與私網IP地址之間的映射,能夠更好的對私網設備進行通訊。PCP協議的實現是基于UDP協議的通訊協議,發送請求報文到對應的服務器端,以請求、響應的方式進行。對于PCP操作存在兩種操作方式,一是使用MAP映射操作;二是使用PEER映射操作。為了能夠保證連接的順利傳輸,就需要同時建立MAP和PEER協議。PCP協議的運用遵循普遍的服務器、客戶端模型。不同的映射操作,所對應的服務器和客戶端不同。

3.1 MAP映射的建立

當數據通過路由器或者防火墻,由外部網絡向內部網絡傳輸的時候,MAP映射需要被建立。如圖3給出了數據從外部網絡經過中間的網絡隔離器傳輸到內部主機的過程。

圖3 私網主機的數據包輸入Fig. 3 Private network host packet input

由于外網的公網地址的地址簇類型不能夠確定或者外部網絡不能夠穿越防火墻,所以路由器或者防火墻就需要一個指向內部主機的映射。映射建立需要以下步驟:

1) 中間的網絡隔離器,需要創建一個MAP請求,然后發送給內部主機。2) 內部主機接收響應,檢查是否是正確的請求數據包,給出對應響應。3) 路由器或者防火墻收到發送的響應后,檢查響應包,記錄映射,完成MAP映射的創建。

在MAP映射創建過程中,當收到錯誤代碼的響應包時,根據不同情況來處理;當接受不到響應包時,根據規則對請求包重發。

MAP映射成功建立后,當數據包從外部網絡傳輸路由器或者防火墻時,我們對其進行數據包的更改,然后發送給內部主機,內網和外網之間可以是不同的地址協議。

3.2 PEER映射的建立

當數據通過路由器或者防火墻,由內部網絡向外部網絡傳輸的時候,PEER映射需要被建立。它用來完成地址的映射。如圖4,給出了數據從內部主機經過中間的網絡隔離器傳輸到外部網絡的過程。

圖4 私網主機的數據包輸出Fig. 4 Private network host packet output

由于內部網絡的IP地址不能夠傳輸到公網上,所以路由器或者防火墻就需要一個由內部主機指向網絡路由器的公網IP的地址映射。映射建立需要以下步驟:

1)內部主機需要創建一個PEER請求,然后發送給路由器或者防火墻。2)路由器或者防火墻接收響應,檢查是否是正確的請求數據包,給出對應響應。3)內部主機接收到發送的響應后,檢查響應包,記錄映射,完成PEER映射的創建。

對于PEER映射的建立,同MAP映射的建立相類似,不同的是,一個是由內部主機到中間的網絡隔離器的映射,一個是中間的網絡隔離器到內部的映射。

3.3 MAP映射和PEER映射的操作碼選項

PCP協議包括MAP映射和PEER映射,數據從外部公網與內部主機完成通信,這兩個映射都需要創建。上邊給出的常見的做法,除此之外,映射在創建過程中,均可以由第三方來發起。

PREFER_FAILURE選項只能使用在MAP操作碼,用來表明如果建議的外部端口和地址不能被映射的話,PCP服務器不應創建一個可選的映射。

FILTER這個選項只使用于MAP操作碼,對于無線設備通常用性能優化,這不必專門為了不想要的流量而喚醒。由于所有使用PCP去接收輸入連接的軟件的情況,可能直接連接到網絡和接收不受限的輸入TCP連接和UDP數據包。

所有的PCP服務器對每個MAP映射操作至少需要一個過濾器,用于控制和處理通信過程中數據傳輸。

3.4 PCP 安全問題

當發生突變問題時,就會發生丟失了它的映射狀態。這就需要考慮映射的恢復,正常的映射建立需要幾個小時的時間,為了縮短時間提出了一種快速恢復機制。通過服務器端發送廣播數據包。

一個NAT網關重啟時,一般采用的是DHCP協議,就會引起外部IP的變化,就需要采用一個映射更新數據包,用于建立新的映射連接。

3.5 PCP映射的刪除

PCP映射的刪除,主要是由于服務器端響應的數據包中的所分配的時間到期了,如果不進行重新的映射建立,就需要刪除該映射。

對于MAP映射的操作,有這幾種情況:1)請求數據包的端口號和協議號都不為0,請求的時間是0,這時立即刪除對應映射。2)請求數據包的端口號和協議都為0,請求的時間是0,這時表示應該刪除所有的映射。3)請求數據包的端口號為0,協議號不為0,請求的時間是0,表示所有的有映射的端口號都需要刪除;反之,是錯誤情況,應該返回錯誤代碼。

如果發送的刪除數據包是為了刪除一個靜態的映射,這樣就會返回一個沒有操作權限的錯誤數據包;當請求的刪除映射已經不存在時,返回操作成功的響應包;如果設備允許第三方操作,就可以利用由第三方來刪除相應的映射。

4 結束語

隨著網絡從最初的ARPAnet網絡[6]到現在全球范圍內的互聯網。為了適應通信系統,網絡協議變的越來越復雜。從最初單一的點對點的通信通信方式,變的更加的多樣化。最初IPv4地址的要枯竭的時候,提出了IPv6協議,然而由于網絡協議更新所帶來的巨大的設備更新,于是為了在不用更換設備的前提下,暫時提出了一種DHCP的動態地址分配協議和私網地址的使用。為了能夠使用公網和私網的通信,NAT協議就出現了。雖說做出這些變化,依然不能夠改變IPv6協議的更新換代,這樣就會存在一個IPv4和IPv6地址協議共存的特殊時期,所以實現協議的兼容是非常重要,PCP協議的應用在未來一段時間內是很重要的。

[1]Dunkels A. Design and implementation of the lwIP TCP/IP stack[J]. Swedish Institute of Computer Science ,2001:5-15

[2]Stevens W R. TCP/ IP詳解卷1:協議[M] .范建華,等譯.北京:機械工業出版社 ,2007.

[3]D W Ed, Cheshire S. IETF RFC6887: Port Control Protocol[EB/OL] .www.ietf.org/rfc/rfc6887.txt April 2013.

[4]Deering S,Hinden R. IETF RFC2460: Internet Protocol,Version6[EB/OL] .www.ietf.org/rfc/rfc2460.txt 1998 .

[5]Cheshire S, Krochmal M. IETF RFC6886: NAT Port Mapping Protocol[EB/OL] . www.ietf.org/rfc/rfc6886.txt 2013.

[6]Roberts L.The arpanet and computer networks[J].HPW'86 Proceedings of the ACM Conference on The history of personal workstations 1986:51-57.

主站蜘蛛池模板: 婷婷综合色| 国产又大又粗又猛又爽的视频| 精品福利视频网| 国产欧美日韩va| 在线日韩一区二区| 欧美国产日韩在线| 2021国产乱人伦在线播放| 国产免费久久精品44| 精品91视频| 国产91蝌蚪窝| 国产精品密蕾丝视频| 日本www色视频| 黄色在线不卡| 国产日韩欧美一区二区三区在线| 香蕉国产精品视频| 国产精品自拍露脸视频| 中文字幕无码av专区久久| 国产剧情国内精品原创| 中文纯内无码H| 一级爆乳无码av| 91人妻在线视频| 久久综合九色综合97婷婷| 亚洲欧美在线精品一区二区| 亚洲女同欧美在线| 国产精品不卡永久免费| 中文字幕在线观| 综合亚洲网| 三级国产在线观看| 99久久精彩视频| 国产国模一区二区三区四区| 精品国产网| 欧美成人综合视频| 欧美精品在线免费| 国产成人精品一区二区不卡 | 欧美中文字幕在线二区| 日韩精品一区二区三区大桥未久| 99热这里只有免费国产精品| 97视频精品全国在线观看 | 久久国产乱子| 亚洲成人黄色在线| 久久九九热视频| 亚洲最大综合网| 欧美中文字幕无线码视频| 免费看久久精品99| 亚洲色欲色欲www网| 国产免费福利网站| 中文字幕资源站| 国产午夜精品一区二区三区软件| 久久久国产精品无码专区| 99re热精品视频中文字幕不卡| 孕妇高潮太爽了在线观看免费| 国产JIZzJIzz视频全部免费| 69视频国产| 激情無極限的亚洲一区免费| 一区二区三区毛片无码| 91亚瑟视频| 午夜视频免费试看| 国产精品自在线拍国产电影| 四虎永久在线精品影院| 九九久久精品免费观看| 国产日产欧美精品| 国产精品美女免费视频大全| 99久久精品国产综合婷婷| 欧美成人免费| 国产极品美女在线播放| 精品五夜婷香蕉国产线看观看| 91精品国产一区| 国产精品女在线观看| 无码又爽又刺激的高潮视频| 黄色网在线| 国产波多野结衣中文在线播放| 久久精品无码专区免费| 久久青草热| 日本一区二区三区精品国产| 久久国产精品影院| 国产毛片高清一级国语 | 欧美v在线| 天堂网国产| 青草视频免费在线观看| 毛片网站免费在线观看| 偷拍久久网| a级毛片视频免费观看|