本公開涉及一種以太總線交換機、包含以太總線交換機的以太總線架構以及利用其的數據通訊方法,尤其是能夠實現交叉通訊和無損監聽數據通訊方法。
背景技術:
傳統總線物理上采用向下對設備廣播,向上分時的方式實現了半雙工的通訊。傳統總線通訊模式的特點是:數據時延、抖動小,點對多點的半雙工通訊模式。但是傳統總線通訊模式幾乎無數據冗余保護機制,并且線纜數量多,布線復雜,容錯率低,成本高,帶寬小,只有9600~12mbps,速率較低。而且,傳統總線的系統通信模式不能實現全雙工通信,因此效率比較低。
隨著以太網技術的發展,傳統以太網交換系統可采用點對點的單播通信和點對多點廣播/組播單向通信,并可以實現全雙工通信。以太網設備成本、線纜成本低、速度快(100m、1000m、萬兆),并采用全雙工通信機制,具有共享、開放、統一化程度高、互聯性好。但是由于以太網的傳輸特性,導致網絡的確定性、實時性、穩定性不如總線通信。
因此,如果能將傳統總線的優勢結合以太技術,其能夠既使得數據傳輸過程中具有傳統總線進行數據通訊時的點對多點的確定性、實時性以及穩定性的優點又能夠獲得傳統以太網的高速、全雙工通信的優點的通訊。
技術實現要素:
為了消除現有傳統總線以及以太網中存在上述問題,根據本公開的一個方面,提出了一種以太總線交換機,包括:一個或多個設備端口;一對網絡鏈接端口;交換邏輯單元,發送或接收數據幀,并基于源mac地址學習機制學習所接收到的數據幀的源設備mac地址并存儲在mac地址表中;以及傳輸邏輯組件,包括路由決策單元和數據重組單元,所述數據重組單元將來自設備端口的數據幀復制一份以便路由決策單元將該數據幀路由到所述一對網絡鏈接端口方向,以及數據重組單元將來自所述一對網絡鏈接端口之一的具有總線屬性并且目的地mac地址為本地設備端口上的總線設備的mac地址的數據幀復制一份,以便路由決策單元將該數據幀路由到設備端口方向和所述一對網絡鏈接端口的另一個端口方向,從而以單播方式實現點對多點的通訊。
根據本公開的以太總線交換機,其中所述數據重組單元為從設備端口經由交換邏輯單元發送的數據幀添加數據幀id以及為從路由決策單元接收的數據幀剝離數據幀id。
根據本公開的以太總線交換機,其中所述數據幀id包含有基于源交換機id生成的數據幀序列號。
根據本公開的以太總線交換機,其中所述數據幀id包含有源交換機id、目的地交換機id以及基于源交換機id生成的數據幀序列號。
根據本公開的以太總線交換機,其中所述數據重組單元在來自所述一對網絡鏈接端口之一的數據幀中的源mac地址與本地總線設備的mac地址相同時,將該數據幀中的路由協議字段中的源信息和目的地信息進行交換以便實現重組。
根據本公開的以太總線交換機,其中所述路由決策單元對來自所述一對網絡鏈接端口之一的目的地mac地址不是本地設備端口上的設備的mac地址的數據幀只路由到所述一對網絡鏈接端口的另一個端口方向。
根據本公開的以太總線交換機,其中所述路由決策單元對來自所述一對網絡鏈接端口之一的不具有總線屬性并且目的地mac地址為本地設備端口上的非總線設備的mac地址的數據幀僅路由到設備端口方向。
根據本公開的另一個方面,還提供了一種總線架構,由根據本公開的以太總線交換機構成,其中傳輸線經由以太總線交換機的網絡鏈接端口連接多個以太總線交換機,至少兩個以太總線交換機的一個或多個設備端口上連接有至少一個總線設備,以便多個具有相同mac地址的總線設備能夠同時接收目的地為該mac地址的數據幀,從而以單播形式實現點對多點以及多點對多點的通訊。
根據本公開的又一個方面,提供了在根據本公開的總線架構上進行數據通訊方法,包括:多個第一總線設備之一從第一以太總線交換機的用戶設備端口經由第一交換邏輯單元發出具有以太總線屬性的第一數據幀;第一以太總線交換機的第一數據重組單元將所接收到的第一數據幀復制一份,并由第一以太總線交換機的第一路由決策單元該第一數據幀及其副本分別路由到該第一以太總線交換機的一對網絡鏈接端口方向;至少一個第二以太總線交換機在經由其成對網絡鏈接端口之一接收到來自第一總線設備的第一數據幀時,在第二以太總線交換機的第二路由決策單元確定第一數據幀的目的地mac為第二以太總線交換機的用戶設備端口上連接的第二總線設備的mac的情況下,所述第二以太總線交換機的第二數據重組單元將該第一數據幀復制一份,并由第二以太總線交換機的第二路由決策單元將第一數據幀路由到連接到第二以太總線交換機的第二交換邏輯單元的用戶設備端口上的第二總線設備方向以及將第一數據幀的副本路由到第二以太總線交換機的成對網絡鏈接端口的另一個端口方向。
根據本公開的數據通訊方法,其還包括:第二路由決策單元在確定第一數據幀的目的地mac不是第二總線設備的mac的情況下,直接將第一數據幀路由到第二以太總線交換機的成對網絡鏈接端口的另一個端口方向。
根據本公開的數據通訊方法,其還包括:所述第一數據重組單元在復制第一數據幀之前或同時為第一數據幀添加數據幀id以及在第二路由決策單元將第一數據幀路由到第二總線設備方向之前或同時第二數據重組單元為第一數據幀剝離所添加數據幀id。所述數據幀中數據幀id可以是基于發出該數據幀的端口的數據幀序列號,也開始是基于該用戶設備所連接的交換機id所生成數據序列號,還可以是包含有源交換機id、目的地交換機id以及基于源交換機id生成的數據幀序列號。
根據本公開的數據通訊方法,其還包括:在第二路由決策單元確定第一數據幀的源mac與第二總線設備的mac相同的情況下,第二數據重組單元將第一數據幀中的路由協議字段中的源信息和目的地信息進行交換以便實現重組;以及第二路由決策單元將經過重組后的第一數據幀路由到第二總線設備方向。所述數據幀中的路由協議字段中的源信息包含了與路由相關的信息,例如包括:mac地址、ip地址(在有ip層的情況下)、端口號等。
根據本公開的數據通訊方法,其還包括:所述第二路由決策單元在確定第一數據幀的目的地mac地址不是第二交換邏輯單元的用戶設備端口上的設備的mac地址時,僅僅將第一數據幀路由到第二以太總線交換機的一對網絡鏈接端口的另一個端口方向。
根據本公開的數據通訊方法,其還包括:所述第二路由決策單元在確定來自所述一對網絡鏈接端口之一的數據幀不具有總線屬性并且目的地mac地址為第二交換邏輯單元的用戶設備端口上的非總線設備的mac地址時,僅將該數據幀路由到第二交換邏輯單元的用戶設備端口方向。
因此,根據本公開的以太總線交換機以及有這些交換機構成的總線架構能夠實現總線設備之間能夠采用單播方式實現點對多點的通訊,同時也可以采用單播方式獲得多點對多點的通信,由此實現在總線上進行多方通話。既獲得通訊的確定性、實時性以及穩定性,又能夠獲得傳統以太網的高速、全雙工通信的優點。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
圖1所示為根據本發明的第一實施例的以太網交換機的原理示意圖。
圖2所示的是根據本公開的以太總線交換機對用戶接入口接收到的數據幀的處理流程圖。
圖3所示的是根據本公開的以太總線交換機對從網絡鏈接通道接收到的數據幀的處理流程圖。
圖4所示的是根據本公開的以太總線的示意圖。
圖5所示的是在根據本公開的以太總線上采用單播方式實現點對多點雙向通訊過程的示意圖。
圖6所示的是根據本公開的無損監聽方法的示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
在本公開使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本開。在本公開和所附權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,盡管在本公開可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本公開范圍的情況下,第一以太總線交換機也可以被稱為第二以太總線交換機,類似地,第二以太總線交換機也可以被稱為第一以太總線交換機。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
圖1所示為根據本發明的第一實施例的以太網交換機的原理示意圖。如圖1所示,以太總線交換機100包括交換邏輯單元110以及傳輸邏輯組件120。交換邏輯單元110與傳輸邏輯組件120之間采用單通道或多通道進行數據交互通訊。交換邏輯單元110具有一個或多個用于接入總線設備的端口105。盡管此處端口可接入總線設備,其也可以接入普通可聯網設備。傳輸邏輯組件120有一對網絡鏈接端口a和b。盡管這里顯示為一對網絡鏈接端口a和b,但是其可以有兩對網絡鏈接端口。交換邏輯單元110基于源mac地址學習機制形成源mac地址表,以便接收和發送數據幀。傳輸邏輯組件120包括數據重組單元121和路由決策單元122。所述數據重組單元121對需要進行雙向發送的數據幀進行復制,路由決策單元122將數據幀以及其副本分別路由兩個方向,實現雙向發送。
此外,如果需要實現數據幀的碰撞機制,可以為本地發出的數據幀添加基于本地交換機id生成的數據幀id。在需要采用特定路由協議的情況下,例如基于交換機的id進行路由的情況下,該數據重組單元121可以為數據幀添加附加的路由協議數據,例如該路由協議可包含目的交換機id、源交換機id以及基于源交換機id生成的數據幀序列號(即數據幀id)。在本公開中,路由決策單元122主要基于數據幀的總線設備屬性和目的地mac進行路由決策。
用于本以太總線交換機的用戶設備通常為總線設備。對于目前的網絡設備,通常會具有自身固定的mac地址,用戶可以就有自身要求,將一些設備中具有某一類特征數據的mac定義為總線mac,由此使得某些將被使用的設備具有總線屬性,從而使得其發出的數據幀或以該具有總線特征的mac地址為目的地的數據幀具有總線屬性。或者,對于目前某些連接到本公開的交換機上的設備,將設備自己的mac地址登記注冊在交換機內的登記表中,在所登記的每個mac地址條目中注明其具有總線屬性,由此,使得具有mac地址的數據幀基于該登記表被識別為具有總線屬性的數據幀。可預測而言,隨著本公開的交換機的應用范圍的擴展,人們為了適應本公開的交換機的應用,可以對今后所有的需要與本公開交換機結合使用的網絡設備都賦予一個固定的“總線設備屬性”標識,從而交換機將基于該設備的總線屬性標識來識別設備的總線屬性和與設備相關聯的數據幀的總線屬性。
所述數據重組單元121為發送的數據幀添加數據幀id以及為接收的數據幀剝離數據幀id,而所述路由決策單元122對來自數據重組單元121的具有總線屬性的數據幀進行雙向發送。因此,根據本公開的以太總線交換機100以及有這些交換機構成的總線架構能夠實現總線設備之間能夠采用單播方式實現點對多點的通訊,同時也可以采用單播方式獲得多點對多點的通信,由此實現在總線上進行多方通話。既獲得通訊的確定性、實時性以及穩定性,又能夠獲得傳統以太網的高速、全雙工通信的優點。
此外,數據重組單元121還可以通過配置而激活另一種數據重組功能,即當數據重組單元121獲知來自所述一對網絡鏈接端口之一的數據幀中的源mac地址與本地總線設備的mac地址相同時,可以將該數據幀中的路由協議字段中的源信息(例如,mac地址、ip地址(在有ip層的情況下)、端口號)和目的地信息(例如,mac地址、ip地址(在有ip層的情況下)、端口號)進行交換以便實現重組。這樣,在兩個總線設備具有相同mac地址的情況下,其中一個總線設備就可以獲得另一個總線設備與其他設備之間的通訊信息,從而實現數據通訊的實時監聽。
在使用過程中,一方面,以太總線交換機從用戶接入端口或設備端口105處收到數據幀,另一方面,交換機會從網絡傳輸通道接收到數據幀。
圖2所示的是根據本公開的以太總線交換機對用戶接入口接收到的數據幀的處理流程圖。如圖2所示,在步驟s210處,接收到來自用戶設備a發出的具有總線設備屬性的數據幀。隨后,在步驟s215處,數據重組單元121對所接收到的總線屬性數據幀添加數據幀id。該數據幀id通常包含有該設備所連接的交換機id以及基于所連接的交換機生成的數據序列號。盡管這里采用交換機id對數據幀id進行了說明,但是也可以采用其他方式來設置數據幀id,例如每個設備獨特的設備序列號等。當然,數據幀id也可以包括用于能夠區別出數據幀的來源地的其他特征。通過添加所述數據幀id,使得該數據幀能夠適于在包含有本公開的以太總線交換機的以太網絡中進行傳輸。在數據幀被添加數據幀id之后,可以對具有總線屬性的數據幀進行復制,獲得原始數據幀的副本。
隨后在步驟s220處,路由決策單元122確定將該數據幀直接將交換機的兩個網絡連接端口當作一個端口進行路由決策,即同時路由到兩個傳輸通道所對應的端口,由此實現對本地設備端口發出的數據幀的雙向發送。這樣當位于不同交換機的用戶端口上的具有相同mac地址的總線設別將會同時接收到該數據幀,實現基于單播的點對多點的通訊。
圖3所示的是根據本公開的以太總線交換機對從網絡鏈接通道接收到的數據幀的處理流程圖。如圖3所示,在使用過程中,當源設備,例如為總線設備,向連接到用戶接入端口的一個或多個具有設定mac地址的用戶接入設備105發出信號數據幀時,該數據幀通常包含源設備的源mac地址和目的地設備mac地址。本公開的以太總線交換機與普通交換機一樣能夠對源設備的mac地址進行學習并形成mac地址表,不同的是,在該mac地址表中可以包含設備屬性信息,例如是否為總線設備。數據幀是否具有總線設備屬性,即該數據幀的目的地mac地址是否具有總線mac地址屬性。可選擇地,也可以同時判斷源mac地址和目的mac地址是否具有總線屬性。即通過查找該交換機的mac地址表,來獲知該目的地mac地址所對應的設備是否為總線設備,由此確定包含有該目的地mac地址的數據幀是否具有總線數據幀屬性。該mac地址表在學習每個源設備的mac地址時會同步學習每個mac地址所對應設備屬性,例如是否為總線設備。此外,將成對的網絡鏈接端口配置為一個源mac地址學習端口,即從網絡鏈接端口a和b自學習到的mac地址都在mac地址表中標注為同一個端口。路由決策單元122對來自網絡鏈接通道,例如傳輸通道a,的數據幀確定其路由方向。首先,在步驟s305處,交換機從其傳輸通道a接收到數據幀。隨后,在步驟s310處,基于包含的數據幀id確定該數據幀是否從成對網絡鏈接端口的另一側,例如網絡鏈接通道b,接收到過該數據幀。這種情況在交換機被用于環網的情況在出現,因此需要對其進行碰撞檢測。如果接收到過,則路由決策單元122丟棄該數據。如果沒有接收到過,則在步驟s315處路由決策單元122確定該數據幀是否具有總線設備屬性,即該數據幀的目的地mac地址是否具有總線mac地址屬性。即通過查找該交換機的mac地址表,來獲知該mac地址所對應的設備是否為總線設備,由此確定包含有該目的地mac地址的數據幀是否具有總線數據幀屬性。該mac地址表在學習每個源設備的mac地址時會同步學習每個mac地址所對應設備屬性,例如是否為總線設備。這樣,當路由決策單元122確定該數據幀具有總線屬性時,則在步驟s320處,數據重組單元121將該數據幀復制一份。隨后,在步驟s325處,路由決策單元122一方面直接將一份數據幀路由到與接收數據幀的傳輸通道(例如傳輸通道a)相對的傳輸通道(例如傳輸通道b)所屬的端口進行轉發;另一方面,將另一份數據幀路由到用戶接入端口方向。隨后,在步驟s330處路由決策單元判斷該數據幀的mac地址是否為本地交換機所擁有的用戶接入端口上的設備的mac地址。如果判斷該mac地址為本地交換機所擁有的用戶接入端口上的設備的mac地址,則路由決策單元122則將該數據幀進行路由到用戶接入端口上的設備的方向以便下載到本地設備。隨后在步驟s335處,由數據重組單元121對該數據幀進行數據幀id剝離,以便在步驟s340處由交換邏輯組件110將經過數據幀id剝離的數據幀下載到本地設備。由此,在所接收到的數據幀具有總線設備屬性的情況下,路由決策單元122將該數據幀路由到本地用戶接入端口和與接收數據幀的傳輸通道(例如傳輸通道a)相對的傳輸通道(例如傳輸通道a)所屬的端口,從而在從傳輸通道接收的數據幀具有總線屬性并且其目的mac地址為本地設備的mac地址的情況下實現雙向發送。
如果步驟s330處判斷該數據幀mac地址不是本地交換機所擁有的用戶接入端口上的設備的mac地址,則路由決策單元122則不進行數據向端口的發送,而僅僅在步驟s345處對將數據幀路由到與接收數據幀的傳輸通道(例如傳輸通道a)相對的傳輸通道(例如傳輸通道a)所屬的端口進行轉發。這實現了在從傳輸通道接收的數據幀具有總線屬性并且其目的mac地址不是本地設備的mac地址的情況下實現直接轉發。盡管此處說明書列出了在數據幀mac地址不是本地交換機所擁有的用戶接入端口上的設備的mac地址的情況下的判斷先后順序,但是實際上,步驟s330和步驟s320的過程可同步進行,由此在數據幀mac地址不是本地交換機所擁有的用戶接入端口上的設備的mac地址的情況下直接獲得路由決策結果為僅僅對數據幀進行路由到對策通道方向。
另外,當在步驟s315處當路由決策單元122確定該數據幀不具有總線屬性時,則直接在步驟s330處判斷該mac地址是否為本地交換機所擁有的用戶接入端口上的設備的mac地址。一方面,如果在步驟s330處判斷該mac地址為本地交換機所擁有的用戶接入端口上的設備的mac地址,則路由決策單元122則將該數據幀進行路由到用戶接入端口上的設備的方向以便下載到本地設備。隨后在步驟s335處,由數據重組單元121對該數據幀進行數據幀id剝離,以便在步驟s340處由交換邏輯組件110將經過數據幀id剝離的數據幀下載到本地設備。這實現了在從傳輸通道接收的數據幀不具有總線屬性并且其目的mac地址是本地設備的mac地址的情況下實現直接下載。另一方面,如果在步驟s330處判斷該mac地址不是本地交換機所擁有的用戶接入端口上的設備的mac地址,則路由決策單元122將數據幀路由到與接收數據幀的傳輸通道(例如傳輸通道a)相對的傳輸通道(例如傳輸通道a)所屬的端口進行轉發。這實現了在從傳輸通道接收的數據幀不具有總線屬性并且其目的mac地址不是本地設備的mac地址的情況下實現直接轉發。
為此,基于本公開的以太總線交換機的上述功能,本公開提出了圖4所述的一種以太總線架構400。圖4所示的是根據本公開的以太總線的示意圖。如圖4所示,其中包括多個根據本公開的以太總線交換機100-1、100-2、……100-n。其通過傳輸線經由以太總線交換機的網絡鏈接端口串聯在一起。以太總線交換機100-1下連接有源設備410。盡管此處稱之為源設備,其實同樣也是目的地設備。該源設備可以是普通的總線設備,也可以是非總線設備,或者可以是服務器或控制器。在每個以太總線交換機100-2、……100-n的用戶接入口上連接到總線設備1、總線設備2、……總線設備-n+1。盡管圖4顯示的每個以太總線交換機僅僅連接了一個總線設備,但是每個以太總線交換機上可以連接多個設備,這些設備可以都是總線設備,也可以是非總線設備,還可以是部分總線設備和部分非總線設備。
正如上面參照圖2和圖3所描述的數據交換過程,處于總線400中的各個設備之間可以進行結合圖2和圖3所描述的數據交換過程。舉例而言,當例如源設備410,其具有mac1地址,可以為總線設備或非總線設備。當源設備410向一個或多個具有相同mac2地址的總線設備發送數據幀時,(例如向總線設備1和總線設備2發送數據幀時,總線設備1和總線設備2都會收到該數據幀。因此,源設備410發出的數據幀盡管為單播數據幀,但是其實現了廣播或組播的功能,即點對多點的數據發送功能。隨后,總線設備1和總線設備2都會對所接收到的數據幀作出響應,每一個響應都包含有源設備410的mac1地址作為目的地地址,并且包含有各自的數據幀id。由此,源設備410會收到總線設備1和總線設備2的響應,由此實現點對多點甚至多點對多點的雙向通信。
圖5所示的是在根據本公開的以太總線上采用單播方式實現點對多點雙向通訊過程的示意圖。如圖5所示,以太總線交換機將同類設備(具有相同mac地址的設備)視為一個設備,即配置為同一個mac地址,這樣,當同類設備回應源設備后,該mac地址就會學習到用戶接入端口和網絡鏈接端口上,而根據本公開的以太總線交換機100設定用戶接入端口和網絡鏈接端口為獨立的學習機制,例如,接入端口學習mac地址,網絡鏈接端口學習的是源交換機的id。基于類似于以太網源mac學習機制,傳輸邏輯組件120會將源設備發來的數據同時傳輸到這兩個網絡鏈接端口上,這樣,所有的總線設備就會接收到源設備發來的數據幀。同時,源設備也可以接收到所有總線設備的回應數據幀。如果在這種以太總線架構中僅僅采用傳統交換機,當同一交換機的兩個端口學習到同一個mac地址時,由于單播的點對點傳輸機制就會出現目標地址沖突的情況,無法做到點對多點的數據通信。雙向轉發和點對多點以及多點對多點的雙向通訊是普通的總線以太網所不能實現的功能。
基于本公開的以太總線交換機100的結構和特有性能,本公開可以提供了一種能夠基于單播形式實現點對多點和多點對多點的數據通訊方法。結合圖4而言,第一以太總線交換機100(如圖中的以太總線交換機1)上連接有一個或多個第一總線設備(總線設備1),其經由第一交換邏輯單元發出具有以太總線屬性的第一數據幀。第一以太總線交換機100的第一數據重組單元121將所接收到的第一數據幀復制一份,并由第一以太總線交換機的第一路由決策單元122該第一數據幀及其副本分別路由到該第一以太總線交換機100的一對網絡鏈接端口方向。
第二以太總線交換機100(例如圖4中的太總線交換機0、太總線交換機2)經由其各自的網絡鏈接端口之一接收到自第一以太總線交換機100轉發來的第一數據幀或其副本(以下統稱為第一數據幀)。在第二以太總線交換機100經由其成對網絡鏈接端口之一接收到來自第一總線設備的第一數據幀時,第二以太總線交換機的第二路由決策單元122會確定第一數據幀的目的地mac是否為第二以太總線交換機的用戶設備端口上連接的第二總線設備的mac。如果是,則所述第二以太總線交換機100的第二數據重組單元121將該第一數據幀復制一份,并由第二以太總線交換機100的第二路由決策單元122將第一數據幀路由到連接到第二以太總線交換機的第二交換邏輯單元的用戶設備端口上的第二總線設備(例如總線設備2或總線設備0)方向以及將第一數據幀的副本路由到第二以太總線交換機100的成對網絡鏈接端口的另一個端口方向。如果在第三以太總線交換機100(例如圖4中的太總線交換機3或太總線交換機n)的總線設備n的mac地址與總線設備2的mac地址相同,其也將接收到該第一數據幀。由此,通過單播方式實現了點(例如總線設備1)對多點(例如總線設備2和n)的通信。
同樣,當接收到第一數據幀的總線設備,例如總線設備2和n對該第一數據幀做出響應時,其響應數據幀將同樣會經歷上述數據交換過程。此時,該響應數據幀將被視為上述過程中的“第一數據幀”,并且總線設備2和n將在發出響應數據幀是被視為上述過程的“第一總線設備”,而作為響應數據幀的目的地總線設備的“總線設備1”將被視為上述過程的“第二總線設備”。同樣,總線設備2和n所連接的以太總線交換機將被視為第一以太總線交換機,而“總線設備1”所連接的以太總線交換機將被視為第二以太總線交換機。由于響應數據幀的傳輸過程與第一數據幀的傳輸過程相同,因此不再對其具體過程進行詳細描述。因此,通過上述方式,在以太總線架構下的總線設備之間可以進行點對多點以及多點對對點的交叉通訊。
正是由于上述基于以太網總線架構的交叉通訊的存在,因此,這種以太網總線架構可以采用自學習方式進行設備擴容,即只需要在以太網交換機上連接一個具有與現有總線設備相同mac地址的總線設備,則網絡設備之間不需要專門進行鏈路配置,僅僅通過一次通訊即可建立鏈路,因此消除在現有以太網上或傳統總線上進行擴容配置的麻煩。
正是由于上述基于以太網總線架構的交叉通訊的存在,因此根據本公開的技術方案存在一種基于該以太總線交換機的數據無損監聽方法。通常,在以太總線和各種網絡中,為了進行通信和數據監聽,需要對網絡進行一定程度的損壞,例如在接收和發送數據的設備前的路徑中采用入侵損害方式來監聽數據以便進行實時數據診斷。或者通過其他方式在本地設備存儲通訊數據,以便之后進行數據診斷。更有甚者需要編輯特定的軟件來截獲數據。這些監聽數據的方法都具有較高的成本或對網絡本身造成損害。而采用本公開的以太總線交換機的總線網絡上則可以實現無損實時監聽。圖6所示的是根據本公開的無損監聽方法的示意圖。如圖6所示,第三總線設備(未示出)通過網絡鏈接通道與第一總線設備(在圖中顯示為設備1)所述的以太總線交換機的左側傳輸通道端口相連。第三設備可與第一總線設備進行數據通訊。該設備1具有配置的mac地址mac1。為了無損實時監聽第三設備與第一總線設備之間的通訊,可以在根據本公開的總線上的任意以太總線交換機的用戶接入端口接入一個總線設備,例如第二總線設備,并將其mac地址配置為與第一設備的mac地址相同的mac1。同時啟用或激活第二總線設備所屬的以太總線交換機中的數據重組單元121的地址交換重組功能,即一種當從傳輸通道接收到的數據幀的目的地mac地址與本地設備的mac地址相同時,將所接收到數據幀中的路由協議的源信息與目的信息進行交換,例如數據幀所包含的路由協議中的目的地mac地址、目的地ip(如果有的話)以及端口與源mac地址、目的地i(如果有的話)以及端口,進行交換后形成新數據幀的數據重組功能。經過這種方式處理后,第二總線設備就能夠實時監聽到第一總線設備和第三總線設備之間的完整通訊過程,而且不會影響到第一總線設備和第三設備之間的通訊,也不需要對第一總線設備和第三設備之間的通訊鏈路造成認為物理性損害。
具體而言,當第一總線設備所屬的以太總線交換機在接收到第三設備向作為第一總線設備的設備1發送來的總線數據幀時,該以太總線交換機的傳輸邏輯組件120的路由決策單元121基于交換機mac地址表中的mac地址確定數據幀進行雙向發送,隨后數據重組單元122將該數據幀復制一份。然后其中一份發送相對的傳輸通道,另一份被數據重組單元122剝離了數據幀id之后發送到本地交換邏輯組件110。由此經過數據重組單元剝離數據幀id后的數據幀被下載到第一總線設備。同時被轉發數據幀轉副本到達作為第二總線設備或監聽設備的設備2所屬的以太總線交換機。同樣,第二總線設備所屬的以太總線交換機的傳輸邏輯組件120的路由決策單元121和數據重組單元122對該數據幀進行相同的處理,并對路由到本地用戶接入端口的監聽設備的數據幀進行剝離數據幀id處理,然后經由交換邏輯組件110下載到設備2,由此,設備2作為監聽設備,獲得了第三設備向作為第二總線設備的設備2發出的數據。
進一步,當設備1針對所接收到的數據幀作出響應后,會向第三總線設備發出響應數據幀,該響應數據幀的源地址為mac1,目的地地址為第三總線設備的mac地址。由于該目的mac地址所述的第三設備為總線設備,因此,該響應數據幀具有總線屬性。由此,該響應數據幀被路由決策單元121路由到相對的傳輸通道,即被雙向轉發。隨后該響應數據幀被數據重組單元122添加數據幀id并被復制一份。一方面,其中一份響應數據幀向左轉發到第三總線設備所屬的以太總線交換機,并被第三總線設備接收,由此獲得第一總線設備對其發出的數據幀的響應數據幀。另一方面,另一份數據幀副本經由右側傳輸通道被轉發到第二總線設備所屬的以太總線交換機。第二總線設備所屬的以太總線交換機的路由決策單元121針對從傳輸通道上傳輸來的源mac地址與本地設備的mac地址相同的數據幀直接路由到本地用戶接入端口方向,并由數據重組單元122對在接收到的響應數據幀副本中的源mac地址與第二總線設備的mac地址相同時,將該數據幀中的源mac地址和目的地mac地址進行交換以便實現重組,并經過數據重組單元122剝離數據幀id后下載到第二總線設備。由此,獲得第一總線設備向第三總線設備發送的響應數據幀,從而監聽到返回數據。
通過上述過程,作為監聽設備的第二總線設備因此能夠無損實時監聽第三總線設備和第一總線設備之間的通訊。而傳統的數據監聽方式是在節點處增添特殊的監聽設備,來捕獲、篩選被監聽對象的數據發往處理平臺,這樣的監聽方式,既增加了額外的監聽設備成本,又由于監聽設備對數據的二次處理帶來了數據安全隱患。而本公開以太總線交換機利用上述特性即可在當前的環境下監聽原始數據,既不增加額外成本,也不需要對數據做捕獲、篩選的處理,保證數據傳輸安全。
綜上所述,基于本公開的以太總線交換機將同類總線設備視為一個設備,即配置為同一個mac地址,因此當同類總線設備回應源設備后,該mac地址就會學習到應用端口和傳輸端口上,而以太總線交換機設定應用端口和傳輸端口為獨立的學習機制,當兩個端口學習到同一個mac地址時,不視為mac沖突,而視為該端口也有該設備接入。基于以太網源mac學習機制,傳輸邏輯即會將源設備發來的數據同時傳輸到兩個端口上,這樣,所有的設備就會接收到源設備發來的數據。同時,源設備也可以接收到所有設備的回應數據。因此,基于本公開的以太總線交換機采用全雙工通信方式,遵循以太網源mac地址的學習機制,利用單播完成點對多點的雙向數據交互。當網絡上新增設備后,只需要當前存在的鏈接即可完成與新增設備的數據交互。相反,采用傳統交換機,在當前架構下,當兩個端口學習到同一個mac地址時,由于單播的點對點傳輸機制就會出現目標地址沖突的情況,無法做到點對多點的數據通信。
返回參見圖1,交換邏輯單元110還對來自本地的設備數據幀進行常規的數據通訊交換處理,其對與來自本地設備的數據幀,可預先進行mac地址表的查找,對于目的地地址為本地其他端口設備的mac地址的數據幀,直接發送到該本地其他端口設備。
以上結合具體實施例描述了本公開的基本原理,但是,需要指出的是,對本領域的普通技術人員而言,能夠理解本公開的方法和裝置的全部或者任何步驟或者部件,可以在任何計算裝置(包括處理器、存儲介質等)或者計算裝置的網絡中,以硬件、固件、軟件或者它們的組合加以實現,這是本領域普通技術人員在閱讀了本公開的說明的情況下運用他們的基本編程技能就能實現的。
因此,本公開的目的還可以通過在任何計算裝置上運行一個程序或者一組程序來實現。所述計算裝置可以是公知的通用裝置。因此,本公開的目的也可以僅僅通過提供包含實現所述方法或者裝置的程序代碼的程序產品來實現。也就是說,這樣的程序產品也構成本公開,并且存儲有這樣的程序產品的存儲介質也構成本公開。顯然,所述存儲介質可以是任何公知的存儲介質或者將來所開發出來的任何存儲介質。
還需要指出的是,在本公開的裝置和方法中,顯然,各部件或各步驟是可以分解和/或重新組合的。這些分解和/或重新組合應視為本公開的等效方案。并且,執行上述系列處理的步驟可以自然地按照說明的順序按時間順序執行,但是并不需要一定按照時間順序執行。某些步驟可以并行或彼此獨立地執行,例如在進行路由決策和數據重組過程可以并行進行也可以先后進行,兩者進行的過程不分先后。在需要進行先后處理的情況下,可以有技術人員進行臨時設定。例如在監聽情況下,監聽設備所述的傳輸邏輯組件110可以配置為首先對傳輸來的數據進行mac地址解析,對源mac地址與本地監聽設備的mac相同的數據幀首先進行交換重組,然后有路由決策單元進行路由決策以便路由到監聽設備,獲取被監聽設備的響應數據幀。
上述具體實施方式,并不構成對本公開保護范圍的限制。本領域技術人員應該明白的是,取決于設計要求和其他因素,可以發生各種各樣的修改、組合、子組合和替代。任何在本公開的精神和原則之內所作的修改、等同替換和改進等,均應包含在本公開保護范圍之內。