A. 看懂黑科技,3分鍾讓你讀懂ZigBee無線通訊技術
全球通信產業技術的發展呈現三大趨勢:無線化、寬頻化和IP化。在眾多的寬頻技術中,無線化尤其是移動通信技術成為近年來通信技術市場的最大亮點,是構成未來通信技術的重要組成部分。
Zigbee是基於IEEE802.15.4標準的低功耗個域網協議。根據這個協議規定的技術是一種短距離、低功耗的無線通信技術。這一名稱來源於蜜蜂的八字舞,由於蜜蜂(bee)是靠飛翔和「嗡嗡」(zig)地抖動翅膀的「舞蹈」來與同伴傳遞花粉所在方位信息,也就是說蜜蜂依靠這樣的方式構成了群體中的通信網路。其特點是近距離、低復雜度、自組織、低功耗、高數據速率。主要適合用於自動控制和遠程式控制制領域,可以嵌入各種設備。簡而言之,ZigBee就是一種便宜的,低功耗的近距離無線組網通訊技術。
ZigBee的技術原理
ZigBee是一個由可多到65000個無線數傳模塊組成的一個無線數傳網路平台,十分類似現有的移動通信的CDMA網或GSM網,每一個ZigBee網路數傳模塊類似移動網路的一個基站,在整個網路范圍內,它們之間可以進行相互通信;每個網路節點間的距離可以從標準的75米,到擴展後的幾百米,甚至幾公里;另外整個ZigBee網路還可以與現有的其它的各種網路連接。例如,你可以通過互聯網在北京監控雲南某地的一個ZigBee控制網路。
ZigBee網路主要是為自動化控制數據傳輸而建立,而移動通信網主要是為語音通信而建立;每個移動基站價值一般都在百萬元人民幣以上,而每個ZigBee"基站"卻不到1000元人民幣;每個ZigBee 網路節點不僅本身可以與監控對對象,例如感測器連接直接進行數據採集和監控,它還可以自動中轉別的網路節點傳過來的數據資料;除此之外,每一個ZigBee網路節點(FFD)還可在自己信號覆蓋的范圍內,和多個不承擔網路信息中轉任務的孤立的子節點(RFD)無線連接。
每個ZigBee網路節點(FFD和RFD)可以可支持多到31個的感測器和受控設備,每一個感測器和受控設備終可以有8種不同的介面方式。可以採集和傳輸數字量和模擬量。
ZigBee技術的特點
ZigBee技術是一種近距離、低復雜度、低功耗、低速率、低成本的雙向無線通訊技術。主要用於距離短、功耗低且傳輸速率不高的各種電子設備之間進行數據傳輸以及典型的有周期性數據、間歇性數據和低反應時間數據傳輸的應用。
自從馬可尼發明無線電以來,無線通信技術一直向著不斷提高數據速率和傳輸距離的方向發展。例如:廣域網范圍內的第三代移動通信網路(3G)目的在於提供多媒體無線服務,區域網范圍內的標准從IEEE802.11的1Mbit/s到IEEE802.11g的54Mbit/s的數據速率。而ZigBee技術則致力於提供一種廉價的固定、便攜或者移動設備使用的極低復雜度、成本和功耗的低速率無線通信技術。
這種無線通信技術具有如下特點:
1、功耗低
工作模式情況下,ZigBee技術傳輸速率低,傳輸數據量很小,因此信號的收發時間很短,其次在非工作模式時,ZigBee節點處於休眠模式。設備搜索時延一般為30ms,休眠激活時延為15ms,活動設備信道接入時延為15ms。由於工作時間較短、收發信息功耗較低且採用了休眠模式,使得ZigBee節點非常省電,ZigBee節點的電池工作時間可以長達6個月到2年左右。同時,由於電池時間取決於很多因素,例如:電池種類、容量和應用場合,ZigBee技術在協議上對電池使用也作了優化。對於典型應用,鹼性電池可以使用數年,對於某些工作時間和總時間(工作時間+休眠時間)之比小於1%的情況,電池的壽命甚至可以超過10年。
2、數據傳輸可靠
ZigBee的媒體接入控制層(MAC層)採用talk-when-ready的碰撞避免機制。在這種完全確認的數據傳輸機制下,當有數據傳送需求時則立刻傳送,發送的每個數據包都必須等待接收方的確認信息,並進行確認信息回復,若沒有得到確認信息的回復就表示發生了碰撞,將再傳一次,採用這種方法可以提高系統信息傳輸的可靠性。同時為需要固定帶寬的通信業務預留了專用時隙,避免了發送數據時的競爭和沖突。同時ZigBee針對時延敏感的應用做了優化,通信時延和休眠狀態激活的時延都非常短。
3、網路容量大
ZigBee低速率、低功耗和短距離傳輸的特點使它非常適宜支持簡單器件。ZigBee定義了兩種器件:全功能器件(FFD)和簡化功能器件(RFD)。對全功能器件,要求它支持所有的49個基本參數。而對簡化功能器件,在最小配置時只要求它支持38個基本參數。一個全功能器件可以與簡化功能器件和其他全功能器件通話,可以按3種方式工作,分別為:個域網協調器、協調器或器件。而簡化功能器件只能與全功能器件通話,僅用於非常簡單的應用。一個ZigBee的網路最多包括有255個ZigBee網路節點,其中一個是主控(Master)設備,其餘則是從屬(Slave)設備。若是通過網路協調器(Network Coordinator),整個網路最多可以支持超過64000個ZigBee網路節點,再加上各個Network Coordinator可互相連接,整個ZigBee網路節點的數目將十分可觀。
4、兼容性
ZigBee技術與現有的控制網路標准無縫集成。通過網路協調器(Coordinator)自動建立網路,採用載波偵聽/沖突檢測(CSMA-CA)方式進行信道接入。為了可靠傳遞,還提供全握手協議。
5、安全性
Zigbee提供了數據完整性檢查和鑒權功能,在數據傳輸中提供了三級安全性。第一級實際是無安全方式,對於某種應用,如果安全並不重要或者上層已經提供足夠的安全保護,器件就可以選擇這種方式來轉移數據。對於第二級安全級別,器件可以使用接入控制清單(ACL)來防止非法器件獲取數據,在這一級不採取加密措施。第三級安全級別在數據轉移中採用屬於高級加密標准(AES)的對稱密碼。AES可以用來保護數據凈荷和防止攻擊者冒充合法器件,各個應用可以靈活確定其安全屬性。
6、實現成本低
模塊的初始成本估計在6美元左右,很快就能降到1.5-2.5美元,且Zigbee協議免專利費用。目前低速低功率的UWB晶元組的價格至少為20美元。而ZigBee的價格目標僅為幾美分。低成本對於ZigBee也是一個關鍵的因素。
7、時延短
通信時延和從休眠狀態激活的時延都非常短,典型的搜索設備時延30ms,休眠激活的時延是15ms, 活動設備信道接入的時延為15ms。因此ZigBee技術適用於對時延要求苛刻的無線控制(如工業控制場合等)應用。
ZigBee與WiFi的區別
相同點:
1、二者都是短距離的無線通信技術;
2、都是使用2.4GHz頻段
3、都是採用DSSS技術;
不同點:
1、傳輸速度不同。 ZigBee的傳輸速度不高(<250Kbps),但是功耗很低,使用電池供電一般能用3個月以上; WiFi,就是常說的無線區域網,速率大(11Mbps),功耗也大,一般外接電源;
2、應用場合不同。 ZigBee用於低速率、低功耗場合,比如無線感測器網路,適用於工業控制、環境監測、智能家居控制等領域。 WiFi,一般是用於覆蓋一定范圍(如1棟樓)的無線網路技術(覆蓋范圍100米左右)。表現形式就是我們常用的無線路由器。在一棟樓內布設1個無線路由器,樓內的筆記本電腦(帶無線網卡),基本都可以無線上網了。
3、市場現狀不同。ZigBee作為一種新興技術,自04年發布第一個版本的標准以來,正處在高速發展和推廣當中;目前因為成本、可靠性方面的原因,還沒有大規模推廣; WiFi,技術成熟很多,應用也很多了。 總體上說,二者的區別較大,市場定位不同,相互之間的競爭不是很大。只不過二者在技術上有共同點,二者的相互干擾還是比較大的,尤其是WiFi對於ZigBee的干擾。
二者硬體內存需求對比:ZigBee:32~64KB+;WiFi:1MB+;ZigBee硬體需求低。
二者電池供電上電可持續時間對比:ZigBee:100~1000天;WiFi:1~5天;ZigBee功耗低。 傳輸距離對比(一般用法,無大功率天線發射裝置):ZigBee:1~1000M;WiFi:1~100M;ZigBee傳輸距離長。 ZigBee劣勢: 網路帶寬對比:ZigBee:20~250KB/s;WiFi:11000KB/s;ZigBee帶寬低,傳輸慢。
ZigBee的技術應用
作為一種低速率的短距離無線通信技術,ZigBee有其自身的特點,因此有為它量身定做的應用,盡管在某些應用方面可能和其他技術重疊。ZigBee可能的一些應用,包括智能家庭、工業控制、自動抄表、醫療監護、感測器網路應用和電信應用。
1、智能家居
家裡可能都有很多電器和電子設備,如電燈、電視機、冰箱、洗衣機、電腦、空調等等,可能還有煙霧感應、報警器和攝像頭等設備,以前我們最多可能就做到點對點的控制,但如果使用了ZigBee技術,可以把這些電子電器設備都聯系起來,組成一個網路,甚至可以通過網關連接到Internet,這樣用戶就可以方便的在任何地方監控自己家裡的情況,並且省卻了在家裡布線的煩惱。
2、工業控制
工廠環境當中有大量的感測器和控制器,可以利用ZigBee技術把它們連接成一個網路進行監控,加強作業管理,降低成本。
3、感測器網路應用
感測器網路也是最近的一個研究熱點,像貨物跟蹤、建築物監測、環境保護等方面都有很好的應用前景。感測器網路要求節點低成本、低功耗,並且能夠自動組網、易於維護、可靠性高。ZigBee在組網和低功耗方面的優勢使得它成為感測器網路應用的一個很好的技術選擇。
目前Zigbee技術還存在的問題
盡管 Zigbee技術在2004年,就被列為當今世界發展最快,最具市場前景的十大新技術之一;關於Zigbee技術的優點,大家也進行了許多討論,到目前為止,國內外許多廠商也都開發生產了各種各樣的 Zigbee產品,並在應用推廣上做了大量的工作,然而,實事求是的講,真正完全使用Zigbee技術來解決具體實際問題,有意義的案例則非常有限。
Zigbee似乎成了一種時髦,但眼下還不能做到真正實用的新技術。就其原因,除了作為一種新技術,它本身需要有一個技術改進和成熟,以及市場培育的過程外,我們在長期應用Zigbee技術來解決實際問題的實踐中,還發現如下幾個十分重要,而在短期內我們認為十分難以解決的問題:
1、Zigbee的核心技術之一,是動態組網和動態路由,即Zigbee網路考慮了網路中的節點增減變化,網路中的每個節點相隔一定時間,需要通過無線信號交流的方式重新組網,並在每一次將信息從一個節點發送到另一個節點時,需要掃描各種可能的路徑,從最短的路經嘗試起,這就涉及到無線網路的管理問題。而這些,都需要佔用大量的帶寬資源,並增加數據傳輸的時延。特別是隨著網路節點數目的增加和中轉次數增多。因而,盡管Zigbee的射頻傳輸速率是250kbps, 但經過多次中轉後的實際可用速率將大大降低,同時數據傳輸時延也將大大增加,無線網路管理也就變得越麻煩。這也就是目前Zigbee網路在數據傳輸時的主要問題。
2、Zigbee這個字,從英語的角度來分析,它是由「Zig」和「bee」兩個字組成。前者「Zig」中文的意思是「之「字形的路徑,後面一個英文單詞「bee」就是蜜蜂的意思,我們的理解,Zigbee網路技術,就是模仿蜜蜂信息傳遞的方式,通過網路節點之間信息的相互互傳,來將一個信息從一個節點傳輸到遠處的另外一個節點。如果按一般標准Zigbee節點,在開闊空間每次數據中轉平均增加50米直線傳輸距離計算,傳輸500米直線距離需要中轉十次;在室內,由於Zigbee所使用的2.4 G的傳輸頻率,一般是通過信號反射來進行傳輸的,由於建築物的遮擋,要傳輸一定的距離,往往需要使用較多的網路節點來進行數據中轉,如上述第一條中的分析,這對一個Zigbee網路來講,並不是一件簡單的事情。當然,我們也可使用放大器來增加Zigbee網路節點的傳輸距離,然而,這必然要大大增加網路節點的功耗和成本,失去了Zigbee低成本低功耗的本來目的。而且,在室內使用這種方法來增加傳輸距離,效果也有限。顯然,一種通過中心點在室外,終端模塊在室外的星狀網網路通信結構個更加合理。
3、Zigbee的核心技術之一,是每一個網路節點,除了自身作為信息採集點和執行來自中心的命令外,它還承擔著隨時來自網路的數據中轉任務,這樣,網路節點的收發機必須隨時處於收發接收狀態,這就是說它的最低功耗至少在20mA左右,一般使用放大器的遠距離網路節點,其耗電量一般在150mA左右。這顯然很難使用電池驅動來保證網路節點的正常工作;
4、由於Zigbee中的每一個節點,都參與自動組網和動態路由的工作,因而每個網路節點的單片機也就相對復雜一些,成本自然也就高一些。另外,在Zigbee網路的基礎上進行一些針對具體應用的開發工作的量也就大一些。
綜上所述 ,我們認為,Zigbee網路,實際上在許多情況下,是犧牲了網路傳輸效率,帶寬以及節點模塊的功耗,來換取在許多實際應用中,並不重要的動態組網和動態路由的功能,因為,在一般情況下,我們的網路節點和數據傳輸途徑往往都是固定不變的。因此,當前Zigbee技術尚未解決的節點耗電問題,網路數據傳輸的效率較低時延較長的問題,以及數據傳輸距離有限的問題,是當前Zigbee 技術難於得到很好推廣的根本原因。
B. 一文看懂網路七層協議/OSI七層模型
本文旨在解析網路通信的核心機制,通過探討OSI七層模型來理解網路數據傳輸的過程。首先,物理層負責硬體間的通信,定義了物理設備介面和傳輸介質標准,如網線和光纖的規格。這一層的任務是傳輸比特流,盡管存在干擾,通過控制協議確保數據的可靠傳輸。
數據鏈路層是傳輸的下一個階段,它處理比特流,將數據封裝成幀,同時確保數據幀的正確性和無差錯。通過IP地址,網路層負責路徑選擇,讓數據報文找到正確的接收地址,這催生了IP協議的出現。
傳輸層關注數據的完整性和服務質量,監控並確保報文的正確送達,而會話層則負責建立和管理應用程序之間的通信,提供自動收發和定址功能。
表示層負責數據格式轉換,確保上下層之間的兼容性,而應用層則是網路與用戶交互的最前線,直接服務於用戶的各種網路需求。
對比TCP/IP4層和5層模型,OSI七層模型更為詳細,涵蓋了更多層次的通信處理。通過理解這七層,我們可以更好地掌握網路通信的復雜性,提高網路服務的效率和可靠性。
C. 如何理解網路協議時水平的,有事垂直的
為了減少網路設計的復雜性,絕大多數網路採用分層設計方法。所謂分層設計方法,就是按照信息的流動過程將網路的整體功能分解為一個個的功能層,不同機器上的同等功能層之間採用相同的協議,同一機器上的相鄰功能層之間通過介面進行信息傳遞。為了便於理解介面和協議的概念,我們首先以郵政通信系統為例進行說明。人們平常寫信時,都有個約定,這就是信件的格式和內容。首先,我們寫信時必須採用雙方都懂的語言文字和文體,開頭是對方稱謂,最後是落款等。這樣,對方收到信後,才可以看懂信中的內容,知道是誰寫的,什麼時候寫的等。當然還可以有其他的一些特殊約定,如書信的編號、間諜的密寫等。信寫好之後,必須將信封裝並交由郵局寄發,這樣寄信人和郵局之間也要有約定,這就是規定信封寫法並貼郵票。在中國寄信必須先寫收信人地址、姓名,然後才寫寄信人的地址和姓名。郵局收到信後,首先進行信件的分揀和分類,然後交付有關運輸部門進行運輸,如航空信交民航,平信交鐵路或公路運輸部門等。這時,郵局和運輸部門也有約定,如到站地點、時間、包裹形式等等。信件運送到目的地後進行相反的過程,最終將信件送到收信人手中,收信人依照約定的格式才能讀懂信件。如圖所示,在整個過程中,主要涉及到了三個子系統、即用戶子系統,郵政子系統和運輸子系統。各種約定都是為了達到將信件從一個源點送到某一個目的點這個目標而設計的,這就是說,它們是因信息的流動而產生的。可以將這些約定分為同等機構間的約定,如用戶之間的約定、郵政局之間的約定和運輸部門之間的約定,以及不同機構間的約定,如用戶與郵政局之間的約定、郵政局與運輸部門之間的約定。雖然兩個用戶、兩個郵政局、兩個運輸部門分處甲、乙兩地,但它們都分別對應同等機構,同屬一個子系統;而同處一地的不同機構則不在一個子系統內,而且它們之間的關系是服務與被服務的關系。很顯然,這兩種約定是不同的,前者為部門內部的約定,而後者是不同部門之間的約定。在計算機網路環境中,兩台計算機中兩個進程之間進行通信的過程與郵政通信的過程十分相似。用戶進程對應於用戶,計算機中進行通信的進程(也可以是專門的通信處理機〕對應於郵局,通信設施對應於運輸部門。為了減少計算機網路設計的復雜性,人們往往按功能將計算機網路劃分為多個不同的功能層。網路中同等層之間的通信規則就是該層使用的協議,如有關第N層的通信規則的集合,就是第N層的協議。而同一計算機的不同功能層之間的通信規則稱為介面(interface),在第N層和第(N+1)層之間的介面稱為N/(N+1)層介面。總的來說,協議是不同機器同等層之間的通信約定,而介面是同一機器相鄰層之間的通信約定。不同的網路,分層數量、各層的名稱和功能以及協議都各不相同。然而,在所有的網路中,每一層的目的都是向它的上一層提供一定的服務。協議層次化不同於程序設計中模塊化的概念。在程序設計中,各模塊可以相互獨立,任意拼裝或者並行,而層次則一定有上下之分,它是依數據流的流動而產生的。組成不同計算機同等層的實體稱為對等進程(peerprocess)。對等進程不一定非是相同的程序,但其功能必須完全一致,且採用相同的協議。分層設計方法將整個網路通信功能劃分為垂直的層次集合後,在通信過程中下層將向上層隱蔽下層的實現細節。但層次的劃分應首先確定層次的集合及每層應完成的任務。劃分時應按邏輯組合功能,並具有足夠的層次,以使每層小到易於處理。同時層次也不能太多,以免產生難以負擔的處理開銷。計算機網路體系結構是網路中分層模型以及各層功能的精確定義。對網路體系結構的描述必須包括足夠的信息,使實現者可以為每一功能層進行硬體設計或編寫程序,並使之符合相關協議。但我們要注意的是,網路協議實現的細節不屬於網路體系結構的內容,因為它們隱含在機器內部,對外部說來是不可見的。現在我們來考查一個具體的例子:在圖所示的5層網路中如何向其最上層提供通信。在第5層運行的某應用進程產生了消息M,並把它交給第4層進行發送。第4層在消息M前加上一個信息頭(header),信息頭主要包括控制信息(如序號)以便目標機器上的第4層在低層不能保持消息順序時,把亂序的消息按原序裝配好。在有些層中,信息頭還包括長度、時間和其他控制欄位。在很多網路中,第4層對接收的消息長度沒有限制,但在第3層通常存在一個限度。因此,第3層必須將接收的入境消息分成較小的單元如報文分組(packet),並在每個報文分組前加上一個報頭。在本實例中,消息M被分成兩部分:M1和M2。第3層確定使用哪一條輸出線路,並將報文傳給第2層。第2層不僅給每段消息加上頭部信息,而且還要加上尾部信息,構成新的數據單元,通常稱為幀(frame),然後將其傳給第1層進行物理傳輸。在接收方,報文每向上遞交一層,該層的報頭就被剝掉,決不可能出現帶有N層以下報頭的報文交給接收方第N層實體的情況。要理解圖1-11示意圖,關鍵要理解虛擬通信與物理通信之間的關系,以及協議與介面之間的區別。比如,第4層的對等進程,在概念上認為它們的通信是水平方向地應用第四層協議。每一方都好像有一個叫做「發送到另一方去」的過程和一個叫做「從另一方接收」的過程,盡管實際上這些過程是跨過3/4層介面與下層通信而不是直接同另一方通信。抽象出對等進程這一概念,對網路設計是至關重要的。有了這種抽象技術,網路設計者就可以把設計完整的網路這種難以處理的大問題,劃分成設計幾個較小的且易於處理的問題,即分別設計各層。