由于越來越多的設(shè)備需要通過Internet進(jìn)行通信或者控制,因此互連和安全功能成為除操作系統(tǒng)之外,設(shè)計者們所面臨的主要設(shè)計需求
大部分設(shè)計者在設(shè)計嵌入式系統(tǒng)的時候都采用傳統(tǒng)的設(shè)計步驟:首先選擇RTOS(實時操作系統(tǒng)),然后在此基礎(chǔ)上構(gòu)建軟件應(yīng)用。至于其他組件,例如網(wǎng)絡(luò)協(xié)議,再根據(jù)它們與所選的RTOS的兼容性進(jìn)行選擇。這種選擇順序?qū)τ诮窈蟮那度胧较到y(tǒng)設(shè)計就不太合適了。
嵌入式設(shè)備的互連與移動特性日益突出,從而增強(qiáng)了對互連和安全性的要求。今天,沒有哪一個系統(tǒng)在設(shè)計的時候不考慮如何與其他系統(tǒng)進(jìn)行互連。從家用報警設(shè)備、汽車監(jiān)控設(shè)備到工控設(shè)備,嵌入式系統(tǒng)的OEM通過IP互連技術(shù),為廣大用戶提供性能更強(qiáng)大、可用性更佳的產(chǎn)品。
過去,人們在選擇操作系統(tǒng)的時候需要仔細(xì)評估該操作系統(tǒng)的優(yōu)缺點以及可用的開發(fā)工具。設(shè)計工程師的工作就是確保所選的操作系統(tǒng)勝任最大范圍的工作,并且滿足未來工程開發(fā)的需要。
現(xiàn)在,由于越來越多的設(shè)備需要通過Internet進(jìn)行通信或者控制,因此互連和安全功能成為除操作系統(tǒng)之外,設(shè)計者們所面臨的主要設(shè)計需求。嵌入 式系統(tǒng)的工程師們在設(shè)計的前期就要仔細(xì)選擇互連和安全協(xié)議棧,確保TCP/IP協(xié)議棧和相應(yīng)的安全與移動特性能夠在該嵌入式系統(tǒng)的生命周期內(nèi),滿足大部分 功能升級和設(shè)計更新的需要。
例如,對于公司和政府的辦公室、工廠和研發(fā)實驗室內(nèi)遍布的網(wǎng)絡(luò)而言,通過Internet(或者Intranet、VPN)通信的設(shè)備越多,這些設(shè)備對用戶就越方便實用。
但是,如果黑客通過無線設(shè)備在實驗室高墻之外進(jìn)行破壞行為,我們該如何應(yīng)對呢?尤其對于政府和軍隊系統(tǒng)來說,這種破壞的后果可能是無法挽回的。
大量嵌入式設(shè)備用于通信的有線和無線網(wǎng)絡(luò)規(guī)模不斷增長,迫切需要可靠的互連和安全性能保證。漏洞百出的網(wǎng)絡(luò)安全對于嵌入式系統(tǒng)設(shè)計的前端就意味著極大的風(fēng)險。
根基:TCP/IP棧
正如RTOS在傳統(tǒng)上是大多數(shù)嵌入式系統(tǒng)的基本組成模塊一樣,TCP/IP棧是網(wǎng)絡(luò)互連與安全的基礎(chǔ)。TCP/IP棧不僅負(fù)責(zé)設(shè)備之間的通信,而且是很多其他網(wǎng)絡(luò)互連與安全模塊賴以存在的核心軟件。
TCP/IP棧實質(zhì)上是層次化結(jié)構(gòu)的軟件模塊,其實現(xiàn)的功能在于通過Internet傳輸信息。TCP/IP是一個誤導(dǎo)的說法,因為TCP和IP僅 僅是TCP/IP棧用于通信的眾多協(xié)議中的兩種協(xié)議。棧的規(guī)??纱罂尚?,小的例如移動電話和PDA,又大又復(fù)雜的例如那些處理跨國公司VPN通信的棧。
圖1 與Interpeak的IPNET類似的TCP/IP協(xié)議棧,其中集成的組件
支持多種網(wǎng)絡(luò)互連功能、IPv4/IPv6和多種安全功能
圖1給出了一種集成了多個組件的協(xié)議棧。這個例子中的協(xié)議棧具有高度的安全性,能夠?qū)崿F(xiàn)無縫移動,支持IPv4和新型的IPv6協(xié)議。網(wǎng)絡(luò)和傳輸層構(gòu)成了這個棧的核心。
網(wǎng)絡(luò)層負(fù)責(zé)消息處理,并把邏輯地址和名字轉(zhuǎn)換成物理地址,傳輸層確保數(shù)據(jù)的完整性。這一層采用兩種基本的協(xié)議:傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報 協(xié)議(UDP)。當(dāng)傳輸出錯時,TCP負(fù)責(zé)重新提交數(shù)據(jù),并使主機(jī)同時保持多個連接。UDP是一種數(shù)據(jù)報服務(wù),當(dāng)不需要糾錯的時候,UDP能夠增強(qiáng)傳輸層 的網(wǎng)絡(luò)流量。
復(fù)雜性:新的挑戰(zhàn)
過去,網(wǎng)絡(luò)互連是一個次要因素,很多系統(tǒng)設(shè)計者通常構(gòu)建自己的網(wǎng)絡(luò)協(xié)議棧,或者干脆簡化這一工作。設(shè)備之間的通信通常比較簡單,并且局限于很小的范圍之內(nèi)。
而現(xiàn)在,大量的設(shè)備都通過Internet實現(xiàn)了互連,互連協(xié)議棧變得越來越復(fù)雜。錯綜復(fù)雜的互連與安全協(xié)議成倍增長,全球化的網(wǎng)絡(luò)標(biāo)準(zhǔn)也在快速發(fā)展,以應(yīng)對Internet上大量設(shè)備相互通信而帶來的最新安全挑戰(zhàn)和困難。
除此之外,Internet出現(xiàn)的重大變化就是從目前的IPv4協(xié)議轉(zhuǎn)變?yōu)镮Pv6協(xié)議。IPv4支持大約40億個地址,同時人們還想出了一些辦 法,在“私有”網(wǎng)絡(luò)中開辟額外的地址空間。IPv6支持 3.4×1038個地址,也就是說足可以為地球上每平方毫米提供6.70×1017個地址。隨著IPv6的逐步普及,很多設(shè)備需 要能夠同時支持IPv4 和IPv6的通信。
根據(jù)Ipv6所需的設(shè)備類型和互連特性,從移動IP到QoS、虛擬路由、Ipv6管道以及越來越多的新型技術(shù)都需要更高的性能和標(biāo)準(zhǔn)兼容性,這些技術(shù)將隨著網(wǎng)絡(luò)系統(tǒng)功能的增長而同步發(fā)展。
對于大多數(shù)應(yīng)用來說,現(xiàn)在的問題不再是構(gòu)建自己的TCP/IP棧,而是選擇一個合適的協(xié)議棧。我們將面臨使用多個RTOS的挑戰(zhàn)。在這種情況下,網(wǎng)絡(luò)互連和安全協(xié)議棧需要移植到多個RTOS上。我們必須在系統(tǒng)開發(fā)的早期就意識到存在這種需求的可能性。
在某種程度上,嵌入式系統(tǒng)設(shè)計的發(fā)展道路與PC的發(fā)展之路非常類似。在20世紀(jì)80年代早期,PC的主要作用就是處理電子數(shù)據(jù)表和文字處理,人們都 是根據(jù)這些功能來選擇PC。今天,許多終端用戶需要通過Internet快速地傳輸數(shù)據(jù),還需要具有多媒體功能。字處理和電子數(shù)據(jù)表的計算都成為了附屬功 能。
類似地,在嵌入式領(lǐng)域,我們非常依賴十幾年來一直沿用的各種RTOS的性能和可靠性。但是,我們必須轉(zhuǎn)變注意力,要認(rèn)識到:在網(wǎng)絡(luò)互連和安全性問題上的任何折中都會損害整個嵌入式系統(tǒng)的價值。因此,應(yīng)對網(wǎng)絡(luò)互連和安全性的挑戰(zhàn)成為系統(tǒng)設(shè)計需要考慮的首要問題。