專利名稱:一種保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間統(tǒng)一傳輸?shù)姆椒?br>
技術(shù)領(lǐng)域:
本發(fā)明涉及家庭網(wǎng)絡(luò)中設(shè)備間的通信方法,特別是指一種保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間統(tǒng)一傳輸?shù)姆椒ā?br>
背景技術(shù):
隨著人們物質(zhì)生活水平的提高,家庭范圍內(nèi)的信息設(shè)備、通訊設(shè)備、娛樂設(shè)備、家用電器、自動化設(shè)備、保安監(jiān)控裝置等設(shè)備逐漸增多,同時由于個人計算機和因特網(wǎng)在家庭中的迅速普及、電訊技術(shù)的蓬勃發(fā)展以及智能設(shè)備的長足進步,家庭網(wǎng)絡(luò)日益受到廣泛關(guān)注,人們對簡單、靈活、可靠的家庭網(wǎng)絡(luò)的需求也愈顯強烈。產(chǎn)生了很多與之相關(guān)的提法,例如智能家居(Smart Home)、電子家庭(Electronic Home,e-Home)、數(shù)字家園(Digital Family)、網(wǎng)絡(luò)家居(Network Home)、智能化家庭(IntelligentHome)等等,其涵蓋的內(nèi)容是基本相同的,都源于家庭網(wǎng)絡(luò)的概念。具體地講家庭網(wǎng)絡(luò)(Home network)包括四層含義①家庭中的信息設(shè)備、通訊設(shè)備、娛樂設(shè)備、家用電器、自動化設(shè)備、保安監(jiān)控裝置等互聯(lián)互通、資源共享,組成家庭智能化、數(shù)字化網(wǎng)絡(luò)系統(tǒng);②通過網(wǎng)關(guān)與社區(qū)、互聯(lián)網(wǎng)連接,實現(xiàn)與家庭外部環(huán)境的信息交換;③家庭的設(shè)備及其連接的網(wǎng)絡(luò)應(yīng)該滿足人們安全、方便、舒適、健康與綠色環(huán)保的基本需求,為人們提供身心愉悅的體驗;④體現(xiàn)以人為本的理念,易于使用、安全可靠、方便維護、價格適宜,滿足居家生活的特點。
有鑒于此,申請人在另一專利申請中提出了一種數(shù)字家庭網(wǎng)絡(luò)系統(tǒng),如圖1所示,該系統(tǒng)主要由網(wǎng)關(guān)11、一個以上主干網(wǎng)設(shè)備12和多個控制子網(wǎng)設(shè)備13構(gòu)成,該網(wǎng)關(guān)11可以進一步包括兩部分門戶網(wǎng)關(guān)110和控制網(wǎng)關(guān)111,門戶網(wǎng)關(guān)110與控制網(wǎng)關(guān)111之間通過寬帶接口相連?;诖讼到y(tǒng)結(jié)構(gòu)可以看出,該數(shù)字家庭網(wǎng)絡(luò)由主干網(wǎng)和控制子網(wǎng)兩個子網(wǎng)組成,其中,由門戶網(wǎng)關(guān)110及與其連接的家用設(shè)備所形成的網(wǎng)絡(luò)部分稱為主干網(wǎng),主干網(wǎng)主要用于實現(xiàn)信息設(shè)備、通訊設(shè)備、娛樂設(shè)備等的互連;而由控制網(wǎng)關(guān)111及與其連接的家用設(shè)備所形成的網(wǎng)絡(luò)部分稱為控制子網(wǎng),控制子網(wǎng)主要用于實現(xiàn)家用電器、自動化設(shè)備、保安監(jiān)控裝置等設(shè)備的互連。該數(shù)字家庭網(wǎng)絡(luò)的核心思想就是使家庭網(wǎng)絡(luò)上的家用設(shè)備互連互通、資源共享。在此家庭網(wǎng)絡(luò)系統(tǒng)中,門戶網(wǎng)關(guān)、控制網(wǎng)關(guān)和服務(wù)器可統(tǒng)稱為資源管理設(shè)備,用于管理網(wǎng)絡(luò)資源。一般來說,主干網(wǎng)中的設(shè)備均具有較強的存儲、計算能力,而控制子網(wǎng)中的設(shè)備存儲、計算能力非常有限。
在上述數(shù)字家庭網(wǎng)絡(luò)中,主干網(wǎng)與控制子網(wǎng)分別采用不同的網(wǎng)絡(luò)協(xié)議實現(xiàn)各自網(wǎng)絡(luò)設(shè)備間的互連互通與資源共享,主干網(wǎng)與控制子網(wǎng)之間通過門戶網(wǎng)關(guān)與控制網(wǎng)關(guān)之間的互連實現(xiàn)通信,控制網(wǎng)關(guān)負責進行控制子網(wǎng)到主干網(wǎng)的設(shè)備描述映射,使主干網(wǎng)可以訪問控制子網(wǎng)中的設(shè)備。
在實際組網(wǎng)中,控制子網(wǎng)可以根據(jù)傳輸媒介的不同、實現(xiàn)功能的不同等等再劃分為多個子網(wǎng),比如按傳輸媒介的不同有以電力線為傳輸媒質(zhì)的子網(wǎng)、以雙絞線為傳輸媒質(zhì)的子網(wǎng)、以無線射頻為傳輸媒質(zhì)的子網(wǎng)、以紅外線為傳輸媒質(zhì)的子網(wǎng)等等。
為了保證所有設(shè)備之間能簡單、方便地通信,對于每個控制子網(wǎng)設(shè)備均采用統(tǒng)一標準的描述方式,即面向?qū)ο笤O(shè)備(OOD,Object OrientedDevice)描述方式,該描述主要包括設(shè)備描述和服務(wù)描述,并且通過統(tǒng)一的對象控制語言(OCL,Object Control Language)來實現(xiàn)控制子網(wǎng)設(shè)備,相互間的控制與訪問等操作。但由于各個控制子網(wǎng)的傳輸媒介不同,因此在不同子網(wǎng)中使用的傳輸協(xié)議也不同,各自采用適合自身的傳輸協(xié)議,比如網(wǎng)絡(luò)通信的傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)、工業(yè)控制總線通信協(xié)議、CEBus家庭總線控制協(xié)議等等。這些協(xié)議雖然很成熟,但其存在不同程度的問題,比如TCP/IP協(xié)議過于復雜,要求的存儲空間較大,相對會增加產(chǎn)品成本,不適合用于低成本的簡單設(shè)備上;工業(yè)控制總線協(xié)議主要針對工業(yè)現(xiàn)場環(huán)境,加入了很多抗干擾機制,增加了通訊幀長以及額外運算量,同樣不適合用于低成本的簡單設(shè)備上;CEBus主要是基于電力線做為傳輸介質(zhì)考慮的,設(shè)計過于復雜,且有一定的局限性。故此,很難直接以現(xiàn)有協(xié)議作為各控制子網(wǎng)間統(tǒng)一的協(xié)議,但如果沒有統(tǒng)一的協(xié)議,即使設(shè)備有統(tǒng)一的描述,統(tǒng)一標準的操作命令,仍不能實現(xiàn)傳輸?shù)慕y(tǒng)一,也就是說,無法實現(xiàn)互通。
發(fā)明內(nèi)容
因此,本發(fā)明的主要目的在于提供一種保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間統(tǒng)一傳輸?shù)姆椒?,使其保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間能相互通信,進而實現(xiàn)控制子網(wǎng)設(shè)備之間的資源共享。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間統(tǒng)一傳輸?shù)姆椒?,是將每個控制子網(wǎng)設(shè)備生成的原始數(shù)據(jù)在發(fā)送之前,由該設(shè)備的協(xié)議棧做成幀處理,關(guān)鍵在于各層協(xié)議棧在數(shù)據(jù)序列頭字節(jié)之前依次添加每層的層標識字節(jié)。
設(shè)定每個控制子網(wǎng)設(shè)備的協(xié)議棧至少包括服務(wù)中間件和通訊中間件。那么,該方法進一步包括a.原始數(shù)據(jù)在經(jīng)過服務(wù)中間件中,添加應(yīng)用程序數(shù)據(jù)單元(APDU);b.步驟a中生成的數(shù)據(jù)在經(jīng)過通訊中間件時,依次添加傳輸程序數(shù)據(jù)單元(TPDU)、網(wǎng)絡(luò)程序數(shù)據(jù)單元(NPDU)以及邏輯鏈路控制子層程序數(shù)據(jù)單元(LPDU)和媒介訪問控制子層程序數(shù)據(jù)單元(MPDU)。
其中,步驟b進一步包括添加網(wǎng)絡(luò)程序數(shù)據(jù)單元之后,在當前數(shù)據(jù)序列之前加入信息長度字節(jié)和目的設(shè)備的家庭控制網(wǎng)絡(luò)地址(HACN)字節(jié)。
可見,本發(fā)明所提供的保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間統(tǒng)一傳輸?shù)姆椒?,在原始?shù)據(jù)進入控制子網(wǎng)中傳輸之前,在每個設(shè)備節(jié)點的各層協(xié)議棧處理中增加了統(tǒng)一的幀頭,使得設(shè)備信息或操作命令在子網(wǎng)中傳輸時,能夠利用已有網(wǎng)絡(luò)標準協(xié)議直接透傳到目的設(shè)備節(jié)點,且解析簡單,從而使子網(wǎng)設(shè)備之間能簡單方便的互連互通、共享每個設(shè)備節(jié)點所能提供的服務(wù)。另外,本發(fā)明方法在每層協(xié)議棧增加的幀頭結(jié)構(gòu)簡單,且包括所有相關(guān)的傳輸信息,能夠容易地解析,兼容性、互操作性、可讀性好。
圖1為本發(fā)明采用的家庭網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明家庭網(wǎng)絡(luò)中控制子網(wǎng)的分層結(jié)構(gòu)示意圖;圖3為本發(fā)明家庭網(wǎng)絡(luò)中控制子網(wǎng)的詳細分層結(jié)構(gòu)示意圖;圖4為本發(fā)明所采用的家庭網(wǎng)絡(luò)結(jié)構(gòu)的一個具體應(yīng)用實例圖;圖5為本發(fā)明方法實現(xiàn)的流程示意圖。
具體實施例方式
如圖2所示,家庭網(wǎng)絡(luò)中的控制子網(wǎng)從協(xié)議傳輸?shù)慕嵌葋碚f,分為四層結(jié)構(gòu),從上至下依次是服務(wù)中間件、通訊中間件、媒介通訊接口層和傳輸介質(zhì),對應(yīng)國際標準化組織(ISO)的開放式系統(tǒng)互連(OSI)七層模型,本發(fā)明的控制子網(wǎng)采用了其中的五層應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層,該四層結(jié)構(gòu)的功能組成以及與OSI分層體系的對應(yīng)關(guān)系,參見圖2、圖3進一步說明其中,服務(wù)中間件(Service Middleware)主要由應(yīng)用層(ApplicationLayer)構(gòu)成,負責處理特定的應(yīng)用程序細節(jié),實現(xiàn)設(shè)備的具體功能,包括設(shè)備對象描述子層(OOD)和消息傳輸控制子層(MTC)。該服務(wù)中間件具有與外部連接的接口,即應(yīng)用接入單元,該接入單元進一步包括應(yīng)用程序單元(App Unit)、外部擴展接口(EEI)和人機交互/外部設(shè)備。因此,服務(wù)中間件可以通過人機界面、執(zhí)行器驅(qū)動單元、輸入單元、傳感器單元等等與外部互通。
通訊中間件(Communication Middleware)由于控制子網(wǎng)中設(shè)備的通訊接口多種多樣,為了簡化服務(wù)中間件對通訊接口的處理,家庭控制子網(wǎng)采用通訊中間件來實現(xiàn)通訊接口的統(tǒng)一。通訊中間件對應(yīng)OSI中的傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,在數(shù)據(jù)鏈路層中又包括邏輯鏈路子層(LLC)和媒介訪問子層(MAC)。該通訊中間件隱藏了底層通訊媒介的復雜性,為應(yīng)用層提供端到端的通信。它所做的工作就是將應(yīng)用程序交給它的數(shù)據(jù)傳給下面的媒介通訊接口層,提供可靠的端到端通信,其中包括了接口統(tǒng)一的處理。
媒介通訊接口(Media Communication Interface)層由于不同的媒介所采用的碼元編碼方式、數(shù)據(jù)通訊速率、CSMA/CD實現(xiàn)方式、硬件連接方式等等各有不同,該層就是根據(jù)不同的傳輸媒介來確定不同的媒介通訊接口。該層對應(yīng)OSI中的物理層,進一步包括媒介無關(guān)子層(MI)、媒介相關(guān)子層(MD)以及媒介適配單元(MAU)。
傳輸介質(zhì)(Transmission Media)是實際應(yīng)用中用于傳輸?shù)奈锢韨鬏斆浇?,控制子網(wǎng)中至少包括四種不同的物理傳輸媒介220V住宅電力線(PL)、雙絞線(TP)、無線射頻(RF)以及紅外線(Infrared);同時,還預留了其它可能媒介的通用接口,使得家庭網(wǎng)絡(luò)的控制子網(wǎng)設(shè)備可以方便地使用新的物理介質(zhì)。
圖4所示為本發(fā)明所采用的家庭網(wǎng)絡(luò)結(jié)構(gòu)的一個具體應(yīng)用實例,圖中,橢圓節(jié)點代表主干網(wǎng)設(shè)備節(jié)點,圓形節(jié)點代表控制子網(wǎng)設(shè)備節(jié)點,方形節(jié)點代表網(wǎng)關(guān)(Gateway),六邊形節(jié)點代表路由器(router)。如圖4所示,家庭網(wǎng)絡(luò)主要包括主干網(wǎng)和控制子網(wǎng)兩部分,其中主干網(wǎng)的核心是門戶網(wǎng)關(guān),由門戶網(wǎng)關(guān)負責主干網(wǎng)設(shè)備間的互連及資源共享,并且,通過門戶網(wǎng)關(guān)與外部網(wǎng)絡(luò)相連;控制子網(wǎng)由至少一個子網(wǎng)構(gòu)成,每個子網(wǎng)的劃分可根據(jù)傳輸媒介的不同,或設(shè)備功能的不同,或按用戶實際需求,每個控制子網(wǎng)之間通過路由器互連,該路由器將使不同的子網(wǎng)通過兼容的通訊協(xié)議進行通信。本實施例中包括五個子網(wǎng),是按傳輸媒介劃分的。控制子網(wǎng)的核心是控制網(wǎng)關(guān),由控制網(wǎng)關(guān)負責完成控制子網(wǎng)設(shè)備之間的互連和資源共享,同時,控制子網(wǎng)與主干網(wǎng)也通過控制網(wǎng)關(guān)相連接。
在家庭網(wǎng)絡(luò)的控制子網(wǎng)中,所有設(shè)備節(jié)點都對應(yīng)一個節(jié)點標識,每個節(jié)點標識(Node ID)在本子網(wǎng)中必須是唯一的,不允許兩個節(jié)點的標識(Node ID)相同。同時,每個子網(wǎng)擁有自己的子網(wǎng)標識(Subnet ID)。因此,每個控制子網(wǎng)設(shè)備都擁有獨一無二的家庭控制網(wǎng)絡(luò)地址(HACNAddress),該家庭控制網(wǎng)絡(luò)地址由子網(wǎng)標識加節(jié)點標識來構(gòu)成,即Net ID+Node ID,該地址格式如表1所示
表1控制子網(wǎng)上的路由器根據(jù)每個設(shè)備節(jié)點獨一無二的家庭控制網(wǎng)絡(luò)地址來無縫連接不同的傳輸介質(zhì),這使得在路由器中不需要上層的協(xié)議棧來識別傳輸介質(zhì)的差異性。
在家庭網(wǎng)絡(luò)的控制子網(wǎng)中,數(shù)據(jù)按以下的協(xié)議進行傳輸,其傳輸流程如圖5所示1)在原始數(shù)據(jù)包上添加服務(wù)中間件的標識。由于應(yīng)用層(ApplicationLayer)位于整個控制子網(wǎng)體系的頂部,負責處理特定的應(yīng)用程序細節(jié),實現(xiàn)設(shè)備的具體功能。當數(shù)據(jù)經(jīng)過應(yīng)用層時,產(chǎn)生應(yīng)用程序數(shù)據(jù)單元(APDU,Application Program Data Unit)的包頭,該APDU頭即為服務(wù)中間件標識。該APDU頭可以用1~16個字節(jié),通常為1個字節(jié),其格式及每一位的含義如表2所示
表2表2中,第0~2位用于給出調(diào)用序號000~111,每次不同的調(diào)用,就使調(diào)用序號加1。第3~5位表示APDU的類型,取值為001表示拒絕處理應(yīng)用層服務(wù)數(shù)據(jù)單元(ASDU),取值為010表示處理ASDU的結(jié)果,取值為011表示收到ASDU正在處理,取值為100表示隱式調(diào)用,取值為101表示顯示調(diào)用,其它取值均無意義。第6位表示APDU頭部的模式,該位取1時,說明APDU頭部只有一個字節(jié),該位取0時,說明APDU頭部有多個字節(jié),如果有多個字節(jié),那么跟隨的下一個字節(jié)的低4位(bit0-3)應(yīng)該指出APDU的總長度。第7位是保留位,用于將來的擴展,當前設(shè)定為1。
其中,隱式調(diào)用(implicit invoke)類型表示只要底層將數(shù)據(jù)送出,不關(guān)心是否能正確到達對方節(jié)點并正確處理,可以指定一個簡單重復次數(shù)的參數(shù);顯式調(diào)用(explicit invoke)類型表示期望目標節(jié)點在收到信息時,給予反饋。
2)在步驟1)所產(chǎn)生的數(shù)據(jù)包上添加通訊中間件標識,包括傳輸層包頭--傳輸程序數(shù)據(jù)單元(TPDU)、網(wǎng)絡(luò)層包頭--網(wǎng)絡(luò)程序數(shù)據(jù)單元(NPDU)以及數(shù)據(jù)鏈路層包頭,該數(shù)據(jù)鏈路層包頭又包括邏輯鏈路控制子層包頭--邏輯鏈路控制子層程序數(shù)據(jù)單元(LPDU)和媒介訪問控制子層包頭--媒介訪問控制子層程序數(shù)據(jù)單元(MPDU)。
傳輸層提供類似于數(shù)據(jù)鏈路層(DLL)所提供的服務(wù),傳輸層的職責也是保證數(shù)據(jù)在端端之間完整傳輸,與DLL不同的是,傳輸層是在本地HACN網(wǎng)段之上提供這種功能,它可以檢測到路由器丟棄的包,然后自動產(chǎn)生一個重新傳輸請求。傳輸層的另一重要功能就是將亂序收到的數(shù)據(jù)包重新排序,由于傳輸層能夠識別出最初的包順序,并且在將這些包的內(nèi)容傳遞給傳輸層用戶之前將它們恢復成發(fā)送時的順序。由于傳輸層(LLC)為通過層,所以目前TPDU的頭部為空,即在此層數(shù)據(jù)透傳。
網(wǎng)絡(luò)層負責在源節(jié)點和目標節(jié)點之間建立它們所使用的路由,該層本身沒有任何錯誤檢測和修正機制,因此,網(wǎng)絡(luò)層必須依賴于端端之間的由DLL提供的可靠傳輸服務(wù)。
網(wǎng)絡(luò)層可以定義自己的路由地址結(jié)構(gòu),使本地控制子網(wǎng)上的節(jié)點建立通訊。當數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)層時,產(chǎn)生網(wǎng)絡(luò)程序數(shù)據(jù)單元(NPDU)的包頭。網(wǎng)絡(luò)層發(fā)送并接收至少一個字節(jié)的NPDU頭,該NPDU頭的格式及其含義如表3所示
表3表3中,第0~1位、第3位和第7位為保留位;第2位代表介質(zhì)的使用情況,取0時表示只在當前介質(zhì)中傳輸,取1時表示后面跟隨著所允許傳輸?shù)慕橘|(zhì)的描述字節(jié);第4位說明是否存在擴展字節(jié),取0時表示沒有擴展字節(jié),取1時表示有擴展字節(jié);第5~6位表示路由方式,取值為00時表示請求一個ID幀(Request_ID),取值為01時表示當前發(fā)送幀為ID幀(ID_Packet),取值為10時表示目錄方式路由(Directory Route),即基于路由器上的路由表格發(fā)送,取值為11時表示洪泛方式路由(Flood_Route),即向所有允許的媒介上發(fā)送。
一個配置好的設(shè)備在啟動時,會發(fā)送一個ID_Packet出去作為登錄消息;或者,路由器請求時,也會發(fā)送。路由器使用ID_Packet來保持每個傳輸媒介上的節(jié)點列表。
3)數(shù)據(jù)鏈路層(DLL,Data Link Layer)與所有其他層一樣,負責發(fā)送和接收,還要提供數(shù)據(jù)有效傳輸?shù)亩说蕉诉B接。數(shù)據(jù)鏈路層分為邏輯鏈路控制子層(LLC,Logical Link Control Sublayer)和媒介訪問控制子層(MAC,Medium Access Control Sublayer)。當數(shù)據(jù)經(jīng)過此兩子層時,分別產(chǎn)生邏輯程序數(shù)據(jù)單元(LPDU,Logical Program Data Unit)和媒介程序數(shù)據(jù)單元(MPDU,Medium Program Data Unit)的包頭。
在發(fā)送方,DLL需負責將指令、數(shù)據(jù)等包裝到幀中,幀是DLL層生成的結(jié)構(gòu),它包含足夠的信息,確保數(shù)據(jù)可以安全地通過本地HACN網(wǎng)絡(luò)到達目的地。
成功發(fā)送意味著數(shù)據(jù)幀要完整無缺地到達目的地,因此,在幀中包含一種機制用于保證在傳送過程中內(nèi)容的完整性。為確保數(shù)據(jù)傳送完整安全到達,必須滿足兩點a.在每個幀完整無缺地被目標節(jié)點收到時,源節(jié)點必須收到一個響應(yīng)。
b.在目標節(jié)點發(fā)出收到幀的響應(yīng)之前,必須驗證幀內(nèi)容的完整性。
有很多情況會導致幀的發(fā)送不能到達目標;或者在傳輸過程中被破壞;或不能使用,DLL有責任檢測并修正所有這些錯誤。
DLL的另一職責就是重新組織從物理層收到的數(shù)據(jù)比特流(bitstream)。不過,如果幀的結(jié)構(gòu)和內(nèi)容都被發(fā)出,DLL并不重建一個幀;并且,DLL緩存到達的比特流直到這些比特流構(gòu)成一個完整的幀。
由于邏輯鏈路控制子層(LLC)為通過層,所以LPDU的頭為空,數(shù)據(jù)透傳。而增加了MPDU包頭的這個幀是數(shù)據(jù)傳輸?shù)淖罱K形式,其包括很多傳輸相關(guān)信息,比如節(jié)點地址、信息長度、信息內(nèi)容、校驗等等。此處,MPDU包頭是一個幀的獨立碼元序列,其格式如表4所示
表4表4中,幀頭(Preamble)是固定的幀起始標志,根據(jù)傳輸媒介而定,傳輸媒介不同,MAC使用的幀起始標志也不同;控制域(Control field)表示控制信息字節(jié),通常為1個字節(jié);目標節(jié)點地址(Destination Address)指接收方的地址(HACN Address);源節(jié)點地址(Source Address)為發(fā)送方的地址(HACN Address);信息域長度(Information Field Length)指出后面的信息域的長度;信息域(Information field)中為需要傳輸?shù)男畔?;幀校驗序?Frame Check Sequence)是在MAC子層進行錯誤檢測的校驗碼,一般采用CRC-16循環(huán)冗余校驗方式(Cyclic Redundancy Check)。
每個MAC幀都包括一個控制域,來決定MAC子層處理相關(guān)的媒介訪問控制子層服務(wù)數(shù)據(jù)單元(MSDU)的參數(shù)??刂朴騼?nèi)容由MAC子層根據(jù)所提供的數(shù)據(jù)請求的服務(wù)原語來產(chǎn)生,控制域長度是可變的,基本的控制域為1個字節(jié)(8bit)。該控制域字節(jié)的格式及含義如表5所示
表5控制域決定了幀類型、幀優(yōu)先級、服務(wù)類型和序列號。其中,序列號是控制域的第7位,占用一個比特位,每次網(wǎng)絡(luò)層發(fā)出新的傳輸請求時該值都取反;在數(shù)據(jù)鏈路層進行重傳嘗試時,序列號應(yīng)該保持不變,如此,序列號和源地址作為一對,使得接收節(jié)點可以區(qū)分并丟棄重復幀。
控制域的第6位為服務(wù)類型,取0時表示基本服務(wù)幀,取1時表示擴展服務(wù)幀。
控制域的第5位為地址縮略標志,如果地址縮略標志為1,表示后面的目標節(jié)點地址、源節(jié)點地址都經(jīng)過縮略,只有節(jié)點編號(Node ID)部分,沒有子網(wǎng)編號(Subnet ID)部分,即目標節(jié)點地址和源節(jié)點地址各由2個字節(jié)組成,如表6所示,該功能用于同一子網(wǎng)內(nèi)的數(shù)據(jù)傳輸,即當MAC子層判斷出接收方和發(fā)送方的子網(wǎng)地址一致時,可以采用地址縮略方式。比如目標節(jié)點地址為00 3302 2D,源節(jié)點地址為00 3304 23,目標節(jié)點與源節(jié)點的子網(wǎng)地址均為00 33,那么,在控制域設(shè)置了地址縮略方式后,傳輸?shù)刂犯袷綖?2 2D04 23。如果地址縮略標志為0,表示后面的目標節(jié)點地址和源節(jié)點地址均由4個字節(jié)構(gòu)成,不作任何縮略。在幀必須跨越子網(wǎng)時,只允許采用地址不縮略的形式。
表6控制域的第3、4位用于指明幀的優(yōu)先級,分別為00--高優(yōu)先級;01--標準優(yōu)先級;10--低優(yōu)先級;11--未定義。
控制域的最低3位指出了幀類型,包括7種幀類型000表示即時確認型反饋(IACK);001表示確認型數(shù)據(jù)(ACK_DATA);010表示無確認型數(shù)據(jù)(UNACK_DATA);011目前未定義;100表示失敗型反饋(FAILURE_ACK);101表示需記錄確認型數(shù)據(jù)(ADR_ACK_DATA);110表示需記錄即時確認型反饋(ADR_IACK);111表示需記錄無確認型數(shù)據(jù)(ADR_UNACK_DATA)。其中,四類幀代表正常的數(shù)據(jù)傳輸①確認型數(shù)據(jù)(ACK_DATA)和需記錄確認型數(shù)據(jù)(ADR_ACK_DATA)代表帶確認服務(wù)的數(shù)據(jù)幀;②無確認型數(shù)據(jù)(UNACK_DATA)和需記錄無確認型數(shù)據(jù)(ADR_UNACK_DATA)的幀類型代表無確認服務(wù)的數(shù)據(jù)幀。另外,有三類幀代表目標節(jié)點的即時確認(IACK)①即時確認型反饋(IACK)表明該幀是一個基本的無需記錄的,在收到后立刻反饋的接收確認;②失敗型反饋(FAILURE_ACK)表明幀是一個基本的無需記錄的失敗反饋幀;③需記錄即時確認型反饋(ADR_IACK)表明幀是一個需做記錄的即時確認的反饋,ADR_IACK幀在信息域中可以包含肯定的或否定的確認響應(yīng)。
表5所示控制域的詳細結(jié)構(gòu)與取值范圍及其含義如表7所示
表7對于表4中所述的目標節(jié)點地址與源節(jié)點地址,每個目標節(jié)點或源節(jié)點的設(shè)備地址(HACN Address)均標準的由子網(wǎng)編號和節(jié)點編號構(gòu)成,子網(wǎng)編號和節(jié)點編號分別占用2個字節(jié),其具體格式如表1所示。舉個例子來說,某HACN設(shè)備的地址為00 33 04 23,則表示該設(shè)備的子網(wǎng)編號是0033,節(jié)點編號是04 23,每個字節(jié)均用16進制表示。
在傳輸時,通常先傳輸2個字節(jié)的節(jié)點編號,然后跟隨2個字節(jié)的子網(wǎng)編號,源節(jié)點與目標節(jié)點完全相同。因此,傳輸時的格式如表8所示
表8例如,目標節(jié)點地址為00 3302 2D,源節(jié)點地址為00 3304 23,那么傳輸時的字節(jié)順序應(yīng)為02 2D00 3304 2300 33。
表4中的信息域長度代表了幀中承載的信息域的字節(jié)數(shù),該信息域長度由1~2個字節(jié)組成。在第一個字節(jié)的最高位(Bit 7)定義了超長標志,以決定是否存在第二個長度字節(jié)。如果信息域長度少于128個字節(jié)(0~127),那么不存在第二個長度字節(jié),一般絕大多數(shù)幀不存在第二長度字節(jié)。該第一字節(jié)的位含義如表9所示
表9第二字節(jié)的位含義如表10所示
表10舉例來說,0x2E,二進制為00101110,表示信息域的長度為十進制的46個字節(jié),并且后面沒有第二個信息域長度字節(jié)。而0x8F 0x34則表示有第二個信息域長度字節(jié),信息域的長度為0x0F34字節(jié)長,也就是長度為十進制的3892字節(jié)。
因此,理論上信息域可以容納的最多字節(jié)數(shù)為27+8-1=215-1=32767字節(jié)。此時,信息域長度的兩個字節(jié)為0xFF 0xFF,代表長度0x7FFF。但實際上,為了提供網(wǎng)絡(luò)傳輸?shù)男?,一般?guī)定HACN上所有的幀信息域長度不得超過2048個字節(jié)。
表4中的信息域(Information field)代表需要傳輸?shù)男畔ⅲ渌试S的長度為0~2048字節(jié)。對于正常的數(shù)據(jù)傳輸幀,信息域是必須存在的,包含一個MSDU單元。傳輸時,信息域的內(nèi)容用“Data”參數(shù),通過MA_DATA.req或者MA_ACK_DATA.req服務(wù)原語從LLC子層傳給MAC子層。接收時,信息域的內(nèi)容用“Data”參數(shù),通過MA_DATA.ind或者MA_ACK_DATA.ind服務(wù)原語從MAC子層傳給LLC子層。
MAC子層并不訪問信息域的內(nèi)容,信息域的格式是由節(jié)點傳輸層、網(wǎng)絡(luò)層和應(yīng)用層的規(guī)范進行定義和描述的。
對于接收方發(fā)出的確認幀,也包含信息域。允許長度為0~2個字節(jié)。確認幀的信息域提供了附加的信息給數(shù)據(jù)鏈路層。例如需記錄即時確認型反饋(ADR_IACK)帶有兩種類型接收成功(Success)和遠端拒絕錯誤(Fail_Remote_Reject)。這個域不包含任何需要提供給LLC子層之上的信息,因此目前不對確認幀的信息域取值進行設(shè)置。
表4中幀校驗序列(FCS,F(xiàn)rame Check Sequence)在MAC子層進行錯誤檢測,一般采用CRC-16循環(huán)冗余校驗方式(Cyclic Redundancy Check),即FCS域包含一個16位的CRC校驗,用來檢查報文的有效性。CRC的計算需從控制域字節(jié)開始,直到信息域的最后一個字節(jié)結(jié)束,不包含幀頭字節(jié)。CRC-16的計算基于生成多項式x16+x15+x2+1。
數(shù)據(jù)送入的順序為最低位(LSB,Least Significant Bit)到最高位(MSB,Most Significant Bit)。并且,對于給定的多項式,所使用的掩碼(mask)符合以下規(guī)定1>由一個17bit數(shù)值來代表多項式;2>假定最高位和最低位為1;3>把右邊的16位放入一個整數(shù)中;4>在串行傳輸時,如果最低位先發(fā)送,那么位需要取反。
下面結(jié)合具體實施例對本發(fā)明方法及上述分析作進一步詳細的說明。
以控制一臺家庭網(wǎng)絡(luò)控制子網(wǎng)中的電視機亮度為例,目標是將該電視機的顯示亮度調(diào)節(jié)為50%。
由于該電視機在加入網(wǎng)絡(luò)時已將自身的設(shè)備和服務(wù)信息注冊在控制網(wǎng)關(guān)上,因此從控制網(wǎng)關(guān)上可以獲取該電視機的所有描述信息,比如該電視機的HACN地址為00 0103 F2,視頻顯示服務(wù)的服務(wù)類別號為13,亮度控制對象的對象類別號為03;控制操作采用的動作為SetValue(45),具體操作對象中的成員變量為Current_Value(43),操作參數(shù)對應(yīng)的值為F535 30。
上述操作涉及到的每項參數(shù)及其相應(yīng)的取值如表11所示
表11由上述參數(shù)屬性,即可形成一條完整的對象控制語言(0CL)指令。該指令數(shù)據(jù)經(jīng)過服務(wù)中間件時,添加APDU頭E0,表示只有一個字節(jié)的隱式調(diào)用,調(diào)用序號為000。經(jīng)過通訊中間件時,先添加上NPDU頭CB,表示為目錄方式的路由,沒有擴展字節(jié),在當前介質(zhì)中傳輸;再添加上MPDU頭21,表示為確認型數(shù)據(jù),高優(yōu)先級,地址已縮略,序列號為零。那么,該原始數(shù)據(jù)13 03 45 43 F5 35 30,經(jīng)過各層處理后,最后在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)為2100 01 03 F209 CB E013 03 45 43 F5 35 30。其中,21為MPDU頭;其后00 01 03 F2為HACN地址;09表示信息域長度為9個字節(jié),該長度包括APDU的1個字節(jié)、NPDU的1個字節(jié)和原始數(shù)據(jù)的7個字節(jié);CB、E0分別為NPDU頭和APDU頭,最后的7字節(jié)16進制序列即為原始數(shù)據(jù)。該經(jīng)過各層處理的數(shù)據(jù)會被送到媒介通訊接口層通過當前傳輸媒介在控制網(wǎng)絡(luò)中傳輸。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1.一種保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間統(tǒng)一傳輸?shù)姆椒ǎ菍⒚總€控制子網(wǎng)設(shè)備生成的原始數(shù)據(jù)在發(fā)送之前,由該設(shè)備的協(xié)議棧做成幀處理,其特征在于各層協(xié)議棧在數(shù)據(jù)序列頭字節(jié)之前依次添加每層的層標識字節(jié)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于設(shè)定每個控制子網(wǎng)設(shè)備的協(xié)議棧至少包括服務(wù)中間件和通訊中間件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于該方法進一步包括a.原始數(shù)據(jù)在經(jīng)過服務(wù)中間件中,添加應(yīng)用程序數(shù)據(jù)單元(APDU);b.步驟a中生成的數(shù)據(jù)在經(jīng)過通訊中間件時,依次添加傳輸程序數(shù)據(jù)單元(TPDU)、網(wǎng)絡(luò)程序數(shù)據(jù)單元(NPDU)以及邏輯鏈路控制子層程序數(shù)據(jù)單元(LPDU)和媒介訪問控制子層程序數(shù)據(jù)單元(MPDU)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于步驟b進一步包括添加網(wǎng)絡(luò)程序數(shù)據(jù)單元之后,在當前數(shù)據(jù)序列之前加入信息長度字節(jié)和目的設(shè)備的家庭控制網(wǎng)絡(luò)地址(HACN)字節(jié)。
全文摘要
本發(fā)明公開了一種保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間統(tǒng)一傳輸?shù)姆椒ǎ菍⒚總€控制子網(wǎng)設(shè)備生成的原始數(shù)據(jù)在發(fā)送之前,由該設(shè)備的協(xié)議棧做成幀處理,關(guān)鍵在于各層協(xié)議棧在數(shù)據(jù)序列頭字節(jié)之前依次添加每層的層標識字節(jié)。本發(fā)明的方法保證家庭網(wǎng)絡(luò)中控制子網(wǎng)設(shè)備間能相互通信,進而實現(xiàn)控制子網(wǎng)設(shè)備之間的資源共享。
文檔編號H04L12/24GK1481126SQ0213102
公開日2004年3月10日 申請日期2002年9月24日 優(yōu)先權(quán)日2002年9月24日
發(fā)明者羅嘉, 孟闖, 任艷頻, 張淵毅, 李明, 羅予晉, 姜珊, 羅 嘉 申請人:聯(lián)想(北京)有限公司