當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]Linux下IEEE1394組網(wǎng)技術(shù)研究及實(shí)現(xiàn)

IEEE 1394,又稱火線(FireWire)接口,是一種高速度傳送接口,適用于主板的標(biāo)準(zhǔn)工作速率為12.5、25或50 Mb/s,適用于外設(shè)的標(biāo)準(zhǔn)所支持的數(shù)據(jù)率為100、200和400 Mb/s。
    IEEE1394具備高速率寬帶;實(shí)時(shí)性等時(shí)傳輸;采用細(xì)纜便于安裝;采用總線結(jié)構(gòu);支持熱插拔等特點(diǎn)。因此,基予IEEE1394的特點(diǎn),這里提出一種Linux下IEEE1394組網(wǎng)技術(shù)的設(shè)計(jì)方案。

1 IEEE1394簡介
   
對(duì)于多媒體數(shù)據(jù)傳輸?shù)母咭蟠呱薎EEE1394(以下簡稱1394)的發(fā)展。多媒體數(shù)據(jù)傳輸要具有實(shí)時(shí)性。單純圖形傳輸或網(wǎng)絡(luò)應(yīng)用一般對(duì)實(shí)時(shí)性要求并不高。例如在Internet上瀏覽主頁,雖有延遲,但一般尚可接受。如果網(wǎng)絡(luò)會(huì)議就要求具有實(shí)時(shí)性。其次是連接的方便性、通用性,并且成本較低,這樣接口連接更簡便,應(yīng)用更廣泛。
    1394可應(yīng)用于家庭網(wǎng)、商業(yè)網(wǎng)以及Internet中的各種遠(yuǎn)程系統(tǒng),具有相同功能的1394產(chǎn)品要比普通的微機(jī)配套設(shè)備便宜,具有更好的可擴(kuò)展性。所有這些都使1394產(chǎn)品獲得了強(qiáng)勁無比的競(jìng)爭(zhēng)力。
    1394具有如下特點(diǎn):
    1)高速率  IEEE1394-1995中規(guī)定速率為100~400 Mb/s。IEEE1394b的更高速度是800 Mb/s~3.2 Gb/s。其實(shí)400Mb/s就可以滿足所有要求?,F(xiàn)在通??赡苓_(dá)到的物理流LSI速度是200Mb/s。另外,實(shí)際傳輸?shù)臄?shù)據(jù)一般都要經(jīng)過壓縮處理,并不是直接傳輸原始視頻數(shù)據(jù)。因此200Mb/s能夠滿足實(shí)際需要。但對(duì)多路數(shù)字視頻信號(hào)傳輸來說,傳輸速率總是越高越好。
    2)實(shí)時(shí)性  1394的特點(diǎn)是利用等時(shí)性傳輸來保證實(shí)時(shí)性,因此,SSA,F(xiàn)iber Channel及Ultra SCSI也都與IEEE1394具有同樣的性能。
    3)采用細(xì)纜,便于安裝  4根信號(hào)線與2根電源線構(gòu)成的細(xì)纜使安裝簡單,而且價(jià)格便宜。但接點(diǎn)間距只有4.5 m。似乎略顯不足。而采用延伸接點(diǎn)間距的方法,POF可以將接點(diǎn)間距延長至70m。
    4)總線結(jié)構(gòu)  1394是總線,不是I/O。向各裝置傳送數(shù)據(jù)時(shí),是按IEEE1212標(biāo)準(zhǔn)讀寫列入轉(zhuǎn)換的空間??傊?,從上一層看,1394是與PCI總線相同。
    1394總線和常見的USB總線的不同之處在于:1394是一個(gè)對(duì)等的總線。就是說。任何一個(gè)總線上的設(shè)備都可主動(dòng)發(fā)出請(qǐng)求。而USB總線上的設(shè)備則是等待主機(jī)發(fā)送請(qǐng)求,然后做相應(yīng)的動(dòng)作。因而1394設(shè)備更智能化,因此1394就復(fù)雜一些,成本高一些。這個(gè)特性決定了1394可以是脫離以桌面主機(jī)為中心的束縛。
    1394總線的拓?fù)浣Y(jié)構(gòu)與USB相同,都是樹形結(jié)構(gòu)。但I(xiàn)EEE1394b提出了一個(gè)避免環(huán)狀結(jié)構(gòu)的方法,即使設(shè)備連接形成一個(gè)圓環(huán)時(shí),也能保證正常工作。1394串行總線與PCI并行總線不一樣,前者的兩個(gè)設(shè)備之間如果必須經(jīng)過第三個(gè)設(shè)備,那么數(shù)據(jù)必須從第三個(gè)設(shè)備穿過。而后者則可直接在兩個(gè)設(shè)備間傳輸,不用經(jīng)過第三個(gè)設(shè)備。
    1394總線上的設(shè)備之間也會(huì)選舉一些設(shè)備成為總線管理,做些額外的工作,如:①根節(jié)點(diǎn)主要是在總線仲裁中做最終的裁判。②同步資源管理器:主要是在同步傳輸中,管理帶寬,或者提供總線的拓?fù)浣Y(jié)構(gòu)和有限的電源管理。③總線管理器可以設(shè)置根節(jié)點(diǎn),提供總線拓?fù)浣Y(jié)構(gòu),優(yōu)化網(wǎng)絡(luò)的響應(yīng)時(shí)間,和更高級(jí)的電源管理。
    5)熱插拔  能帶電插拔。增刪新裝置,不必關(guān)閉電源,操作非常簡單。
    6)即插即用  增加新裝置不必設(shè)定ID,可自動(dòng)予以分配。1394的使用者不需要任何相關(guān)知識(shí),操作非常簡單,接上即用。實(shí)際上,當(dāng)有新的設(shè)備接入某個(gè)1394端口時(shí),整個(gè)總線將會(huì)進(jìn)行一次總線復(fù)位(bus reset)。所有設(shè)備重新給自己起名字(節(jié)點(diǎn)標(biāo)識(shí),Node ID)。1394的起名字的機(jī)制很簡單,從0開始往上,最多到62。一般葉子節(jié)點(diǎn)的ID小,樹根的ID最大。1394的總線復(fù)位時(shí)間:短的只要1 μs,長的要160μs。

