

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)論文(設計)</p><p> 二〇一二 年 四 月 十五 日</p><p> 題目基于ARM9嵌入式網關研究</p><p> 作者***</p><p> 學院電氣與信息工程</p><p> 專業(yè)電子信息工程</p><p> 學號</p>
2、<p> 指導教師</p><p><b> 摘 要</b></p><p> 近些年來,以太網/英特網以及其他的網絡逐漸被廣泛的應用到通訊和自動化技術中。作為代表的TCP/IP網絡傳輸通訊協(xié)議,其高度成熟的開放網絡通訊技術正逐漸滲透到不同的自動化系統(tǒng)中,用以連接和控制其他的裝置。通常也采用其他工業(yè)控制和通訊的嵌入式協(xié)議。然而如何實現嵌入式設備的遠程
3、控制和數據的遠程傳送成了重要的問題。基于此問題,我們設計了一種在網絡層以上的協(xié)議轉換器,即網關,它能實現網絡層不同協(xié)議的轉換,從而實現嵌入式設備的遠程控制和數據的遠程傳送。</p><p> 在設計上,我們選用32位ARM9處理器S3C2410芯片作為內核中央處理器和RTL8019AS網絡接口芯片來開發(fā)嵌入式網關并且需要運行在嵌入式系統(tǒng)上。開發(fā)所涉及的工作包括嵌入式操作系統(tǒng)的BootLoader探索、內核的接口
4、和裁剪、文件系統(tǒng)和驅動配置以及網絡程序來解決TCP/IP的通訊等。這其中內核的剪裁和網絡程序完全由作者自己設計開發(fā)。具體上,研究采用由ARM公司的合作伙伴生產的S3C2410芯片作為整個設計的硬件開發(fā)平臺,采用Linux嵌入式操作系統(tǒng)作為軟件開發(fā)平臺。經過裁剪后的內核具有體積小和實時性高的特點。最后通過系統(tǒng)測試完成網絡接口的通信,這樣一個嵌入式設備通過網關接入英特網的解決方案得以實現。</p><p> 文中首
5、先就嵌入式網關的探索和發(fā)展作了一個明確的介紹。然后分析嵌入式網關的技術需求,為解決嵌入式設備接入以太網提出解決方案。最后對本文的設計進行了詳細介紹,包括整體結構的設計、硬件及設計平臺、嵌入式網絡程序、操作系統(tǒng)內核的定制,同樣還有系統(tǒng)的接口。其中網絡程序和系統(tǒng)接口是整個設計的核心。</p><p> 關鍵詞:嵌入式網關;Linux操作系統(tǒng);TCP/IP協(xié)議</p><p><b>
6、; Abstract</b></p><p> In recent years,Ethernet/Internet and other network is applied gradually and widely in the domain of communications and automation. Repressed by TCP/IP network transmission com
7、munication protocol, the open network communication technology and controlling the equipments. While it is usually adopts other protocol of the embedded device of industrial control and communication. How to achieve the
8、remote control for the embedded device and remote transition for the data has become an urgent problem. </p><p> A scheme is proposed on this factual significant in this paper. In this paper, the definition
9、, significant of research and trend of development of the Embedded Gateway is introduced, firstly. Then a solution is brought forward and achieved for an embedded device access to Ethernet based on the analysis for the t
10、echnical requirements of Embedded Gateway. The following contents are detailed introduced in paper, including the overall design framework, the hardware and the design platform, Embedded </p><p> In the des
11、ign, 32-bit ARM9 processor S3C2410 as the kernel chip and RTL8019AS as the network interface chip are selected to exploit Embedded Gateway, and it needs to be run on the Embedded Operating System. The design includes Boo
12、t Loader of Embedded Operating System, the tailor and porting of kernel, file system and the configuration of the driver, the program on the networks to finish the program of communications on the TCP/IP protocol applica
13、tion layer, and so on. Among them, the tailor of k</p><p> Key Words:Embedded Gateway; Linux Operating System; TCP/IP Protocol</p><p><b> 目 錄</b></p><p><b> 摘
14、 要I</b></p><p> AbstractII</p><p><b> 第一章 緒論1</b></p><p> 1.1 嵌入式系統(tǒng)及其發(fā)展趨勢2</p><p> 1.1.1 嵌入式系統(tǒng)概述2</p><p> 1.1.2 嵌入式設備接入以太網的意
15、義2</p><p> 1.1.3 嵌入式網絡的現狀及發(fā)展趨勢3</p><p> 1.2 論文的目的及完成的主要工作4</p><p> 1.3 本章小結5</p><p> 第二章 嵌入式網關系統(tǒng)及硬件電路的總體設計7</p><p> 2.1 嵌入式網關系統(tǒng)的功能簡介及工作原理7&l
16、t;/p><p> 2.1.1 系統(tǒng)的功能簡介7</p><p> 2.1.2 嵌入式網關的工作原理7</p><p> 2.2 嵌入式網關設計的總體框架7</p><p> 2.3 硬件部分的設計8</p><p> 2.3.1 嵌入式網關的硬件開發(fā)平臺8</p><p&g
17、t; 2.3.2 微控芯片CPU9</p><p> 2.3.3 存儲系統(tǒng)10</p><p> 2.3.4 串口部分10</p><p> 2.3.5 JTAG調試接口10</p><p> 2.3.6 以太網接口10</p><p> 2.4 本章小結11</p><
18、;p> 第三章 嵌入式網關軟件設計11</p><p> 3.1 TCP/1P協(xié)議13</p><p> 3.1.1 TCP/IP協(xié)議的結構13</p><p> 3.1.2 TCP/IP協(xié)議族及其實現機制13</p><p> 3.2 嵌入式網關系統(tǒng)設計的軟件框架14</p><p&g
19、t; 3.3 Linux下的網絡編程14</p><p> 3.3.1 進程間通信15</p><p> 3.3.2 客戶/服務器模型16</p><p> 3.3.3 Socket概述17</p><p> 3.3.4 socket網絡編程的原理和基本函數17</p><p> 3.4 網
20、絡程序的編寫與編譯18</p><p> 3.5 本章小結20</p><p> 第四章 操作系統(tǒng)的移植21</p><p> 4.1 嵌入式Linux及其內核簡介21</p><p> 4.2.1 交叉編譯環(huán)境的建立23</p><p> 4.2.2 系統(tǒng)引導程序BootLoader23&
21、lt;/p><p> 4.3 Linux操作系統(tǒng)的移植過程23</p><p> 4.3.1 內核的配置和編譯24</p><p> 4.3.2 配置NFS文件系統(tǒng)25</p><p> 4.4 本章小結26</p><p> 第五章 嵌入式網關系統(tǒng)的調試27</p><p&g
22、t; 5.1 嵌入式網關系統(tǒng)的開發(fā)流程27</p><p> 5.2 調試過程27</p><p> 5.2.1 系統(tǒng)啟動測試27</p><p> 5.2.2 Linux下網口通信的測試28</p><p> 5.3 本章小結29</p><p><b> 結 論30</b
23、></p><p><b> 參考文獻31</b></p><p><b> 致 謝32</b></p><p> 附錄A:部分程序清單33</p><p><b> 第一章 緒論</b></p><p> 隨著信息技術的發(fā)展,
24、嵌入式系統(tǒng)滲透于生活中的各個領域,嵌入式計算機在應用數量上遠遠超過了各種通用計算機。一臺通用計算機的外部設備中就包含了6-10個嵌入式微處理器,鍵盤、鼠標、軟驅、硬盤、顯卡、顯示器、網卡、聲卡、打印機、掃描儀、數碼相機等均是由嵌入式處理器控制的。在制造工業(yè)、過程控制、通信、儀器、儀表、汽車、船舶、航空、航空、軍事裝備、消費類產品等方面都是嵌入式計算機的應用領域。在不同領域,這些嵌入式系統(tǒng)往往組成一個個獨立的嵌入式網絡,隨著Interne
25、t網的不斷普及,將各種嵌入式網絡接入Internet變得越來越必要?;仡櫿麄€網絡的發(fā)展歷程,從巨型機時代網絡的開始,到PC時代開放式互聯網絡的出現,一個必然的趨勢是嵌入式設備的網絡化。</p><p> 本來的網絡會更進一步發(fā)展,連接到網絡上的不僅僅是PC、PDA這樣的個人數據處理設備,還會有大量的控制類設備連接到網絡上。包括各種各樣的環(huán)境和安全控制裝置、家用電氣設備、商用設備、工業(yè)設備等等。它們連接到網絡上實
26、現協(xié)調管理將是未來網絡設備的發(fā)展趨勢。一套新設計的智能化住宅中,估計連接到網絡上的PC機數量為1-4臺,而連接到網絡上的其他電子設備為20-30個?,F在網絡上將大大增加智能設備互相之間的信息的收發(fā)。未來的智能住宅、智能小區(qū)、智能工廠、智能辦公樓、智能醫(yī)院、智能學校、智能倉庫、智能車站、智能機場、智能酒店等等需要大量的充當神經末梢的嵌入式網關設備。</p><p> 在這種無所不在的建設和發(fā)展趨勢下,廉價、有效、
27、可靠、使用方便的“透明化”設計的小型乃至微型網絡設備將是網絡設備設計、制造、應用的一個個非常重要的方向,甚至可能是規(guī)模最大的一個方向。</p><p> 1.1 嵌入式系統(tǒng)及其發(fā)展趨勢</p><p> 1.1.1 嵌入式系統(tǒng)概述</p><p> 嵌入式系統(tǒng)本身是一個相對模糊的定義。由于目前嵌入式系統(tǒng)已經滲透到日常生活的各個方面,其在工業(yè)、服務業(yè)、消費電子
28、等領域的應用范圍都不斷擴大,因此難以給“嵌入式系統(tǒng)”下一個明確的定義。</p><p> 根據IEEE(國際電氣和電子工程師協(xié)會)的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助設備、機器和車間運行的裝置”(原文為devices used control,monitor,0r assist theoperation 0f equipment machinery or plants)。這主要是從應用上加以定義的,由此可以
29、看出嵌入式系統(tǒng)是軟件和硬件的綜合體,可以涵蓋機械等附屬裝置。不過,上述定義并不能充分體現出嵌入式系統(tǒng)的精髓。目前國內一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎,軟、硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成</p><p> 本、體積、功耗等嚴格要求的專用計算機系統(tǒng)[1]??梢詮囊韵聨讉€方面來理解國內對嵌入式系統(tǒng)的定義:</p><p> ◆ 嵌入式系統(tǒng)是面向用戶、面向產
30、品、面向應用的,它必須與具體應用相結合才會具有生命力、才更具有優(yōu)勢。可以這樣理解上述三個方面的含義,即嵌入式系統(tǒng)是與應用緊密結合的,它具有很強的專用性,必須結合實際系統(tǒng)需求進行合理的裁剪利用。</p><p> ◆ 嵌入式系統(tǒng)是將先進的計算機技術、半導體技術和電子技術以及各個行業(yè)的具體應用相結合后的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。所以,介入嵌入式系統(tǒng)行業(yè),必
31、須有一個正確的定位。例如Palm OS之所以在PDA領域占有70%以上的市場,就是因為其立足于個人電子消費品,著重發(fā)展圖形界面和多任務管理;而風河的VxWorks之所以在火星車上得以應用,則是因為其高實時性和高可靠性。</p><p> ◆ 嵌入式系統(tǒng)必須能夠根據應用需求對軟硬件進行裁剪,滿足應用系統(tǒng)的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬件基礎,然后在其上開發(fā)出適應各種需要的系統(tǒng),是一
32、個比較好的發(fā)展模式。目前的嵌入式系統(tǒng)的核心往往是一個只有幾KB到幾十KB的微內核,需要根據實際的使用進行功能擴展或者裁剪。由于微內核的存在,使得這種擴展能夠非常順利地進行。由于嵌入式系統(tǒng)本身是一個外延極廣的名詞,凡是與產品結合在一起的具有嵌入式特點的控制系統(tǒng)都可以叫嵌入式系統(tǒng),很難給它下一個準確的定義。因此,目前通常把嵌入式系統(tǒng)概念的重心放在“系統(tǒng)”(即操作系統(tǒng))上,指能夠運行操作系統(tǒng)的軟硬件綜合體。總體上嵌入式系統(tǒng)可以劃分成硬件和軟件
33、兩部分,硬件一般由高性能的微處理器和外圍的接口電路組成,軟件一般由實時操作系統(tǒng)和其上運行的應用軟件構成,軟件和硬件之間由所謂的中間層(BSP層,板級支持包)連接。一般而言,嵌入式系統(tǒng)的構架可以分成4個部分:處理器、存儲器、輸入/輸出(I/O)和軟件(由于多數嵌入式設備的應用軟件和操作系統(tǒng)都是緊密結合的,在這里對其不加區(qū)分,這也是嵌入式系統(tǒng)和Windows系統(tǒng)的最大區(qū)別。</p><p> 1.1.2 嵌入式設
34、備接入以太網的意義</p><p> 隨著互聯網應用的日益普及,信息共享的程度不斷提高。如何通過互聯網共享嵌入式系統(tǒng)為中心的小型嵌入式設備的信息,成為當今電子界的熱門話題。傳統(tǒng)的互聯網應用是以PC為中心,如今,互聯網應用正轉到以嵌入式設備為中心。IA(Internet Appiance)概念現在甚為流行,這表明互聯網應用進入嵌入式互聯網時代已經來臨,把嵌入式系統(tǒng)和Internet連接已是一種趨勢。</p&
35、gt;<p> 嵌入式設備接入以太網有什么意義呢?過去通過專用通信線在遠方采集現場設備的數據,進行遠方顯示和控制,但是通信介質要專用的,通信協(xié)議要自己寫,嵌套的設備要自己設計。因此,系統(tǒng)成本高,開發(fā)周期長。</p><p> 同時,隨著工業(yè)自動化和辦公自動化的發(fā)展,在一些場合,分布式控制系統(tǒng)的網絡越來越龐大,現場總線越來越受地域、鋪設成本、負載容量的限制。另外,由于目前市場上CANbus、Lon
36、works、Profibus、FF等多種現場總線并存,使得基于現場總線的控制系統(tǒng)的接口協(xié)議標準各異,難以統(tǒng)一。在這種情況下,利用廉價的具有接入Internet功能的嵌入式設備,可以使現場總線方式下的分布式控制系統(tǒng)轉換成基于以太網的分布式控制系統(tǒng),從而使數據采集、信息傳輸等能直接在Internet/Intranet上進行,既統(tǒng)一了標準,又使工業(yè)測控數據直接在Internet/Intranet上動態(tài)發(fā)布、共享,供相關技術員、管理人員進行實時
37、處理或參考,這樣就把控制網和信息網有機的結合起來,這樣工廠或企業(yè)都擁有一個一體的網絡平臺,無論從成本、管理、維護等方面考慮,都是一個最佳的地選擇。</p><p> 另一方面,靈活、方便,安全性、可靠性高的以太網的飛速發(fā)展和普及,使因特網已深入辦公室、工廠與車間,使人們在工作的各個地點,都可以通過互聯網來交換信息。嵌入式設備的顯示和控制只要能上網,就能很好的實現遠程控制,不需要專用的通信線路,現成的全球網絡任你
38、傳到各個角落。</p><p> 綜上所述,設計一種基于以太網的嵌入式控制系統(tǒng)來實現設備的遠程控制將具有非常廣闊的應用前景。</p><p> 1.1.3 嵌入式網絡的現狀及發(fā)展趨勢</p><p> 國際上,微控制器和微處理器在工業(yè)自動化和設備管理上采用TCP/IP協(xié)議接入網絡始于1994年,初期的進展比較緩慢。近年來,由于微電子技術的迅猛發(fā)展,微控制器和微
39、處理器的性能大大提高,價格卻大大降低,與此同時,因特網也以前所未有的速度向前發(fā)展,網絡通信的性能、質量和穩(wěn)定性都得到穩(wěn)步提高,網絡普及程度也迅速提高。世界各大公司看到了嵌入式設備連上因特網的巨大商業(yè)價值和市場潛力,紛紛投入精力研究,使得嵌入式網關技術的研究和應用出現加速發(fā)展的勢頭。其中以全球嵌入式及移動應用軟件領導著稱的廠商風河(Wind River)公司最為聞名,近日他們又發(fā)布可用于開發(fā)智能網關的全新軟件網關器平臺。其技術已達到國際先
40、進水平。</p><p> 國內嵌入式技術興起較慢,但是發(fā)展卻很迅速,國家也很重視這方面的研究。目前國內關于嵌入式網關的研究成果主要集中在嵌入式串口網關研究上,其研究成果諸如HEG9000工業(yè)嵌入式網關模塊及HEG0700嵌入式串口網關模塊,其性能可靠,能耗較低。</p><p> 開放式網絡可以給企業(yè)帶來很多好處。方便的數據信息獲取帶來迅速高效的決策。從最低端的設備到超級計算機,企業(yè)
41、有一個整體控制。開放式網絡的可擴展性使得企業(yè)可以保持已有的技術投資,相對于特定的網絡標準,加入企業(yè)一種新的解決方案,使已有網絡系統(tǒng)將被推翻,從這點來說,開放式網絡為企業(yè)運營降低了成本。</p><p> 嵌入式設備網絡化是市場的需要。從最終的用戶角度看,他們希望所有設備互聯工作,這種互聯越廣泛越好,因為這意味著他們工作生活的自由度提高了。當今社會是信息化的社會,快速獲取最新信息是高效決策的關鍵。企業(yè)的管理者希望
42、他們的觸角能夠到達企業(yè)的任何位置,從而可以快速的進行資源配置,對生產過程進行實時監(jiān)控,并能夠隨時修正,重新配置資源?,F代企業(yè)具有很大的靈活性很大程度上決定了它是否在競爭中勝出。</p><p> 從嵌入式設備制造者的角度來看,通常更關心成本因素。嵌入式設備的網絡化使得在進行售后服務時有了一個根本性的變革:通過因特網遠程控制檢測設備,使得進行遠程技術支持成為可能。這種做法提高了設備維護的方便性,同時降低了維護成本
43、。</p><p> 1.2 論文的目的及完成的主要工作</p><p> 論文的研究目的是為了實現一種將現場總線方式下的嵌入式控制系統(tǒng)轉換成基于以太網的嵌入式控制系統(tǒng)的方法,以解決當前現場總線控制系統(tǒng)中存在的接口協(xié)議標準各異以及不同網絡之間互通難的問題。</p><p> 論文主要工作包括硬件平臺的設計和軟件部分的設計。通過這兩部分的設計我們模擬對遠程電表
44、的數據采集和控制。</p><p> 其中硬件部分包括中央處理器即CPU的選取、存儲系統(tǒng)的設計、串口部分的設計、JTAG調試接口以及以太網接口的設計。CPU是整個系統(tǒng)的實時控制核心。本文選用以ARM9為核心的S3C2410是一款32bit的RISC微處理器,其性價比高,低功耗的網絡設備,并且集成了眾多的控制器和其他接口的豐富資源;存儲系統(tǒng)對于整個系統(tǒng)也是非常重要的。它包含著程序的運行空間和數據空間,系統(tǒng)的啟動代
45、碼同樣離不開存儲系統(tǒng),可以說存儲系統(tǒng)是CPU外的另一大重要內容;這里串口的設計主要是方便ARM同PC機進行通訊;JTAG調試接口是嵌入式系統(tǒng)芯片的燒寫和調試不可或缺的部分,它可滿足對實時對程序的分析和執(zhí)行的監(jiān)控;以太網接口是用來同外部設備進行數據傳輸的,缺少了這部分,那么研究就變得沒意義了。</p><p> 軟件部分包括Bootload的編寫、操作系統(tǒng)和文件系統(tǒng)的移植、應用程序的編寫。應用程序部分我們利用So
46、cket套接字和TCP/IP協(xié)議編寫了一個簡單的客戶機/服務器模式的網絡應用程序。因為本系統(tǒng)只是起到網關的作用,只需實現現場總線和以太網上位機兩方之間的通信,并不需要處理其數據的邏輯意義和內容。在這種模式下,以太網上位機被設定為服務器,它運行了服務器端的應用程序。該程序主要用于監(jiān)聽服務器端口、接受客戶端的連接請求、接受客戶端的信息、向客戶端發(fā)送信息等。網關系統(tǒng)中運行的是客戶端程序,該程序主要是用于申請連接到服務器、將現場總線方發(fā)來的消息
47、向服務器發(fā)送、處理服務器發(fā)來的信息、將這些信息發(fā)送給現場總線系統(tǒng)。</p><p> 隨著工業(yè)控制系統(tǒng)性能的提高,以太網在工業(yè)上的應用也會越來越廣泛,本文介紹</p><p> 的嵌入式網關設計為嵌入式系統(tǒng)互聯提供了一種傳輸速度快,成本低,穩(wěn)定性和安全性高的解決方案。同時,利用嵌入式ARM處理器接口資源豐富,設計通用性強,便于拓展其他現場總線與以太網互聯,具有較好的應用推廣價值。<
48、;/p><p><b> 1.3 本章小結</b></p><p> 本章介紹了嵌入式式系統(tǒng)及其發(fā)展趨勢,討論了嵌入式網關發(fā)展情況、技術要求及論文的主要目的和作者所要完成的主要工作。</p><p> 第二章 嵌入式網關系統(tǒng)及硬件電路的總體設計</p><p> 2.1 嵌入式網關系統(tǒng)的功能簡介及工作原理<
49、;/p><p> 網關是提供微機用戶進入小型計算機和主機環(huán)境的鏈路。網關的重要功能是完成網絡層以上的協(xié)議之間的轉換,所以用關又稱為協(xié)議轉換器,它將不同網絡的協(xié)議進行轉換。</p><p> 2.1.1 系統(tǒng)的功能簡介</p><p> 嵌入式網關是把TCP/IP協(xié)議棧固化在芯片內,使其具有以太網接入功能的一種廉價的網絡接入裝置。體積很小的電路就能讓控制和通訊設備采
50、用標準的網絡協(xié)議接入,能方便地與其它任何網絡設施通訊。</p><p> 采用嵌入式網關技術,把一個設備接入標準的計算機網絡的成本是采用PC機的幾十分之一甚至是幾百分之一。PC機和服務器是網絡上功能強大的信息存儲和處理中心,而嵌入式網關則是網絡系統(tǒng)中最廣泛分布的神經末梢,非PC的各種專用設備將會是計算機網絡中最普遍的網絡終端設備,而這些最普遍的網絡終端設備均可通過嵌入式網關實現網絡的接入。本文中采用的嵌入式網關
51、開發(fā)平臺主要由三星公司ARM9系列單片機SBC2410和網卡芯片以及內存芯片等組成。</p><p> 圖 2.1 嵌入式網絡總體結構圖</p><p> 在本設計中,嵌入式網關系統(tǒng)的功能如圖2.1所示。該網關的主要功能就是實現其它協(xié)議與TCP/IP協(xié)議的轉換,使網絡一端的嵌入式設備與以太網通信,從而實現設備的遠程控制和數據的遠程傳輸。本文以32位ARM處理器S3C2410為主控芯片,
52、以RTL8019AS網絡控制器為網絡接口,開發(fā)嵌入式網關。</p><p> 2.1.2 嵌入式網關的工作原理</p><p> 設計網關所用的芯片選用的是三星公司的ARM9系列處理器S3C2410,它具有高性能、低功耗的特性,同時外接了大容量SDRAM和Flash,以滿足大數據量的系統(tǒng)要求。嵌入式操作系統(tǒng)選用的是嵌入式Linux,嵌入式Linux是精簡后的Linux操作系統(tǒng)。<
53、;/p><p> 嵌入式網關的工作機理是ARM9系列處理器S3C2410首先初始化網絡設備。網卡的IP地址和物理地址存在flash中,單片機復位后首先調取這些數據以初始化網絡。網關處理器主要完成數據的解包和打包。當有數據過來,網關處理器對數據包進行分析,如果是ARP(物理地址解析)數據包,則程序轉入ARP處理程序(在網絡上正是ARP協(xié)議將IP地址和物理地址相映射)。如果是IP數據包且傳輸層使用TCP協(xié)議并且端口正確
54、,則認為數據包正確井對數據進行解包,然后將工作數據通過用戶接口發(fā)送給最終用戶。反之,如果網關處理器從用戶接口收到用戶的工作數據,則將工作數據按照TCP協(xié)議格式打包。送入網卡芯片,由網卡芯片將IP包包傳送到局域網中。</p><p> 由此可知,網關主要處理協(xié)議的網絡層和傳輸層,鏈路層主要由網絡芯片完成[2]。因網關單片機將數據接收后通過用戶接口輸出,所以網絡應用層由用戶程序來處理,用戶可以根據需求對收到的數據進
55、行相應處理。</p><p> 2.2 嵌入式網關設計的總體框架</p><p> 從結構的角度來講,嵌入式網關由硬件層和軟件層組成。硬件層由高性能的嵌入式處理器和外圍硬件接口組成,軟件層由實時操作靜和在其上運行的軟件組成。其系統(tǒng)結構如圖2.2所示。</p><p> 圖2.2 系統(tǒng)結構圖</p><p> 嵌入式微處理器是整個系
56、統(tǒng)的硬件核心,理論上目前的任何一種通用微處理器都可以勝任,在本設計中選取了ARM9微處理器,一方面它時鐘頻率高、指令執(zhí)行時間短,從而處理能力大大增強;另一方面它包含獨立的數據指令Cache和MMU.因此能用在要求有虛擬存儲器支持的操作系統(tǒng)(如Linux)上。此外,ARM9帶有并行運算能力的RSCI,使整個系統(tǒng)具有運行全面的TCP/IP協(xié)議能力。由于在本論文中,我們假設外部設備以串口形式輸入,所以外圍硬件接口部分主要采用以太網接口和串行口
57、。</p><p> 嵌入式操作系統(tǒng)是整個系統(tǒng)的軟件核心。嵌入式網關能夠接入標準的計算機網絡而不需要通過相對昂貴的PC機,關鍵就在于嵌入式操作系統(tǒng)。不同計算機互相之間能夠進行網絡通信,主要依賴通用的標準的計算機協(xié)議,而目前應用最廣泛的TCP/IP協(xié)議本身包含很多功能,是一個龐大的協(xié)議系統(tǒng),這樣的系統(tǒng)需要比較大的平臺。在嵌入式網關中由于對TCP/IP協(xié)議根據需要進行了精簡和選擇,保留了有限的但是足夠用的功能,系統(tǒng)
58、的負荷能夠降低到微型系統(tǒng)能夠承擔的水平。在嵌入式網關內,經過精心設計的符合TCP/IP協(xié)議標準的網絡接口,不僅能使嵌入式網關設備互相之間能夠通過網絡進行通訊,而且還能與網絡其他運行Windows、Linux、Unix等系統(tǒng)的主機之間變換信息。</p><p> 在嵌入式硬件體系中,嵌入式處理器是整個系統(tǒng)的核心部件。嵌入式處理器與通用處理器的最大不同點在于嵌入式處理器大多工作在特定用戶群設計的系統(tǒng)中。它通常把通用
59、CPU中許多板卡完成的任務集成在芯片內部,從而有利于嵌入式系統(tǒng)設計趨于小型化,并具有高效率、高可靠性等特征。在本設計中,我們采用的是ARM920內核的S3C2410。</p><p> 嵌入式外圍設備,我們采用了RTL8019AS以太網控制芯片、FLASH存儲器、SDRAM和串口芯片MAX232。嵌入式網關軟件主要由嵌入式操作系統(tǒng)和應用軟件組成。</p><p> 在嵌入式應用中,為了
60、使嵌入式開發(fā)更方便,快捷,就需要具備相應的管理存儲器分配,中斷處理,任務間通信和定時器響應,以及提供多任務處理等功能的穩(wěn)定的、安全的軟件模塊集合,即嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)的引入大大提高了嵌入式系統(tǒng)的功能,方便了嵌入式應用軟件的設計。</p><p> 在設計中,選用嵌入式Linux作為操作系統(tǒng),嵌入式Linux操作系統(tǒng)是一種多進程,多用戶的通用操作。它具備免費、源代碼公開、內核可裁剪、支持多線程、網絡功
61、能強大、設計精巧、性能穩(wěn)定的特點。嵌入式網關系統(tǒng)的Linux經過裁剪和重新編譯后只包括進程管理、內存管理、文件系統(tǒng)、若干個驅動程序和實用的函數等。</p><p> 2.3 硬件部分的設計</p><p> 2.3.1 嵌入式網關的硬件開發(fā)平臺</p><p> 嵌入式處理器控制模塊是整個網關的控制中心,它要為嵌入式操作系統(tǒng)提供存儲空間和運行環(huán)境,以便在嵌
62、入式操作系統(tǒng)上運行協(xié)議轉換程序和外設模塊的驅動等程序[3]。為了縮短開發(fā)周期,降低開發(fā)成本,在系統(tǒng)的開發(fā)中,我們采用了飛凌嵌入式科技有限公司的ARM9開發(fā)板OK2410作為開發(fā)平臺。這個開發(fā)套件是一個以韓國三星公司設的ARM9系列芯片S3C2410為基礎設計的完整的ARM嵌入式Linux開發(fā)平臺,提供嵌入式微處理器及其外圍設備如存儲介質、控制電路、接口電路和嵌入式操作系統(tǒng)等系統(tǒng)開發(fā)所必需的相關軟、硬件組件。以下是OK2410硬件開發(fā)平臺
63、的介紹:</p><p><b> 開發(fā)板特性</b></p><p> 1.CPU處理器:Samsung S3C2410,主頻400MHz,最高533Mhz</p><p><b> 2.SDRAM內存</b></p><p> 3.在板64M SDRAM:32bit數據總線</p&
64、gt;<p> 4.SDRAM時鐘頻率高選1OOMHz</p><p> 5.FLASH存儲器:在板64M Nand Flash,掉電非易失;在板1M Nor Flash,掉電非易失</p><p> 6.LCD顯示:支持各種單色/偽彩/真彩液晶屏(分辨率最高可達1024x768)支持四線電阻觸摸屏</p><p> 7.接口和資源:一個IOM
65、以太網RJ-5口;一個IOOM以太網RJ-45口;一個串行口,COMO為RS232 DB9接口(亦引出TTL接口b COMZ和COM3為2.0mm間距TTL電平接口(詳見用戶手冊);一個USB HostA型接口(USB l.1協(xié)議);一個USB SlaveB型接口,(USBl.1協(xié)議1;一個SD卡存儲接口;一個2.0 間距20針標i準JTAG接口,主要用來下載BIOS/vivi;板載實時時鐘電池;電源接口(12V).帶電源開關和指示燈&
66、lt;/p><p> 8.擴展接口:一個20針GPIO接口;兩個全功能擴展串口</p><p> 9.操作系統(tǒng)支持:Linux2.6.13;WindowsCE.NET 4.2</p><p> 2.3.2 微控芯片CPU</p><p> CPU是整個嵌入式系統(tǒng)的實時控制核心,它在工業(yè)以太網中作為智能節(jié)點的主控制器,是整個嵌入式網關的核心
67、。本文選用以ARM920T為核心的 S3C2410微處理器,S3C2410是32bit的RISC微處理器,該處理器特別適用于手持式設備以及高性價比、低功耗的網絡設備,它集成了LCD 控制器、USBHost、NAND控制器、BUS控制器、中斷控制、功率控制、存儲控制、UART、WatchDog、SPI、SDI/MMC、IS、 IC、GPIO、RTC、TIMER/PWM、ADC等豐富的資源。</p><p> S3
68、C2410集成了以下片上功能:1.2v內核供電,1.8V/2.5V/3.3V存儲器供電,3.3V外部I/O供電,具備16KB Cache/MMU微處理器;外部存儲控制器(SDRAM控制和片選邏輯);LCD控制器(最大支持4K色STN和256K色TFT)提供l通道LCD專用DMA,4通道DMA并有外部請求引腳,3通道UART.1通道IIC-BUS接口.1通道IIS-BUS音頻編解碼器接口,兼容SD主接口協(xié)議1.0版和MMC卡協(xié)議2.11兼
69、容版;端口USB主機/l端口USB設備(11版):通道PWM定時器和1通道內部定時器看門狗定時器:8通道10比特ADC和觸摸屏接口;日歷功能的RTC; 130個通用I/O口和24通道外部中斷源;具有普通、慢速、空閑和掉電模式:具有PLL片上時鐘發(fā)生器。S3C2410的系統(tǒng)管理支持大、小端方式,并支持高速總線模式和異步總線模式。S3C2410將系統(tǒng)的存儲空間分成8個bank,每個bank 128M字節(jié),總共1G字節(jié),其中6個適用于ROM/
70、SRAM和其他,另外兩個適用于ROWSRAM/SDRAM。從bank0副bank6都采用固定的bank起始尋址,ba</p><p> 2.3.3 存儲系統(tǒng)</p><p> 嵌入式系統(tǒng)可根據需要定制存儲空間。本文擴展了2片Flash芯片和1片SDRAM。Flash芯片主要有1片韓國現代公司的2MB16bit數據寬度的 Flash芯片HY29LV160B191和1片韓國三星公司的16
71、MB的NANDFlash芯片K9F2808UOB1571,SDRAM芯片采用的是 1塊韓國現代公司生產的SDRAMHY57V5616201。2MB的Flash芯片HY29LV160B對應的地址空間映射到地址0x00000000 上,作為存儲啟動配置參數及異常/中斷向量表的程序空間,系統(tǒng)復位后從其中讀取指令執(zhí)行程序;使用韓國現代公司的8MB的 SDRAMHY57V561620作為系統(tǒng)內存,對應地址空間映射在地址Ox30000000開始,作
72、為程序運行空間和數據空間,啟動代碼將系統(tǒng)映像復制到SDRAM后執(zhí)行。</p><p> 2.3.4 串口部分</p><p> 串口部分設計使用了2路UART,其中,一路通過電平轉換芯片MAX232,把3.3V的邏輯電平轉換為RS-232-C的邏輯電平進行傳輸,實現ARM 與PC機之間的通信,通過超級終端可在PC機上進行調試;另一路串行接口使用MAX1485進行電平轉換,實現從RS-4
73、85上接收現場總線發(fā)送的信息。</p><p> 2.3.5 JTAG調試接口</p><p> 在嵌入式系統(tǒng)中,芯片的燒寫、調試都需要用到JTAG調試接口,可滿足實時地實現對程序的分析和執(zhí)行的監(jiān)控。JTAG(Joint Test Action Group)是IEEE的規(guī)范標準,它可以通過現有的JTAG邊界掃描與ARMCPU內核進行通信,屬于完全非插入式(不占用片上資源)調試,它無需
74、目標存儲器,不占用目標系統(tǒng)的任何端口,而這些是普通的駐留監(jiān)控軟件所必需的。另外,JTAG調試的目標程序是在目標板上執(zhí)行的,仿真更接近于目標硬件,仿真結果與真實的運行環(huán)境更為接近,因此,逐漸成為采用更多的一種調試方式。</p><p> 2.3.6 以太網接口</p><p> 本文以太網接口中所使用的芯片有RTL8019AS、74LVC4245、FB2022(網卡變壓器)。RTL80
75、19AS是性價比高且?guī)в屑床寮从霉δ艿娜p工以太網控制器,其主要特點包括:符合EtherNetⅡ與IEEE802.3標準;全雙工,收發(fā)可同時達到10Mb/s的速率,內置16KB的 SRAM,用于收發(fā)緩沖,減低對主處理器的要求;支持UTP、AUI、BNC自動檢測,還支持對10BaseT拓撲結構的自動極性修正;允許4個診斷 LED引腳編程輸出。RTL8019AS內部有2塊RAM區(qū),1塊16KB,地址為0x4000~0x7fff;1塊32By
76、te,地址為 0x0000~0x001f。RAM按頁存儲,每256Byte為1頁。本方案中將RTL8019AS的RAM的前12頁 (0x4000~0x4Bfff)作為發(fā)送緩沖區(qū);后52頁(0x4c00~0x7fff)作為接收緩沖區(qū);第0頁只有32Byte,用來存儲以太網的物理地址。</p><p> RTL8019AS芯片的引腳SA0~SA19為地址總線;SD0~SD15為數據總線;引腳INT0接S3C2410
77、芯片的外部中斷信號;引腳AEN是地址使能腳,作為芯片的選通信號,將中斷接到CPU的nGCS3地址映射到bank3。RTL8019AS的地址空間范圍是0x18000300~0x1800031f。引腳IOS0~3設置為接地或空閑,表明RTL8019AS內部寄存器總線地址從300H開始。</p><p> 引腳X1、X2接一個20MHz的無源晶振,作為外部時鐘信號輸入;引腳JP接高電平,選擇跳線模式:引腳IORB、I
78、OWB作為輸入輸出讀寫指令端;引腳RSTDRV是復位端,連接復位信號;引腳SMEMRB、SMEMWB是芯片的存儲器讀命令和寫命令。</p><p> 引腳TPIN+,TPIN-、TPOUT+,TPOUT-作為媒體接口管腳,是接收IP數據報所需要用到的管腳,在設計網卡芯片電路時通過一個隔離變壓器和RJ-45的網絡外接口相連,外部主機通過以太網網線與RJ-45接口進行連接,實現數據交換。</p>&l
79、t;p> 隔離變壓器的TD+管腳連接網卡芯片的TPOUT+引腳;TD-連接TPOUT-;RD+連接TPIN+;RD-連接TPIN-。8019通過隔離變壓器與RJ-45連接,實現與主機進行接收和發(fā)送IP數據報等工作。</p><p><b> 2.4 本章小結</b></p><p> 本章主要介紹了嵌入式網關系統(tǒng)的總體結構和硬件組成,并介紹了嵌入式網關的工
80、作原理、功能及其硬件開發(fā)平臺以及主要芯片和開發(fā)工具。提出了嵌入式網關的硬件解決方案,為嵌入式網關的開發(fā)奠定了基礎。</p><p> 第三章 嵌入式網關軟件設計</p><p> 本設計中嵌入式網關即是一個協(xié)議轉換器,它可以實現數據鏈路層以上各層的協(xié)議轉換,在本設計中主要體現在用戶層到傳輸層協(xié)議間的轉換。由于ARM9內接已經具有全性能的MMU(虛擬內存管理單元),因此我們可以把裁剪好
81、的Linux操作系統(tǒng)直接移植上去。這樣建立起來的軟硬件開發(fā)平臺,其功能相當于一臺裝有Redhat Linux的PC機。</p><p> 由于Linux系統(tǒng)內核已經提供網絡支持,而不必像其它操作系統(tǒng)要外掛TCP/IP</p><p> 協(xié)議包,這樣,其它協(xié)議與TCP/IP協(xié)議的轉換在軟件層面已經轉換為在Linux下的網絡編程、進程間通信以及驅動程序的編寫等問截在這一章里我們就來介紹TC
82、P/IP協(xié)議,系統(tǒng)的軟件框架以及在Linux下的網絡編程等內容。</p><p> 3.1 TCP/1P協(xié)議</p><p> 3.1.1 TCP/IP協(xié)議的結構</p><p> 根據國際標準化組織ISO所定義的OSI參考模型分為7層而傳輸控制協(xié)議/互連網協(xié)議TCP/IP是一個使用非常普遍的網絡互連標準協(xié)議,網絡分為4層,分別為網絡接口層(包括物理層(P
83、hysical Layer)和數據鏈路層(Data Link Layer))、網絡層(Network Layer)、傳輸層(Transport Layer),與應用層(Application Layer)[4]。如圖3.1。</p><p> 應用層是應用程序進入網絡的通道,是應用程序間溝通的層。該層為網絡應用程序提供了兩個接口:Socket和Net BIOS。傳輸層提供節(jié)點問的數據傳送服務,負責傳送數據,并且
84、確定數據已被送選并接收。傳輸協(xié)議在計算機之間提供通信會話。數據投遞要求的方法決定了傳輸協(xié)議。網絡層負責提供基本的數據封包傳送功能,根據internet協(xié)議將數據包封裝成Internet數據包并運行必要的路由算法,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協(xié)議(口)。網絡接口層(包括物理層和數據鏈路層):對實際的網絡媒體的管理,定義如何使用實際網絡(如以太網)來傳送數據。</p><p>
85、 圖3.1 OSI的7層結構與TCP/IP四層結構之比較</p><p> 3.1.2 TCP/IP協(xié)議族及其實現機制</p><p> 雖然TCP/IP名稱其包含了兩個協(xié)議,但實際上,TCP/IP是一個龐大的協(xié)議族,它包括了各個層次上的眾多協(xié)議[5],例如:</p><p> ●ARP,用于獲得同一物理網絡中的硬件主機地址。</p><
86、p> ●MPLS,多協(xié)議標簽協(xié)議,是很有發(fā)展的下一代網絡協(xié)議。</p><p> ●IP,負責在主機和網絡之間尋址和路由數據包。</p><p> ●ICMP,用于發(fā)送報告有關數據包的傳送錯誤的協(xié)議。</p><p> ●IGMP:被IP主機用來向本地多路廣播路由器報告主機組成員的協(xié)議。</p><p> ●TCP:為應用程序
87、提供可靠的通信連接。適合于一次傳輸大批數據的情況。并適用于要求得到響應的應用程序。</p><p> ●UDP,提供了無連接通信,且不對傳送包進行可靠的保證。適合于一次傳輸少量數據,可靠性由應用層來負責。</p><p> 傳輸層與網絡層在功能上的最大區(qū)別是前者提供進程通信能力、而后者則不能。在進程通信的意義上,網絡通信的雖終地址不僅僅是主機地址,還包括可以描述進程的某種標識符。為此,
88、TCP/UDP提出了協(xié)議端口(Protocol Port)的概念,用于標識通信的進程。例如,Web服務器進程通常使用端口80,在/etc/services文件中有這些注冊了的端口地址。</p><p> 對于TCP傳輸,傳輸節(jié)點間先連接,然后通過該連接傳輸耐}好序的報文,以保證傳輸的正確性。IP層中的代碼用于實現網際協(xié)議,這些代碼將IP頭增加到傳輸數據中,同時也把收到的報文正確地轉送到TCP層或UDP層。TCP
89、是一個面向連接協(xié)議,而UDP則是一個非面向連接協(xié)議,當一個UDP報文發(fā)送出去后,Linux并不知道也不去擔心他是否成功地到達了目的主機。IP層之下,是支持所有Linux阿絡應用的網絡設備層,例如點到點協(xié)議(Point to Point Protocol.PPP)和以太網層。網絡設備并非總代表物理設備,其中有一些(例如回送設備)則是純粹的軟件設備,網絡設備與標準的Linux設備不同,他們不是通過Mknod命令創(chuàng)建的,必須是底層軟件找到并進
90、行了初始化之后,這些設備才被創(chuàng)建并可用。因此只有當啟動了正確設置的以太網設備驅動程序的內核后,才會有/dev/eth0文件。ARP協(xié)議位于IP層和支持地址解析的協(xié)議層之間。</p><p> 3.2 嵌入式網關系統(tǒng)設計的軟件框架</p><p> 嵌入式網關是軟件和硬件的具體結合,如何將硬件與軟件高度的結合起來是本設計的重點。本設計以串口為例,設嵌入式現場設備通過串口連入嵌入式網關。
91、在這種情況下嵌入式網關軟件平臺的搭建大體包括ARM-Linux操作系統(tǒng)內核的裁剪和移植、Linux下的網絡編程以及對進程間通信的分析。網關的軟件設計框圖如圖3.2所示。</p><p> 圖3.2 軟件設計框圖</p><p> 3.3 Linux下的網絡編程</p><p> Linux下的網絡編程部分是整個系統(tǒng)軟件部分的重點。</p>&
92、lt;p> Linux的許多特性都非常有助于網絡程序設計。首先Linux擁有POSIX.1標準庫函數,socket0,bind0、listen0這幾個庫函數可以非常方便地實現服務器,客戶機模型,其次Linux的進程管理也非常符合服務器的工作原理,在運行著Linux操作系統(tǒng)的計算機中,每一個進程都有一個創(chuàng)建它的父進程,而且它也能創(chuàng)建多個子進程。在服務器端我們可以用父進程去監(jiān)聽客戶機的連接請求,當有客戶機的連接請求時,父進程創(chuàng)建一個
93、子進程去建立連接線路并與客戶機通信,而它本身可繼續(xù)監(jiān)聽其它客戶機的連接請求,這樣就可避免當有一個客戶機與服務器建立連接后服務器就不能再與其它客戶機通信的問題。Linux的另一個特性是它秉承了UNIX設備無關性這一優(yōu)秀特征,即它通過文件描述符實現了統(tǒng)一的設備接口,磁盤、顯示終端、音頻設備、打印設備甚至網絡通信都使用統(tǒng)一的帕調用。</p><p> TCP/P協(xié)議被集成到Linux內核中時,相當于在Linux系統(tǒng)引
94、入了一種新型的I/O操作。Linux用戶進程與網絡協(xié)議的交互作用比用戶進程與傳統(tǒng)的I/O設備相互作用復雜得多。首先,進行網絡操作的兩個進程在不同機器上,如何建立它們之間的聯系;其次,網絡協(xié)議存在多種,如何建立一種通用機制以支持多種協(xié)議:這些部是網絡應用編程界面所要解決的問題。</p><p> 在Linux系統(tǒng)中,網絡應用編程界面有兩類:BSD的套接字(socket)和System V的TLI。由于Sum公司采
95、用了支持TC/IP的UNIX BSD操作系統(tǒng),使TCP/IP的應用有更大的發(fā)展,其網絡應用編程界面——套接字(socket)在網絡軟件中被廣泛應用,至今己成為開發(fā)網絡應用軟件的強有力工具。</p><p> 在開始使用套接字編程之前,首先介紹進程間通信、客戶,服務器模式、SOCKET定義和SOCKET類型等概念。</p><p> 3.3.1 進程間通信</p><
96、p> 進程通信的概念最初來源于單機系統(tǒng).由于每個進程都在自己的地址范圍內運行,為保證兩個相互通信的進程之間既互不干擾又協(xié)調一致工作,操作系統(tǒng)為進程通信提供了相應設施,如UNJX BSD中的管道(pipe)、命名管道(named pipo)和軟中斷信號( signal),UNIX system V的消息(message)、共享存儲區(qū)(shared Memory)和信號量(semaphore)等,但都僅限于用在本機進程之間通信。兩間
97、進程通信要解決的是不同主機進程間的相互通信問題(可把同機進程通信看作是其中的特倒)。</p><p> 為此,首先要解決的是網間進程標識問題。同一主機上,不同進程可用進程號(process JD)唯一標識。但在網絡環(huán)境下,各主機獨立分配的進程號不能唯一標識該進程。例如,主機A賦于某進程號5,在B機中也可以存在5號進程,因此,“5號進程”這句話就沒有意義了。其次,操作系統(tǒng)支持的網絡協(xié)議眾多,不同協(xié)議的工作方式不同
98、,地址格式也不同。因此,網間進程通信還要解決多重協(xié)議的識別問題。為了解決上述問題,TCP/IP協(xié)議引入了下列幾個概念。</p><p><b> 1.端口</b></p><p> 網絡中可以被命名和尋址的通信端口,是操作系統(tǒng)可分配的一種資源。</p><p> 按照OSI七層協(xié)議傳輸層與網絡層在功能上的最大區(qū)別是傳輸層提供進程通信能力,
99、從這個意義上講,阿絡通信的最終地址就不僅僅是主機地址了,還包括可以描述進程的某種標識符。為此,TCP/IP協(xié)議提出了協(xié)議端口(protocol port,簡稱端口)的概念,用于標識通信的進程。</p><p> 端口是種抽象的軟件結構(包括一些數據結構和u緩沖區(qū))。應用程序(即進程)通過系統(tǒng)調用與某端口建立連接(binding)后,傳輸層傳給該端口的數據都被相應進程所接收,相應進程發(fā)給傳輸層的數據都通過該端口輸
100、出。在TCP/IP協(xié)議的實現中,端口操作類似于一般的帕操作,進程獲取一個端口,相當于獲取本地唯一的I/O文件,可以用一般的讀寫原語訪問之。</p><p> 類似于文件描述符,每個端口都擁有一個叫端口號(port number)的整數型標識符,用于區(qū)別不同端口,由于TCP/IP傳輸層的兩個協(xié)議TCP和UDP是完全獨立的兩個軟件模塊,因此各自的端口號也相互獨立,如TCP有一個255號端口,UDP也可以有一個255
101、號端口,二者并不沖突。TCP/IP將端口號分為兩部分,少量的作為保留端口,以全局方式分配給服務進程。因此,每一個標準服務器都擁有一個全局公認的端口(即周知口,well-known port),即使在不同機器上,其端口號也相同。剩余的為自由端口,以本地方式進行分配。TCP和UDP均規(guī)定,小于256的端口號才能作保留端口。</p><p><b> 2.地址</b></p>&l
102、t;p> 網絡通信中通信的兩個進程分別在不同的機器上。在互連網絡中,兩臺機器可能位于不同的網絡,這些網絡通過網絡互連設備(用關,網橋,路由器等)連接。因此需要三級尋址:某一主機可與多個網絡相連,必須指定一特定網絡地址:網絡上每一臺主機應有其唯一的地址:每一主機上的每一進程應有在該主機上的唯一標識符。通常主機地址由阿絡ID和主機ID組成,在TCP/IP協(xié)議中用32位整數值表示;TCP和UDP均使用16位端口號標識用戶進程。<
103、/p><p><b> 3 全相關</b></p><p> 一個完整的網間進程通信需要由兩個進程組成,并且只能使用同一種高層協(xié)議[6]。也就是說,不可能通信的一端用TCP協(xié)議,而另端用UDP協(xié)議。因此一個完整的網間通信需要一個五元組來標識:(協(xié)議,本地地址·本地端口號,遠地地址,遠地端口號)這樣一個五元組,叫做個相關(association)。即兩個協(xié)議相
104、同的半相關才能組合成一個合適的相關,或完全指定組成一個連接。</p><p> 3.3.2 客戶/服務器模型</p><p> 在TCP/IP網絡應用中,通信的兩個進程叫相互作用的主要模式是客戶,服務器模式(Client/Server model),即客戶向服務器發(fā)出服務請求,服務器接收到請求后,提供相應的服務??蛻簦掌髂J降慕⒒谝韵聝牲c:首先,建立網絡的起因是網絡中軟硬件資
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于arm9嵌入式網關研究
- 基于ARM9的嵌入式網關的設計.pdf
- 基于ARM9的嵌入式家庭網關.pdf
- 畢業(yè)設計----基于arm9嵌入式視頻播放的設計與實現
- 基于ARM9的嵌入式無線智能家庭網關的設計.pdf
- 基于arm9的嵌入式電子文檔
- arm9嵌入式系統(tǒng)課程設計
- 基于arm9的嵌入式車載導航終端設計
- 基于arm9的嵌入式數據采集系統(tǒng)設計
- 基于ARM9的嵌入式工控系統(tǒng)設計.pdf
- 基于arm9嵌入式視頻播放設計與實現
- 基于ARM9的嵌入式測量相機設計.pdf
- 基于ARM9的嵌入式實驗平臺研究.pdf
- 基于ARM9的嵌入式Linux開發(fā)研究.pdf
- 基于ARM嵌入式網關的設計.pdf
- 畢業(yè)論文—arm9嵌入式系統(tǒng)編程
- 基于arm9的嵌入式軟件實驗平臺構建
- 基于ARM9的嵌入式系統(tǒng)的構建研究.pdf
- 基于ARM9的嵌入式數據采集系統(tǒng)設計.pdf
- 基于arm9的μcos-ⅱ嵌入式系統(tǒng)移植
評論
0/150
提交評論