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