2 網(wǎng)絡(luò)地址轉(zhuǎn)換NAT原理
   
網(wǎng)絡(luò)地址轉(zhuǎn)換NAT(Network Address Translation)廣泛應(yīng)用于各種類型Internet接入方式和各種類型的網(wǎng)絡(luò)中。NAT不僅完美地解決了lP地址不足的問題,而且還能夠有效避免來自網(wǎng)絡(luò)外部的攻擊,隱藏并保護(hù)網(wǎng)絡(luò)內(nèi)部的計(jì)算機(jī)。
    借助于NAT,私有(保留)地址的“內(nèi)部”網(wǎng)絡(luò)通過路由器發(fā)送數(shù)據(jù)包,私有地址被轉(zhuǎn)換成合法的IP地址,一個(gè)局域網(wǎng)只需使用少量外部IP地址即可實(shí)現(xiàn)私有地址網(wǎng)絡(luò)內(nèi)所有計(jì)算機(jī)與Intemet的通信需求。NAT將自動(dòng)修改IP報(bào)文頭的源IP地址和目的IP地址,IP地址校驗(yàn)則在NAT處理過程中自動(dòng)完成。有些應(yīng)用程序?qū)⒃碔P地址嵌入到IP報(bào)文的數(shù)據(jù)部分中,所以還需要同時(shí)對(duì)報(bào)文進(jìn)行修改,以匹配IP頭中已經(jīng)修改過的源IP地址。否則,在報(bào)文數(shù)據(jù)都分別嵌入IP地址的應(yīng)用程序就不能正常工作。
    NAT的實(shí)現(xiàn)方式有3種,即靜態(tài)轉(zhuǎn)換(Slatic NAT)、動(dòng)態(tài)轉(zhuǎn)換(Dynamic NAT)和端口多路復(fù)用(OverLoad)。靜態(tài)轉(zhuǎn)換是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公有IP地址,IP地址對(duì)是一對(duì)一的,某個(gè)私有IP地址只轉(zhuǎn)換為某個(gè)公有IP地址。借助于靜態(tài)轉(zhuǎn)換,可以實(shí)現(xiàn)外部網(wǎng)絡(luò)對(duì)內(nèi)部網(wǎng)絡(luò)中某些特定設(shè)備(如服務(wù)器)的訪問;動(dòng)態(tài)轉(zhuǎn)換是指將內(nèi)部網(wǎng)絡(luò)的私有IP地址轉(zhuǎn)換為公用IP地址時(shí),IP地址對(duì)是不確定的,所有被授權(quán)訪問Intemet的私有IP地址可隨機(jī)轉(zhuǎn)換為任何指定的合法IP地址。也就是說,只要指定哪些內(nèi)部地址可以進(jìn)行轉(zhuǎn)換,以及用哪些合法地址作為外部地址時(shí),就可以進(jìn)行動(dòng)態(tài)轉(zhuǎn)換。動(dòng)態(tài)轉(zhuǎn)換可以使用多個(gè)合法外部地址集。當(dāng)ISP提供的合法IP地址略少于網(wǎng)絡(luò)內(nèi)部的計(jì)算機(jī)數(shù)量時(shí),可以采用動(dòng)態(tài)轉(zhuǎn)換的方式;端口多路復(fù)用是指改變外出數(shù)據(jù)包的源端口并進(jìn)行端口轉(zhuǎn)換,即端口地址轉(zhuǎn)換PAT(Port Address Translation),采用端口多路復(fù)用方式。內(nèi)部網(wǎng)絡(luò)的所有主機(jī)均可共享一個(gè)合法外部IP地址實(shí)現(xiàn)對(duì)Intemet的訪問。從而可最大限度地節(jié)約IP地址資源。同時(shí),又可隱藏網(wǎng)絡(luò)內(nèi)部的所有主機(jī),有效避免來自Internet的攻擊。因此。目前網(wǎng)絡(luò)中應(yīng)用最多的就是端口多路復(fù)用方式。
    NAT依賴于本地網(wǎng)絡(luò)上的一臺(tái)機(jī)器來初始化和路由器另一邊的主機(jī)的任何連接,它可以阻止外部網(wǎng)絡(luò)上的主機(jī)的惡意活動(dòng),這樣就可以阻止網(wǎng)絡(luò)蠕蟲病毒,提高本地系統(tǒng)的可靠性;阻擋惡意瀏覽,提高本地系統(tǒng)的私密性。同時(shí),它也為UDP的跨局域網(wǎng)傳輸提供了方便。

