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

微型嵌入式TCP/IP協議棧開發

2014-01-21 00:53:24顏詩洋
電子設計工程 2014年22期
關鍵詞:嵌入式設備

顏詩洋

(河海大學 計 算機與信息學院,江蘇 南 京 2 10098)

網絡技術是影響人類的重大技術之一,隨著網絡技術的不斷發展,出現了各種網絡接入設備。但是,以特定功能為中心的小型嵌入式系統的網絡化越來越引起人們的注意。對于單片機技術為核心小型嵌入式設備,如何將其接入到互聯網,以實現信息與資源的共享成為研究的熱點問題。

目前嵌入式網絡的主要實現方法,就是在嵌入式設備中實現TCP/IP協議棧。TCP/IP協議是網絡互聯的標準協議,如果能夠在嵌入式設備中實現TCP/IP協議棧,也就能夠實現了嵌入式設備之間及與其他接入設備的網絡互聯。文中針對8位及16位機,開發了一種微型TCP/IP協議棧,實現了該協議族中主要的協議,并對其進行了測試。

1 TCP/IP協議棧介紹

TCP/IP協議最先是在UNIX系統里實現的,后來的LINUX、DOS、Windows也實現了TCP/IP,隨后TCP/IP協議也被移植到其它嵌入式的處理器上。由于資源的原因,不可能在8位機上直接移植LINUX的協議棧。完整的TCP/IP協議族有幾百種通信協議組成,在小型嵌入式設備中,只需根據需要移植幾種最重要的協議即可。

下面對本文需要實現的不同層內的協議進行介紹:

1)應用層

應用層基本上是根據需求來進行設計,如果需要網頁服務,則需要實現HTTP協議,類似的如果需要實現Email功能,則要實現相應的SMTP協議。

2)傳輸層

實現傳輸層協議需要與應用層的協議相適應[1]。如果只實現了UDP協議而沒有實現TCP協議,則應用層與TCP協議對應的HTTP,FTP,TELNET都無法實現,只能實現TFTP等協議[2]。為了能實現更多的應用層協議,滿足實際需求,本文實現了傳輸層的TCP與UDP協議。

3)網絡層

網絡層的IP協議是整個TCP/IP協議族中最核心和最重要的協議[2],它是不同網絡之間進行互聯的必要條件,也是其他高層協議賴以運行的基礎,為了使TCP/IP協議棧能夠完成基本工作,必須實現IP協議。

而對于網絡層的ICMP協議,出于對系統資源的考慮,在嵌入式Web服務器應用中,只要實現回送請求和回送應答就足夠了。

一般都認為ARP協議屬于網絡層,在以太網的協議中,數據傳輸都要以網卡的MAC地址作為唯一的標識,因此需要將IP地址轉換為物理上的MAC地址,對于TCP/IP協議棧來說,這種轉換是必不可少的,因此要實現ARP協議。

4)鏈路層

由于現代集成電路技術的發展,出現了很多集成以太網協議的網卡,這些網卡能夠在硬件上實現以太網的協議,只要開發相應的驅動程序即可。

2 TCP/IP協議棧開發與實現

2.1 ARP協議的實現

ARP(Address Resolution Protocol)稱作地址解析協議,是TCP/IP協議族中重要的組成部分,主要負責將IP地址轉換成物理MAC地址,ARP協議的基本功能就是根據IP地址,能夠查詢相應的物理MAC地址,從而保證可靠的通信。

通用計算機系統中,ARP高速緩存一般設計成雙向數據鏈的形式,這樣整個緩存可以方便地進行動態增減。但對資源有限的嵌入式系統來說,這顯然是不現實的。因此ARP的地址緩存采用了線性數組形式的結構。它在內存中是連續線性存儲的,這樣做的優點是查找速度快。

ARP定時器在ARP協議的實現時是必要的,當嵌入式設備發送ARP請求后,網絡上并無反應,這時,如果ARP定時時間到,就應當重新發送ARP請求。

對ARP表的維護在ARP協議的實現中也是至關重要的,ARP表就是IP地址和MAC地址對應的表項[3],在嵌入式系統中,可以設置ARP表老化的時間為20分鐘,如果20分鐘時間到,則將ARP表項移除,從新的ARP請求—回應關系來獲取新表項。

2.2 IP協議的實現

IP協議是TCP/IP協議族中最為核心的協議,所有TCP,UDP,ICMP都要通過IP封包的形式實現傳輸,但是IP提供的是無連接,不可靠的服務。

