時間:2023-03-02 14:56:28
序論:好文章的創(chuàng)作是一個不斷探索和完善的過程,我們?yōu)槟扑]十篇通信協(xié)議范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。
中圖分類號:TN918 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-914X(2016)09-0128-01
引言
隨著科學(xué)技術(shù)的飛速發(fā)展,量子信息學(xué)逐漸得到人們的關(guān)注與重視,在近代物理學(xué)、計算機(jī)科學(xué)等領(lǐng)域都有所涉及。通過量子力學(xué)的基礎(chǔ),不斷的發(fā)展與延伸。量子信息學(xué),是量子力學(xué)與信息科學(xué)相結(jié)合的產(chǎn)物,是以量子力學(xué)的態(tài)疊加原理為基礎(chǔ),研究信息處理的一門新興前沿科學(xué)。包括量子密碼術(shù)、量子通信、量子計算機(jī)等幾個方面。我們在這里,著重的了解一些量子通信。
一、 量子通信協(xié)議概念
1,量子通信協(xié)議定義
量子通信系統(tǒng)的基本部件包括量子態(tài)發(fā)生器、量子通道和量子測量裝置。按其所傳輸?shù)男畔⑹墙?jīng)典還是量子而分為兩類。前者主要用于量子密鑰的傳輸,后者則可用于量子隱形傳態(tài)和量子糾纏的分發(fā)。其中隱形傳送是指脫離實物的一種“完全”的信息傳送。可以想象:先提取原物的所有信息,然后將這些信息傳送到接收地點(diǎn),接收者依據(jù)這些信息,選取與構(gòu)成原物完全相同的基本單元,制造出原物完美的復(fù)制品。實際上是一種對于通信地保密性的傳輸。是一種在理論上可以保證通信絕對安全的一種通信方式。由于量子力學(xué)中的不確定性原理,是不允許精確地提取原物的全部信息,因此長期以來,隱形傳送不過是一種幻想而已。
2,量子通信與光通信的區(qū)別
量子通信與光通信的區(qū)別,在于在通信中用的光的強(qiáng)度是不同的。光通信一般采用是強(qiáng)光,包括無線電、微波、光纜、電纜等具體形式。通過偏振或相位等的調(diào)制方式來實現(xiàn)。量子通信討論的是光子級別的很弱的光,通過對光子態(tài)的調(diào)制,但是主要利用了光子的特性,量子態(tài)不可克隆原理和海森堡不確定性關(guān)系。這也是區(qū)別于光通信的重點(diǎn)。
二、量子通信基本方式
量子通信在量子力學(xué)原理的基礎(chǔ)上,通過量子態(tài)編碼和攜帶信息進(jìn)行加工處理,將信息進(jìn)行傳遞。只要包括:量子隱形傳態(tài)、量子密鑰分發(fā)等,下面主要介紹這兩個組成部分:
1,量子隱形傳態(tài)
量子隱形傳態(tài),又稱量子遙傳、量子隱形傳輸。經(jīng)由經(jīng)典通道和EPR 通道傳送未知量子態(tài)。利用分散量子纏結(jié)與一些物理訊息的轉(zhuǎn)換來傳送量子態(tài)至任意距離的位置的技術(shù)。它傳輸是量子態(tài)攜帶的量子信息。想要實現(xiàn)量子隱形傳態(tài),要求接收方和發(fā)送方擁有一對共享的EPR對,即BELL態(tài)(貝爾態(tài))。發(fā)送方對他的一半EPR對與發(fā)送的信息所在的粒子進(jìn)行結(jié)合,而接收方所有的另一半EPR對將在瞬間坍縮為另一狀態(tài)。根據(jù)這條信息,接收方對自己所擁有的另一半EPR對做相應(yīng)幺正變換即可恢復(fù)原本信息。到乙地,根據(jù)這些信息,在乙地構(gòu)造出原量子態(tài)的全貌。量子隱形傳態(tài)大致可以這樣描述:準(zhǔn)備一對糾纏光子對,一個光子發(fā)送給有原始量子態(tài)(即第三個光子)的甲方,另一個光子發(fā)送給要復(fù)制第三光子的量子態(tài)的乙方。甲方讓收到的一個光子與第三光子相互干涉(“再糾纏”),再隨機(jī)選取偏振片的方向測量干涉的結(jié)果,將測量方向與結(jié)果通過普通信道告訴乙方;乙方據(jù)此選擇相應(yīng)的測量方向測量他收到的光子,就能使該光子處于第三光子的量子態(tài)。
量子隱形傳態(tài)作為量子通信中最簡單的一種,是實現(xiàn)全球量子通信網(wǎng)絡(luò)的可行性的前提研究。它的存在與應(yīng)用,可以完全的保證用戶的信息安全,通信保密,同時如果出現(xiàn)有人竊聽的現(xiàn)象,將會及時的進(jìn)行信息的改變,保證內(nèi)容的“獨(dú)一無二”。
2,量子密鑰分發(fā)
量子密鑰分發(fā)以量子物理與信息學(xué)為基礎(chǔ),是量子密碼研究方向中不可缺少的重要部分。被認(rèn)為是安全性最高的加密方式,實現(xiàn)絕對安全的密碼體制。當(dāng)然這只是理論上的內(nèi)容,在現(xiàn)實生活中還是有一定的差距。只是理論上具有無條件的安全性。1969年提出用量子力學(xué)的理論知識進(jìn)行加密信息處理。到了1984年,第一次提出量子密鑰分發(fā)協(xié)議,即BB84協(xié)議。隨后又提出B92協(xié)議。2007年,中國科學(xué)技術(shù)大學(xué)院士潘建偉小組在國際上首次實現(xiàn)百公里量級的誘騙態(tài)量子密鑰分發(fā),解決了非理想單光子源帶來的安全漏洞。后又與美國斯坦福大學(xué)聯(lián)合開發(fā)了國際上迄今為止最先進(jìn)的室溫通信波段單光子探測器――基于周期極化鈮酸鋰波導(dǎo)的上轉(zhuǎn)換探測器。解決了現(xiàn)實環(huán)境中單光子探測系統(tǒng)易被黑客攻擊的安全隱患。保證了非理想光源系統(tǒng)的安全性。生成量子密鑰大致為:準(zhǔn)備一批糾纏光子對,一個光子發(fā)送給發(fā)信方,另一個光子發(fā)送給收信方。測量光子極化方向的偏振片的方位約定好兩種。兩人每次測量一個光子時選擇的方向都是隨機(jī)的,但要記錄下每次選擇的方向,當(dāng)然也要記錄下每次測量的結(jié)果,有光子通過偏振片就記1,無光子通過則記0。通過普通信道兩人交換測量方向的記錄,那些測量方向不一致的測量結(jié)果的記錄都舍去不要,剩下的那些測量方向相同所對應(yīng)的測量結(jié)果,兩人應(yīng)一致,這一致的記錄就可作為兩人共同的密鑰。
總結(jié)
經(jīng)典通信較光量子通信相比,量子通信具有傳統(tǒng)通信方式所不具備的絕對安全特性。具有保密性強(qiáng)、大容量、遠(yuǎn)距離傳輸?shù)忍攸c(diǎn)。量子通信不僅在軍事、國防等領(lǐng)域具有重要的作用,而且會極大地促進(jìn)國民經(jīng)濟(jì)的發(fā)展。逐漸走進(jìn)人們的日常生活。為了讓量子通信從理論走到現(xiàn)實,從上世紀(jì)90年代開始,國內(nèi)外科學(xué)家做了大量的研究工作。自1993年美國IBM的研究人員提出量子通信理論以來,美國國家科學(xué)基金會和國防高級研究計劃局都對此項目進(jìn)行了深入的研究,歐盟在1999年集中國際力量致力于量子通信的研究,研究項目多達(dá)12個,日本郵政省把量子通信作為21世紀(jì)的戰(zhàn)略項目。我國從上世紀(jì)80年代開始從事量子光學(xué)領(lǐng)域的研究,近幾年來,中國科學(xué)技術(shù)大學(xué)的量子研究小組在量子通信方面取得了突出的成績。
參考文獻(xiàn)
[1]莫玲 - 基于專利分析的歐盟量子通信技術(shù)發(fā)展現(xiàn)狀研究《淮北師范大學(xué)學(xué)報:自然科學(xué)版》 - 2015.
[2]徐兵杰,劉文林,毛鈞慶,量子通信技術(shù)發(fā)展現(xiàn)狀及面臨的問題研究《通信技術(shù)》 - 2014.
[3]胡廣軍,王建 -量子通信技術(shù)發(fā)展現(xiàn)狀及發(fā)展趨勢研究 《中國新通信》 - 2014.
[4]肖玲玲,金成城 - 基于專利分析的量子通信技術(shù)發(fā)展研究《全球科技經(jīng)濟(jì)t望》 - 2015.
不同的網(wǎng)絡(luò)協(xié)議都有其存在的必要,每一種協(xié)議都有它所主要依靠的操作系統(tǒng)和工作環(huán)境。在一個網(wǎng)絡(luò)上運(yùn)行得很好的通信協(xié)議,在另一個看起來很相似的網(wǎng)絡(luò)上可能完全不適合。因此,組建網(wǎng)絡(luò)時通信協(xié)議的選擇尤為重要。
無論是幾臺機(jī)器組成的Windows95/98對等網(wǎng),還是規(guī)模較大的WindowsNT、Novell或Unix/Xenix局域網(wǎng),凡是親自組建或管理過網(wǎng)絡(luò)的人,都碰到過如何選擇和配置網(wǎng)絡(luò)通信協(xié)議的新問題。由于許多用戶對網(wǎng)絡(luò)中的協(xié)議及其功能特征不是很清楚,所以在組網(wǎng)中經(jīng)常選用了不符合自身網(wǎng)絡(luò)特征的通信協(xié)議。其結(jié)果就造成了網(wǎng)絡(luò)無法接通,或者是速度太慢,工作不穩(wěn)定等現(xiàn)象而影響了網(wǎng)絡(luò)的可靠性。下面我就分析一下各個協(xié)議的特征和性能借以說明我配置協(xié)議的理論和立場。
一、通信協(xié)議
組建網(wǎng)絡(luò)時,必須選擇一種網(wǎng)絡(luò)通信協(xié)議,使得用戶之間能夠相互進(jìn)行“交流”。協(xié)議(Protocol)是網(wǎng)絡(luò)設(shè)備用來通信的一套規(guī)則,這套規(guī)則可以理解為一種彼此都能聽得懂的公用語言。有關(guān)網(wǎng)絡(luò)中的協(xié)議可以概括為兩類摘要:“內(nèi)部協(xié)議”和“外部協(xié)議”下面分別予以介紹。
1.內(nèi)部協(xié)議
1978年,國際標(biāo)準(zhǔn)化組織(ISO)為網(wǎng)絡(luò)通信制定了一個標(biāo)準(zhǔn)模式,稱為OSI/RM(OpenSystemInterconnect/ReferenceModel,開放系統(tǒng)互聯(lián)參考模型)體系結(jié)構(gòu)。該結(jié)構(gòu)共分七層,從低到高分別是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層和應(yīng)用層。其中,任何一個網(wǎng)絡(luò)設(shè)備的上下層之間都有其特定的協(xié)議形式,同時兩個設(shè)備(如工作站和服務(wù)器)的同層之間也有其使用的協(xié)議約定。在這里,我們將這種上下層之間和同層之間的協(xié)議全部定義為“內(nèi)部協(xié)議”。內(nèi)部協(xié)議在組網(wǎng)中一般很少涉及到,它主要提供給網(wǎng)絡(luò)開發(fā)人員使用。假如你只是為了組建一個網(wǎng)絡(luò),可不去理會內(nèi)部協(xié)議。
2.外部協(xié)議
外部協(xié)議即我們組網(wǎng)時所必須選擇的協(xié)議。由于它直接負(fù)責(zé)計算機(jī)之間的相互通信,所以通常稱為網(wǎng)絡(luò)通信協(xié)議。自從網(wǎng)絡(luò)問世以來,有許多公司投入到了通信協(xié)議的開發(fā)中,如IBM、Banyan、Novell、Microsoft等。每家公司開發(fā)的協(xié)議,最初一般是為了滿足自己的網(wǎng)絡(luò)通信,但隨著網(wǎng)絡(luò)應(yīng)用的普及,不同網(wǎng)絡(luò)之間進(jìn)行互聯(lián)的要求越來越迫切,因此通信協(xié)議就成為解決網(wǎng)絡(luò)之間互聯(lián)的關(guān)鍵技術(shù)。就像使用不同母語的人和人之間需要一種通用語言才能交談一樣,網(wǎng)絡(luò)之間的通信也需要一種通用語言,這種通用語言就是通信協(xié)議。目前,局域網(wǎng)中常用的通信協(xié)議(外部協(xié)議)主要有NetBEUI、IPX/SPX及其兼容協(xié)議和TCP/IP三類。
3.選擇網(wǎng)絡(luò)通信協(xié)議的原則
我們在選擇通信協(xié)議時一般應(yīng)遵循以下的原則摘要:
第
一、所選協(xié)議要和網(wǎng)絡(luò)結(jié)構(gòu)和功能相一致。如你的網(wǎng)絡(luò)存在多個網(wǎng)段或要通過路由器相連時,就不能使用不具備路由和跨網(wǎng)段操作功能的NetBEUI協(xié)議,而必須選擇IPX/SPX或TCP/IP等協(xié)議。另外,假如你的網(wǎng)絡(luò)規(guī)模較小,同時只是為了簡單的文件和設(shè)備的共享,這時你最關(guān)心的就是網(wǎng)絡(luò)速度,所以在選擇協(xié)議時應(yīng)選擇占用內(nèi)存小和帶寬利用率高的協(xié)議,如NetBEUI。當(dāng)你的網(wǎng)絡(luò)規(guī)模較大,且網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜時,應(yīng)選擇可管理性和可擴(kuò)充性較好的協(xié)議,如TCP/IP。
第
二、除非凡情況外,一個網(wǎng)絡(luò)盡量只選擇一種通信協(xié)議。現(xiàn)實中許多人的做法是一次選擇多個協(xié)議,或選擇系統(tǒng)所提供的所有協(xié)議,其實這樣做是很不可取的。因為每個協(xié)議都要占用計算機(jī)的內(nèi)存,選擇的協(xié)議越多,占用計算機(jī)的內(nèi)存資源就越多。一方面影響了計算機(jī)的運(yùn)行速度,另一方面不利于網(wǎng)絡(luò)的管理。事實上一個網(wǎng)絡(luò)中一般一種通信協(xié)議就可以滿足需要。
第
三、注重協(xié)議的版本。每個協(xié)議都有它的發(fā)展和完善過程,因而出現(xiàn)了不同的版本,每個版本的協(xié)議都有它最為合適的網(wǎng)絡(luò)環(huán)境。從整體來看,高版本協(xié)議的功能和性能要比低版本好。所以在選擇時,在滿足網(wǎng)絡(luò)功能要求的前提下,應(yīng)盡量選擇高版本的通信協(xié)議。
第
四、協(xié)議的一致性。假如要讓兩臺實現(xiàn)互聯(lián)的計算機(jī)間進(jìn)行對話,它們兩者使用的通信協(xié)議必須相同。否則中間還需要一個“翻譯”進(jìn)行不同協(xié)議的轉(zhuǎn)換,這樣不僅影響通信速度,同時也不利于網(wǎng)絡(luò)的平安和穩(wěn)定運(yùn)行。
二、局域網(wǎng)中常用的三種通信協(xié)議
BEUI協(xié)議
NetBEUI通信協(xié)議的特征。NetBEUI(NetBIOSExtendedUserInterface,用戶擴(kuò)展接口)由IBM于1985年開發(fā)完成,它是一種體積小、效率高、速度快的通信協(xié)議。NetBEUI也是微軟最鐘愛的一種通信協(xié)議,所以它被稱為微軟所有產(chǎn)品中通信協(xié)議的“母語”。微軟在其早期產(chǎn)品,如DOS、LANManager、Windows3.x和WindowsforWorkgroup中主要選擇NetBEUI作為自己的通信協(xié)議。在微軟如今的主流產(chǎn)品,如Windows95/98和WindowsNT中,NetBEUI已成為其固有的缺省協(xié)議。有人將WinNT定位為低端網(wǎng)絡(luò)服務(wù)器操作系統(tǒng),這和微軟的產(chǎn)品過于依靠NetBEUI有直接的關(guān)系。NetBEUI是專門為幾臺到百余臺PC所組成的單網(wǎng)段部門級小型局域網(wǎng)而設(shè)計的,它不具有跨網(wǎng)段工作的功能,即NetBEUI不具備路由功能。假如你在一個服務(wù)器上安裝了多塊網(wǎng)卡,或要采用路由器等設(shè)備進(jìn)行兩個局域網(wǎng)的互聯(lián)時,將不能使用NetBEUI通信協(xié)議。否則,和不同網(wǎng)卡(每一塊網(wǎng)卡連接一個網(wǎng)段)相連的設(shè)備之間,以及不同的局域網(wǎng)之間將無法進(jìn)行通信。
雖然NetBEUI存在許多不盡人意的地方,但它也具有其他協(xié)議所不具備的優(yōu)點(diǎn)。在三種通信協(xié)議中,NetBEUI占用內(nèi)存最少,在網(wǎng)絡(luò)中基本不需要任何配置。尤其在微軟產(chǎn)品幾乎獨(dú)占PC操作系統(tǒng)的今天,它很適合于廣大的網(wǎng)絡(luò)初學(xué)者使用。
NetBEUI和NetBIOS之間的關(guān)系。細(xì)心的讀者可能已經(jīng)發(fā)現(xiàn),NetBEUI中包含一個網(wǎng)絡(luò)接口標(biāo)準(zhǔn)NetBIOS。NetBIOS(NetworkBasicInput/OutputSystem,網(wǎng)絡(luò)基本輸入/輸出系統(tǒng))是IBM在1983年開發(fā)的一套用于實現(xiàn)PC間相互通信的標(biāo)準(zhǔn),其目的是開發(fā)一種僅僅在小型局域網(wǎng)上使用的通信規(guī)范。該網(wǎng)絡(luò)由PC組成,最大用戶數(shù)不超過30個,其特征是突出一個“小”字。后來,IBM發(fā)現(xiàn)NetBIOS存在的許多缺陷,所以于1985年對其進(jìn)行了改進(jìn),推出了NetBEUI通信協(xié)議。隨即,微軟將NetBEUI作為其客戶機(jī)/服務(wù)器網(wǎng)絡(luò)系統(tǒng)的基本通信協(xié)議,并進(jìn)一步進(jìn)行了擴(kuò)充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(ServerMessageBlocks,服務(wù)器消息塊)的組成部分,以降低網(wǎng)絡(luò)的通信堵塞。為此,有時將NetBEUI協(xié)議也稱為“SMB協(xié)議”。
人們常將NetBIOS和NetBEUI混淆起來,其實NetBIOS只能算是一個網(wǎng)絡(luò)應(yīng)用程序的接口規(guī)范,是NetBEUI的基礎(chǔ),它不具有嚴(yán)格的通信協(xié)議功能。而NetBEUI是建立在NetBIOS基礎(chǔ)之上的一個網(wǎng)絡(luò)傳輸協(xié)議。
2.IPX/SPX及其兼容協(xié)議
IPX/SPX通信協(xié)議的特征。IPX/SPX(InternetworkPacketeXchange/SequencesPacketeXchange,網(wǎng)際包交換/順序包交換)是Novell公司的通信協(xié)議集。和NetBEUI的明顯區(qū)別是,IPX/SPX顯得比較龐大,在復(fù)雜環(huán)境下具有很強(qiáng)的適應(yīng)性。因為,IPX/SPX在設(shè)計一開始就考慮了多網(wǎng)段的新問題,具有強(qiáng)大的路由功能,適合于大型網(wǎng)絡(luò)使用。當(dāng)用戶端接入NetWare服務(wù)器時,IPX/SPX及其兼容協(xié)議是最好的選擇。但在非Novell網(wǎng)絡(luò)環(huán)境中,一般不使用IPX/SPX。尤其在WindowsNT網(wǎng)絡(luò)和由Windows95/98組成的對等網(wǎng)中,無法直接使用IPX/SPX通信協(xié)議。
IPX/SPX協(xié)議的工作方式。IPX/SPX及其兼容協(xié)議不需要任何配置,它可通過“網(wǎng)絡(luò)地址”來識別自己的身份。Novell網(wǎng)絡(luò)中的網(wǎng)絡(luò)地址由兩部分組成摘要:標(biāo)明物理網(wǎng)段的“網(wǎng)絡(luò)ID”和標(biāo)明非凡設(shè)備的“節(jié)點(diǎn)ID”。其中網(wǎng)絡(luò)ID集中在NetWare服務(wù)器或路由器中,節(jié)點(diǎn)ID即為每個網(wǎng)卡的ID號(網(wǎng)卡卡號)。所有的網(wǎng)絡(luò)ID和節(jié)點(diǎn)ID都是一個獨(dú)一無二的“內(nèi)部IPX地址”。正是由于網(wǎng)絡(luò)地址的唯一性,才使IPX/SPX具有較強(qiáng)的路由功能。
在IPX/SPX協(xié)議中,IPX是NetWare最底層的協(xié)議,它只負(fù)責(zé)數(shù)據(jù)在網(wǎng)絡(luò)中的移動,并不保證數(shù)據(jù)是否傳輸成功,也不提供糾錯服務(wù)。IPX在負(fù)責(zé)數(shù)據(jù)傳送時,假如接收節(jié)點(diǎn)在同一網(wǎng)段內(nèi),就直接按該節(jié)點(diǎn)的ID將數(shù)據(jù)傳給它;假如接收節(jié)點(diǎn)是遠(yuǎn)程的(不在同一網(wǎng)段內(nèi),或位于不同的局域網(wǎng)中),數(shù)據(jù)將交給NetWare服務(wù)器或路由器中的網(wǎng)絡(luò)ID,繼續(xù)數(shù)據(jù)的下一步傳輸。SPX在整個協(xié)議中負(fù)責(zé)對所傳輸?shù)臄?shù)據(jù)進(jìn)行無差錯處理,所以我們將IPX/SPX也叫做“Novell的協(xié)議集”。
NWLink通信協(xié)議。WindowsNT中提供了兩個IPX/SPX的兼容協(xié)議摘要:“NWLinkSPX/SPX兼容協(xié)議”和“NWLinkNetBIOS”,兩者統(tǒng)稱為“NWLink通信協(xié)議”。NWLink協(xié)議是Novell公司IPX/SPX協(xié)議在微軟網(wǎng)絡(luò)中的實現(xiàn),它在繼續(xù)IPX/SPX協(xié)議優(yōu)點(diǎn)的同時,更適應(yīng)了微軟的操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境。WindowsNT網(wǎng)絡(luò)和Windows95/98的用戶,可以利用NWLink協(xié)議獲得NetWare服務(wù)器的服務(wù)。假如你的網(wǎng)絡(luò)從Novell環(huán)境轉(zhuǎn)向微軟平臺,或兩種平臺共存時,NWLink通信協(xié)議是最好的選擇。不過在使用NWLink協(xié)議時,其中“NWLinkIPX/SPX兼容協(xié)議”類似于Windows95/98中的“IPX/SPX兼容協(xié)議”,它只能作為客戶端的協(xié)議實現(xiàn)對NetWare服務(wù)器的訪問,離開了NetWare服務(wù)器,此兼容協(xié)議將失去功能;而“NWLinkNetBIOS”協(xié)議不但可在NetWare服務(wù)器和WindowsNT之間傳遞信息,而且能夠用于WindowsNT、Windows95/98相互之間任意通信。
3.TCP/IP協(xié)議
TCP/IP(TransmissionControlProtocol/InternetProtocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議)是目前最常用到的一種通信協(xié)議,它是計算機(jī)世界里的一個通用協(xié)議。在局域網(wǎng)中,TCP/IP最早出現(xiàn)在Unix系統(tǒng)中,現(xiàn)在幾乎所有的廠商和操作系統(tǒng)都開始支持它。同時,TCP/IP也是Internet的基礎(chǔ)協(xié)議。
TCP/IP通信協(xié)議的特征。TCP/IP具有很高的靈活性,支持任意規(guī)模的網(wǎng)絡(luò),幾乎可連接所有的服務(wù)器和工作站。但其靈活性也為它的使用帶來了許多不便,在使用NetBEUI和IPX/SPX及其兼容協(xié)議時都不需要進(jìn)行配置,而TCP/IP協(xié)議在使用時首先要進(jìn)行復(fù)雜的設(shè)置。每個節(jié)點(diǎn)至少需要一個“IP地址”、一個“子網(wǎng)掩碼”、一個“默認(rèn)網(wǎng)關(guān)”和一個“主機(jī)名”。如此復(fù)雜的設(shè)置,對于一些初識網(wǎng)絡(luò)的用戶來說的確帶來了不便。不過,在WindowsNT中提供了一個稱為動態(tài)主機(jī)配置協(xié)議(DHCP)的工具,它可自動為客戶機(jī)分配連入網(wǎng)絡(luò)時所需的信息,減輕了聯(lián)網(wǎng)工作上的負(fù)擔(dān),并避免了出錯。當(dāng)然,DHCP所擁有的功能必須要有DHCP服務(wù)器才能實現(xiàn)。
同IPX/SPX及其兼容協(xié)議一樣,TCP/IP也是一種可路由的協(xié)議。但是,兩者存在著一些差別。TCP/IP的地址是分級的,這使得它很輕易確定并找到網(wǎng)上的用戶,同時也提高了網(wǎng)絡(luò)帶寬的利用率。當(dāng)需要時,運(yùn)行TCP/IP協(xié)議的服務(wù)器(如WindowsNT服務(wù)器)還可以被配置成TCP/IP路由器。和TCP/IP不同的是,IPX/SPX協(xié)議中的IPX使用的是一種廣播協(xié)議,它經(jīng)常出現(xiàn)廣播包堵塞,所以無法獲得最佳的網(wǎng)絡(luò)帶寬。
Windows95/98中的TCP/IP協(xié)議。Windows95/98的用戶不但可以使用TCP/IP組建對等網(wǎng),而且可以方便地接入其它的服務(wù)器。值得注重的是,假如Windows95/98工作站只安裝了TCP/IP協(xié)議,它是不能直接加入WindowsNT域的。雖然該工作站可通過運(yùn)行在WindowsNT服務(wù)器上的服務(wù)器(如ProxyServer)來訪問Internet,但卻不能通過它登錄WindowsNT服務(wù)器的域。假如要讓只安裝TCP/IP協(xié)議的Windows95/98用戶加入到WindowsNT域,還必須在Windows95/98上安裝NetBEUI協(xié)議。
TCP/IP協(xié)議在局域網(wǎng)中的配置。在提到TCP/IP協(xié)議時,有許多用戶便被其復(fù)雜的描述和配置所困擾,而不敢放心地去使用。其實就局域網(wǎng)用戶來說,只要你把握了一些有關(guān)TCP/IP方面的知識,使用起來也非常方便。
IP地址基礎(chǔ)知識。前面在談到IPX/SPX協(xié)議時就已知道,IPX的地址由“網(wǎng)絡(luò)ID”(NetWorkID)和“節(jié)點(diǎn)ID”(NodeID)兩部分組成,IPX/SPX協(xié)議是靠IPX地址來進(jìn)行網(wǎng)上用戶的識別的。同樣,TCP/IP協(xié)議也是靠自己的IP地址來識別在網(wǎng)上的位置和身份的,IP地址同樣由“網(wǎng)絡(luò)ID”和“節(jié)點(diǎn)ID”(或稱HOSTID,主機(jī)地址)兩部分組成。一個完整的IP地址用32位(bit)二進(jìn)制數(shù)組成,每8位(1個字節(jié))為一個段(Segment),共4段(Segment1~Segment4),段和段之間用“.”號隔開。為了便于應(yīng)用,IP地址在實際使用時并不直接用二進(jìn)制,而是用大家熟悉的十進(jìn)制數(shù)表示,如192.168.0.1等。IP地址的完整組成摘要:“網(wǎng)絡(luò)ID”和“節(jié)點(diǎn)ID”都包含在32位二進(jìn)制數(shù)中。目前,IP地址主要分為A、B、C三類(除此之外,還存在D和E兩類地址,現(xiàn)在局域網(wǎng)中這兩類地址基本不用,故本文暫且不涉及),A類用于大型網(wǎng)絡(luò),B類用于中型網(wǎng)絡(luò),C類一般用于局域網(wǎng)等小型網(wǎng)絡(luò)中。其中,A類地址中的最前面一段Segment1用來表示“網(wǎng)絡(luò)ID”,且Segment1的8位二進(jìn)制數(shù)中的第一位必須是“0”。其余3段表示“節(jié)點(diǎn)ID”;B類地址中,前兩段用來表示“網(wǎng)絡(luò)ID”,且Segment1的8位二進(jìn)制數(shù)中的前二位必須是“10”。后兩段用來表示“節(jié)點(diǎn)ID”;在C類地址中,前三段表示“網(wǎng)絡(luò)ID”,且Segment1的8位二進(jìn)制數(shù)中的前三位必須是“110”。最后一段Segment4用來表示“節(jié)點(diǎn)ID”。
值得一提的是,IP地址中的所有“網(wǎng)絡(luò)ID”都要向一個名為InterNIC(InternetNetworkInformationCenter,互聯(lián)網(wǎng)絡(luò)信息中心)申請,而“節(jié)點(diǎn)ID”可以自由分配。目前可供使用的IP地址只有C類,A類和B類的資源均已用盡。不過在選用IP地址時,總的原則是摘要:網(wǎng)絡(luò)中每個設(shè)備的IP地址必須唯一,在不同的設(shè)備上不答應(yīng)出現(xiàn)相同的IP地址。表1列出了IP地址中的“網(wǎng)絡(luò)ID”的有關(guān)屬性,“節(jié)點(diǎn)ID”在互不重復(fù)的情況下由用戶自由分配。其實,將IP地址進(jìn)行分類,主要是為了滿足網(wǎng)絡(luò)的互聯(lián)。假如你的網(wǎng)絡(luò)是一個封閉式的網(wǎng)絡(luò),只要在保證每個設(shè)備的IP地址唯一的前提下,三類地址中的任意一個都可以直接使用(為以防萬一,你還是老老實實地使用C類IP地址為好)。
子網(wǎng)掩碼。對IP地址的解釋稱之為子網(wǎng)掩碼。從名稱可以看出,子網(wǎng)掩碼是用于對子網(wǎng)的管理,主要是在多網(wǎng)段環(huán)境中對IP地址中的“網(wǎng)絡(luò)ID”進(jìn)行擴(kuò)展。舉個例子來說明摘要:例如某個節(jié)點(diǎn)的IP地址為192.168.0.1,它是一個C類網(wǎng)。其中前面三段共24位用來表示“網(wǎng)絡(luò)ID”,是非常珍貴的資源;而最后一段共8位可以作為“節(jié)點(diǎn)ID”自由分配。但是,假如公司的局域網(wǎng)是分段管理的,或者該網(wǎng)絡(luò)是由多個局域網(wǎng)互聯(lián)而成,是否要給每個網(wǎng)段或每個局域網(wǎng)都申請分配一個“網(wǎng)絡(luò)ID”呢?這顯然是不合理的。此時,我們可以使用子網(wǎng)掩碼的功能,將其中一個或幾個節(jié)點(diǎn)的IP地址全部充當(dāng)成“網(wǎng)絡(luò)ID”來使用,用來擴(kuò)展“網(wǎng)絡(luò)ID”不足的困難。
當(dāng)我們將某一節(jié)點(diǎn)的IP地址如192.168.0.1已設(shè)置成一個“網(wǎng)絡(luò)ID”時,網(wǎng)絡(luò)上的其它設(shè)備又怎樣知道它是一個“網(wǎng)絡(luò)ID”,而不是一個節(jié)點(diǎn)IP地址呢?這就要靠子網(wǎng)掩碼來告知。子網(wǎng)掩碼是這樣做的摘要:假如某一位的二進(jìn)制數(shù)是“1”,它就知道是“網(wǎng)絡(luò)ID”的一部分;假如是“0”便認(rèn)作是“節(jié)點(diǎn)ID”的一部分。如將192.168.0.1當(dāng)做“網(wǎng)絡(luò)ID”時,其子網(wǎng)掩碼就是11111111.11111111.11111111.00000001,對應(yīng)的十進(jìn)制數(shù)表示為255.255.255.1。否則它的子網(wǎng)掩碼就是11111111.11111111.11111111.00000000,對應(yīng)的十進(jìn)制數(shù)表示應(yīng)為255.255.255.0。有了子網(wǎng)掩碼,便可方便地實現(xiàn)用戶跨網(wǎng)段或跨網(wǎng)絡(luò)操作。不過,為了讓子網(wǎng)掩碼能夠正常工作,同一子網(wǎng)中的所有設(shè)備都必須支持子網(wǎng)掩碼,且子網(wǎng)掩碼相同。表2列出了A、B、C三類網(wǎng)絡(luò)的缺省子網(wǎng)掩碼。
網(wǎng)關(guān)。網(wǎng)關(guān)(Gateway)是用來連接異種網(wǎng)絡(luò)的設(shè)置。它充當(dāng)了一個翻譯的身份,負(fù)責(zé)對不同的通信協(xié)議進(jìn)行翻譯,使運(yùn)行不同協(xié)議的兩種網(wǎng)絡(luò)之間可以實現(xiàn)相互通信。如運(yùn)行TCP/IP協(xié)議的WindowsNT用戶要訪問運(yùn)行IPX/SPX協(xié)議的Novell網(wǎng)絡(luò)資源時,則必須由網(wǎng)關(guān)作為中介。假如兩個運(yùn)行TCP/IP協(xié)議的網(wǎng)絡(luò)之間進(jìn)行互聯(lián),則可以使用WindowsNT所提供的“默認(rèn)網(wǎng)關(guān)”(DefaultGateway)來完成。網(wǎng)關(guān)的地址該如何分配呢?可舉一個例子往返答摘要:假如A網(wǎng)絡(luò)的用戶要訪問B網(wǎng)絡(luò)上的資源,必須在A網(wǎng)絡(luò)中設(shè)置一個網(wǎng)關(guān),該網(wǎng)關(guān)的地址應(yīng)為B網(wǎng)絡(luò)的“網(wǎng)絡(luò)ID”(一般可理解為B網(wǎng)絡(luò)服務(wù)器的IP地址)。當(dāng)A網(wǎng)絡(luò)的用戶同時還要訪問C網(wǎng)絡(luò)的資源時又該怎么呢?你只需將C網(wǎng)絡(luò)的“網(wǎng)絡(luò)ID”添加到A網(wǎng)絡(luò)的網(wǎng)關(guān)中即可。依次類推……網(wǎng)關(guān)連多少個網(wǎng)絡(luò),就擁有多少個IP地址。
主機(jī)名。網(wǎng)絡(luò)中唯一能夠代表用戶或設(shè)備身份的只有IP地址。但一般情況下,眾多的IP地址不輕易記憶,操作起來也不方便。為了改善這種狀況,我們可給予每個用戶或設(shè)備一個有意義的名稱,如“WANGQUN”。至于在網(wǎng)絡(luò)中用到“WANGQUN”時,怎樣知道其對應(yīng)的IP地址呢?這完全由操作系統(tǒng)自己完成,我們大可不必考慮。
三、通信協(xié)議的安裝、設(shè)置和測試
局域網(wǎng)中的一些協(xié)議,在安裝操作系統(tǒng)時會自動安裝。如在安裝WindowsNT或Windows95/98時,系統(tǒng)會自動安裝NetBEUI通信協(xié)議。在安裝NetWare時,系統(tǒng)會自動安裝IPX/SPX通信協(xié)議。其中三種協(xié)議中,NetBEUI和IPX/SPX在安裝后不需要進(jìn)行設(shè)置就可以直接使用,但TCP/IP要經(jīng)過必要的設(shè)置。所以下文主要以WindowsNT環(huán)境下的TCP/IP協(xié)議為主,介紹其安裝、設(shè)置和測試方法,其他操作系統(tǒng)中協(xié)議的有關(guān)操作和WindowsNT基本相同,甚至更為簡單。
TCP/IP通信協(xié)議的安裝。在WindowsNT中,假如未安裝有TCP/IP通信協(xié)議,可選擇“開始/設(shè)置/控制面板/網(wǎng)絡(luò)”,將出現(xiàn)“網(wǎng)絡(luò)”對話框,選擇對話框中的“協(xié)議/添加”,選取其中的TCP/IP協(xié)議,然后單擊“確定”按鈕。系統(tǒng)會詢問你是否要進(jìn)行“DHCP服務(wù)器”的設(shè)置?假如你的IP地址是固定的(一般是這樣),可選擇“否”。隨后,系統(tǒng)開始從安裝盤中復(fù)制所需的文件。
TCP/IP通信協(xié)議的設(shè)置。在“網(wǎng)絡(luò)”對話框中選擇已安裝的TCP/IP協(xié)議,打開其“屬性”,在指定的位置輸入已分配好的“IP地址”和“子網(wǎng)掩碼”。假如該用戶還要訪問其它WidnowsNT網(wǎng)絡(luò)的資源,還可以在“默認(rèn)網(wǎng)關(guān)”處輸入網(wǎng)關(guān)的地址。
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)19-4412-03
即時通信系統(tǒng)自從1996年第一個實現(xiàn)ICQ出現(xiàn)以來,經(jīng)過了迅猛的發(fā)展,當(dāng)前已經(jīng)不止是用于網(wǎng)絡(luò)上的文字訊息傳遞,而是包括了文字,多媒體,文件傳輸?shù)榷囗椆δ艿膹?fù)合型的通信工具。即時通信系統(tǒng)不止是在用戶通信領(lǐng)域發(fā)揮作用,在工業(yè)領(lǐng)域,如電力,工業(yè)制造,電話通信等各行各業(yè)中都出現(xiàn)了專門的即時通信系統(tǒng)。由于即時通信系統(tǒng)在各行各業(yè)的發(fā)展,往往面對不同的網(wǎng)絡(luò)環(huán)境(局域網(wǎng)或廣域網(wǎng),電纜、光纜、Wifi等不同的網(wǎng)絡(luò)連接),不同的通信要求(文字,多媒體,文件),即時通信系統(tǒng)數(shù)據(jù)的傳輸往往受到不同的帶寬(bandwidth)、時延(delay)等方面的影響,同時當(dāng)前的Internet網(wǎng)絡(luò)沒有提供服務(wù)質(zhì)量保證,在這樣的網(wǎng)絡(luò)中進(jìn)行即時通信還要很多問題可以研究。
該論文討論即時通信系統(tǒng)即時傳輸?shù)募夹g(shù)選擇,分析了TCP、UDP協(xié)議的不同點(diǎn)。對于一些最常用的即時通信系統(tǒng)進(jìn)行了分析,探討了提供博弈游戲功能的即時通信系統(tǒng)的解決方案。
該論文主要完成如下內(nèi)容:
1) 通過對即時通信系統(tǒng)的研究,根據(jù)不同的業(yè)務(wù)需求,提出了對即時通信系統(tǒng)傳輸數(shù)據(jù)性能的要求。
2) 通過對不同網(wǎng)絡(luò)協(xié)議的分析,確定不同協(xié)議的主要優(yōu)缺點(diǎn)及使用范圍
3) 結(jié)合以上兩點(diǎn),提出一個在Internet下提供實時文字通信、簡單博弈游戲、視頻與語音通信、文件傳輸?shù)募磿r通信系統(tǒng)實現(xiàn)方案。
1 網(wǎng)絡(luò)分析
目前常用的網(wǎng)絡(luò)主要是局域網(wǎng)和廣域網(wǎng)。局域網(wǎng)一般限定在較小的區(qū)域內(nèi),小于10km的范圍,通常采用有線的方式連接起來。廣域網(wǎng)是將分步在不同地區(qū)的局域網(wǎng)或計算機(jī)系統(tǒng)互連起來的。Internet就是我們?nèi)粘W罱?jīng)常接觸到的廣域網(wǎng)。
局域網(wǎng)通常比廣域網(wǎng)具有高得多的傳輸速率,例如,LAN的傳輸速率為10Mb/s,F(xiàn)DDI的傳輸速率為100Mb/s。廣域網(wǎng)的典型速率是從56kbps到155Mbps。
從傳播延遲上來看局域網(wǎng)內(nèi)往往是在相對獨(dú)立的局部范圍內(nèi)聯(lián),使用專門的傳輸介質(zhì)進(jìn)行聯(lián)網(wǎng),延遲很低,往往在幾毫秒內(nèi)。而廣域網(wǎng)由于覆蓋的空間廣大,連接的局域網(wǎng)眾多,傳輸介質(zhì)不一,傳輸延遲可以從幾毫秒到幾百毫秒。
2 業(yè)務(wù)分析
即時通信是指能夠即時發(fā)送和接收互聯(lián)網(wǎng)消息等的業(yè)務(wù)。即時通信系統(tǒng)就是一個能夠完整的完成發(fā)送和接收互聯(lián)網(wǎng)消息的軟件系統(tǒng)。自1998年面世以來,特別是近幾年的迅速發(fā)展,即時通信的功能日益豐富,逐漸集成了電子郵件、博客、音樂、電視、游戲和搜索等多種功能。
常用的即時通信軟件如QQ,微信,skype,MSN(即將整合到skype)等都支持文字聊天,語音對話,視頻會議,文件發(fā)送等即時交流,還可以查看聯(lián)系人的聯(lián)機(jī)狀態(tài)。Skype提供了撥打手機(jī),固話的功能。而qq也提供了即時的在線游戲功能。
為了實現(xiàn)一個Internet下提供實時文字通信、簡單博弈游戲、文件傳輸?shù)募磿r通信系統(tǒng)。必須考慮到文字聊天,語音對話,視頻對話,文件傳輸,在線游戲,連接電話網(wǎng)絡(luò)等功能。
1) 文字聊天功能業(yè)務(wù)分析
對于網(wǎng)絡(luò)傳輸速率和延遲的要求并不高。一般的文字聊天幾乎都是在兩個用戶單獨(dú)聊天或者多個用戶群聊天中發(fā)生的。至今中文打字最快的專業(yè)打字員,每分鐘能輸入340個中文字符左右,而英文的最高速度可達(dá)每分鐘400個字母左右。以一個中文字符占4個字節(jié)(UTF-8),一個英文字符占1個字節(jié)來計算。兩個用戶單獨(dú)聊天,如果使用中文每分鐘最多需要傳輸2720字節(jié),而使用英文聊天則只需要傳輸800字節(jié)。如果是在一個百人群中進(jìn)行文字聊天,每分鐘最多需要傳輸?shù)淖址仓挥?36k字節(jié),平均為2.27kb/s。由此可見文字聊天對網(wǎng)絡(luò)傳輸中的帶寬、時延要求并不高。
2) 博弈游戲功能業(yè)務(wù)分析
博弈游戲是對即時通信系統(tǒng)的一個特殊應(yīng)用。在線的博弈游戲就是通信雙方發(fā)送,接收一些包含游戲信息的數(shù)據(jù)包。而博弈游戲的特性使得游戲節(jié)奏比較慢,對于網(wǎng)絡(luò)的時延要求不是很高,因此從網(wǎng)絡(luò)傳輸上,與文字聊天信息的傳輸相差不大(事實上,早期的在線游戲都是通過文字聊天的方式實現(xiàn)的。)。
3) 語音對話業(yè)務(wù)分析
語音對話是近年來對文字聊天功能的擴(kuò)展,語音對話是采用語音編碼的方式將用戶即時的語音信號進(jìn)行編碼轉(zhuǎn)化成數(shù)字信號,從而降低傳輸碼率并進(jìn)行數(shù)字傳輸,傳輸后解析成語音信號播放,從而達(dá)到用戶即時聊天功能的過程。/*語音編碼的基本方法可分為波形編碼、參量編碼(音源編碼)和混合編碼。波形編碼的編碼速率為64-16kb/s,語音質(zhì)量好。參量編碼的編碼速率低,大約為2.4-1.2kb/s,自然度低,對環(huán)境噪聲敏感。混合編碼是將波形編碼與參數(shù)編碼相結(jié)合,在2.4-1.2kb/s速率上能夠得到高質(zhì)量的合成語音。*/目前使用最多的語音文件格式還是WMA格式(通常碼率 64 Kbps),的語音文件,以兩個用戶單獨(dú)使用語音聊天計算,需要保證至少128kb/s的速率,而如果是在一個20人的群內(nèi)進(jìn)行聊天,如果在服務(wù)器端不進(jìn)行混音,而到客戶端混音的話則需要保證1280kb/s的速率,如果在服務(wù)器端混音的話,則仍只需要128kb/s的速率。一般來說語音對話功能對網(wǎng)絡(luò)傳輸中的帶寬、時延提出了一定的要求
4) 視頻對話功能業(yè)務(wù)分析
視頻對話功能則是對語音對話的進(jìn)一步擴(kuò)充,提供了用戶直接面對面對話的功能。目前最主要的視頻技術(shù)就是H.264/MPEG-4 AVC(H.264)。H264與其它現(xiàn)有的視頻編碼標(biāo)準(zhǔn)相比,在相同的帶寬下能夠提供更加優(yōu)秀的圖象質(zhì)量,和MPEG2和MPEG4 ASP等壓縮技術(shù)相比,在同等圖像質(zhì)量下,采用H.264技術(shù)壓縮后的數(shù)據(jù)量只有MPEG2的1/8,MPEG4的1/3,提供了解決在不穩(wěn)定網(wǎng)絡(luò)環(huán)境下容易發(fā)生的丟包等錯誤的必要工具。在實際生活中,人們一般用于網(wǎng)絡(luò)視頻聊天時的分辨率為320×240甚至更低,傳輸?shù)膸瑪?shù)為每秒24幀,此時視頻傳輸速率將不到300kbps。使用H264技術(shù),可以將傳輸速率降低到100kbps不到。因此在視頻對話中,至少需要200kbps的帶寬。在實現(xiàn)視頻會議時,可以適當(dāng)?shù)慕档蛨D形質(zhì)量,但是往往隨著參與用戶的增多,對帶寬的要求往往呈線性增長。
一般情況下,即時通信系統(tǒng)都會提供給用戶一定的文件發(fā)送功能,文件發(fā)送需要盡快的完成,應(yīng)該是盡可能的利用現(xiàn)有的帶寬,傳輸速率越快越好。
3 網(wǎng)絡(luò)協(xié)議分析
即時通信系統(tǒng)為了在網(wǎng)絡(luò)上傳輸,必須選擇合適的傳輸方式。根據(jù)網(wǎng)絡(luò)七層模型,在網(wǎng)絡(luò)上傳輸數(shù)據(jù)主要是選擇傳輸層協(xié)議TCP和UDP 。
TCP是Transmission Control Protocol 傳輸控制協(xié)議的簡稱。TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運(yùn)輸層(Transport layer)通信協(xié)議。由于TCP采用三次握手,四次揮手,超時重傳等機(jī)制,保證了傳輸?shù)目煽啃裕瑫r也導(dǎo)致了TCP傳輸數(shù)據(jù)的效率相對而言并不高。而且在網(wǎng)絡(luò)擁堵的情況下,TCP由于有滑動窗口機(jī)制,就會降低自己的傳輸速率,導(dǎo)致傳輸效率更低。
UDP 是User Datagram Protocol的簡稱, 中文名是用戶數(shù)據(jù)包協(xié)議,是 OSI 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。它是一種無連接的協(xié)議,在網(wǎng)絡(luò)質(zhì)量令人不十分滿意的環(huán)境下,數(shù)據(jù)包丟失會比較嚴(yán)重。但是由于UDP的特性:它不屬于連接型協(xié)議,因而具有資源消耗小,處理速度快的優(yōu)點(diǎn),傳輸效率比TCP高。一般來說,在使用UDP的情況下,都需要在應(yīng)用層實現(xiàn)驗證,超時重傳等功能,但是對比于TCP來說,還是要快很多的。而且UDP在網(wǎng)絡(luò)擁擠的情況下,不會降低自己的傳輸速率,雖然對網(wǎng)絡(luò)造成了一定負(fù)擔(dān),但是更容易搶占到帶寬,保證自身用戶的通信。由于NAT技術(shù)的使用,在網(wǎng)絡(luò)中外網(wǎng)的計算機(jī)比較難以訪問內(nèi)網(wǎng)的計算機(jī),因此需要使用技術(shù)手段對NAT進(jìn)行穿透。
作為一個即時通信系統(tǒng),需要實現(xiàn)文字聊天,語音對話,視頻會議,文件傳輸?shù)裙δ埽鶕?jù)我們之前的分析,不同的功能對于網(wǎng)絡(luò)傳輸?shù)囊笫遣煌摹?/p>
文字聊天功能對于網(wǎng)絡(luò)的帶寬和延遲要求并不高,但是必須保證絕對不丟失聊天信息。因此在協(xié)議的選擇上應(yīng)該盡量傾向于可靠地連接。
在線博弈游戲功能對于網(wǎng)絡(luò)的要求與文字聊天功能近似,在協(xié)議的選擇上也應(yīng)該盡量傾向于可靠地連接。
語音聊天功能,出于通話質(zhì)量的要求,需要至少128kbps的帶寬,同時還必須保證不丟包。在協(xié)議上應(yīng)該兼顧可靠性與傳輸速率。
視頻聊天功能除了要發(fā)送語音信息外,還要發(fā)送視頻信息。視頻信息即使是使用了最新的壓縮技術(shù),對于網(wǎng)絡(luò)帶寬的要求任然很高。同時視頻信息也有它的特點(diǎn),就是對網(wǎng)絡(luò)傳輸時發(fā)生的丟包現(xiàn)象不是很敏感,即使發(fā)生了少量的丟包,很快就會有新的視頻信息發(fā)送到客戶端,刷新丟包的信息。因此視頻聊天功能在協(xié)議的選擇上應(yīng)該以傳輸速率優(yōu)先,兼顧可靠性。
文件傳輸功能則是要求在盡可能快的時間內(nèi),將文件完整的發(fā)送到另一方。一般來說文件總是會被拆分成幾個數(shù)據(jù)包進(jìn)行發(fā)送,在接收端組成一個完整的文件。文件傳輸如果是選擇可靠性較高的TCP協(xié)議的話,傳輸速度必然比較慢。如果選擇傳輸速度快的UDP協(xié)議,則必須解決可靠性的問題。
4 即時通信系統(tǒng)中對于協(xié)議的選擇
當(dāng)前我國的網(wǎng)絡(luò)基礎(chǔ)建設(shè)情況還不盡如人意。相關(guān)報告指出,國內(nèi)超半數(shù)用戶實際寬帶下載速率低于運(yùn)營商提供的名義寬帶速率。因此在即時通信系統(tǒng)中,如何有效的利用帶寬就成了一個比較敏感的問題。
文字聊天功能與即時游戲功能對于網(wǎng)絡(luò)速率的要求不高,但是對于可靠性比較高,因此應(yīng)當(dāng)使用TCP協(xié)議進(jìn)行傳輸。使用TCP協(xié)議既能滿足文字聊天的功能需求,同時傳輸?shù)目煽啃杂蒚CP協(xié)議負(fù)責(zé),便于設(shè)計。
語音聊天功能對于網(wǎng)絡(luò)的傳輸速率和時延要求都比較高,在帶寬允許的情況下,應(yīng)該采用TCP協(xié)議進(jìn)行傳輸,但是當(dāng)網(wǎng)絡(luò)比較擁堵的情況下,應(yīng)該轉(zhuǎn)而使用UDP協(xié)議進(jìn)行傳輸,同時在應(yīng)用層采取校驗和超時重傳的功能進(jìn)行可靠性保證。一個比較好的設(shè)計應(yīng)該是根據(jù)網(wǎng)絡(luò)情況,語音聊天系統(tǒng)自動的選擇TCP協(xié)議或者是UDP協(xié)議。當(dāng)TCP協(xié)議能夠滿足傳輸要求時,使用TCP協(xié)議進(jìn)行傳輸。當(dāng)網(wǎng)絡(luò)擁堵,TCP協(xié)議傳輸速率下降到不能保證語音質(zhì)量的情況下,則應(yīng)該自動從使用TCP協(xié)議切換到UDP協(xié)議。
視頻聊天功能由于對網(wǎng)絡(luò)的傳輸速率要求比較高,同時能夠忍受一定的丟包,因此UDP協(xié)議是比較好的選擇。同時從減少服務(wù)器載荷的角度來說,也可以利用P2P技術(shù)來讓聊天的對象之間直接進(jìn)行視頻信息的傳輸,使用UDP協(xié)議更加容易實現(xiàn)對NAT的穿透。
文件傳輸功能對網(wǎng)絡(luò)的傳輸速率要求很高,應(yīng)當(dāng)盡可能的將所有帶寬利用上,在應(yīng)用層添加數(shù)據(jù)包校驗與重傳功能后,UDP就是最好的選擇。
5 結(jié)束語
以上協(xié)議的選擇是符合當(dāng)前國內(nèi)的Internet網(wǎng)絡(luò)現(xiàn)狀和通信技術(shù)并能夠提供比較好的即時通信功能的。筆者相信在不太遠(yuǎn)的將來,隨著國內(nèi)網(wǎng)絡(luò)基礎(chǔ)建設(shè)的進(jìn)一步發(fā)展,云技術(shù)的普及,新的音頻、視頻協(xié)議的出現(xiàn),實時通信系統(tǒng)必將為網(wǎng)絡(luò)用戶提供更好的通信功能。
參考文獻(xiàn):
[1] Gary R.Wright W.Richard Stevens. TCP/IP詳解 卷1:協(xié)議[M]. 范建華,胥光輝,張濤,等,譯.北京:機(jī)械工業(yè)出版社,2001.
[2] Gary R.Wright W.Richard Stevens. [M].陸雪瑩,蔣慧,等,譯. TCP/IP詳解 卷2:實現(xiàn)北京:機(jī)械工業(yè)出版社,2001.
網(wǎng)絡(luò)通信協(xié)議作用是為連接不同操作系統(tǒng)和不同硬件體系結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)引提供通信支持,是一種網(wǎng)絡(luò)通用語言。
網(wǎng)絡(luò)是一個信息交換的場所,所有接入網(wǎng)絡(luò)的計算機(jī)都可以通過彼此之間的物理連設(shè)備進(jìn)行信息交換,這種物理設(shè)備包括最常見的電纜、光纜、無線WAP和微波等,但是單純擁有這些物理設(shè)備并不能實現(xiàn)信息的交換,這就好像人類的身體不能缺少大腦的支配一樣,信息交換還要具備軟件環(huán)境,這種“軟件環(huán)境”是人類事先規(guī)定好的一些規(guī)則,被稱作“協(xié)議”,有了協(xié)議,不同的電腦可以遵照相同的協(xié)議使用物理設(shè)備,并且不會造成相互之間的“不理解”。網(wǎng)絡(luò)協(xié)議通常由語法,語義和定時關(guān)系3部分組成。網(wǎng)絡(luò)傳輸協(xié)議或簡稱為傳送協(xié)議(CommunicationsProtocol),是指計算機(jī)通信的共同語言。現(xiàn)在最普及的計算機(jī)通信為網(wǎng)絡(luò)通信,所以“傳送協(xié)議”一般都指計算機(jī)通信的傳送協(xié)議,如:TCP/IP、NetBEUI等。然而,傳送協(xié)議也存在于計算機(jī)的其他形式通信,例如:面向?qū)ο缶幊汤锩鎸ο笾g的通信;操作系統(tǒng)內(nèi)不同程序之間的消息,都需要有一個傳送協(xié)議,以確保傳信雙方能夠溝通無間。
(來源:文章屋網(wǎng) )
隨著計算機(jī)技術(shù)的普及,網(wǎng)絡(luò)信息化得到了新的發(fā)展。在這個過程中計算機(jī)網(wǎng)絡(luò)通信協(xié)議成為該行業(yè)討論的焦點(diǎn)問題。因此,本文將從通信協(xié)議的概念、原則和常見協(xié)議幾個方面進(jìn)行分析,力求提供新的思路。
1網(wǎng)絡(luò)通信協(xié)議的概念
在計算機(jī)通信的過程中,兩臺計算機(jī)之間必須使用通信協(xié)議。網(wǎng)絡(luò)通信協(xié)議主要是指通過信道和設(shè)備將多個不同位置的數(shù)據(jù)進(jìn)行連接的通信系統(tǒng),是計算機(jī)之間實現(xiàn)會話的必要基礎(chǔ)。通信協(xié)議具有可靠性、有效性和層次性的特點(diǎn)。其本質(zhì)是一種規(guī)則的體現(xiàn),即計算機(jī)網(wǎng)絡(luò)硬件和軟件必須共同遵守的規(guī)則。與此同時,我們認(rèn)為網(wǎng)絡(luò)協(xié)議并不是單獨(dú)存在的,常常存在于其他軟件中。其中,基礎(chǔ)型協(xié)議主要用來提供網(wǎng)絡(luò)連接的服務(wù),是通信服務(wù)中最基礎(chǔ)的層面;應(yīng)用型協(xié)議需要針對具體的網(wǎng)絡(luò)服務(wù)來進(jìn)行選擇,不屬于必備協(xié)議。從組成方面來看,網(wǎng)絡(luò)協(xié)議主要包含三個要素,即語義、語法和時序。語義主要是對協(xié)議元素進(jìn)行必要的解釋,而不同的協(xié)議元素對語義的規(guī)定有所差別。語法主要是將各個協(xié)議的元素進(jìn)行組合,通過計算機(jī)語言表達(dá)出相對完整的內(nèi)容,是對信息數(shù)據(jù)處理的結(jié)構(gòu)形式。時序則是對事件發(fā)生的順序進(jìn)行調(diào)整和說明。
2網(wǎng)絡(luò)通信協(xié)議的原則
在計算機(jī)網(wǎng)絡(luò)通信協(xié)議中進(jìn)行信息和數(shù)據(jù)傳遞需要堅持三大原則。即所選協(xié)議的一致性、選擇高版本協(xié)議和通信協(xié)議的單一性。所選協(xié)議的一致性是指協(xié)議需要和網(wǎng)絡(luò)結(jié)構(gòu)、功能相一致。在計算機(jī)網(wǎng)絡(luò)通信協(xié)議中,網(wǎng)絡(luò)通信協(xié)議需要對網(wǎng)絡(luò)規(guī)模、兼容性和管理進(jìn)行綜合考慮。具體而言,當(dāng)網(wǎng)絡(luò)規(guī)模較小時,對網(wǎng)絡(luò)的要求也隨之較低。因此在網(wǎng)絡(luò)配置的選擇上重心在于網(wǎng)絡(luò)速度。故,在協(xié)議的選擇上以占用內(nèi)存小和寬帶利用率高的協(xié)議為主,常見的有:NetBEUI。反之,當(dāng)網(wǎng)絡(luò)規(guī)模較大時,網(wǎng)絡(luò)結(jié)構(gòu)也變得復(fù)雜,此時可以選擇擴(kuò)充性和管理性較強(qiáng)的協(xié)議,常見的有:TCP/IP。通信協(xié)議的單一性主要是指計算機(jī)之間的通信離不開通信協(xié)議,常規(guī)模式下每一個網(wǎng)絡(luò)只能選擇一種通信協(xié)議。這是因為,每一個網(wǎng)絡(luò)通信協(xié)議均會占用計算機(jī)內(nèi)存,當(dāng)選擇協(xié)議較多時,無疑會造成內(nèi)存資源的不足和浪費(fèi),從而直接影響到計算機(jī)的運(yùn)行速度,加大了網(wǎng)絡(luò)管理的難度。選擇高版本協(xié)議主要原因是:高版本協(xié)議的功能和性能相對較好。值得一提的是每個通信協(xié)議都有其最合適的網(wǎng)絡(luò)環(huán)境。因此,使用者需要根據(jù)網(wǎng)絡(luò)計算機(jī)的環(huán)境選擇與之匹配的網(wǎng)絡(luò)通信協(xié)議。
3常見的網(wǎng)絡(luò)通信協(xié)議
3.1TCP/IP協(xié)議
TCP/IP協(xié)議是TCP協(xié)議和IP協(xié)議的結(jié)合體,是最重要的兩種協(xié)議。最早使用該協(xié)議的是Unix系統(tǒng),并且得到了市場上大多數(shù)計算機(jī)廠商和操作系統(tǒng)的大力支持。在互聯(lián)網(wǎng)的使用過程中,TCP/IP協(xié)議能夠提供有效地端字節(jié)傳輸服務(wù)。首先,傳給IP層的數(shù)據(jù)流可以通過TCP分割成長度較為合適的數(shù)據(jù)段后再進(jìn)行二次傳輸,然后根據(jù)接收端主機(jī)從IP層接收的數(shù)據(jù)包進(jìn)行上傳。常見的IP協(xié)議主要為IPV4協(xié)議和IPV6協(xié)議,該協(xié)議規(guī)定了在互聯(lián)網(wǎng)傳輸過程中準(zhǔn)確的數(shù)據(jù)格式,因此,在TCP/IP協(xié)議中的傳輸是相對嚴(yán)格的一個過程。與此同時,IPV6協(xié)議優(yōu)于IPV4協(xié)議,具體表現(xiàn)在三個方面。即IPV6協(xié)議擁有更為廣闊的地址空間,將IP地址長度從32位上升到128位;擁有更小的路由表,即IPV6協(xié)議遵循聚類原則,路由器可以在路由表中選擇一條記錄來代表一片子網(wǎng),因此縮短了路由表的長度,進(jìn)而提高了路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度。最后,IPV6協(xié)議協(xié)議增加了自動配置的支持功能,該功能能夠使網(wǎng)絡(luò)管理更為便利和安全,同時可以對網(wǎng)絡(luò)層提供加密數(shù)據(jù)處理,提高了互聯(lián)網(wǎng)安全。除此之外,TCP/IP協(xié)議本身具有較強(qiáng)的靈活性,可以支持不同規(guī)模的網(wǎng)絡(luò),連接所有的服務(wù)器和工作站。但是,在這個過程中也存在一些麻煩和問題。即在使用其他協(xié)議的過程中不需要進(jìn)行配置,可以自動的分配網(wǎng)絡(luò)所需的必要信息,減少人工操作。而TCP/IP協(xié)議需要完成相對復(fù)雜的設(shè)置過程,即每一個節(jié)點(diǎn)都需要IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)和主機(jī)名。此外,對于Windows中的TCP/IP協(xié)議而言,想要直接加入WindowsNT域只安裝TCP/IP協(xié)議是無法登陸的,還需要在Windows系統(tǒng)上安裝NetBEUI協(xié)議,從而順利的訪問其服務(wù)器的域中。
3.2IPX/SPX及其兼容協(xié)議
IPX/SPX及其兼容協(xié)議是由Novell公司開發(fā)的一種網(wǎng)絡(luò)通信協(xié)議集,與NetBEUI通信協(xié)議不同的地方在于該協(xié)議較為龐大,在復(fù)雜的網(wǎng)絡(luò)環(huán)境下依舊有強(qiáng)大的適應(yīng)性。因此,非常適合大型網(wǎng)絡(luò)使用。與此同時,IPX/SPX及其兼容協(xié)議可以通過網(wǎng)絡(luò)地址信息來辨別身份,不需要任何其他配置,是其最大的優(yōu)點(diǎn)。此外,IPX/SPX及其兼容協(xié)議所有的網(wǎng)絡(luò)IP和節(jié)點(diǎn)IP都有內(nèi)部的一個IPX地址,具有唯一性。然而,IPX屬于NetWare自帶的最底層的網(wǎng)絡(luò)協(xié)議,其功能主要是對網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)負(fù)責(zé),即僅保證傳輸?shù)某晒Γ槐WC傳輸?shù)恼_性。而SPX主要是針對數(shù)據(jù)的正確性進(jìn)行核查與處理。因此,當(dāng)兩種協(xié)議合并在一起的時候能夠具備較強(qiáng)的功能,彌補(bǔ)其劣勢。因此,使用Windows的用戶可以獲得NetWare服務(wù)器的相關(guān)服務(wù),當(dāng)Novell環(huán)境開始轉(zhuǎn)向微軟平臺的時候,這兩種平臺將實現(xiàn)共存。
3.3NetBEUI協(xié)議
NetBEUI協(xié)議最大的優(yōu)點(diǎn)在于速度快、體積小和效率高,且NetBEUI協(xié)議是微軟主流產(chǎn)品的缺省協(xié)議。該協(xié)議主要應(yīng)用于小型局域網(wǎng)環(huán)境中,且局域網(wǎng)中可以實現(xiàn)幾百臺PC機(jī)的互聯(lián)。NetBIOS是NetBEUI通信協(xié)議中的一個網(wǎng)絡(luò)接口標(biāo)準(zhǔn),其功能是加強(qiáng)PC機(jī)之間的通信,而內(nèi)網(wǎng)PC機(jī)一般不超過30個。
4結(jié)語
隨著局域網(wǎng)的組建和發(fā)展,網(wǎng)絡(luò)兼容性和網(wǎng)絡(luò)規(guī)則將直接影響到網(wǎng)絡(luò)通信協(xié)議的選擇。與此同時,TCP/IP協(xié)議主要用于效率高且擴(kuò)展性能較強(qiáng)的網(wǎng)絡(luò),而NetBEUI通信協(xié)議比較適合小型網(wǎng)絡(luò)。IPX/SPX及其兼容協(xié)議協(xié)議主要適用于兩種平臺共存的計算機(jī)網(wǎng)絡(luò)系統(tǒng)。因此,在網(wǎng)絡(luò)通信協(xié)議的選擇上需要根據(jù)實際需要進(jìn)行科學(xué)的、合理的選擇,提高計算機(jī)的使用效率。
參考文獻(xiàn):
[1]劉芳基.于通信順序進(jìn)程的計算機(jī)網(wǎng)絡(luò)通信協(xié)議形式化描述[J].信息系統(tǒng)工程,2016(2).
[2]吉逸,吳國新.計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)及通信協(xié)議[J].江蘇機(jī)械制造與自動化,2011(5).
引言
隨著通信技術(shù)和嵌入式計算機(jī)技術(shù)迅速發(fā)展,傳感器技術(shù)也有了一定的發(fā)展,無線傳感器網(wǎng)絡(luò)是由大量的成本低、耗能低,并且具備感知能力、計算能力以及無線通信能力的微型傳感器節(jié)點(diǎn),通過自組織的方式構(gòu)成的網(wǎng)絡(luò)。這些由微型傳感器節(jié)點(diǎn)構(gòu)成的傳感器網(wǎng)絡(luò),能夠協(xié)作地實時監(jiān)測或感知網(wǎng)絡(luò)分布區(qū)域內(nèi)的相關(guān)信息,并對這些信息進(jìn)行處理,從而獲得詳細(xì)而準(zhǔn)確的信息,并將其傳送給需要信息的用戶。無線傳感器網(wǎng)絡(luò)作為一個研究的熱點(diǎn),仍然存在著很多的問題,最重要的就是無線傳感器網(wǎng)絡(luò)通信協(xié)議問題,只有設(shè)計合適的協(xié)議,才能夠有效的延長節(jié)點(diǎn)和網(wǎng)絡(luò)的使用壽命。
1.無線傳感器網(wǎng)絡(luò)概況
無線傳感器網(wǎng)絡(luò)是集數(shù)據(jù)采集、綜合處理和通信功能為一體的分布式的自組織網(wǎng)絡(luò),集合了傳感器、控制器、計算能力以及通信能力于一身的嵌入式設(shè)備,具有眾多類型的傳感器,可以探測包括地震、溫度、噪聲等周圍環(huán)境中多樣的現(xiàn)象[1]。傳感器網(wǎng)絡(luò)實現(xiàn)了數(shù)據(jù)的采集、處理以及傳播這三種功能,并且和通信技術(shù)、計算機(jī)技術(shù)共同構(gòu)成信息技術(shù)的三大支柱,無線傳感器具有網(wǎng)絡(luò)規(guī)模大、自組織、網(wǎng)絡(luò)動態(tài)性以及可靠性等特點(diǎn)[2]。無線傳感器網(wǎng)絡(luò)是一種基于特定應(yīng)用的系統(tǒng),對于不同的應(yīng)用有不同的系統(tǒng)設(shè)計,目前實用的無線傳感器網(wǎng)絡(luò)系統(tǒng)比較少,并沒有一種統(tǒng)一的標(biāo)準(zhǔn)來定義無線傳感器網(wǎng)絡(luò)的架構(gòu),無線傳感器網(wǎng)絡(luò)作為目前信息領(lǐng)域新的研究熱點(diǎn),涉及多學(xué)科交叉的研究領(lǐng)域,網(wǎng)絡(luò)傳感器網(wǎng)絡(luò)的關(guān)鍵技術(shù)有網(wǎng)絡(luò)拓?fù)淇刂啤⒕W(wǎng)絡(luò)協(xié)議以及無線通信技術(shù)等,一般主要應(yīng)用于軍事、環(huán)境監(jiān)測以及民用等方面,并且引起了各界的廣泛關(guān)注。
2.無線傳感器網(wǎng)絡(luò)通信協(xié)議研究
無線傳感器網(wǎng)絡(luò)自身比較脆弱,容易受到強(qiáng)大攻擊點(diǎn)的破壞,由于體積比較小,所帶的電磁量也有限,傳感器各層通信協(xié)議涉及應(yīng)把節(jié)能和性能放在同等的位置,可以給傳感器硬件限制加密機(jī)制,以保護(hù)無線傳感器的安全性能。無線傳感器網(wǎng)絡(luò)的安全和一般網(wǎng)絡(luò)是一樣的,都需要解決機(jī)密性、完整性以及安全管理等問題,這些安全問題在網(wǎng)絡(luò)協(xié)議的各個層次中都應(yīng)該充分的考慮,可以進(jìn)行加密管理或者是身份認(rèn)證,要加強(qiáng)研究防攻擊術(shù),全面保證無線傳感器的安全。我們將從物理層協(xié)議、數(shù)據(jù)鏈路層協(xié)議以及傳輸層協(xié)議和應(yīng)用層協(xié)議對無線傳感器網(wǎng)絡(luò)通信協(xié)議進(jìn)行研究。物理層協(xié)議研究涉及無線傳感器網(wǎng)絡(luò)采用的傳輸媒體[3]、頻段選擇和調(diào)制方式,目前主要采用的傳輸媒體有無線電和紅外線等,無線電傳輸是目前的主流方式,但是需要解決頻段選擇、節(jié)能的編碼以及調(diào)制算法設(shè)計這三個方面的問題,和無線電傳輸相比,紅外線傳輸不需要復(fù)雜的調(diào)制和解調(diào)機(jī)制,接收器電路也比較簡單,并且單位傳輸功耗較小,但是這種傳輸方式不能夠穿透非透明物體,所以智能在一些特殊的DSN系統(tǒng)中使用。
數(shù)據(jù)鏈路層協(xié)議可以分為拓?fù)渖珊托诺澜尤敕绞竭@兩種,拓?fù)渖煞譃槠矫娼Y(jié)構(gòu)和層次結(jié)構(gòu),在平面結(jié)構(gòu)中所有的網(wǎng)絡(luò)節(jié)點(diǎn)都是處于相同的平等地位,是不存在任何等級和層次差異的,所以也可以稱為對等式結(jié)構(gòu),這種結(jié)構(gòu)比較簡單,不用進(jìn)行任何結(jié)構(gòu)的維護(hù)工作,也不容易產(chǎn)生瓶頸效應(yīng),具有較好的健壯性[4]。層次結(jié)構(gòu)和平面結(jié)構(gòu)是相互對應(yīng)的,層次結(jié)構(gòu)的拓展性比較好,并且便于管理。信道接入方式有三類,固定分配類和隨機(jī)競爭類以及混合類。由于DSN自身在通信可靠性方面存在著一定的弱點(diǎn),導(dǎo)致在實現(xiàn)傳輸層協(xié)議的傳輸控制時面臨著較大的困難,目前對于傳輸控制主要集中在錯誤恢復(fù)機(jī)制,并且對于這方面的研究也比較少,如何在拓?fù)浣Y(jié)構(gòu)和信道質(zhì)量動態(tài)變化下進(jìn)行數(shù)據(jù)傳輸服務(wù),將成為這一行業(yè)研究的重點(diǎn)。
應(yīng)用層協(xié)議和具體的應(yīng)用場合環(huán)境密切相關(guān),在具體的設(shè)計中使不可以通用的,也就是說必須要針對具體的應(yīng)用需求進(jìn)行設(shè)計,但是應(yīng)用層的主要任務(wù)就是獲取數(shù)據(jù)并且進(jìn)行初步的處理,這是所有場合中應(yīng)用層的共同點(diǎn)。網(wǎng)絡(luò)節(jié)點(diǎn)實現(xiàn)數(shù)據(jù)采集計算或著是傳輸功能,都是需要消耗能量的,如果在短時間內(nèi)不對產(chǎn)生的數(shù)據(jù)量進(jìn)行處理而直接傳輸,將會造成網(wǎng)絡(luò)堵塞,建設(shè)網(wǎng)絡(luò)的壽命,也就是說在考慮采用高能效網(wǎng)絡(luò)通信協(xié)議和數(shù)據(jù)局部處理方法,是難以實現(xiàn)的。
3.結(jié)語
無線傳感器網(wǎng)絡(luò)很好的將傳感器技術(shù)、嵌入式計算機(jī)技術(shù)和分布式信息處理技術(shù)以及無線通信技術(shù)綜合在一起,并且能夠協(xié)調(diào)實時地進(jìn)行檢測,感知和采集各種所需信息。由于無線傳感器網(wǎng)絡(luò)具有靈活、可擴(kuò)展和快速部署等特點(diǎn),在軍事、醫(yī)療以及環(huán)境等領(lǐng)域有較高的應(yīng)用價值,應(yīng)該要加強(qiáng)對這一技術(shù)的研究,并廣泛的應(yīng)用到實際生活中。
參考文獻(xiàn)
[1]陳得民,張威,周浩南,沈唯真.基于MEMS力傳感器的智能綁帶裝置研制[J].自動化與儀表,2014(02).
1 網(wǎng)絡(luò)通信協(xié)議概念
網(wǎng)絡(luò)通信協(xié)議(network communication protocol),通常簡稱為網(wǎng)絡(luò)協(xié)議(network protocol),就是對計算機(jī)之間通信的信息格式、能被收/發(fā)雙方接受的傳送信息內(nèi)容的一組定義[1]。
組建網(wǎng)絡(luò)時,必須選擇一種網(wǎng)絡(luò)通信協(xié)議,使得用戶之間能夠相互進(jìn)行“交流”。協(xié)議是網(wǎng)絡(luò)設(shè)備用來通信的一套規(guī)則,這套規(guī)則可以理解為一種彼此能聽得懂的公用語言。國際標(biāo)準(zhǔn)化組織為網(wǎng)絡(luò)通信制定了一個標(biāo)準(zhǔn)模式,稱為osi/rm體系結(jié)構(gòu)。該結(jié)構(gòu)分為七層,從低到高分別是物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層,會話層,表示層和應(yīng)用層。其中,任何一個網(wǎng)絡(luò)設(shè)備的上下層之間的有其特定的協(xié)議形式,同時兩個設(shè)備的同層之間也有其使用的協(xié)議約定。
2 計算機(jī)網(wǎng)絡(luò)通信協(xié)議的本文由收集整理分類與作用
2.1 網(wǎng)絡(luò)協(xié)議的分類
網(wǎng)絡(luò)協(xié)議遍及osi通信模型的各個層次,從我們非常熟悉tcp/ip、http、ftp協(xié)議,到ospf、igp等高級路由協(xié)議都可以認(rèn)為是網(wǎng)絡(luò)協(xié)議,有上千種之多。在所有常用的網(wǎng)絡(luò)協(xié)議中,又可以分常用的基礎(chǔ)型協(xié)議和常用的應(yīng)用型協(xié)議。tcp/ip、ipx/spx、netbeui屬于常用的基礎(chǔ)型協(xié)議;而http、ppp、ftp則屬于常用的應(yīng)用型協(xié)議。基礎(chǔ)型協(xié)議用來提供網(wǎng)絡(luò)連接服務(wù),它在網(wǎng)絡(luò)連接和通信活動中必不可少;應(yīng)用型協(xié)議對于網(wǎng)絡(luò)來說不是必需的,而是在具體應(yīng)用到網(wǎng)絡(luò)服務(wù)時才需要。
2.2 網(wǎng)絡(luò)協(xié)議的作用與組成
網(wǎng)絡(luò)協(xié)議所起的主要作用和所適用的應(yīng)用環(huán)境各不相同,有的是專用的,如ipx/spx就專用于novell公司的netware操作系統(tǒng),而netbeui協(xié)議則專用于微軟公司的windows系統(tǒng);有的則是通用的(當(dāng)然是相對的),如tcp/ip協(xié)議就適用于幾乎所有的系統(tǒng)和應(yīng)用環(huán)境。在這么多的網(wǎng)絡(luò)協(xié)議中,一般網(wǎng)絡(luò)用戶只需要著重掌握幾種常用和主要的協(xié)議即可。網(wǎng)絡(luò)協(xié)議包括語義、語法和時序三個組成部分。語義是對協(xié)議元素的含義進(jìn)行解釋,不同類型的協(xié)議元素所規(guī)定的語義是不同的。
3 局域網(wǎng)中常用的3種通信協(xié)議
3.1 netbeui協(xié)議
netbeui通信協(xié)議的特點(diǎn)。netbeui(netbios extended ser ixperface,用戶擴(kuò)展接口),它是一種體積小、效率高、速度快的通信協(xié)議。但它不具有跨網(wǎng)段工作的功能,不同的局域網(wǎng)之間將無法進(jìn)行通信。
3.2 ipx/spx及其兼容協(xié)議
ipx/spx通信協(xié)議的特點(diǎn)。ipx/spx(internetwork packet exchange/sequences packet exchange,網(wǎng)際包交換/順序包交換)是novell公司的通信協(xié)議集。與netbeui的明顯區(qū)別是,ipx/spx顯得比較龐大,在復(fù)雜環(huán)境下具有很強(qiáng)的適應(yīng)性。在ipx/spx協(xié)議中,ipx是netware最底層的協(xié)議,它只負(fù)責(zé)數(shù)據(jù)在網(wǎng)絡(luò)中的移動,并不保證數(shù)據(jù)是否傳輸成功,也不提供糾錯服務(wù)。spx在整個協(xié)議中負(fù)責(zé)對所傳輸?shù)臄?shù)據(jù)進(jìn)行無差錯處理,所以我們將ipx/spx也叫做“novell的協(xié)議集”[2]。
3.3 tcp/ip協(xié)議
tcp/ip(transmission control protocol/internet protocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議)是目前最常用到的一種通信協(xié)議,它是計算機(jī)世界里的一個通用協(xié)議。在局域網(wǎng)中,tcp/ip最早出現(xiàn)在unix系統(tǒng)中,現(xiàn)在幾乎所有的廠商和操作系統(tǒng)都開始支持它。同時,tcp/ip也是internet的基礎(chǔ)協(xié)議。
tcp/ip通信協(xié)議的特點(diǎn)。tcp/ip具有很高的靈活性,支持任意規(guī)模的網(wǎng)絡(luò),幾乎可連接所有的服務(wù)器和工作站。但其靈活性也為其使用帶來了許多不便,在使用netbeui和ipx/spx及其兼容協(xié)議時都不需要進(jìn)行配置,而tcp/ip協(xié)議在使用時首先要進(jìn)行復(fù)雜的設(shè)置。每個節(jié)點(diǎn)至少需要一個“ip地址”、一個“子網(wǎng)掩碼”、一個“默認(rèn)網(wǎng)關(guān)”和一個“主機(jī)名”。在windows xp中提供了一個稱為動態(tài)主機(jī)配置協(xié)議(dhcp)的工具,它可自動為客戶機(jī)分配連入網(wǎng)絡(luò)時所需的信息,減輕了聯(lián)網(wǎng)工作的負(fù)擔(dān),避免了出錯。
4 通信協(xié)議的安裝、設(shè)置和測試
局域網(wǎng)中的一些協(xié)議,在安裝windows xp操作系統(tǒng)時會自動安裝tcp/ip。netbeui和ipx/spx在需要時安裝,安裝后不需要進(jìn)行設(shè)置就可以直接使用,但tcp/ip要經(jīng)過必要的設(shè)置。所以下文主要以windows xp環(huán)境下的tcp/ip協(xié)議為主,介紹其安裝、設(shè)置和測試方法。tcp/ip通信協(xié)議的設(shè)置。在“網(wǎng)絡(luò)”對話框中選擇已安裝的tcp/ip協(xié)議,打開其“屬性”,在指定的位置輸入已分配好的“ip地址”和“子網(wǎng)掩碼”。如果該用戶還要訪問其它windows xp網(wǎng)絡(luò)的資源,還可以在“默認(rèn)網(wǎng)關(guān)”處輸入網(wǎng)關(guān)的地址。tcp/ip通信協(xié)議的測試。當(dāng)tcp/ip協(xié)議安裝并設(shè)置結(jié)束后,為了保證其能夠正常工作,在使用前一定要進(jìn)行測試。如服務(wù)器的ip地址為192.168.0.1,如要測試你的機(jī)器是否與服務(wù)器接通時,只需切換到dos提示符下,并鍵入命令“ping192.168.0.1”即可。如果出現(xiàn)類似于“reply from 192.168.0.1的回應(yīng),說明tcp/ip協(xié)議工作正常;如果顯
網(wǎng)絡(luò)通信協(xié)議簡稱為網(wǎng)絡(luò)協(xié)議,它是一種網(wǎng)絡(luò)通用語言,為連接不同操作系統(tǒng)和不同硬件體系結(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò)提供通信支持。
2 常見的網(wǎng)絡(luò)通信協(xié)議
局域網(wǎng)中常用的通信協(xié)議主要有:tcp/ip協(xié)議、ipx/spx兼容協(xié)議以及netbeui協(xié)議。
2.1 tcp/ip協(xié)議
tcp/ip協(xié)議實際上是tcp協(xié)議與ip協(xié)議的集合,是最基礎(chǔ)也是最重要的兩個協(xié)議。unix系統(tǒng)中最早使用它,得到目前市場上的絕大多數(shù)的廠商和操作系統(tǒng)的支持。在不可靠的互聯(lián)網(wǎng)上,tcp/ip可以提供可靠的端到端字節(jié)流傳輸服務(wù)。首先傳給ip層的數(shù)據(jù)流通過tcp分割成長度適當(dāng)?shù)臄?shù)據(jù)段后再進(jìn)行傳送,然后接收端主機(jī)接收來自ip層傳送過來的數(shù)據(jù)包,最后數(shù)據(jù)被一步一步上傳到制定的接收端實體。目前ip協(xié)議有ipv4協(xié)議和ipv6兩種,其中現(xiàn)階段采用最為普遍的依舊是ipv4協(xié)議,該協(xié)議是一種無連接、可靠性較差的協(xié)議,他規(guī)定了互聯(lián)網(wǎng)中傳輸數(shù)據(jù)的準(zhǔn)確格式,在整個tcp/ip協(xié)議的網(wǎng)絡(luò)中數(shù)據(jù)傳輸都是具有嚴(yán)格的要求。同時ip軟件可以實現(xiàn)路由選擇的功能,將一組數(shù)據(jù)選擇好發(fā)送的路徑,通過不可靠分組傳輸?shù)乃枷?將數(shù)據(jù)在網(wǎng)絡(luò)中進(jìn)行傳輸。再加上ip協(xié)議是tcp/ip在互聯(lián)網(wǎng)設(shè)計中最為基礎(chǔ)的部分,那么協(xié)議的不斷發(fā)展和更新也是時代進(jìn)步的標(biāo)志。然后相對于ipv4來說,隨著互聯(lián)網(wǎng)發(fā)展的不斷深入,有限的地址空間必定阻礙互聯(lián)網(wǎng)的進(jìn)一步發(fā)展,于是被稱為互聯(lián)網(wǎng)協(xié)議第6版的新一代協(xié)議,即ipv6早在1995年底就已經(jīng)誕生,但被廣泛應(yīng)用和重視的程度,卻是近幾年才被突顯其優(yōu)勢的。
所以相對于ipv4來說,ipv6的優(yōu)勢具體有3點(diǎn):(1)擁有更大的地址空間,也就是ip地址長度從32位擴(kuò)大到128位。(2)擁有更小的路由表,即ipv6的地址分配遵循聚類原則,這就使得路由器可以在路由表中用一條記錄表示一片子網(wǎng),從而大大減小了路由表的長度,提高了路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度。(3)增加了自動配置的支持功能,這就使得網(wǎng)絡(luò)在管理上更加便捷、安全,而ipv6網(wǎng)絡(luò)中用戶還可以對網(wǎng)絡(luò)層的數(shù)據(jù)進(jìn)行加密,并對ip進(jìn)行校驗,這就更增強(qiáng)了網(wǎng)絡(luò)的安全效益。
然而對于windows中的tcp/ip協(xié)議來說,用戶不但可以通過tcp/ip來組建對等網(wǎng),還可以很便捷的接入其他的服務(wù)器。如果當(dāng)用戶想直接加入windows nt域的話,那么工作站只安裝了tcp/ip協(xié)議,是不可以登錄和訪問的。即使工作站能夠通過windows nt服務(wù)器上的服務(wù)器來訪問網(wǎng)絡(luò),但卻無法通過windows nt服務(wù)器來登錄到它的域,所以只安裝了tcp/ip協(xié)議的windows用戶,需要加入到windows nt域,就必須在windows上還要安裝netbeui協(xié)議,才能順利訪問到其服務(wù)器的域中去。
同時由于tcp/ip本身就具有很高的靈活性,可以支持不同規(guī)模的網(wǎng)絡(luò),連接所以的服務(wù)器和工作站,但這些靈活性的特點(diǎn)也為其帶來許多的麻煩,比如在使用netbeui和ipx/spx及其兼容協(xié)議時,通常都不需要進(jìn)行配置,但tcp/ip協(xié)議在使用時卻要進(jìn)行復(fù)雜的一個設(shè)置過程,且每個節(jié)點(diǎn)都需要一個ip地址、一個子網(wǎng)掩碼、一個默認(rèn)網(wǎng)關(guān)及一個主機(jī)名。而在windows nt中,啊可以自動為客戶機(jī)分配接入網(wǎng)絡(luò)所需的信息,減輕互聯(lián)網(wǎng)在工作上的壓力,避免錯誤機(jī)會的產(chǎn)生。再加上ipx/spx及兼容協(xié)議、tcp/ip都是一種可路由的協(xié)議,且tcp/ip的地址是分級的,那么找到網(wǎng)上的用戶更容易確定其位置,這樣也大大提高了網(wǎng)絡(luò)寬帶的有效利用率。所以當(dāng)有需要時,運(yùn)行tcp/ip協(xié)議中windows nt的服務(wù)器,就可以將其配置成tcp/ip路由器,但與tcp/ip不同的是,ipx/spx協(xié)議中的ipx在使用過程中采用的是一種廣播協(xié)議,經(jīng)常會出現(xiàn)廣播包堵塞等現(xiàn)象,這就使得網(wǎng)絡(luò)在船傳輸使用過程中無法獲得最佳的帶寬。
2.2 ipx/spx及其兼容協(xié)議
ipx/spx是novell公司為了適應(yīng)網(wǎng)絡(luò)的發(fā)展而開發(fā)的一種通信協(xié)議集,與netbeui的明顯區(qū)別就是ipx/spx比較龐大,在復(fù)雜環(huán)境下也依然具有很強(qiáng)的適應(yīng)性。正因為這個特點(diǎn)ipx/spx在最初的設(shè)計中就考慮到多網(wǎng)段的問題,所以具有超強(qiáng)的路由功能,非常適合大型網(wǎng)絡(luò)的使用;另外,由于ipx/spx及其兼容協(xié)議可以通過網(wǎng)絡(luò)地址來辨別各自的身份,且不需要任何的配置,這也是他的優(yōu)勢所在。同時目前的novell的網(wǎng)絡(luò)地址由兩部分組成,即標(biāo)明物理網(wǎng)段的‘網(wǎng)絡(luò)id’和標(biāo)明特殊設(shè)備的‘節(jié)點(diǎn)id’。其中網(wǎng)絡(luò)id主要集中在netware服務(wù)器或路由器中,而節(jié)點(diǎn)id也就是用戶使用不同網(wǎng)卡的id號。因為所有的網(wǎng)絡(luò)id和節(jié)點(diǎn)id都是獨(dú)有的內(nèi)部ipx地址,也正是具有網(wǎng)絡(luò)地址的唯一性,才給ipx/spx帶來了如此強(qiáng)大的路由功能。
然而在ipx/spx協(xié)議中,ipx是netware自帶的最底層的網(wǎng)絡(luò)協(xié)議,它的功能就是負(fù)責(zé)數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸,但不保證數(shù)據(jù)是否傳輸成功,更不提供糾錯服務(wù)。所以當(dāng)ipx在負(fù)責(zé)數(shù)據(jù)傳輸時,如果接收節(jié)點(diǎn)處在同一網(wǎng)段內(nèi),就直接按該節(jié)點(diǎn)的id將數(shù)據(jù)傳給它;如果接收節(jié)點(diǎn)是遠(yuǎn)程的,數(shù)據(jù)將交給netware服務(wù)器或路由器中的網(wǎng)絡(luò)id,繼續(xù)數(shù)據(jù)的下一步傳輸。而spx就是只針對整個協(xié)議中傳輸?shù)臄?shù)據(jù)進(jìn)行無差錯處理,所以將兩個協(xié)議合并在
轉(zhuǎn)貼于
一起,就是ipx/spx即‘novell的協(xié)議集’。綜上所述, windows?nt網(wǎng)絡(luò)和windows的用戶,可以利用nwlink協(xié)議獲得netware服務(wù)器的服務(wù),然而當(dāng)novell環(huán)境開始轉(zhuǎn)向微軟平臺時,就會出現(xiàn)兩種平臺共存的局面,這時nwlink通信協(xié)議便是最好的選擇。
2.3 netbeui協(xié)議
netbeui協(xié)議具有速度快、效率高、體積小的特點(diǎn)。netbeui早已經(jīng)成為微軟主流產(chǎn)品的缺省協(xié)議,如windows系統(tǒng)系列中。netbeui的設(shè)計主要服務(wù)與單網(wǎng)段部門級小型局域網(wǎng),局域網(wǎng)中互聯(lián)幾臺至上百臺的pc機(jī)。netbios是netbeui中的一個網(wǎng)絡(luò)接口標(biāo)準(zhǔn),主要作用是實現(xiàn)pc機(jī)之間的互相通信,專門應(yīng)用于小型局域網(wǎng),網(wǎng)內(nèi)pc機(jī)數(shù)不超過30個。
3 網(wǎng)絡(luò)通信協(xié)議的選擇原則
3.1 所選協(xié)議要與網(wǎng)絡(luò)結(jié)構(gòu)和功能相一致
當(dāng)用戶的網(wǎng)絡(luò)存在多個網(wǎng)段時,就需要使用具備路由和跨網(wǎng)斷操作功能的netbeui協(xié)議,那么這時就必須選擇ipx/spx或tcp/ip等協(xié)議。此外,如果你所在的網(wǎng)絡(luò)規(guī)模不大,只是為了簡單的設(shè)備共文件享的話,這個時候你應(yīng)該最為關(guān)心的是網(wǎng)速問題,所以在此時你應(yīng)該選擇占用內(nèi)存較小且貸款利用率較高的協(xié)議,即netbeui協(xié)議。但如果你的網(wǎng)絡(luò)規(guī)模較大且網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜的時候,就應(yīng)該選擇管理性和擴(kuò)充性良好的協(xié)議,即tcp/ip協(xié)議。
3.2 注意協(xié)議的版本
由于發(fā)展和完善過程的不同,每個的協(xié)議都有它合適的網(wǎng)絡(luò)環(huán)境,那么從整體上來看,版本越高功能和性能相對就要好些,所以用戶在選擇時,盡量在滿足網(wǎng)絡(luò)需求的前提下,選擇高版本的通信協(xié)議。
3.3 協(xié)議的一致性
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2008)11-026-03オ
Communication Protocol Development Platform Based on SDL
SHUI Quan1,2,SONG Bo1,NI Xiaoqing2
(1.Hefei University of Technology,Hefei,230009,China;2.No.38 Institute of China Electronic Technology Corporation,Hefei,230088,China)
オ
Abstract:SDL language has been applied in communication protocol development widely.This paper inroduces a common platform based on SDL and the way of realization,by using the platform,the maintance capacity from SDL to development efficiency is improved in communication protocol development.
Keywords:SDL;communicaiton protocol;process;FSM
1 引 言
SDL是一種用來說明和描述系統(tǒng)的國際通用的標(biāo)準(zhǔn)化語言。它將直觀的圖形和固定的格式結(jié)合起來,使開發(fā)人員可以簡潔高效地將規(guī)范和協(xié)議描述出來,SDL的應(yīng)用可以縮短開發(fā)周期,降低系統(tǒng)的差錯率,提高軟件質(zhì)量。現(xiàn)在越來越多的電信設(shè)備開發(fā)商開始使用SDL進(jìn)行協(xié)議軟件開發(fā)。
但SDL并非編程語言,用SDL描述系統(tǒng)以后最終需要將SDL系統(tǒng)映射成實際程序才有意義,而目前一般是借助于國外的一些開發(fā)工具如SDT提供的SDL和C語言的轉(zhuǎn)換工具來完成,開發(fā)人員通過編寫SDL系統(tǒng)和環(huán)境的接口函數(shù)來實現(xiàn)所生成的代碼和RTOS的集成。這種方法提高了協(xié)議開發(fā)的效率,但也有一些缺點(diǎn):設(shè)計依賴于工具,脫離工具則代碼難以維護(hù)、SDL生成的代碼非常復(fù)雜,不便于修改和閱讀,所以在實際應(yīng)用中這些工具往往用于協(xié)議驗證。
為了提高協(xié)議開發(fā)效率,我們在無線通信系統(tǒng)開發(fā)中建立一套自主的基于SDL的通信協(xié)議開發(fā)平臺,通過這個平臺可以實現(xiàn)SDL基本元素進(jìn)程以及進(jìn)程之間的通信和RTOS任務(wù)之間的通信,并集成了協(xié)議中常用的定時器管理功能、內(nèi)存管理功能。
2 SDL介紹
SDL(Specification and Description Language) 是1976年至1992年由ITU-T發(fā)展和標(biāo)準(zhǔn)化的一種描述系統(tǒng)行為的語言,SDL的數(shù)學(xué)模型是擴(kuò)展有限狀態(tài)機(jī)(EFSM),是一種高層泛用型的用于事件驅(qū)動、實時和通信系統(tǒng)的描述語言,電信系統(tǒng)和協(xié)議是它主要應(yīng)用領(lǐng)域之一。SDL有圖形和文本兩種表示形式,SDL/GR和SDL/PR。它既可以用來對系統(tǒng)的功能進(jìn)行說明,也可以描述系統(tǒng)的內(nèi)部結(jié)構(gòu)和行為,因而應(yīng)用范圍很廣,可以用于協(xié)議工程的各個階段。SDL采用一種層次結(jié)構(gòu)來對系統(tǒng)進(jìn)行描述和說明,結(jié)構(gòu)和功能被清楚地劃分。系統(tǒng)可以分為多個功能塊,功能塊表示系統(tǒng)內(nèi)部功能相對獨(dú)立的幾個模塊,它們之間通過信道相連。根據(jù)系統(tǒng)規(guī)模的大小,每個功能塊還可以分為子功能塊或進(jìn)程。與傳統(tǒng)FSM 類似,SDL進(jìn)程具有有限數(shù)量的被有限數(shù)量躍遷連接著的宏控制狀態(tài)。通過一個輸入信號(也可稱使能條件)的接收、事先設(shè)置的定時器的定時或當(dāng)前狀態(tài)變量(連續(xù)信號)值所指定條件的確認(rèn),躍遷能夠被觸發(fā)。在SDL中,定義了一些基本的數(shù)據(jù)類型和操作,以及構(gòu)造新類型的機(jī)制,使得SDL擁有和C/C++語言一樣的數(shù)據(jù)操作能力,因此它可以用于系統(tǒng)的設(shè)計和實現(xiàn)。
3 SDL通信協(xié)議開發(fā)平臺構(gòu)成和實現(xiàn)
SDL通信協(xié)議開發(fā)平臺建立在嵌入式實時操作系統(tǒng)上,主要包括4個模塊:進(jìn)程管理、消息管理、定時器管理、緩存管理,如圖1所示。其中進(jìn)程管理模塊提供了SDL進(jìn)程的創(chuàng)建、刪除等庫函數(shù),并提供了SDL功能塊和進(jìn)程的描述表,通過這張表格可以確定任務(wù)塊和進(jìn)程的從屬關(guān)系。在消息管理模塊提供了進(jìn)程間、進(jìn)程和功能塊間、進(jìn)程和外部任務(wù)間的消息通信函數(shù);定時器管理和緩沖管理模塊則提供了定時器的創(chuàng)建、刪除函數(shù)以及緩沖的創(chuàng)建和釋放函數(shù)。
3.1.1 功能塊實現(xiàn)
采用SDL描述的系統(tǒng)包含若干個功能塊(block),每個功能塊內(nèi)至少有一個進(jìn)程(process),功能塊是用RTOS的任務(wù)直接實現(xiàn)的不需要開發(fā)者單獨(dú)創(chuàng)建,只需在功能塊中預(yù)先定義包含哪些進(jìn)程,SDL系統(tǒng)在初始化時直接可以創(chuàng)建功能塊。每個功能塊內(nèi)進(jìn)程的并發(fā)調(diào)度是由功能塊的一個調(diào)度函數(shù)實現(xiàn),而功能塊之間的調(diào)度則由操作系統(tǒng)完成。功能塊任務(wù)內(nèi)除了完成個進(jìn)程狀態(tài)機(jī)的輪詢調(diào)度外,還負(fù)責(zé)接收外部環(huán)境的消息并分發(fā)消息到各個進(jìn)程狀態(tài)機(jī)中;除此外功能塊任務(wù)還負(fù)責(zé)本功能塊內(nèi)所有進(jìn)程的定時器管理工作。功能塊內(nèi)部工作流程圖如圖2所示。
3.1.2 進(jìn)程狀態(tài)機(jī)的實現(xiàn)
進(jìn)程是并行執(zhí)行的擴(kuò)展的有限狀態(tài)機(jī),它規(guī)定一個系統(tǒng)的動態(tài)行為,進(jìn)程基本上是處于等待信號的狀態(tài),收到信號則立刻進(jìn)行狀態(tài)之間的轉(zhuǎn)移,進(jìn)程的這一概念非常類似于操作系統(tǒng)中進(jìn)程或者任務(wù)的概念。進(jìn)程之間,進(jìn)程與系統(tǒng)環(huán)境之間通過異步信號進(jìn)行通信,這些信號可攜帶不同類型的參數(shù)。雖然進(jìn)程的特點(diǎn)和RTOS中任務(wù)有點(diǎn)相似,但實際開發(fā)中一個SDL的進(jìn)程會同時存在上百個甚至上千個,這顯然不能用任務(wù)去直接實現(xiàn)SDL進(jìn)程。
在SDL平臺上采用一個C函數(shù)對應(yīng)一個SDL的進(jìn)程,該進(jìn)程所在的功能塊負(fù)責(zé)調(diào)度該進(jìn)程的運(yùn)行。在SDL語言中進(jìn)程可以看作是一個有限狀態(tài)機(jī),狀態(tài)機(jī)的狀態(tài)躍遷是由一系列信號觸發(fā)的,在進(jìn)程的入口函數(shù)采用swicht-case架構(gòu)的實現(xiàn)狀態(tài)機(jī)。在平臺規(guī)定了一個標(biāo)準(zhǔn)的進(jìn)程狀態(tài)機(jī)函數(shù)模板,協(xié)議開發(fā)中每個進(jìn)程按照這個模板編寫SDL進(jìn)程的代碼。
3.1.3 進(jìn)程并發(fā)性的實現(xiàn)
進(jìn)程并發(fā)性是通過在功能塊任務(wù)內(nèi)的進(jìn)程調(diào)度函數(shù)實現(xiàn)的,在調(diào)度函數(shù)內(nèi)按照消息的觸發(fā)次序輪流調(diào)用進(jìn)程的狀態(tài)機(jī)函數(shù)。在實際應(yīng)用中還會碰到一個狀態(tài)機(jī)函數(shù),需要并發(fā)調(diào)用的情況,比如在WiMAX系統(tǒng)中每個用戶站入網(wǎng)過程都是一樣的,包含下行同步參數(shù)獲取、上行參數(shù)獲取、初始測距、能力協(xié)商、注冊等狀態(tài)躍遷過程,所以對基站來說只要一個進(jìn)程狀態(tài)機(jī)就可以完成一個用戶站的入網(wǎng)接入過程,但對基站來說又需要同時接入多個用戶,這就需要進(jìn)程狀態(tài)機(jī)函數(shù)允許被重用,就像面向?qū)ο缶褪穷惡蛯ο蟮年P(guān)系,我們把這種需要被重用的進(jìn)程稱做進(jìn)程類型,而每個實際使用的進(jìn)程稱作進(jìn)程實例,在協(xié)議開發(fā)過程中開發(fā)者調(diào)用平臺提供接口函數(shù)就可以創(chuàng)建一個或者多個進(jìn)程實例。在程序中要實現(xiàn)狀態(tài)機(jī)函數(shù)的重用就需要解決函數(shù)的重入問題,我們采用在每個狀態(tài)機(jī)函數(shù)中保留一個私有存儲區(qū)方法解決函數(shù)重入過程中私有變量的保存問題,如圖3所示。
3.2 通信機(jī)制的實現(xiàn)
在SDL中系統(tǒng)通過信道與環(huán)境連接。系統(tǒng)由許多用信道連接起來的功能塊組成,每個功能塊相對于其他功能塊而言是獨(dú)立的。在兩個不同功能塊中的進(jìn)程之間,通信的惟一手段是靠發(fā)送信號,信號通過信道來傳遞。信號是系統(tǒng)的不同功能塊之間或功能塊和環(huán)境之間進(jìn)行通信的手段。
根據(jù)信號發(fā)送的目的采用兩種不同方式實現(xiàn)SDL的通信:
(1) 同一功能塊內(nèi)部的進(jìn)程通訊,這種情況下進(jìn)程之間的通信是由功能塊內(nèi)部的消息分發(fā)機(jī)制實現(xiàn)的;
(2) 不同功能塊之間進(jìn)程的通信,在這種情況下先通過調(diào)用操作系統(tǒng)的消息發(fā)送機(jī)制將消息發(fā)送給目標(biāo)進(jìn)程所在功能塊,由功能塊再分發(fā)給進(jìn)程。
這種兩種方式不管是哪種方式都使用了統(tǒng)一消息發(fā)送接口函數(shù),對開發(fā)者來說是透明的。
3.3 定時器管理
定時器是SDL語言中一個重要元素在通信協(xié)議開發(fā)中被大量應(yīng)用,比如在WiMAX系統(tǒng)開發(fā)中周期測距需要一個定時器周期觸發(fā)周期測距進(jìn)程進(jìn)行信號質(zhì)量的檢測,在網(wǎng)口地址過濾中需要周期進(jìn)行地址老化。在SDL協(xié)議開發(fā)平臺中,我們將定時器綁定在進(jìn)程狀態(tài)機(jī)上,通過靜態(tài)分配的方法將在平臺初始化時分配定時器給每個進(jìn)程,定時器的定時功能由進(jìn)程所在的功能塊任務(wù)維護(hù),這種方法避免了采用一個任務(wù)管理所有定時器帶來任務(wù)負(fù)荷過大的問題。另外為了降低功能塊的任務(wù)負(fù)荷,在功能任務(wù)內(nèi)沒有采用傳統(tǒng)的在一個固定tick周期內(nèi)檢查是否有定時器超時的方法,而是利用功能塊任務(wù)已經(jīng)有的等待外部任務(wù)消息超時來實現(xiàn)定時器的定時檢查。具體說就是在SDL的功能任務(wù)內(nèi)采用差值定時的方法維護(hù)定時器,在每個功能塊任務(wù)內(nèi)維護(hù)一個定時器鏈表,當(dāng)定時器啟動時就插入到這個定時器鏈表中并根據(jù)時間進(jìn)行排序。在功能塊任務(wù)等待外部消息超時后就檢查是否鏈表中有定時器超時,如果有則向相應(yīng)的進(jìn)程發(fā)送超時消息并刪除該定時器,然后更新下一個定時器超時周期并把這個周期設(shè)置成等待外部消息超時的時間。采用這種定時器管理機(jī)制的好處是定時器管理任務(wù)只在下一個定時器超時的時候被激活,而不需要每隔一個固定周期就需要激活去檢查定時器鏈表,大大節(jié)省了任務(wù)的切換時間。
4 結(jié) 語
基于SDL協(xié)議開發(fā)平臺提供一套將SDL語言直接映射成協(xié)議代碼的高效方法,使通信協(xié)議軟件開發(fā)人員在協(xié)議開發(fā)過程中將主要精力集中在前期的SDL對系統(tǒng)的描述階段,而無需關(guān)心系統(tǒng)底層的實現(xiàn),較好地提高了協(xié)議開發(fā)的效率和代碼的可維護(hù)性、可移植性,這些優(yōu)點(diǎn)已經(jīng)在基于IEEE802.16d的固定寬帶無線接入系統(tǒng)的開發(fā)中得到了充分的體現(xiàn)。目前SDL協(xié)議開發(fā)平臺還只是實現(xiàn)了基本的SDL進(jìn)程、功能塊、定時器等元素,對SDL中通信只實現(xiàn)了消息的交互,沒有實現(xiàn)遠(yuǎn)端過程(Remote Procedure)調(diào)用和遠(yuǎn)端變量(Remote Variable),這會限制SDL平臺在一些復(fù)雜通信協(xié)議開發(fā)中的使用,針對這些問題我們將在后續(xù)的工作逐步完善。
參 考 文 獻(xiàn)
[1]Sridhar T.Designing Embedded Communications Software[M].US.:CMP Book,2003.
[2]ITU2T Z.100.Specification and Description Language SDL[Z].1999.
[3]宋瑾鈺,魏仰蘇.SDL語言動態(tài)語義模型的研究[J].計算機(jī)應(yīng)用,2004,24(11):50-51.
[4]劉宇紅,白偉.SDL語言及其在通信系統(tǒng)中的應(yīng)用[J].通信技術(shù),2002(12):82-83.
隨著樓宇智能化應(yīng)用越來越普及, 產(chǎn)生了許多樓宇智能化通信協(xié)議,其中knx/eib(konnex/electrical installation bus)通信協(xié)議應(yīng)用最為廣泛。knx/eib通信協(xié)議是唯一一個開放式并經(jīng)過認(rèn)證的標(biāo)準(zhǔn), 2006年成為國際標(biāo)準(zhǔn)iso/iec 145433,并于2007年正式成為中國國家標(biāo)準(zhǔn)gb/z 20965—2007[1]。
在家庭或者樓宇智能環(huán)境中,對通信協(xié)議實時性傳輸?shù)囊蠓浅8摺C總€數(shù)據(jù)命令的發(fā)送執(zhí)行都有一個期限,如果超過這個期限,將會有新的隨機(jī)數(shù)據(jù)命令產(chǎn)生,前一條命令可能就已經(jīng)失效了。換句話說,一條數(shù)據(jù)命令必須在要求的時間內(nèi)得到執(zhí)行,同時還要求每條數(shù)據(jù)命令的傳輸時延要穩(wěn)定。knx/eib通信協(xié)議采用了無線通信常采用的帶沖突避免的載波偵聽多路存取(carrier sense multiple access/collision avoidance, csma/ca)[2]防沖突機(jī)制來解決knx/eib網(wǎng)絡(luò)的沖突問題,但csma/ca機(jī)制導(dǎo)致數(shù)據(jù)命令幀傳輸時延抖動非常大。比如調(diào)光命令,調(diào)光命令由兩條數(shù)據(jù)命令組成,兩條數(shù)據(jù)命令的產(chǎn)生是隨機(jī)的,采用csma/cs算法機(jī)制可能會使這兩條數(shù)據(jù)命令發(fā)送的延遲時間不同,造成調(diào)光無法準(zhǔn)確執(zhí)行;再比如,在總線不繁忙時,一個開燈數(shù)據(jù)命令或許可以很快地得到發(fā)送執(zhí)行,但是當(dāng)總線繁忙時,數(shù)據(jù)命令可能為了避免沖突,回避高優(yōu)先級或者同優(yōu)先級優(yōu)勢數(shù)據(jù)命令的發(fā)送,造成很長的傳輸時延。這種情況在樓宇智能環(huán)境下是不能容忍的,而且可能會因此造成嚴(yán)重的誤操作。這也使網(wǎng)絡(luò)的實時性降低。
本文針對knx/eib通信協(xié)議在雙絞線(twisted pair, tp1)中傳輸?shù)膶崟r性問題,提出一個改進(jìn)方法knx/eiba。在不改變原有的通信協(xié)議棧的基礎(chǔ)上,將一個調(diào)度程序應(yīng)用于knx/eib通信協(xié)議的應(yīng)用層與用戶應(yīng)用程序之間。將原有的分布式平等結(jié)構(gòu)劃分為分級主從結(jié)構(gòu),對數(shù)據(jù)命令幀的發(fā)送進(jìn)行調(diào)度。最后通過對knx/eiba進(jìn)行分析及原型實現(xiàn)證明了該方法通過有效地減輕傳輸時延的抖動從而改進(jìn)了協(xié)議的實時性。
在不改變原有knx/eib協(xié)議的基礎(chǔ)上,將knx/eib各模塊分為主從結(jié)構(gòu)來調(diào)度數(shù)據(jù)幀的發(fā)送,減少了傳輸時延抖動,從而在一定程度上解決了knx/eib通信協(xié)議實時性問題。
1 knx/eib通信協(xié)議
1.1 knx/eib通信協(xié)議概述
knx/eib通信網(wǎng)絡(luò)是一種傾向于網(wǎng)絡(luò)管理的應(yīng)用型網(wǎng)絡(luò)。每個總線連接單元(bus coupling unit, bcu)在鏈路層之上具有相同的通信內(nèi)核。knx/eib通信協(xié)議包含7層osi標(biāo)準(zhǔn)的通信模型。
圖1為tp1下的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。邏輯拓?fù)浣Y(jié)構(gòu)允許256個bcu安裝在一條支線(line)上, 15條支線通過支線耦合器(line coupler)連接到一條總線(main line)上構(gòu)成一個域(area),15個域又通過域耦合器(area coupler)連接到骨干線(backbone line)上組成整個網(wǎng)絡(luò)[3]。
轉(zhuǎn)貼于
一般情況下,每個bcu被安裝進(jìn)系統(tǒng)時被分配一個獨(dú)一無二的獨(dú)立地址(individual address, iadrs)。knx可以通過組地址(group address, gadrs)對bcu進(jìn)行無限制分組。所有bcu可以通過發(fā)送組播式數(shù)據(jù)命令幀來進(jìn)行參數(shù)共享,甚至可以進(jìn)行按位讀寫。
knx/eib數(shù)據(jù)幀格式如圖2所示。octet 0中包含了數(shù)據(jù)命令幀控制信息,其中數(shù)據(jù)命令幀優(yōu)先級就包含在其中。octet 1和octet 2 為數(shù)據(jù)命令幀發(fā)送源地址,其為bcu的iadrs。
1.2 knx/eib防沖突機(jī)制分析及其對實時性的影響?yīng)?/p>
根據(jù)knx/eib標(biāo)準(zhǔn)(knx/eibs),若一個bcu已經(jīng)開
始發(fā)送信號,則系統(tǒng)禁止其他bcu占用信道。當(dāng)多個bcu
同時向總線上發(fā)送數(shù)據(jù)時,根據(jù)csma/ca算法,bcu要檢查
每個比特, 如果物理層顯示總線繁忙或者正在發(fā)生碰撞,則低優(yōu)先級數(shù)據(jù)命令幀需要立刻停止傳送,高優(yōu)先權(quán)數(shù)據(jù)命令幀開始傳送數(shù)據(jù),高優(yōu)先級數(shù)據(jù)命令幀傳送完成后,低優(yōu)先級數(shù)據(jù)命令幀重新開始傳輸判定。knx/eib通信協(xié)議中,傳輸數(shù)據(jù)的優(yōu)先級分為四級:系統(tǒng)最高級(system priority)、報警級別(urgent priority)、普通級別(normal priority)和低級(low priority)。相同優(yōu)先級數(shù)據(jù)命令幀將按照數(shù)據(jù)幀中包含“1”的情況來進(jìn)行退讓,其中“1”狀態(tài)稱為劣態(tài)(inferior state),“0”狀態(tài)為優(yōu)態(tài)(superior)。
雖然knx/eib通信協(xié)議優(yōu)先級的引入,在一定程度上解決了knx/eib數(shù)據(jù)傳輸?shù)膶崟r性問題,例如高優(yōu)先級報警信號可以以最快的速度傳輸出去,得到最有效的執(zhí)行。但是在knx/eib網(wǎng)絡(luò)中,大部分?jǐn)?shù)據(jù)命令幀的優(yōu)先級別都是低級,而且數(shù)據(jù)命令幀優(yōu)先級別是在現(xiàn)場安裝時通過現(xiàn)場安裝調(diào)試軟件(engineering tool software, ets)固定設(shè)置的。根據(jù)knx/eib數(shù)據(jù)幀的格式及防沖突機(jī)制,iadrs造成了bcu之間不平等關(guān)系,高iadrs數(shù)據(jù)命令幀將一直是劣勢的,無法及時獲得通信信道分配,低iadrs數(shù)據(jù)命令幀將一直是優(yōu)勢的,可以以最快的速度發(fā)送出去,甚至可以多次讓同一劣勢數(shù)據(jù)命令幀為自己退讓,這樣就造成控制命令傳輸時延確定性。從系統(tǒng)整體來看,數(shù)據(jù)命令幀傳輸時延的抖動非常厲害,傳輸時延的劇烈抖動降低了系統(tǒng)的實時性傳輸。knx/eib通信協(xié)議沒有減輕傳輸時延抖動的措施,沒有保證實時性傳輸?shù)臋C(jī)制。
2 相關(guān)通信協(xié)議的實時性保證機(jī)制
文獻(xiàn)[4-10]曾經(jīng)對控制器局域網(wǎng)絡(luò)(controller area network, can)、過程現(xiàn)場總線(profibus)、pnet和worldfip等現(xiàn)場總線的實時性做過分析評估。can總線通過動態(tài)改變節(jié)點(diǎn)的優(yōu)先級,使優(yōu)先級較低的節(jié)點(diǎn)動態(tài)提高優(yōu)先級,保證各個站點(diǎn)有均等的機(jī)會獲得總線控制權(quán);在arcnet網(wǎng)絡(luò)中, acrnet總線采用令牌總線(tokenbus)[11-13]方式來管理數(shù)據(jù)的傳輸,傳輸延遲根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)以及負(fù)載變化,它為網(wǎng)絡(luò)中的各個設(shè)備提供了平等使用網(wǎng)絡(luò)帶寬的機(jī)會,acrnet總線的傳輸延遲抖動非常小。knx/eib可以通過類似的方式來確保每一個低級別的數(shù)據(jù)命令幀具有確定的最長延遲時間,使每個低級別數(shù)據(jù)命令幀具有均等的機(jī)會獲得信道分配,減輕系統(tǒng)的傳輸時延抖動,最終達(dá)到實時性改善的目的。
3 改進(jìn)knx/eib通信協(xié)議的實時性機(jī)制
為了解決knx/eib通信協(xié)議在tp1下通信實時性差的問題, knx/eiba在不改變原有knx/eib通信協(xié)議棧的基礎(chǔ)上,通過建立調(diào)度程序,解決knx/eib實時性傳輸。這個調(diào)度程序運(yùn)行于knx/eib應(yīng)用層與用戶定義的應(yīng)用程序之間,在應(yīng)用層之上利用knx/eib應(yīng)用層提供的a_propertyvalue_write應(yīng)用層服務(wù)來調(diào)度數(shù)據(jù)命令幀的發(fā)送。同時,網(wǎng)絡(luò)結(jié)構(gòu)也由原來的分布式結(jié)構(gòu),自動轉(zhuǎn)換為分級主從結(jié)構(gòu)。在一條支線上,支線耦合器為主模塊,其他的bcu為從模塊;在域結(jié)構(gòu)上,域耦合器成為了主模塊而支線耦合器則成為了域結(jié)構(gòu)上的從模塊;在骨干線上,域耦合器又成為了骨干線上的從模塊;在支線上,網(wǎng)橋(bridge)將支線結(jié)構(gòu)再次分解為多級結(jié)構(gòu),則網(wǎng)橋即為上一級結(jié)構(gòu)的從模塊,又是下一級結(jié)構(gòu)的主模塊。從模塊不能主動發(fā)起低優(yōu)先級別的數(shù)據(jù)命令幀傳輸,只能主動發(fā)送具有普通優(yōu)先級別的通信請求幀給自己主從結(jié)構(gòu)中的主模塊;主模塊會收集從模塊發(fā)送來的通信請求,然后調(diào)用一個合適的排序算法,來決定從模塊依次進(jìn)行數(shù)據(jù)命令幀的傳輸。
3.1 調(diào)度程序的數(shù)據(jù)結(jié)構(gòu)
從模塊參數(shù)translation_au用來表示是否獲得主模塊的傳輸授權(quán),當(dāng)從模塊中的translation_au參數(shù)為有效值時,從模塊開始發(fā)送數(shù)據(jù);否則,從模塊發(fā)送請求通信的數(shù)據(jù)命令幀,向主模塊申請通信授權(quán)。而主模塊參數(shù)translation_dt用來判定是否需要進(jìn)行信道分配。
在主模塊中定義一個存儲列表panding_req_list用來存儲從模塊的通信請求。存儲列表結(jié)構(gòu)體如下:
程序前
struct panding_req_list
{ … 轉(zhuǎn)貼于
unsigned short addr;
unsigned char priority_tr;
…}
程序后
其中addr參數(shù)是用來存儲申請通信授權(quán)的從模塊的iadrs;而priority_tr是用來調(diào)度從模塊的通信申請并進(jìn)行排序,其初始值為256。
主模塊與從模塊都需要一個定時器,用來解決總線出現(xiàn)故障時的程序死鎖。
3.2 調(diào)度程序的調(diào)度算法
調(diào)度算法的目的是對主模塊中存儲列表panding_req_list上的i(i=1,2,…)個通信申請進(jìn)行排序,使得各個從模塊獲取通信信道的機(jī)會均等,使最大通信延遲時間得到確定。
調(diào)度程序的偽代碼如下:
程序前
if i≤1 then
按照先入先出原則,進(jìn)行調(diào)度
elseif i≥2 then
按照panding_req_list中參數(shù)priority_tr,由小到大進(jìn)行調(diào)度
if panding_req_list中參數(shù)priority_tr 存在相等的 then
按照panding_req_list中參數(shù)adrr, 由大到小進(jìn)行調(diào)度
endif
endif
程序后
設(shè)置iadrs值大的bcu的優(yōu)先級高是為了減少劣勢數(shù)據(jù)命令幀的等待時間,以及減少劣勢數(shù)據(jù)幀在總線與優(yōu)勢數(shù)據(jù)幀發(fā)生競爭的幾率,使各個從模塊之間的傳輸延遲盡量平均。
當(dāng)有一個申請被執(zhí)行,該申請會從存儲列表中被刪除,同時調(diào)度程序?qū)⑵渌c執(zhí)行申請addr不同的priority_tr值減1,這樣做的目的是保證每一從模塊在每一輪通信申請中都有機(jī)會獲得通信授權(quán)。
3.3 從模塊調(diào)度程序
從模塊通過knx/eib通信協(xié)議中應(yīng)用層a_propertyvalue_write服務(wù)向主模塊申請通信信道。
a_propertyvalue_write是knx/eib通信協(xié)議中的應(yīng)用層服務(wù),屬于點(diǎn)對點(diǎn)無連接通信服務(wù)。a_propertyvalue_write服務(wù)可以直接對bcu的存儲空間進(jìn)行精確到位的操作。在knx/eiba中,此項服務(wù)的通信優(yōu)先級別被設(shè)置為普通級別。
轉(zhuǎn)貼于
從模塊偽代碼如下:
程序前
if 有通信需求 then
if translation_au參數(shù)有效 then
向總線發(fā)送數(shù)據(jù)
translation_au參數(shù)設(shè)置為無效;
elseif translation_au參數(shù)無效 then
向主模塊用a_propertyvalue_write服務(wù)發(fā)送通信請求;
啟動定時器
endif
while 定時器在運(yùn)行 do
if translation_au參數(shù)有效 then
向總線發(fā)送數(shù)據(jù)
translation_au參數(shù)設(shè)置為無效;
終止定時器
break;
endif
endwhile
if 如果數(shù)據(jù)還沒有發(fā)出 then
強(qiáng)制向總線發(fā)送數(shù)據(jù)
endif
elseif 無通信請求 then
if translation_au參數(shù)有效 then
置 translation_au參數(shù)無效;
調(diào)用a_propertyvalue_write對主模塊translation_dt參數(shù)設(shè)置為有效;
endif
endif
程序后
3.4 主模塊調(diào)度程序
主模塊調(diào)度程序的主要任務(wù)是通過knx/eib通信協(xié)議中的a_propertyvalue_write應(yīng)用層服務(wù)來響應(yīng)從模塊的通信請求,管理translation_au參數(shù),達(dá)到分配從模塊通信信道的作用。
主模塊的調(diào)度程序的偽代碼如下所示:
程序前
while(1)
發(fā)送作為網(wǎng)橋或者路由功能的數(shù)據(jù)命令幀;
if panding_req_list列表中不為空 then
if translation_dt 有效 then
終止定時器;
調(diào)用排序算法從panding_req_list選出第一個從模塊;
調(diào)用a_propertyvalue_write對從模塊translation_au 參數(shù)設(shè)置為有效;
對panding_req_list其他從模塊的非零priority_tr值減1;
重新啟動定時器;
開啟總線監(jiān)聽程序
endif
end if
if translation_au 無效 then
if 定時器運(yùn)行終止 then
設(shè)置translation_au 有效
endif
endif
end while
程序后
總線監(jiān)聽程序偽代碼;
程序前
while 定時器在運(yùn)行 then
if 選定從模塊有數(shù)據(jù)命令幀發(fā)出 do
設(shè)置translation_au 有效
計時器終止;
endif
end while
程序后
主模塊收到從模塊發(fā)送的通信請求后,在接受數(shù)據(jù)命令幀的過程中,確認(rèn)此數(shù)據(jù)命令幀為非過濾數(shù)據(jù)命令時,立刻向上一級主模塊請求通信,盡量減少數(shù)據(jù)命令幀在主模塊等待時間。
3.5 網(wǎng)橋的設(shè)計
網(wǎng)橋借用原有的連接方式,將原有的支線分割成多個物理段,分割方式是可以多種多樣的,如圖3所示,其中的b模塊就是網(wǎng)橋。 轉(zhuǎn)貼于
網(wǎng)橋不具有自己的iadrs,而是映射其他bcu的iadrs。作為從模塊時,映射下一級請求通信的從模塊的iadrs;作為主模塊時,映射支線耦合器的iadrs。網(wǎng)橋具有過濾功能,對于不需要傳輸給本級或者從級的數(shù)據(jù)命令幀予以過濾,使得通信信道利用率增加。主模塊接收到作為從模塊的網(wǎng)橋的通信請求時,存儲在panding_req_list中相應(yīng)請求的priority_tr初始值為255,使其有較高優(yōu)先級發(fā)送數(shù)據(jù)命令幀,目的是減少跨越網(wǎng)橋的數(shù)據(jù)命令幀在網(wǎng)橋的等待時間。
4 knx/eiba的分析與實現(xiàn)
4.1 knx/eiba的理論分析
按照knx/eiba,一條低優(yōu)先級的數(shù)據(jù)命令幀從一條支線上傳送到骨干網(wǎng)上的最大延遲時間為
tmax=tl+ta+tbb
(1)
其中tl為數(shù)據(jù)命令幀在支線上發(fā)送以及等待發(fā)送許可所需要的最大延遲時間,當(dāng)支線上的所有模塊同時多次發(fā)送數(shù)據(jù),且該bcu的iadrs最大時,就產(chǎn)生了如下的最大延遲時間,其值為
tl=((trq+trp+ttr)×n+trq×(n-1))×m
(2)
其中:
trq為申請通信幀發(fā)送所需要的時間,trp為主模塊發(fā)送通信許可幀所需要的時間,ttr為數(shù)據(jù)命令幀發(fā)送所需的時間,n為網(wǎng)橋分割的物理段中的bcu的數(shù)量,m為網(wǎng)橋分割物理段的級數(shù)。
【不通順】ta為在域結(jié)構(gòu)上數(shù)據(jù)幀所要花費(fèi)的最大延長時間,為域結(jié)構(gòu)上所有的支線耦合器同時多次向總線發(fā)送數(shù)據(jù)產(chǎn)生的延遲時間,且該數(shù)據(jù)幀的優(yōu)先級最低的情況下,所產(chǎn)生的最大延遲時間,
ta為數(shù)據(jù)幀在域結(jié)構(gòu)上傳輸?shù)淖畲笱舆t時間,即域結(jié)構(gòu)上所有的支線耦合器同時向總線發(fā)送數(shù)據(jù)且該數(shù)據(jù)幀的優(yōu)先級最低時產(chǎn)生的延遲時間,其值為
ta=(trq+trp+ttr)×am+trq×(am-1)
(3)
其中am的值為域結(jié)構(gòu)上所連接支線的數(shù)量。
tbb為在骨干上數(shù)據(jù)命令幀發(fā)送所需要的時間,其值為
tbb=(trq+trp+ttr)×bbm+(bbm-1)×trq
(4)
其中bbm為骨干結(jié)構(gòu)上所連接域的數(shù)量。則低優(yōu)先級的數(shù)據(jù)命令幀從一條支線傳送到骨干網(wǎng)上的最大延遲時間為
tmax=(2bbm+2am+2n×m-m-2)trq+
(bbm+am+n×m)trp+(bbm+am+n×m)ttr
(5)
則此情況下系統(tǒng)的最大延遲時間將與接入網(wǎng)絡(luò)的bcu數(shù)量和分級的數(shù)量有關(guān)。
knx/eibs中所有的bcu同時多次發(fā)送數(shù)據(jù)的情況下,低優(yōu)勢數(shù)據(jù)幀需要對高優(yōu)勢數(shù)據(jù)幀退讓,低優(yōu)勢數(shù)據(jù)幀會一直無法發(fā)送,只有當(dāng)高優(yōu)勢數(shù)據(jù)幀停止發(fā)送,低優(yōu)勢數(shù)據(jù)幀才可以發(fā)送,則低優(yōu)勢數(shù)據(jù)幀的傳輸延遲時間將是最大傳輸延遲時間,而低優(yōu)勢數(shù)據(jù)幀的傳輸延遲時間將是無法確定的。
knx/eiba的最小延遲時間為線路上只有一個bcu發(fā)送數(shù)據(jù),沒有其他數(shù)據(jù)幀進(jìn)行競爭,其值為
由上面的分析可知,knx/eiba雖然犧牲了最小延遲時間,但是在最大延遲時間上要少于knx/eibs;knx/eiba的最大延遲時間與分級的數(shù)量和模塊的數(shù)量有關(guān),其最大延遲時間是確定的,而knx/eibs的最大延遲時間是不確定的;knx/eiba使數(shù)據(jù)命令幀的傳輸延遲的抖動范圍縮小,減小了系統(tǒng)的傳輸延遲抖動。
4.2 knx/eiba的實測
通過構(gòu)建knx/eib網(wǎng)絡(luò)環(huán)境,實現(xiàn)knx/eiba的硬件及軟件設(shè)備,分別測試了knx/eiba及knx/eibs下的數(shù)據(jù)命令幀的延遲時間。硬件方面,主模塊控制芯片選用基于arm cortexm3內(nèi)核的lm3s8962微控制器,從模塊分別選用nec公司的upd78f0537d和ti公司的msp430兩種微控制器,控制器通過uart模塊連接tp_uart芯片[9]與knx/eib總線進(jìn)行通信。軟件方面,upd78f0537d與lm3s8962微控制器使用bim130型knx/eib通信協(xié)議內(nèi)核,msp430微控制器使用bim113型knx/eib通信協(xié)議內(nèi)核。同時,在knx/eib網(wǎng)絡(luò)上加裝西門子公司的usb接口模塊與windows xp環(huán)境下的ets監(jiān)控軟件相連接。
ets監(jiān)控軟件用于監(jiān)控統(tǒng)計分別在knx/eibs和knx/eiba兩種方法下255個模塊的數(shù)據(jù)命令幀的傳輸延遲時間。
4.3 對監(jiān)控數(shù)據(jù)的分析
分別對采用knx/eiba與knx/eibs兩種方法的系統(tǒng)進(jìn)行監(jiān)測。分別測得的5000個數(shù)據(jù)命令幀的延遲時間的分布情況如圖4所示,縱軸為采集到的數(shù)據(jù)命令幀延遲時間,橫軸為采集到的數(shù)據(jù)命令幀的序號。