3 內(nèi)核支持模塊
   
Linux內(nèi)核具有模塊化設(shè)計(jì)。在引導(dǎo)時(shí),只有少量的駐留內(nèi)核被載入內(nèi)存。這之后,無論何時(shí)用戶要求使用駐留內(nèi)核中沒有的功能,相關(guān)的內(nèi)核模塊(kemel module),有時(shí)稱驅(qū)動(dòng)程序(driver),就會(huì)被動(dòng)態(tài)地載入內(nèi)存。
    內(nèi)核模塊不被編譯在內(nèi)核中,因而控制內(nèi)核大小。然而模塊一旦被插入內(nèi)核,則與內(nèi)核其他部分一樣。
    內(nèi)核模塊的實(shí)現(xiàn)機(jī)制是:啟動(dòng)時(shí),由函數(shù)voidinti_modules()初始化模塊,因?yàn)榇蠖鄷r(shí)啟動(dòng)時(shí)很多時(shí)候沒有模塊。這個(gè)函數(shù)往往把內(nèi)核自身當(dāng)作一個(gè)虛模塊。如有系統(tǒng)需要,則調(diào)用一系列以sys開頭的函數(shù),對(duì)模塊進(jìn)行操作,如:sys_creat_modules(),sys_inti_modules(),sys_deldte_modules()等。Linux從2.2開始支持1394,在內(nèi)核中開始加入Linux Subsystem。

4 技術(shù)需求
   
為實(shí)現(xiàn)1394網(wǎng)絡(luò)與千兆以太網(wǎng)的互聯(lián)互通,需要組成1394網(wǎng)絡(luò)及研制1394網(wǎng)關(guān)。為組成1394網(wǎng)絡(luò),需3臺(tái)具有1394接口的設(shè)備,構(gòu)成最小的1394網(wǎng)絡(luò);其中一臺(tái)設(shè)備具有千兆以太網(wǎng)接口,作為網(wǎng)關(guān),實(shí)現(xiàn)1394網(wǎng)絡(luò)與千兆以太網(wǎng)的互聯(lián)互通。1394網(wǎng)絡(luò)組成框圖如圖1所示。


    1394網(wǎng)關(guān)與1394設(shè)備使用帶有1394接口卡的計(jì)算機(jī):X86處理器,操作系統(tǒng)為Windows或Linux。
[!--empirenews.page--]
5 1394組網(wǎng)實(shí)驗(yàn)
   