在通過計算機的網絡實現中,IP比較復雜,但在嵌入式TCP/IP協議棧中,只需實現IP的發送,接受,和轉交即可。在通用計算機中,可以處理帶IP選項和IP分片數據包[3],但在嵌入式設備中,沒有大量的數據要處理,這兩項功能可以不實現,而且對于鏈路層是以太網的協議棧,完全可以不考慮分片和重組的功能,這樣大大節省了寶貴的RAM資源,對于TCP/IP協議棧的功能沒有太大影響。

2.3 ICMP協議的實現

ICMP協議是TCP/IP協議族在網絡層的一個子協議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W路通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用。作為服務器方的小型嵌入式設備,只需實現ICMP的回顯請求和應答報文即可[4]。PING是最常用的基于ICMP的服務,為了使用戶測試網絡連接,應當能對PING請求做出應答。

2.4 UDP協議的實現

UDP與TCP協議同屬傳輸層,但是,與TCP協議不同的是,UDP協議提供的是無連接,不可靠的傳輸,因此,UDP主要是為那些需要一種簡單卻快速的運輸協議的應用而設計的。UDP協議沒有復雜的機制,只要按照協議標準實現即可。

2.5 TCP協議的實現

TCP協議提供的是面向連接,可靠的通信服務。因此,TCP的實現機制比較復雜。TCP通過端口號來實現各種應用之間的端到端的連接。在TCP協議中,往返時間估計、定時重傳、滑動窗口協議、流量控制、擁塞控制、TCP連接狀態等都是比較重要的機制。對于通用計算機來說,由于沒有資源的限制,一般都實現了滑動窗口協議,但是對于8位及16位嵌入式設備來說,由于資源的限制,實現比較困難。在8位和16位嵌入式系統中流量控制和擁塞控制也不需要考慮。TCP連接狀態是TCP有限狀態機的必要條件。嵌入式設備是需要作為服務器,因此,可以將標準TCP有限狀態機中的FIN_SENT,FIN_WAIT1,FIN_WAIT2,TIME_WAIT狀態都略去,只實現服務器端的狀態轉換機制。這樣,既節省了系統開銷,同時也保證了所有的數據段都能安全正確地到達目的端[4]。本協議棧實現了TCP的超時重傳機制,提高了傳輸的可靠性。

圖1 TCP連接狀態轉換圖Fig.1 State diagram of the TCP connection

2.6 協議棧的總體結構

在協議棧運行的初始階段,需要進行系統初始化,并啟動所有定時器。接下來,判斷以太網數據有沒有到達,若到達,則進行相應的處理。對于以太網數據包進行處理的流程圖在圖3中給出。若ARP定時器定時時間到,且沒有ARP應答,則重新發送ARP請求。若TCP在連接狀態且無活動一定時間,則啟動關閉連接。同時,如果TCP超時重發時間到,則啟動TCP超時重發機制。根據TCP/IP協議的規定,到達一定時間后,ARP表項就會老化,啟動更新ARP表。

圖2 協議??傮w流程圖Fig.2 Flowchart of the TCP/IP stack

圖3 數據接收流程圖Fig.3 Flowchart of data receiving

3 測試

采用Silicon labs公司的8位機C8051F340及8位以太網卡CP2200搭建平臺,對TCP/IP協議棧進行測試。需移植本協議棧,并編寫網卡驅動程序,除網卡初始化部分外,網卡驅動被封裝成兩個函數,eth_send()和eth_receive()。其中,eth_send()發送以太網數據包,在上層發送數據時被調用。eth_receive()接收以太網數據包,接收到數據包后,即啟動數據接收流程。系統初始化后,設置嵌入式設備的IP地址為固定IP地址,編寫HTTP協議作為應用層,構建Web服務器。測試結果如圖4所示。

圖4 測試結果圖Fig.4 Diagram of testing result

4 結論

本文針對TCP/IP協議和嵌入式設備的特點,對TCP/IP協議族進行了裁剪,使之能夠為嵌入式設備提供服務,同時保證TCP/IP基本功能能夠實現。不同于其他精簡協議棧[5],為了能夠實現Web服務器功能以及其他重要應用層協議,實現了TCP協議?;贑8051F340和CP2200的平臺,對Web服務器進行了測試,測試成功。如果條件成熟,可以考慮將協議棧移植到無線平臺,這樣,各種信息家電和工業設備的就可以更加方便的接入網絡。

