專利名稱:一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng)。
背景技術(shù):
由于hternet技術(shù)已經(jīng)被廣泛應(yīng)用,嵌入式設(shè)備采用TCP/IP協(xié)議簇實現(xiàn)與網(wǎng)絡(luò)互聯(lián)因此具有巨大的優(yōu)勢。傳統(tǒng)的TCP/IP實現(xiàn)能夠運行在具有不同帶寬與誤差率的各種互聯(lián)技術(shù)上。但是,傳統(tǒng)技術(shù)更多專注于在不同網(wǎng)絡(luò)環(huán)境下通信的兼容性問題而非協(xié)議的資源消耗問題,運行一個完全TCP/IP實現(xiàn)至少需要數(shù)百KB的代碼和數(shù)據(jù)內(nèi)存。嵌入式感知節(jié)點為控制成本,具有典型的低資源特點,內(nèi)存與計算資源有限。因此,考慮到實時性和低資源消耗的嵌入式應(yīng)用需求,移植傳統(tǒng)協(xié)議簇不是一個很好的選擇。
發(fā)明內(nèi)容
本發(fā)明是為了解決現(xiàn)有的TCP/IP協(xié)議的運行消耗資源較大,不能滿足現(xiàn)有的嵌入式設(shè)備低資源的特點,并且不能實現(xiàn)實時通信的問題,提出的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng)。一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),它包括應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口層和物理層,應(yīng)用層由SNMP協(xié)議模塊和HTTP協(xié)議模塊組成;它的協(xié)議模塊由PPP協(xié)議模塊、IP協(xié)議模塊、ICMP協(xié)議模塊、UDP協(xié)議模塊和TCP協(xié)議模塊組成,PPP協(xié)議模塊組成網(wǎng)絡(luò)接口層和物理層,IP協(xié)議模塊和ICMP協(xié)議模塊組成網(wǎng)絡(luò)層,UDP協(xié)議模塊和TCP協(xié)議模塊組成傳輸層;所述PPP協(xié)議模塊的核心是簡化版PPP有限狀態(tài)機,所述簡化版PPP有限狀態(tài)機用于在串行鏈路上建立網(wǎng)絡(luò)連接,建立網(wǎng)絡(luò)連接的過程包括廢棄階段、建立階段、網(wǎng)絡(luò)通信階段和終止階段,簡化版PPP有限狀態(tài)機的串行鏈路起始于廢棄階段,當(dāng)有一個外部事件指示物理層已經(jīng)準(zhǔn)備就緒時,簡化版PPP有限狀態(tài)機前進到建立階段,如果建立失敗則返回廢棄階段,如果建立成功LCP進入打開狀態(tài),同時簡化版PPP有限狀態(tài)機進入到網(wǎng)絡(luò)通信階段,在網(wǎng)絡(luò)通信階段IPCP用于協(xié)商網(wǎng)絡(luò)層配置,當(dāng)IPCP達到打開狀態(tài)時,簡化版PPP有限狀態(tài)機的串行鏈路能夠傳遞IP數(shù)據(jù)包,簡化版PPP有限狀態(tài)機具有在任意時刻關(guān)閉網(wǎng)絡(luò)通信的功能,關(guān)閉網(wǎng)絡(luò)通信時進入終止階段終止通信鏈路,在終止階段,LCP通過交換終止包中斷一個鏈接,此時簡化版PPP有限狀態(tài)機返回到初始的廢棄狀態(tài)。本發(fā)明通過分析TCP/IP協(xié)議簇的通信機制,提出了基于模塊化跨層設(shè)計方法,開發(fā)了一套適用于資源受限的嵌入式感知節(jié)點的實時通訊系統(tǒng),根據(jù)對不同處理器的移植得出的性能評估驗證了本發(fā)明小尺寸、低資源消耗的特性,實現(xiàn)了 TCP/IP協(xié)議簇與網(wǎng)絡(luò)的實時互聯(lián)。本發(fā)明采用“模塊化”的設(shè)計,每個協(xié)議塊能夠從通訊系統(tǒng)中輕松地增加和移除, 并且協(xié)議塊的每個功能成分也能增減,因此具有更好的兼容性和系統(tǒng)可擴展性;采用跨層設(shè)計的方法,擴展BSD消息機制,支持數(shù)據(jù)在用戶空間和內(nèi)核空間共享,減少數(shù)據(jù)復(fù)制次數(shù)以降低內(nèi)存開銷;采用靜態(tài)的幀緩存預(yù)分配機制,簡化BSD緩存管理機制。
圖1是本發(fā)明所述的通訊系統(tǒng)實現(xiàn)的協(xié)議模塊;圖2是PPP狀態(tài)機的階段圖。
具體實施例方式具體實施方式
一、一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),它能夠兼容TCP/IP協(xié)議,它包括應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口層和物理層,應(yīng)用層由SNMP協(xié)議模塊和HTTP 協(xié)議模塊組成;它的協(xié)議模塊由PPP協(xié)議模塊、IP協(xié)議模塊、ICMP協(xié)議模塊、UDP協(xié)議模塊和TCP協(xié)議模塊組成,PPP協(xié)議模塊組成網(wǎng)絡(luò)接口層和物理層,IP協(xié)議模塊和ICMP協(xié)議模塊組成網(wǎng)絡(luò)層,UDP協(xié)議模塊和TCP協(xié)議模塊組成傳輸層;所述PPP協(xié)議模塊的核心是簡化版PPP有限狀態(tài)機,所述簡化版PPP有限狀態(tài)機用于在串行鏈路上建立網(wǎng)絡(luò)連接,建立網(wǎng)絡(luò)連接的過程包括廢棄階段、建立階段、網(wǎng)絡(luò)通信階段和終止階段,簡化版PPP有限狀態(tài)機的串行鏈路起始于廢棄階段,當(dāng)有一個外部事件指示物理層已經(jīng)準(zhǔn)備就緒時,簡化版PPP有限狀態(tài)機前進到建立階段,如果建立失敗則返回廢棄階段,如果建立成功LCP進入打開狀態(tài),同時簡化版PPP有限狀態(tài)機進入到網(wǎng)絡(luò)通信階段,在網(wǎng)絡(luò)通信階段IPCP用于協(xié)商網(wǎng)絡(luò)層配置,當(dāng)IPCP達到打開狀態(tài)時,簡化版PPP有限狀態(tài)機的串行鏈路能夠傳遞IP數(shù)據(jù)包,簡化版PPP有限狀態(tài)機具有在任意時刻關(guān)閉網(wǎng)絡(luò)通信的功能,關(guān)閉網(wǎng)絡(luò)通信時進入終止階段終止通信鏈路,在終止階段,LCP通過交換終止包中斷一個鏈接,此時簡化版PPP有限狀態(tài)機返回到初始的廢棄狀態(tài)。所述PPP協(xié)議模塊的核心是簡化版PPP有限狀態(tài)機,所述簡化版PPP有限狀態(tài)機由事件、動作和狀態(tài)組成,其中,事件用于接收到外部命令,并根據(jù)接收到的命令分發(fā)出控制信息給動作,動作用于根據(jù)接收到的控制信息執(zhí)行相應(yīng)的動作,所述動作是指重傳定時器或者發(fā)送數(shù)據(jù)包到對等端,狀態(tài)用于顯示建立網(wǎng)絡(luò)連接過程中LCP和IPCP的不同狀態(tài)。本實施方式中,LCP為LinkControl Protocol,鏈路控制協(xié)議,IPCP為 IP Control Protocol, IP網(wǎng)絡(luò)控制協(xié)議。PPP協(xié)議模塊為Point-to-Point ftOtocol協(xié)議模塊,用于為嵌入式感知設(shè)備提供基于點對點的網(wǎng)絡(luò)互聯(lián)能力。本實施方式中,本發(fā)明實現(xiàn)了一個簡化的有限狀態(tài)機來協(xié)商、配置和管理,考慮到主動模式是STAR系統(tǒng)最常用的工作方式,由STAR系統(tǒng)用戶通過與PPP服務(wù)器通信,主動打開和關(guān)閉一個點對點連接,因此,本發(fā)明的新型網(wǎng)絡(luò)嵌入式設(shè)備通訊系統(tǒng)實現(xiàn)的PPP有限狀態(tài)機是RFC 1661定義的標(biāo)準(zhǔn)狀態(tài)機的子集,支持主動運行模式。STAR系統(tǒng)通過與PPP服務(wù)器主動通信,配置LCP和IPCP參數(shù),建立PPP鏈路連接,并實現(xiàn)IP數(shù)據(jù)包的在PPP鏈路上的傳輸。為了在串行鏈路上建立網(wǎng)絡(luò)連接,串行鏈路的每一端都必須發(fā)送LCP包來配置和測試數(shù)據(jù)鏈路。隨后,IPCP包被發(fā)送用來配置IP協(xié)議。一旦IP層協(xié)議配置完成,IP數(shù)據(jù)包就能夠在這一串行鏈路上傳遞。有限狀態(tài)機由事件、動作以及狀態(tài)轉(zhuǎn)移所定義。事件包括接收到的外部命令(比如Open和Close),重傳定時器超時,以及從對等端接收數(shù)據(jù)包等。動作包括開始重傳定時器,以及發(fā)送數(shù)據(jù)包到對等端,而狀態(tài)則顯示了 LCP和IPCP的不同狀況。本發(fā)明的新型網(wǎng)絡(luò)嵌入式設(shè)備通訊系統(tǒng)包含了一個簡化的PPP狀態(tài)機。它的事件,動作以及狀態(tài)是RFC1661 定義的標(biāo)準(zhǔn)自動機子集。
具體實施方式
二、本實施方式與具體實施方式
一的區(qū)別在于,所述簡化版PPP有限狀態(tài)機建立網(wǎng)絡(luò)連接的過程還包括認證階段,建立階段成功后簡化版PPP有限狀態(tài)機進入到認證階段,認證成功后進入網(wǎng)絡(luò)通信階段,如果認證階段失敗,簡化版PPP有限狀態(tài)機關(guān)閉網(wǎng)絡(luò)通信進入終止階段。本實施方式中,認證階段是可選階段。
具體實施方式
三、本實施方式與具體實施方式
一的區(qū)別在于,所述ICMP協(xié)議模塊作為傳輸層協(xié)議被實現(xiàn),ICMP協(xié)議模塊用于報告錯誤條件以及查詢主機參數(shù)。本實施方式中,ICMP協(xié)議模塊作為傳輸層協(xié)議被實現(xiàn)是為了簡化處理。目前,ICMP 模塊只支持ICMP echo機制,也就是ping功能,當(dāng)收到來自遠端主機的ICMP echo請求包時,自動調(diào)用newjcmpjnput ()響應(yīng),通過交換源與目的IP地址,改變echo消息類型以及重新計算ICMP校驗和,產(chǎn)生ICMP echo應(yīng)答包并將其發(fā)送給IP層接口函數(shù)。
具體實施方式
四、本實施方式與具體實施方式
一的區(qū)別在于,所述IP協(xié)議模塊實現(xiàn)IP數(shù)據(jù)包發(fā)送、接收以及轉(zhuǎn)發(fā)功能。
具體實施方式
五、本實施方式與具體實施方式
四的區(qū)別在于,所述IP協(xié)議模塊實現(xiàn)IP數(shù)據(jù)包接收功能的過程為步驟5. 1,IP協(xié)議模塊調(diào)用newjpjnput ()處理待接收的IP數(shù)據(jù)包;步驟5. 2,判斷IP數(shù)據(jù)包是否發(fā)往本機若是,則調(diào)用對應(yīng)的傳輸層協(xié)議模塊接口函數(shù)執(zhí)行步驟5. 3 ;若否,則調(diào)用new_ip_f0rward()進行轉(zhuǎn)發(fā);步驟5. 3,調(diào)用neW_ip_output ()通過缺省的網(wǎng)絡(luò)接口發(fā)送IP數(shù)據(jù)包。
具體實施方式
六、本實施方式與具體實施方式
四的區(qū)別在于,所述IP協(xié)議模塊實現(xiàn)IP數(shù)據(jù)包發(fā)送功能的過程為步驟6. 1,IP協(xié)議模塊調(diào)用newjpjutput ()處理待發(fā)送的IP數(shù)據(jù)包;步驟6. 2,在所述IP數(shù)據(jù)包中填充IP頭部單元,并計算IP頭部校驗碼;步驟6. 3,調(diào)用neW_ip_r0ute ()尋找可用的網(wǎng)絡(luò)接口和路由;步驟6. 4,調(diào)用網(wǎng)絡(luò)接口的輸出函數(shù)if_0utput完成數(shù)據(jù)傳輸。
具體實施方式
七、本實施方式與具體實施方式
一的區(qū)別在于,所述UDP協(xié)議模塊的工作過程為UDP協(xié)議模塊傳輸數(shù)據(jù)時步驟7. 1,調(diào)用UDP輸出函數(shù)new_udp_sendmsg(),并立即調(diào)用另一個UDP輸出函數(shù)new_udp_output(),輸出函數(shù)new_udp_output ()用于將數(shù)據(jù)封裝為與TCP協(xié)議統(tǒng)一的格式;定義上述兩個UDP輸出函數(shù),此時一個new_packet緩存被分配用于存儲UDP數(shù)據(jù)報; 同時函數(shù)neW_udp_sendmsg()計算UDP數(shù)據(jù)報的校驗和,并填充至UDP數(shù)據(jù)報的頭部;如果應(yīng)用程序沒有指定源IP地址和端口號,系統(tǒng)缺省的IP地址和端口將被指派給這個數(shù)據(jù)報并被賦值給對應(yīng)的socket對,即socket-pair ;步驟7. 2,UDP數(shù)據(jù)報被發(fā)送到IP層;UDP協(xié)議模塊接收數(shù)據(jù)時步驟7. 3,調(diào)用UDP輸入函數(shù)neW_udp_input (),此時函數(shù)檢驗UDP數(shù)據(jù)報的校驗和,如果檢驗校驗和正確,則執(zhí)行步驟7. 4,如果檢驗校驗和不正確,則要求對方系統(tǒng)重新發(fā)送數(shù)據(jù);
步驟7. 4,采用neW_udp_lookup ()從socket隊列中尋找與接收UDP數(shù)據(jù)報相對應(yīng)的socket對;如果找到一個相關(guān)的socket對,將該UDP數(shù)據(jù)復(fù)制到對應(yīng)的socket的數(shù)據(jù)緩存中,在下一次進程調(diào)度中,new_udp_recvmsg()將該UDP數(shù)據(jù)從該socket緩存復(fù)制到應(yīng)用程序的接收內(nèi)存中;被掛起的應(yīng)用程序返回并繼續(xù)后續(xù)的操作,如果沒有發(fā)現(xiàn)對應(yīng)的 socket對,當(dāng)前這個UDP數(shù)據(jù)報被丟棄。
具體實施方式
八、本實施方式與具體實施方式
一的區(qū)別在于,所述TCP協(xié)議模塊是一個標(biāo)準(zhǔn)TCP協(xié)議的子集,實現(xiàn)TCP服務(wù)器的基本功能被動地打開TCP連接、TCP數(shù)據(jù)段傳輸以及主動或被動地關(guān)閉TCP連接。
具體實施方式
九、本實施方式與具體實施方式
八的區(qū)別在于,所述TCP協(xié)議模塊實現(xiàn)TCP數(shù)據(jù)段傳輸功能的發(fā)送數(shù)據(jù)過程為步驟9. 1,接口函數(shù)調(diào)用neW_tCp_SendmSg()處理TCP數(shù)據(jù)傳輸;數(shù)據(jù)被分割為合適尺寸的多個小塊,將每個小塊賦予按次序排列的序列號,所述合適尺寸小于MTU-觀;步驟9. 2,在一個控制循環(huán)里,調(diào)用neW_tCp_output ()傳輸每一個數(shù)據(jù)單元;new_ tcp_output ()從new_packet隊列中選擇一個空閑成員用以存儲TCP數(shù)據(jù)段,存儲TCP數(shù)據(jù)段后,對數(shù)據(jù)段進行校驗,校驗成功后將TCP數(shù)據(jù)段填充在TCP頭部,單獨處理SYN數(shù)據(jù)段; 在傳輸數(shù)據(jù)到newjpjutput ()以前,給該數(shù)據(jù)指派IP地址和端口號,所述IP地址和端口號被賦值給對應(yīng)的socket對。本實施方式中,SYN數(shù)據(jù)段不包含數(shù)據(jù)但可能具有TCP參數(shù),比如,MSS,因為在 neW_paCket結(jié)構(gòu)中TCP頭部具有固定的尺寸,TCP頭部參數(shù)因此不得不存儲在數(shù)據(jù)區(qū)域,但它必須作為頭部的一部分被處理。
具體實施方式
十、本實施方式與具體實施方式
一的區(qū)別在于,所述TCP協(xié)議模塊實現(xiàn)TCP數(shù)據(jù)段傳輸功能的接收數(shù)據(jù)過程為步驟10. 1,IP模塊調(diào)用neW_tCp_input ()函數(shù)處理接收的TCP數(shù)據(jù)段,從socket 隊列里反復(fù)查找可用的socket對;直到找到一個socket對時,執(zhí)行步驟10. 2 ;步驟10. 2,如果接收的是一個SYN數(shù)據(jù)段、FIN數(shù)據(jù)段、或是一個針對SYN及FIN 的ACK數(shù)據(jù)段,則TCP協(xié)議模塊打開或關(guān)閉一個TCP連接;如果接收的是數(shù)據(jù),則將該數(shù)據(jù)復(fù)制到對應(yīng)的socket緩存,在下一次的進程調(diào)度中,new_tcp_recvmsg()將數(shù)據(jù)從socket 緩存復(fù)制到應(yīng)用程序的接收內(nèi)存;步驟10. 3,返回掛起的應(yīng)用程序,繼續(xù)后續(xù)的操作。
具體實施方式
十一、本實施方式與具體實施方式
八的區(qū)別在于,所述的TCP實現(xiàn)功能需要維護三個定時器重傳定時器,延時定時器和2MSL定時器,這三個定時器由系統(tǒng)硬件定時器驅(qū)動,每一次系統(tǒng)硬件定時器被激活,上述三個TCP定時器時間變量遞減,定時器時間變量遞減為零時,特定的動作激活;本發(fā)明所述的新型網(wǎng)絡(luò)嵌入式設(shè)備通訊系統(tǒng)定義的缺省重傳時間是2. 84s,即TMS320C5410處理器200個時鐘滴答,缺省延時時間是 5. 68s,兩倍于重傳時間,缺省2MSL時長為30s。本實施方式中,由于TCP應(yīng)用的數(shù)據(jù)緩存是預(yù)分配的并且總是保持就緒狀態(tài),因此,本發(fā)明所述的新型網(wǎng)絡(luò)嵌入式設(shè)備通訊系統(tǒng)的數(shù)據(jù)重傳不需要重新分配和釋放數(shù)據(jù)緩存空間,同時也不必構(gòu)造新的TCP數(shù)據(jù)段。事實上,TCP數(shù)據(jù)重傳與正常數(shù)據(jù)傳輸相類似, TCP實現(xiàn)的復(fù)雜性并沒有因此而增加。
權(quán)利要求
1.一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),它包括應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口層和物理層,應(yīng)用層由SNMP協(xié)議模塊和HTTP協(xié)議模塊組成;其特征在于它的協(xié)議模塊由 PPP協(xié)議模塊、IP協(xié)議模塊、ICMP協(xié)議模塊、UDP協(xié)議模塊和TCP協(xié)議模塊組成,PPP協(xié)議模塊組成網(wǎng)絡(luò)接口層和物理層,IP協(xié)議模塊和ICMP協(xié)議模塊組成網(wǎng)絡(luò)層,UDP協(xié)議模塊和 TCP協(xié)議模塊組成傳輸層;所述PPP協(xié)議模塊的核心是簡化版PPP有限狀態(tài)機,所述簡化版PPP有限狀態(tài)機用于在串行鏈路上建立網(wǎng)絡(luò)連接,建立網(wǎng)絡(luò)連接的過程包括廢棄階段、建立階段、網(wǎng)絡(luò)通信階段和終止階段,簡化版PPP有限狀態(tài)機的串行鏈路起始于廢棄階段,當(dāng)有一個外部事件指示物理層已經(jīng)準(zhǔn)備就緒時,簡化版PPP有限狀態(tài)機前進到建立階段,如果建立失敗則返回廢棄階段,如果建立成功LCP進入打開狀態(tài),同時簡化版PPP有限狀態(tài)機進入到網(wǎng)絡(luò)通信階段,在網(wǎng)絡(luò)通信階段IPCP用于協(xié)商網(wǎng)絡(luò)層配置,當(dāng)IPCP達到打開狀態(tài)時,簡化版PPP有限狀態(tài)機的串行鏈路能夠傳遞IP數(shù)據(jù)包,簡化版PPP有限狀態(tài)機具有在任意時刻關(guān)閉網(wǎng)絡(luò)通信的功能,關(guān)閉網(wǎng)絡(luò)通信時進入終止階段終止通信鏈路,在終止階段,LCP通過交換終止包中斷一個鏈接,此時簡化版PPP有限狀態(tài)機返回到初始的廢棄狀態(tài)。
2.根據(jù)權(quán)利要求1所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述簡化版PPP有限狀態(tài)機建立網(wǎng)絡(luò)連接的過程還包括認證階段,建立階段成功后簡化版PPP 有限狀態(tài)機進入到認證階段,認證成功后進入網(wǎng)絡(luò)通信階段,如果認證階段失敗,簡化版 PPP有限狀態(tài)機關(guān)閉網(wǎng)絡(luò)通信進入終止階段。
3.根據(jù)權(quán)利要求1所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 ICMP協(xié)議模塊作為傳輸層協(xié)議被實現(xiàn),ICMP協(xié)議模塊用于報告錯誤條件以及查詢主機參數(shù)。
4.根據(jù)權(quán)利要求1所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 IP協(xié)議模塊實現(xiàn)IP數(shù)據(jù)包發(fā)送、接收以及轉(zhuǎn)發(fā)功能。
5.根據(jù)權(quán)利要求4所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 IP協(xié)議模塊實現(xiàn)IP數(shù)據(jù)包接收功能的過程為步驟5. 1,IP協(xié)議模塊調(diào)用new_ip_inpUt ()處理待接收的IP數(shù)據(jù)包;步驟5. 2,判斷IP數(shù)據(jù)包是否發(fā)往本機若是,則調(diào)用對應(yīng)的傳輸層協(xié)議模塊接口函數(shù)執(zhí)行步驟5. 3 ;若否,則調(diào)用new_ip_f0rward()進行轉(zhuǎn)發(fā);步驟5. 3,調(diào)用new_ip_0utput()通過缺省的網(wǎng)絡(luò)接口發(fā)送IP數(shù)據(jù)包。
6.根據(jù)權(quán)利要求4所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 IP協(xié)議模塊實現(xiàn)IP數(shù)據(jù)包發(fā)送功能的過程為步驟6. 1,IP協(xié)議模塊調(diào)用neW_ip_0UtpUt()處理待發(fā)送的IP數(shù)據(jù)包;步驟6. 2,在所述IP數(shù)據(jù)包中填充IP頭部單元,并計算IP頭部校驗碼;步驟6. 3,調(diào)用new_ip_route ()尋找可用的網(wǎng)絡(luò)接口和路由;步驟6. 4,調(diào)用網(wǎng)絡(luò)接口的輸出函數(shù)if_0utput完成數(shù)據(jù)傳輸。
7.根據(jù)權(quán)利要求1所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 UDP協(xié)議模塊的工作過程為UDP協(xié)議模塊傳輸數(shù)據(jù)時步驟7. 1,調(diào)用UDP輸出函數(shù)new_udp_sendmsg 0,并立即調(diào)用另一個UDP輸出函數(shù)new_udp_output (),輸出函數(shù)new_udp_output ()用于將數(shù)據(jù)封裝為與TCP協(xié)議統(tǒng)一的格式;定義上述兩個UDP輸出函數(shù),此時一個new_packet緩存被分配用于存儲UDP數(shù)據(jù)報;同時函數(shù)new_udp_sendmsg()計算UDP數(shù)據(jù)報的校驗和,并填充至UDP數(shù)據(jù)報的頭部;如果應(yīng)用程序沒有指定源IP地址和端口號,系統(tǒng)缺省的IP地址和端口將被指派給這個數(shù)據(jù)報并被賦值給對應(yīng)的socket對,即socket-pair ;步驟7. 2,UDP數(shù)據(jù)報被發(fā)送到IP層;UDP協(xié)議模塊接收數(shù)據(jù)時步驟7. 3,調(diào)用UDP輸入函數(shù)new_udp_input (),此時函數(shù)檢驗UDP數(shù)據(jù)報的校驗和,如果檢驗校驗和正確,則執(zhí)行步驟7. 4,如果檢驗校驗和不正確,則要求對方系統(tǒng)重新發(fā)送數(shù)據(jù);步驟7. 4,采用new_udp_l00kup ()從socket隊列中尋找與接收UDP數(shù)據(jù)報相對應(yīng)的 socket對;如果找到一個相關(guān)的socket對,將該UDP數(shù)據(jù)復(fù)制到對應(yīng)的socket的數(shù)據(jù)緩存中,在下一次進程調(diào)度中,new_udp_recvmsg ()將該UDP數(shù)據(jù)從該socket緩存復(fù)制到應(yīng)用程序的接收內(nèi)存中;被掛起的應(yīng)用程序返回并繼續(xù)后續(xù)的操作,如果沒有發(fā)現(xiàn)對應(yīng)的socket 對,當(dāng)前這個UDP數(shù)據(jù)報被丟棄。
8.根據(jù)權(quán)利要求1所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 TCP協(xié)議模塊是一個標(biāo)準(zhǔn)TCP協(xié)議的子集,實現(xiàn)TCP服務(wù)器的基本功能被動地打開TCP連接、TCP數(shù)據(jù)段傳輸以及主動或被動地關(guān)閉TCP連接。
9.根據(jù)權(quán)利要求8所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 TCP協(xié)議模塊實現(xiàn)TCP數(shù)據(jù)段傳輸功能的發(fā)送數(shù)據(jù)過程為步驟9. 1,接口函數(shù)調(diào)用neW_tCp_sendmsg()處理TCP數(shù)據(jù)傳輸;數(shù)據(jù)被分割為合適尺寸的多個小塊,將每個小塊賦予按次序排列的序列號,所述合適尺寸小于MTU-觀;步驟9. 2,在一個控制循環(huán)里,調(diào)用new_tCp_output ()傳輸每一個數(shù)據(jù)單元;neW_tcp_ output ()從new_packet隊列中選擇一個空閑成員用以存儲TCP數(shù)據(jù)段,存儲TCP數(shù)據(jù)段后,對數(shù)據(jù)段進行校驗,校驗成功后將TCP數(shù)據(jù)段填充在TCP頭部,單獨處理SYN數(shù)據(jù)段;在傳輸數(shù)據(jù)到newjpjutput ()以前,給該數(shù)據(jù)指派IP地址和端口號,所述IP地址和端口號被賦值給對應(yīng)的socket對。
10.根據(jù)權(quán)利要求8所述的一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),其特征在于所述 TCP協(xié)議模塊實現(xiàn)TCP數(shù)據(jù)段傳輸功能的接收數(shù)據(jù)過程為步驟10. 1,IP模塊調(diào)用new_tCp_input ()函數(shù)處理接收的TCP數(shù)據(jù)段,從socket隊列里反復(fù)查找可用的socket對;直到找到一個socket對時,執(zhí)行步驟10. 2 ;步驟10. 2,如果接收的是一個SYN數(shù)據(jù)段、FIN數(shù)據(jù)段、或是一個針對SYN及FIN的ACK 數(shù)據(jù)段,則TCP協(xié)議模塊打開或關(guān)閉一個TCP連接;如果接收的是數(shù)據(jù),則將該數(shù)據(jù)復(fù)制到對應(yīng)的socket緩存,在下一次的進程調(diào)度中,neW_tCp_reCVmsg()將數(shù)據(jù)從socket緩存復(fù)制到應(yīng)用程序的接收內(nèi)存;步驟10. 3,返回掛起的應(yīng)用程序,繼續(xù)后續(xù)的操作。
全文摘要
一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),涉及一種新型網(wǎng)絡(luò)嵌入式設(shè)備實時通訊系統(tǒng),為了解決現(xiàn)有的TCP/IP協(xié)議的運行消耗資源大的問題。它的協(xié)議模塊由PPP協(xié)議模塊、IP協(xié)議模塊、ICMP協(xié)議模塊、UDP協(xié)議模塊和TCP協(xié)議模塊組成;PPP協(xié)議模塊的核心是簡化版PPP有限狀態(tài)機,它包括廢棄階段、建立階段、網(wǎng)絡(luò)通信階段和終止階段,起始于廢棄階段,物理層準(zhǔn)備就緒時前進到建立階段,建立成功LCP進入打開狀態(tài),簡化版PPP有限狀態(tài)機進入到網(wǎng)絡(luò)通信階段,IPCP達到打開狀態(tài)時,能傳遞IP數(shù)據(jù)包,關(guān)閉網(wǎng)絡(luò)通信時進入終止階段終止通信鏈路,返回到初始的廢棄狀態(tài)。用于資源受限的嵌入式設(shè)備通訊系統(tǒng)。
文檔編號H04L1/18GK102546828SQ20121004426
公開日2012年7月4日 申請日期2012年2月24日 優(yōu)先權(quán)日2012年2月24日
發(fā)明者周海鷹, 周鵬, 左德承, 張展, 羅丹彥, 舒燕君, 董劍 申請人:哈爾濱工業(yè)大學(xué)