專利名稱:一種報文轉(zhuǎn)發(fā)的方法和交換機的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工業(yè)通信技術(shù)領(lǐng)域,特別是指一種報文轉(zhuǎn)發(fā)的方法和 工業(yè)交換機。
技術(shù)背景在工業(yè)網(wǎng)絡系統(tǒng)中,為保證實時性的要求,很多服務器都采用用戶數(shù)據(jù)報協(xié)議(UDP)廣播報文,現(xiàn)場總線系統(tǒng)中,用于周期數(shù)據(jù)發(fā) 送和調(diào)度的廣播報文非常多,相應的,其網(wǎng)絡負荷也非常大。所以對 于工業(yè)控制網(wǎng)絡和監(jiān)控網(wǎng)絡需要通過代理或者網(wǎng)橋分開,對于不同的 工業(yè)控制網(wǎng)絡也需要通過代理或者網(wǎng)橋分開,這樣能夠比較好地隔離 不同的控制網(wǎng)絡,但是如果兩個不同的控制網(wǎng)絡需要數(shù)據(jù)交換的時候, 由于所述代理或者網(wǎng)橋的存在,數(shù)據(jù)傳輸?shù)臅r間就會延長。在工業(yè)通信發(fā)展的歷程中,交換機越來越占據(jù)重要地位, 一般地, 交換機處于核心交換的位置,網(wǎng)橋、代理和路由器都處于網(wǎng)絡交換的 邊緣,處于補充的作用。但是由于目前的交換機構(gòu)成網(wǎng)絡的都是以交 互數(shù)據(jù)為目的,并且由于工業(yè)控制網(wǎng)絡自身應用環(huán)境的限制,交換機 對于工業(yè)通信中所要求的響應時間、數(shù)據(jù)有效性認證等要求不能很好 的滿足。傳統(tǒng)意義上的交換機,都是工作在第二層的設(shè)備,轉(zhuǎn)發(fā)單播數(shù)據(jù) 是是通過點對點的傳輸實現(xiàn)的,而轉(zhuǎn)發(fā)廣播數(shù)據(jù)則會擴散到所有端口 , 一些加入虛擬局域網(wǎng)(VLAN)功能的交換機,能夠?qū)⒔M播數(shù)據(jù)控制 在固定的幾個端口。隨著網(wǎng)絡技術(shù)的發(fā)展,目前的交換機技術(shù)能夠完 成第三層甚至第四層的轉(zhuǎn)發(fā),并且完成一部分的路由工作,這樣使得 從網(wǎng)絡層劃分各個網(wǎng)段就變得相對容易起來。但是,目前工業(yè)控制網(wǎng)絡中的交換機都會受到限制,主要是網(wǎng)絡 上如果出現(xiàn)未經(jīng)過授權(quán)的設(shè)備,其發(fā)送的數(shù)據(jù)(特別是廣播數(shù)據(jù))將 會擴散到所有端口,其他端口的設(shè)備就會受到其干擾,影響其他端口 上的設(shè)備對生產(chǎn)的正常控制。 發(fā)明內(nèi)容有鑒于此,本發(fā)明在于提供一種報文轉(zhuǎn)發(fā)的方法和交換機,以解 決上述工業(yè)控制網(wǎng)絡中未授權(quán)設(shè)備通過交換機發(fā)送數(shù)據(jù)時影響其他已 經(jīng)授權(quán)并工作設(shè)備問題。如上所述,本發(fā)明提供一種控制交換機報文轉(zhuǎn)發(fā)的方法,詳細描述如下預先設(shè)置允許轉(zhuǎn)發(fā)的報文類型列表,預先設(shè)置各個端口允許轉(zhuǎn)發(fā)報文的授權(quán)設(shè)備地址列表、禁止轉(zhuǎn)發(fā)報文的未授權(quán)設(shè)備地址列表; 從所述端口接收到報文后,判斷發(fā)送所述報文的源地址,如果判斷出所述源地址不屬于所述授權(quán)設(shè)備地址列表、未授權(quán)設(shè)備地址列表中的地址,則將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā);如果判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地址,并判述報文的目的地址轉(zhuǎn)發(fā)。 其中,該方法還包括 預先設(shè)置禁止轉(zhuǎn)發(fā)的報文類型列表;如果判斷出所述源地址為所述未授權(quán)設(shè)備地址列表中的地址,或述報文屏蔽。其中,將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā)為將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā)至上位機;所述上位機接收到所述報文后,通過所述特定地址回復所述報文 的源地址所屬設(shè)備的權(quán)限信息,或?qū)⑺龆丝谄帘巍F渲?,該方法還包括接收到所述權(quán)限信息后,判斷權(quán)限信息中的標識,將所述源地址 存儲到授權(quán)設(shè)備地址列表或未授權(quán)設(shè)備地址列表。其中,所述地址列表包括單播列表、組播和廣播的域列表。 其中,所述地址列表中的地址包括源4某體接入控制MAC地址、源互聯(lián)網(wǎng)IP地址、目的MAC地址、 目的IP地址、設(shè)備連接的交換機端口號。其中,判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地址過程 包括在所述授權(quán)設(shè)備地址列表中查找出所述報文的源和目的MAC地址;按照所述報文目的地址轉(zhuǎn)發(fā)為 按照所述目的MAC地址轉(zhuǎn)發(fā)。 其中,該方法之前還包括 將交換機內(nèi)的路由功能設(shè)置為開;判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地址過程包括 在所述授權(quán)設(shè)備地址列表中查找出所述報文的源和目的MAC 、 IP 地址;按照所述報文目的地址轉(zhuǎn)發(fā)為 按照所述目的MAC、 IP地址轉(zhuǎn)發(fā)。其中,還包括,定期從各個端口接收來自設(shè)備的ARP、ICMP、IGMP 或DHCP報文,分析從所述端口接收報文的子網(wǎng)掩碼,判斷所述報文 所屬的組播和廣播的域地址,記錄在所述域列表中。其中,該方法還包括定期將監(jiān)控到交換機的通信數(shù)據(jù)與用戶設(shè)定的通信數(shù)據(jù)進行比 較,如果不相同,則判斷出所述端口出現(xiàn)故障,關(guān)閉所述端口,通過 所述特定地址下載授權(quán)設(shè)備地址并更新所述授權(quán)設(shè)備地址列表中。本發(fā)明還提供一種交換機,包括收發(fā)單元、地址判斷單元、授 權(quán)判斷單元、存儲單元;所述收發(fā)單元,用于接收或發(fā)送報文;所述存儲單元,用于存儲允許轉(zhuǎn)發(fā)的報文類型列表,各個端口允 許轉(zhuǎn)發(fā)報文的授權(quán)設(shè)備地址列表、禁止轉(zhuǎn)發(fā)報文的未授權(quán)設(shè)備地址列 表;所述地址判斷單元,用于判斷所述接收單元接收到報文的源地 址,如果判斷出所述源地址不屬于所述授權(quán)設(shè)備地址列表、未授權(quán)設(shè) 備地址列表中的地址,則通知所述收發(fā)單元將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā);所述授權(quán)判斷單元,用于判斷所述報文的源地址和報文類型,如 果判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地址,并判斷出所 述報文類型為所述允許轉(zhuǎn)發(fā)報文類型列表中的類型,則通知所述收發(fā) 單元將所述報文按照該報文的目的地址轉(zhuǎn)發(fā)。所述交換機還包括屏蔽單元,用于判斷所述報文的源地址和報文類型,如果判斷出 所述源地址為所述未授權(quán)設(shè)備地址列表中的地址,或判斷出所述報文 類型為所述禁止轉(zhuǎn)發(fā)報文類型列表中的類型,則將所述報文屏蔽。其中,還包括地址更新單元,用于接收到所述源地址所屬設(shè)備的權(quán)限信息后, 判斷權(quán)限信息中的標識,將所述源地址存儲到授權(quán)設(shè)備地址列表或未 授權(quán)設(shè)備地址列表。其中,所述存儲單元中的地址列表包括單播列表、組播和廣播的域列表;還包括分析單元,用于通知收發(fā)單元定期從各個端口接收來自設(shè)備的 ARP、 ICMP、 IGMP或DHCP報文,分析從所述端口接收l艮文的子網(wǎng) 掩碼,判斷所述報文所屬的組播和廣播的域地址,記錄在所述域列表 中。其中,還包括自動更新單元,定期將監(jiān)控到交換機的通信數(shù)據(jù)與用戶設(shè)定的通 信數(shù)據(jù)進行比較,如果不相同,則判斷出所述端口出現(xiàn)故障,關(guān)閉所 述端口 ,通過所述特定地址下載授權(quán)設(shè)備地址并更新到所述授權(quán)設(shè)備 地址列表中。通過上述技術(shù)方案可知,本發(fā)明通過本發(fā)明報文轉(zhuǎn)發(fā)的方法和交
換機,建立地址列表、類型列表,并設(shè)置特定地址,當接收到報文后, 如果發(fā)送該報文地址不屬于列表中的地址,通過特定地址轉(zhuǎn)發(fā),從而 避免未經(jīng)過授權(quán)的設(shè)備發(fā)送報文和出現(xiàn)非法類型的報文時影響正常工 作的設(shè)備。并且,對于首次出現(xiàn)的設(shè)備報文,通過特定地址發(fā)送至上 位機,由用戶授權(quán)后進行轉(zhuǎn)發(fā)。在工作過程中,不斷更新地址列表, 并通過對報文數(shù)據(jù)的自動分析,關(guān)閉故障端口,減少對正常工作設(shè)備 的影響,從而保證了正常的工業(yè)生產(chǎn),提高了生產(chǎn)效率。
圖1是本發(fā)明實施例的流程圖;圖2是本發(fā)明實施例中授權(quán)設(shè)備地址更新的流程圖;圖3是本發(fā)明實施例中數(shù)據(jù)鏈路層報文轉(zhuǎn)發(fā)的流程圖;圖4是本發(fā)明實施例中網(wǎng)絡層報文轉(zhuǎn)發(fā)的流程圖;圖5是本發(fā)明實施例中監(jiān)控設(shè)備和交換機之間報文處理的流程圖;圖6是本發(fā)明實施例中用戶通過監(jiān)控設(shè)備進行設(shè)置示意圖;圖7是本發(fā)明實施例中交換機定期更新授權(quán)設(shè)備地址列表的流程圖;圖8是本發(fā)明實施例中交換機監(jiān)控端口數(shù)據(jù)的流程圖;圖9是本發(fā)明實施例中交換機結(jié)構(gòu)的示意圖;圖IO是本發(fā)明實施例中交換機相互連接的示意圖。
具體實施方式
本發(fā)明的基本思想是建立地址列表、類型列表,并設(shè)置特定地 址,當接收到報文后,如果發(fā)送該報文地址不屬于列表中的地址,通 過特定地址轉(zhuǎn)發(fā),以避免未經(jīng)過授權(quán)的設(shè)備發(fā)送報文和出現(xiàn)非法類型 的報文時影響正常工作的設(shè)備。為了本領(lǐng)域技術(shù)人員對本發(fā)明的技術(shù)方案有更好的理解,下面結(jié) 合附圖和實施例對本發(fā)明進行詳細描述。請參考圖1,為本發(fā)明一種報文轉(zhuǎn)發(fā)方法的實施例一的流程圖。 包括以下步驟步驟S101:設(shè)置允許轉(zhuǎn)發(fā)的報文類型列表,并設(shè)置各個端口允許轉(zhuǎn)發(fā)報文的授權(quán)設(shè)備地址列表、禁止轉(zhuǎn)發(fā)報文的未授權(quán)設(shè)備地址列表。 步驟S102:從所述端口接收到報文后,對源地址執(zhí)行判斷操作。 步驟S103:判斷所述源地址不屬于所述授權(quán)設(shè)備地址列表或未授權(quán)設(shè)備地址列表中的地址,若是,進入步驟S104;否則結(jié)束。 步驟S104:將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā)。 步驟S105:判斷所述源地址是否為所述授權(quán)設(shè)備地址列表中的地址,并且所述報文類型是否為所述允許轉(zhuǎn)發(fā)報文類型列表中的類型,若是,則進入步驟105;否則結(jié)束;步驟S106:按照所述報文的目的地址轉(zhuǎn)發(fā)。在該實施例中,步驟S103與步驟S105沒有先后的順序關(guān)系。可 根據(jù)具體情況,先后執(zhí)行判斷也可,也可以同時進行判斷。在該實施例中,還可將一些非法地址的報文進行屏蔽,以避免對 網(wǎng)絡中工作的其它設(shè)備造成不必要的影響。因此,該實施例還可包括 以下步驟,預先設(shè)置禁止轉(zhuǎn)發(fā)的報文類型列表;可在執(zhí)行步驟S103、步驟S105執(zhí)行判斷操作之前設(shè)置禁止轉(zhuǎn)發(fā) 的報文類型列表。當執(zhí)行判斷發(fā)送所述報文的源地址的過程中,如果判斷出所述源 地址為所述未授權(quán)設(shè)備地址列表中的地址,或判斷出所述報文類型為 所述禁止轉(zhuǎn)發(fā)報文類型列表中的類型,則將所述報文屏蔽。這樣可將 這些非法的報文屏蔽。在該實施例中,如果工程人員對交換機執(zhí)行錯誤的連接操作,或 連接的設(shè)備沒有經(jīng)過授權(quán),則此時交換機收到未授權(quán)設(shè)備發(fā)送的報文 或因誤連接而收到非法類型報文,對于這類報文,交換機收到后,會 將報文屏蔽;或執(zhí)行步驟S104,將這些報文通過特定地址轉(zhuǎn)發(fā)。當通過特定地址轉(zhuǎn)發(fā)時,如果連接有上級交換機,則發(fā)送至上級 交換機,直至發(fā)送至上位機;上位機收到后,會以各種形式通知用戶,通常會通過顯示器將報文的信息展示給用戶。用戶收到后,為發(fā)送報 文的源地址所屬設(shè)備進行授權(quán),將源地址所屬設(shè)備的權(quán)限信息通過特 定地址發(fā)送至交換機,或直接向交換機發(fā)送命令,將收到該報文的端 口屏蔽。交換機通過特定地址收到權(quán)限信息后,可通過判斷權(quán)限信息中的 標識,將發(fā)送該報文的源地址存儲到授權(quán)設(shè)備地址列表或未授權(quán)地址 列表中。下次再收到該源地址發(fā)送的報文后,通過判斷執(zhí)行相應的操作。對于特定地址的功能,不僅包括上述的應用,還可用于對交換機 內(nèi)的各種地址列表進行定期或非定期的更新。對于這些列表的更新, 可同時進行,也可先后進行,下面以授權(quán)設(shè)備地址列表為例描述該實 施例中授權(quán)設(shè)備地址更新的過程。更新的過程可參見圖2,包括以下步驟 步驟S201:用戶設(shè)置組態(tài)信息。步驟S202:用戶組態(tài)配置軟件通過特定地址將授權(quán)設(shè)備地址下載 到交換機中。其中,特定地址是交換機上的一個端口 ,授權(quán)設(shè)備地址包括源 媒體接入控制MAC地址、源互聯(lián)網(wǎng)IP地址、目的MAC地址、目的 IP地址、設(shè)備連接的交換機端口號等。步驟S203:交換機更新授權(quán)設(shè)備地址列表。交換機接收到授權(quán)設(shè)備地址后,判斷授權(quán)設(shè)備地址列表中是否存 在所下載的地址,如果存在,則進行更新,即將列表中沒有的地址加 入到列表中,加入時,按照源々某體接入控制MAC地址、源互聯(lián)網(wǎng)IP 地址、目的MAC地址、目的IP地址、設(shè)備連接的交換機端口號作為 一個記錄加入到列表中;如果交換機沒有列表,則創(chuàng)建授權(quán)設(shè)備地址 列表,并將下載的地址全部加入到列表中。步驟S204:轉(zhuǎn)發(fā)至下級交換;^幾。如果交換機還連接有下級交換機,則通過特定地址將下載的地址
發(fā)送至下級交換機。在上述的實施例中,還可進一步將列表中的地址進行劃分,劃分 出單播列表,組播和廣播的域列表,以便于交換機在轉(zhuǎn)發(fā)報文的過程 中處理。為實現(xiàn)分層轉(zhuǎn)發(fā),可在交換機內(nèi)設(shè)置路由功能,如果關(guān)閉路由功能,則交換機實現(xiàn)以太網(wǎng)的報文發(fā)送控制;如果開啟路由功能,則實 現(xiàn)不同多個網(wǎng)段的轉(zhuǎn)發(fā)。下面參見圖3,說明當路由功能關(guān)閉時,轉(zhuǎn) 發(fā)報文的過程。具體包括以下步驟步驟S301:接收以太網(wǎng)報文。步驟S302:判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地 址,并且判斷出所述報文類型為所述允許轉(zhuǎn)發(fā)報文類型列表中的類型。由于接收的是以太網(wǎng)報文,交換機在接收到以太網(wǎng)報文后,獲得 所要轉(zhuǎn)發(fā)報文的MAC地址,如果是單播,則在授權(quán)設(shè)備地址列表中 的單播地址列表中進行查找;如果是廣播或組播,則在授權(quán)設(shè)備地址列表中的廣播或組播地址域列表中進行比較。將MAC地址與授權(quán)設(shè) 備地址列表中的MAC地址進行匹配,找到相同的MAC地址,執(zhí)行步 驟S303。步驟S303:按照所述4艮文的目的MAC地址轉(zhuǎn)發(fā)。所要轉(zhuǎn)發(fā)的報文是來自授權(quán)設(shè)備的報文,交換機將要轉(zhuǎn)發(fā)的報文 4姿照該MAC地址轉(zhuǎn)發(fā)到相應的設(shè)備。上面詳細i兌明路由功能關(guān)閉時的流程,下面詳細說明^各由功能開 啟時的流程,參見圖4,為本發(fā)明實施例的網(wǎng)絡層報文轉(zhuǎn)發(fā)的流程圖。具體包括以下步驟步驟S401:接收以太網(wǎng)凈艮文。步驟S402:判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地 址,并且判斷出所述報文類型為所述允許轉(zhuǎn)發(fā)報文類型列表中的類型。交換機在接收到以太網(wǎng)報文后,獲得所要轉(zhuǎn)發(fā)報文的MAC地址 和IP地址,如果是單播,則在授權(quán)設(shè)備地址列表中的單播地址列表中 進行查找;如果是廣播或組播,則在授權(quán)設(shè)備列表中的廣播或組播地址域列表中進行比較。將獲得MAC、 IP地址與授權(quán)設(shè)備地址列表中 的記錄進行匹配,找到相同的MAC、 IP地址,并執(zhí)行步驟S403。 步驟S403:按照所述報文的目的地址轉(zhuǎn)發(fā)。所要轉(zhuǎn)發(fā)的報文是來自授權(quán)設(shè)備的報文,交換機將要轉(zhuǎn)發(fā)的報文 按照該MAC、 IP地址轉(zhuǎn)發(fā)到相應的設(shè)備。上面分別描述交換機中路由功能開啟或關(guān)閉時轉(zhuǎn)發(fā)報文的流程, 通過設(shè)置路由功能,可實現(xiàn)交換機在不同層轉(zhuǎn)發(fā)報文。由于工業(yè)應用 中的交換機所使用的協(xié)議較為固定,為加快交換機處理報文的速度,還可包括,交換機接收到報文后執(zhí)行源地址判斷操作,即在步驟S301 或步驟S401后,如果判斷出所述源地址為所述未授權(quán)設(shè)備地址列表類型,則將所述報文屏蔽。對于所判斷的類型,如果交換機沒有開啟路由功能,僅對第二層 源地址和目的地址進行判斷,不再判斷其第三層報文類型是否為允許 轉(zhuǎn)發(fā)或禁止轉(zhuǎn)發(fā)的報文類型列表中的類型,僅在第二層進行匹配。如果交換機開啟路由功能,不但要對第二層進行匹配判斷,而且 也要在第三層進行匹配判斷,并且能夠?qū)τ赨DP、 TCP或ICMP等非 第三層的報文,進行類型的匹配判斷,從而擴展其轉(zhuǎn)發(fā)數(shù)據(jù)的安全性 和合法性。對于該實施例的步驟S103中,交換機將報文進行轉(zhuǎn)發(fā)時,如果 連接有上層的交換機,則通過特定地址將報文添加標識發(fā)送至上層的 交換機,由上層交換機發(fā)送至上位機,即監(jiān)控設(shè)備或工作站;如果直 接連接到監(jiān)控設(shè)備,則將報文發(fā)送至監(jiān)控設(shè)備。在該實施例的步驟S103后,還可包括監(jiān)控設(shè)備與交換機之間的 報文處理過程。下面結(jié)合附圖5詳細說明監(jiān)控設(shè)備與交換機之間的報 文處理過程。參見圖5,為本發(fā)明實施例中監(jiān)控設(shè)備和交換機之間報 文處理的流程圖。
具體包括以下步驟步驟S501:監(jiān)控設(shè)備接收來自交換機發(fā)送的轉(zhuǎn)發(fā)報文。 步驟S502:監(jiān)控設(shè)備向用戶提示網(wǎng)絡上有新設(shè)備。 步驟S503:監(jiān)控設(shè)備接收用戶所選擇的信息并發(fā)送至交換機。 步驟S504:交換機判斷用戶所選擇的信息為組態(tài)信息時,重新執(zhí) 行用戶設(shè)置組態(tài)信息、并下載到交換機。步驟S505:交換機判斷用戶所選擇的信息為誤接入或非法設(shè)備信 息時,將接收該轉(zhuǎn)發(fā)報文的端口關(guān)閉。用戶通過監(jiān)控設(shè)備查看來自交換機的信息,如果是新上電加入到 網(wǎng)絡中的設(shè)備,用戶對該設(shè)備所發(fā)送單播報文的目的地址進行設(shè)置, 還可對該設(shè)備所發(fā)送廣播或組播報文的域進行設(shè)置,通過監(jiān)控設(shè)備進 行具體設(shè)置的示意圖可參見圖6。當有新的設(shè)備上電后,監(jiān)控設(shè)備上面顯示新上電設(shè)備的IP以及發(fā) 送的目的IP地址,并且預制相應的域設(shè)置,這里采用的域設(shè)置同子網(wǎng) 掩碼相同的設(shè)置,在添加后提交到下面的已配置列表中。以 一個新設(shè)備接入為例,交換積4企測到該地址沒有在該端口 i殳置 過,就將其報文發(fā)送到特定地址,監(jiān)控設(shè)備檢測到相應的報文,把該 報文的基本信息顯示出來,并且為其預制相應的域。其中,圖6上顯 示的ALL是代表不限制其發(fā)送的范圍。用戶可以根據(jù)需要設(shè)置其域的 范圍,并且下發(fā)到其交換機端口,得到授權(quán)的該設(shè)備就能夠在其指定 的域中發(fā)送數(shù)據(jù)。這樣就保證任何一個設(shè)備接入到系統(tǒng)中,都是經(jīng)過 了授權(quán)后才能夠完成其通信功能。交換機還可定期對各個端口中來自各個設(shè)備的報文進行分析,得 出各個端口地址所對應設(shè)備的單播地址、廣播或組播的域地址,并將得出的地址添加到相應的列表中。下面結(jié)合圖7進行詳細說明,參見 圖7,為本發(fā)明實施例中交換機定期更新授權(quán)設(shè)備地址列表的流程圖。具體包括以下步驟步驟S701:進入報文分析周期。用戶可預先設(shè)置交換機的報文分析周期,經(jīng)過預定的時間間隔后,
交換機進入分析周期。步驟S702:接收各個端口的報文。 步驟S703:判斷是否存在可分析的報文。交換機對該端口中是否存在ARP, ICMP, IGMP, DHCP等報文; 如果存在,則執(zhí)行步驟S704;如果不存在,則執(zhí)行步驟706。步驟S704:通過報文分析該端口所對應的子網(wǎng)掩碼,從而判斷該 端口所對應的i或。步驟S705:判斷是否大于授權(quán)設(shè)備地址列表的記錄;如果大于, 則執(zhí)行步驟S708;如果小于,則結(jié)束。交換機將分析出的域地址與授權(quán)設(shè)備地址列表中的域地址進行比 較,如果存在授權(quán)設(shè)備地址列表中所沒有的域地址,則判斷為大于授 權(quán)設(shè)備地址列表的域地址。步驟S706:判斷該端口是否存在廣播、組播報文;如果存在, 則執(zhí)行步驟S707;如果不存在,則結(jié)束。步驟S707:通過廣播、組播報文得出該端口所在的域,判斷是否 大于授權(quán)設(shè)備地址列表的記錄;如果大于,則執(zhí)行步驟S708;如果小 于,則結(jié)束。交換機將分析出的域地址與授權(quán)設(shè)備地址列表中的域地址進行比 較,如果存在授權(quán)設(shè)備地址列表中所沒有的域地址,則判斷為大于授 權(quán)設(shè)備地址列表的域地址。步驟S708:更新授權(quán)設(shè)備地址列表中廣播、組播地址域列表。上述域還可劃分為子域,如果分析得出廣播、組播的域是一個子 域,則在以后的發(fā)送中可實現(xiàn)線速轉(zhuǎn)發(fā)。上述的實施例中,交換機還可包括監(jiān)控操作,交換機在工作過程 中,會一直對各個端口進行監(jiān)控,如果出現(xiàn)通信的異常,則關(guān)閉通信 端口 ,下面結(jié)合圖8詳細說明交換機在工作過程中對各個通信端口進 行監(jiān)控及出現(xiàn)問題處理的過程。參見圖8,為本發(fā)明實施例中交換機 監(jiān)控端口數(shù)據(jù)的流程圖。具體包括以下步驟 步驟S801:監(jiān)控各個端口中的通信數(shù)據(jù)。步驟S802:將定期將監(jiān)控到交換機端口的通信數(shù)據(jù)與用戶設(shè)定的 通信數(shù)據(jù)進行比較,如果不相同,則執(zhí)行步驟S803;如果相同,則執(zhí) 行步驟S801。步驟S803:判斷出所述端口出現(xiàn)故障,自動關(guān)閉所述端口;或通 過監(jiān)控設(shè)備通知用戶,由于用戶進行處理。當某一端口被關(guān)閉后,用 戶通過組態(tài)配置軟件更新授權(quán)設(shè)備地址列表。即將新的IP地址轉(zhuǎn)發(fā) 域、各端口號和各端口對應連接的設(shè)備的MAC地址和/或IP地址等配 置信息通過特定地址下載至所述交換機,所述交換機創(chuàng)建或者更新 MAC地址、IP地址、交換機端口號等。上述是本發(fā)明在實現(xiàn)報文轉(zhuǎn)發(fā)過程的優(yōu)選方案,本發(fā)明還提供一 種交換機,用于實現(xiàn)上述報文轉(zhuǎn)發(fā)過程的所有步驟。該交換機的結(jié)構(gòu) 圖可參見圖9,包括收發(fā)單元901、地址判斷單元903、授權(quán)判斷單 元904、存儲單元902。其中,所述收發(fā)單元901,用于接收或發(fā)送l艮文。所述存儲單元902,用于存儲允許轉(zhuǎn)發(fā)的報文類型列表,各個端 口允許轉(zhuǎn)發(fā)報文的授權(quán)設(shè)備地址列表、禁止轉(zhuǎn)發(fā)報文的未授權(quán)設(shè)備地 址列表。所述地址判斷單元903,用于判斷所述接收單元901接收到報文 的源地址,如果判斷出所述源地址不屬于所述授權(quán)設(shè)備地址列表、未 授權(quán)設(shè)備地址列表中的地址,則通知所述收發(fā)單元將所述報文通過預 設(shè)的特定地址轉(zhuǎn)發(fā)。所述授權(quán)判斷單元904,用于判斷所述接收單元901接收到報文 的源地址和報文類型,如果判斷出所述源地址為所述授權(quán)設(shè)備地址列 表中的地址,并判斷出所述報文類型為所述允許轉(zhuǎn)發(fā)報文類型列表中 的類型,則通知所述收發(fā)單元將所述報文按照該報文的目的地址轉(zhuǎn)發(fā)。其中,所述存儲單元902還可存儲禁止轉(zhuǎn)發(fā)的報文類型列表。所述交換機還包括屏蔽單元905,用于判斷所述接收單元901接收到報文的源地址
和報文類型,如果判斷出所述源地址為所述未授權(quán)設(shè)備地址列表中的 則將所述報文屏蔽。
還包括
地址更新單元906,用于接收到所述源地址所屬設(shè)備的權(quán)限信息 后,判斷權(quán)限信息中的標識,將所述源地址存儲到授權(quán)設(shè)備地址列表 或未授權(quán)設(shè)備地址列表。
所述存儲單元902中的地址列表包括單播列表、組播和廣播的域 列表。
還包括
分析單元907,用于通知所述收發(fā)單元卯l定期從各個端口接收 來自設(shè)備的ARP、 ICMP、 IGMP或DHCP報文,分析從所述端口接收 報文的子網(wǎng)掩碼,判斷所述報文所屬的組播和廣播的域地址,記錄在 所述域列表中。
還包括
自動更新單元908,定期將監(jiān)控到交換機的通信數(shù)據(jù)與用戶設(shè)定 的通信數(shù)據(jù)進行比較,如果不相同,則判斷出所述端口出現(xiàn)故障,關(guān) 閉所述端口 ,通過所述特定地址下載授權(quán)設(shè)備地址并更新到所述授權(quán) 設(shè)備地址列表中。
上述是本發(fā)明交換機實施例的結(jié)構(gòu)圖,當若干個交換機90和監(jiān) 控設(shè)備IO相連接的示意圖可參見圖10,交換機通過外接端口 91與上 級交換機相連,或直接連接監(jiān)控設(shè)備10,該外接端口 91的地址即所 述的特定地址。
對于本發(fā)明各個實施例中所闡述的方法和裝置,凡在本發(fā)明的精 神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本 發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種報文轉(zhuǎn)發(fā)的方法,其特征在于,包括預先設(shè)置允許轉(zhuǎn)發(fā)的報文類型列表,預先設(shè)置各個端口允許轉(zhuǎn)發(fā)報文的授權(quán)設(shè)備地址列表、禁止轉(zhuǎn)發(fā)報文的未授權(quán)設(shè)備地址列表;從所述端口接收到報文后,判斷發(fā)送所述報文的源地址,當判斷出所述源地址不屬于所述授權(quán)設(shè)備地址列表或未授權(quán)設(shè)備地址列表中的地址時,將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā);當判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地址,并且所述報文類型為所述允許轉(zhuǎn)發(fā)報文類型列表中的類型時,按照所述報文的目的地址轉(zhuǎn)發(fā)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 預先設(shè)置禁止轉(zhuǎn)發(fā)的報文類型列表;當所述源地址為所述未:^受權(quán)設(shè)備地址列表中的地址,或所述才艮文 類型為所述禁止轉(zhuǎn)發(fā)報文類型列表中的類型時,將所述報文屏蔽。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述報文通過 預設(shè)的特定地址轉(zhuǎn)發(fā)為將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā)至上位機; 還包括所述上位機接收到所述報文后,通過所述特定地址回復所述報文 的源地址所屬設(shè)備的權(quán)限信息,或?qū)⑺龆丝谄帘巍?br>
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,該方法還包括 接收到所述權(quán)限信息后,判斷權(quán)限信息中的標識,將所述源地址存儲到授權(quán)設(shè)備地址列表或未授權(quán)設(shè)備地址列表。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述地址列表包 括單播列表、組播和廣播的域列表。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述地址列表中 的地址包括源媒體接入控制MAC地址、源互聯(lián)網(wǎng)IP地址、目的MAC地址、 目的IP地址、設(shè)備連接的交換機端口號。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,判斷出所述源地 址為所述授權(quán)設(shè)備地址列表中的地址過程包括在所述授權(quán)設(shè)備地址列表中查找出所述報文的源和目的MAC地址;按照所述報文目的地址轉(zhuǎn)發(fā)為 按照所述目的MAC地址轉(zhuǎn)發(fā)。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于,該方法之前還包括將交換機內(nèi)的路由功能設(shè)置為開;判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地址過程包括 在所述授權(quán)設(shè)備地址列表中查找出所述報文的源和目的MAC、IP 地址;按照所述報文目的地址轉(zhuǎn)發(fā)為 按照所述目的MAC、 IP地址轉(zhuǎn)發(fā)。
9、 根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括,定期從 各個端口接收來自設(shè)備的ARP、 ICMP、 IGMP或DHCP報文,分析從 所述端口接收報文的子網(wǎng)掩碼,判斷所述報文所屬的組播和廣播的域 地址,記錄在所述域列表中。
10、 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括 定期將監(jiān)控到交換機的通信數(shù)據(jù)與用戶設(shè)定的通信數(shù)據(jù)進行比較,如果不相同,則判斷出所述端口出現(xiàn)故障,關(guān)閉所述端口,通過 所述特定地址下載授權(quán)設(shè)備地址并更新所述授權(quán)設(shè)備地址列表中。
11、 一種交換機,其特征在于,包括收發(fā)單元、地址判斷單元、 授權(quán)判斷單元、存儲單元;所述收發(fā)單元,用于接收或發(fā)送報文;所述存儲單元,用于存儲允許轉(zhuǎn)發(fā)的報文類型列表,各個端口允 許轉(zhuǎn)發(fā)報文的授權(quán)設(shè)備地址列表、禁止轉(zhuǎn)發(fā)報文的未授權(quán)設(shè)備地址列 表;所述地址判斷單元,用于判斷所述接收單元接收到報文的源地 址,如果判斷出所述源地址不屬于所述授權(quán)設(shè)備地址列表、未授權(quán)設(shè) 備地址列表中的地址,則通知所述收發(fā)單元將所述報文通過預設(shè)的特 定地址轉(zhuǎn)發(fā);所述授權(quán)判斷單元,用于判斷所述報文的源地址和報文類型,如述報文類型為所述允許轉(zhuǎn)發(fā)報文類型列表中的類型,則通知所述收發(fā) 單元將所述報文按照該報文的目的地址轉(zhuǎn)發(fā)。
12、 根據(jù)權(quán)利要求11所述的交換機,其特征在于,所述存儲單元 還可存儲禁止轉(zhuǎn)發(fā)的報文類型列表;所述交換機還包括屏蔽單元,用于判斷所述報文的源地址和報文類型,如果判斷出 所述源地址為所述未授權(quán)設(shè)備地址列表中的地址,或判斷出所述報文 類型為所述禁止轉(zhuǎn)發(fā)報文類型列表中的類型,則將所述報文屏蔽。
13、 根據(jù)權(quán)利要求11所述的交換機,其特征在于,還包括 地址更新單元,用于接收到所述源地址所屬設(shè)備的權(quán)限信息后,判斷權(quán)限信息中的標識,將所述源地址存儲到授權(quán)設(shè)備地址列表或未 授權(quán)設(shè)備地址列表。
14、 根據(jù)權(quán)利要求11所述的交換機,其特征在于,所述存儲單元中的地址列表包括單播列表、組播和廣播的域列表;還包括分析單元,用于通知收發(fā)單元定期從各個端口接收來自設(shè)備的 ARP 、 ICMP 、 IGMP或DHCP報文,分析從所述端口接收報文的子網(wǎng) 掩碼,判斷所述報文所屬的組播和廣播的域地址,記錄在所述域列表 中。
15、 根據(jù)權(quán)利要求11所述的交換機,其特征在于,還包括自動更新單元,定期將監(jiān)控到交換機的通信數(shù)據(jù)與用戶設(shè)定的通信數(shù)據(jù)進行比較,如果不相同,則判斷出所述端口出現(xiàn)故障,關(guān)閉所 述端口 ,通過所述特定地址下載授權(quán)設(shè)備地址并更新到所述授權(quán)設(shè)備 地址列表中。
全文摘要
本發(fā)明公開了一種報文轉(zhuǎn)發(fā)的方法,涉及工業(yè)通信技術(shù)領(lǐng)域,包括預先設(shè)置允許轉(zhuǎn)發(fā)的報文類型列表,預先設(shè)置各個端口允許轉(zhuǎn)發(fā)報文的授權(quán)設(shè)備地址列表、禁止轉(zhuǎn)發(fā)報文的未授權(quán)設(shè)備地址列表;從所述端口接收到報文后,判斷發(fā)送所述報文的源地址,如果判斷出所述源地址不屬于所述授權(quán)設(shè)備地址列表、未授權(quán)設(shè)備地址列表中的地址,則將所述報文通過預設(shè)的特定地址轉(zhuǎn)發(fā);如果判斷出所述源地址為所述授權(quán)設(shè)備地址列表中的地址,并判斷出所述報文類型為所述允許轉(zhuǎn)發(fā)報文類型列表中的類型,則按照所述報文的目的地址轉(zhuǎn)發(fā)。本發(fā)明還公開了一種交換機。本發(fā)明的方法和交換機能夠避免未授權(quán)設(shè)備發(fā)送報文和非法類型的報文時影響正常工作設(shè)備的影響。
文檔編號H04L12/04GK101127717SQ20071015138
公開日2008年2月20日 申請日期2007年9月30日 優(yōu)先權(quán)日2007年9月30日
發(fā)明者馮冬芹, 劉世龍, 韜 崔, 健 褚, 金建祥 申請人:中控科技集團有限公司;浙江大學