[1]陳立家,焦戰立,熊文龍.基于精簡TCP/IP協議棧網絡服務器的實現 [J].武漢理工大學學報:交通科學與工程版,2007,31(3):565-568.CHEN Li-jia,JIAO Zhan-li,XIONG Wen-long.Web Server Based on A Reduced TCP/IP Stack[J].Journal of Wuhan U-niversity of Technology:Transportation Science&Engineering,2007,31(3):565-568.

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

[3]Scaglia S.嵌入式WEB中TCP/IP基礎,實現及應用[M].潘琢金,等,譯.北京:北京航空航天大學出版社,2008.

[4]王海燕,魏洪波.嵌入式WEB中TCP/IP協議棧的設計與實現[J].微計算機信息,2007,23(1-2):59-73.WANG Hai-yan,WEI Hong-bo.Design and Realization of TCP/IP Protocol Stack in the Embedded Web Server[J].Microcomputer Information,2007,23(1-2):59-73.

[5]CHENG Lei,HU Jing-chun.Design and Implementation of Simplified TCP/IP Stack Based on Embedded Network Interface [J].Advances in Intelligent and Soft Computing,2012(2):147-153.

[6]李明,康靜秋,賈智平.嵌入式TCP/IP協議棧的研究與開發[J].計算機工程與應用,2002(16):118-135.LI Ming,KANG Jing-qiu,JIA Zhi-ping.The research and development of embedded TCP/IP stack[J].Computer Engineering and Applications,2002(16):118-135.

[7]LI Yun-chen,Chiang Meiling.LyraNET:a zero-copy TCP/IP protocol stack for embedded operating systems[C]//The 11th IEEE International Conference on Embedded and Real-time Computing Systems and Applications,Hong Kong,2005:123-128.

猜你喜歡
嵌入式設備
諧響應分析在設備減振中的應用
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于VB6.0+Access2010開發的設備管理信息系統
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何在設備采購中節省成本
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 黄色片中文字幕| 2022精品国偷自产免费观看| 国产综合亚洲欧洲区精品无码| 欧美高清国产| 五月婷婷精品| 中文字幕亚洲乱码熟女1区2区| 黄色网在线免费观看| 国产成人免费视频精品一区二区| 欧美黄色网站在线看| 中文精品久久久久国产网址| 欧美一区二区啪啪| 强奷白丝美女在线观看 | 好久久免费视频高清| 国产自在线播放| a在线亚洲男人的天堂试看| 美女裸体18禁网站| 亚洲欧美精品一中文字幕| 青青青亚洲精品国产| 97se亚洲综合在线| 成人久久18免费网站| 久久这里只精品热免费99| 精品国产91爱| 欧美综合成人| 午夜日b视频| 99久久精品国产麻豆婷婷| 欧美黄色a| 五月激情婷婷综合| 成人免费视频一区二区三区| 国产福利在线观看精品| 亚洲首页在线观看| 老司机午夜精品网站在线观看| 亚洲精品无码人妻无码| 亚洲黄色激情网站| 国产幂在线无码精品| 久久精品无码一区二区日韩免费| 台湾AV国片精品女同性| 国产精品无码久久久久AV| 欧美国产日韩在线播放| 亚洲第一色视频| 欧美精品高清| 亚洲精品国产综合99| 一级高清毛片免费a级高清毛片| 国产99精品久久| 国产三级a| 欧美亚洲一二三区| 看国产毛片| 9966国产精品视频| 97超爽成人免费视频在线播放 | 激情爆乳一区二区| 婷婷伊人五月| 一区二区三区毛片无码| 五月婷婷综合在线视频| 亚洲男人的天堂在线| 国产丝袜无码精品| 日本欧美视频在线观看| 日韩一区二区在线电影| 国产精品大白天新婚身材| 欧美亚洲一区二区三区在线| 在线观看无码a∨| 看你懂的巨臀中文字幕一区二区 | 性欧美在线| 欧美一级在线| 精品福利视频网| 四虎影视8848永久精品| 成人韩免费网站| 久久婷婷六月| 72种姿势欧美久久久久大黄蕉| 亚洲无码精彩视频在线观看| 色悠久久久久久久综合网伊人| 亚洲日本中文字幕乱码中文 | 国产午夜在线观看视频| 久久semm亚洲国产| 四虎永久免费地址| 激情综合网址| 亚洲天堂视频在线播放| 456亚洲人成高清在线| 亚洲va在线观看| 亚洲国产在一区二区三区| 99久久婷婷国产综合精| 欧美一区二区自偷自拍视频| 成人国产精品2021| 国产成人久久综合777777麻豆 |