1394組網(wǎng)實(shí)驗(yàn)環(huán)境如下:
    1)硬件環(huán)境PC機(jī)2臺(tái),1394適配卡2塊,1394連接線纜(4針),以太網(wǎng)(外網(wǎng),可訪問Internet)。
    2)軟件環(huán)境操作系統(tǒng)為CentOS 5和Fedora 6。
    3)網(wǎng)絡(luò)結(jié)構(gòu) 2臺(tái)PC用1394線纜連接,其中一臺(tái)PC連接外網(wǎng),可通過以太網(wǎng)訪問Internet,另一臺(tái)無其他連接。
    2臺(tái)PC機(jī)通過1394實(shí)現(xiàn)通信,且其中一臺(tái)PC可通過1394訪問外網(wǎng)。
    實(shí)驗(yàn)總體原理:通過編譯安裝相關(guān)模塊,實(shí)現(xiàn)“IP over1394”,之后通過一系列配置,實(shí)現(xiàn)通過1394連接訪問外網(wǎng)。通信時(shí),數(shù)據(jù)先被封裝成以太網(wǎng)下的標(biāo)準(zhǔn)包,再被封裝成符合1394標(biāo)準(zhǔn)的傳輸格式,傳到目標(biāo)節(jié)點(diǎn)后,再進(jìn)行相反順序的解包分析工作。
    圖2說明了在Linux中IEEE1394的模塊組成關(guān)系。其中,OHCI1394-IEEE1394-eth1394-TCP/IP這條分支實(shí)現(xiàn)了1394的網(wǎng)絡(luò)功能,也就是IP over 1394。


    PC間通過1394連接實(shí)現(xiàn)網(wǎng)絡(luò)通信的原理圖如圖3所示。2臺(tái)PC的通信所使用的方式還是IP模式下的,只是物理連接變成了1394高速連接,而實(shí)現(xiàn)IP與1394之間聯(lián)系的是一個(gè)轉(zhuǎn)換模塊。


    圖4顯示該轉(zhuǎn)換模塊所做的工作。通過轉(zhuǎn)換包的結(jié)構(gòu),使包的格式在兩種情況下轉(zhuǎn)換,就可以實(shí)現(xiàn)用1394傳輸,用IP操作。

[!--empirenews.page--]
    為了在PC間建立通信,需要先使用ARP協(xié)議尋找目標(biāo)機(jī)的物理地址,這就需要發(fā)出ARP請(qǐng)求并接受ARP響應(yīng)。
    圖5是1394的ARP包的格式。Hardware_type:硬件類型,針對(duì)于1394,這里就是0x0018;Protocol_type:協(xié)議類型,針對(duì)1394的ARP,該值是0x0800;Opeode:值1代表請(qǐng)求,值2代表響應(yīng);Sender_unique_ID:發(fā)送者的ID;Sender_IP_address:發(fā)送者的IP地址;Target_IP_a-ddress:目標(biāo)IP地址。通過使用ARP協(xié)議獲得目標(biāo)物理地址后,就可建立通信連接。


    1394網(wǎng)關(guān)的配置可將1394網(wǎng)關(guān)看成是1394網(wǎng)絡(luò)與以太網(wǎng)之間的路由器。在配置1394網(wǎng)關(guān)時(shí),使用NAT技術(shù),使該網(wǎng)關(guān)具有類似于以太網(wǎng)中內(nèi)外網(wǎng)之間路由器的功能。
    PC可相互Ping通,且未與外網(wǎng)直接連接的PC可通過另一臺(tái)作為1394網(wǎng)關(guān)的PC訪問外網(wǎng),且網(wǎng)速較快。通過1394訪問新浪網(wǎng)站時(shí),用抓包軟件WireShark可以抓到鏈接到新浪網(wǎng)的HTTP包與TCP包。

6 結(jié)論
   
通過努力,現(xiàn)在所取得的成果主要有:1)實(shí)現(xiàn)1394的Linux下組網(wǎng),1394內(nèi)部網(wǎng)絡(luò)互相訪問;2)實(shí)現(xiàn)1394網(wǎng)絡(luò)與以太網(wǎng)的融合。通過一系列的安裝配置,可以使1394網(wǎng)絡(luò)與以太網(wǎng)連成一體,用戶可以像在以太網(wǎng)中一樣,進(jìn)行訪問各類網(wǎng)站,建立Ftp連接等正常網(wǎng)絡(luò)活動(dòng);3)對(duì)1394網(wǎng)絡(luò)性能進(jìn)行了多方面的測(cè)試實(shí)驗(yàn),對(duì)1394網(wǎng)絡(luò)性能的影響因素進(jìn)行了初步的總結(jié)。后續(xù)應(yīng)深化和完善1394整體性能,進(jìn)一步提升通信速率。造成實(shí)驗(yàn)測(cè)試速率偏低的原因:PC性能限制,1394線纜質(zhì)量等,以及內(nèi)核版本較舊,緩沖區(qū)偏小等。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