欧美日韩精品在线-无码成人精品区一级毛片-中文一级片-jizzjizz亚洲-综合伊人久久-国产精品一区在线播放-日韩国产综合-国产精品国产三级国产aⅴ原创-亚洲夜夜操-日本亚洲视频-亚州一级-www久久精品-国产精品第-午夜时刻免费入口-欧美亚洲精品在线观看-97高清国语自产拍-超碰女-欧美暧暧视频-99福利在线观看-草草影院在线-成人高潮视频-夜夜摸夜夜操-搞av.com-亚洲开心激情网-黄色网页免费在线观看

寧波市鄞州首南恒宇激光雕刻廠

交換式工業以太網中的多播方法
分享到:


摘 要: 工業控制網絡中大量采用“生產者-消費者”的通信模式,網絡中存在著大量的多播數據,傳統交換機對多播數據的廣播式處理方式會大大降低交換式以太網的性能。本文在對比分析交換式以太網中現有幾種多播方法的基礎上,指出了它們各自在交換式工業以太網中的使用范圍。
關鍵詞:交換式工業以太網;多播;虛擬局域網;IGM 竊聽;Cisco 多播管理協議;GARP 多播注冊協議

1. 引 言

在工業控制網絡中,大量的實時數據常采用“生產者-消費者”的通信模式進行傳送,其中生產者是發送實時數據的工作站,它產生的數據可以同時被多個消費者使用。這種通信模式一方面可以保證同一實時數據在空間上的一致性,另一方面可以節省帶寬,因為每個新產生的實時數據只需要發送一次。

工業網絡中這種“一對多”的數據相應于以太網中的多播數據幀,而多播數據在傳統以太網交換機中是以廣播的方式發送,因為交換機一般是通過查看它收到的以太網數據幀的源地址來學習各端口相連工作站的MAC 地址的,而多播MAC 地址從來不會被用在一個以太網數據幀的源地址中,交換機沒有方法動態地學習它們。當網絡中存在著大量的多播數據時,由多播幀引起的廣播數據會消耗掉大量的帶寬,甚至會引起“廣播風暴”使網絡進入不穩定狀態。最容易想到的方法是為交換機的每個端口靜態地配置多播地址,這種方法是可行的,但可擴展性和動態適應性都很差。

本文的第2 到5 小節對目前交換式以太網中常采用的四種多播方式進行了介紹。第6小節對它們進行了對比分析,并指出了各自在工業以太網中的適用范圍。

2. 虛擬局域網(Virtual LAN)

VLAN 是指在交換局域網的基礎上,采用網絡管理軟件構建的可跨越不同網段、不同網絡的端到端的邏輯網絡。一個VLAN 組成一個邏輯子網,即一個邏輯廣播域,它可以覆蓋多個網絡設備,允許處于不同地理位置的網絡用戶加入到一個邏輯子網中。VLAN 的主要優點之一就是可以抑制網絡廣播風暴,一個VLAN 就是一個邏輯廣播域,通過對VLAN 的創建,隔離了廣播,縮小了廣播范圍,可以控制廣播風暴的產生[1]。

從而可以設想將屬于每個“生產者-消費者”數據組的工作站組成一個VLAN,當其中的生產者發送多播數據時,只有屬于該VLAN 的數據組成員才能接收到相應的多播數據。控制網絡中只要存在一個“生產者-消費者”數據組,就對應于一個VLAN。顯然,某個控制網絡中的應分配的VLAN 數量將與其中的“生產者-消費者”數據組個數成正比。由于位于控制層的控制器往往參與到多個控制回路中完成優化控制運算,它應該同時位于多個VLAN 中,才能與多個控制回路中的工作站交換數據。

對于小型的控制網絡,這種多播方式也許是可行的,但對于中等規模和大規模的控制網絡,為數眾多的VLAN 勢必會大大降低控制網絡的性能,并給VLAN 的管理和維護帶來極大的困難,在大型控制網絡中“生產者-消費者”數據組個數甚至會超過可用的VLAN 數量(4096 個)。

由于VLAN 的安全機制,屬于不同VLAN 的通信成員之間相互通信時必須通過路由器進行轉交。如圖1 所示,位于VLAN1 工作站A 有數據要向位于VLAN2 中B 發送時,工作站A 必須首先把自己的數據轉交給網絡中的路由器,再由路由器其轉交給工作站B。路由器的介入勢必會增大數據的傳輸延遲,對于實時報文甚至可能使其失去實時性。雖然帶有硬件路由功能的第三層交換機可以增強需要路由傳輸的數據的實時性,但會增加整個網絡的成本,并會增加網絡管理的復雜性。

圖1 不同VLAN 的工作站通過路由器轉發數據
3. IGMP 竊聽(IGMP Snooping)

互聯網組管理協議IGMP(Internet Group Management Protocol)定義了工作站如何向路由器注冊以便能接收到特定的IP 多播數據。當以太網交換機收到工作站和路由器之間傳遞的IGMP 報文時,通過截取并分析IGMP 報文所帶的信息,在鏈路建立和維護MAC 多播地址轉發表,以后從路由器下發的多播報文就根據該表中的“多播組-端口”對應關系進行轉發[2][3]。

3.1 通過IGMP 竊聽加入某一多播組

圖2 通過IGMP 竊聽加入一個多播組
當工作站是某交換組中第一個希望加入某一多播組的工作站時,如圖2 中的工作站A,加入過程如下:工作站A 先主動向路由器發送一條IGMP 成員報告,交換機通過截取分析該成員報告得知工作站希望加入的多播組,然后為其創建一個多播項目組,并把它鏈接到工作站A 所在的端口和所有的路由器端口。最后交換機把該IGMP 成員報告轉發給路由器端口,以便路由器能夠接收到該IGMP 報告,并相應地更新它的多播路由表。

當工作站希望加入一個已存在的多播組時,如圖2 中工作站B 希望加入工作站A 已經加入的多播組中。交換機只是簡單的將該工作站所在端口鏈接到已存在的多播組上,不再向路由器轉發IGMP 報告,而是使用代理報告(Proxy Reporting)機制每隔10s 向路由器為每個多播組轉發一次IGMP 報告。這種代理報告機制可以減少IGMP 竊聽多播機制消耗的帶寬[3]。

3.2 使用IGMP 竊聽離開一個多播組

當工作站想離開一個多播組時,它可以簡單的忽略周期的IGMP 詢問報文,或者發送一條IGMP Leave 報文。當交換機收到對某多播組的IGMP Leave 報文時,則會向接收該報文的端口發送所離開組的特定組查詢報文,以確認此端口相連的工作站中還有沒有該多播組的其他成員,同時啟動一個查詢響應定時器。如果在該定時器超時還沒有收到該多播組的報告報文,則將該端口從相應的MAC 多播組中移除。如果MAC 多播組在交換機的各個端口都沒有組成員時,交換機將通知多播路由器將該分支從多播樹中刪除[2]。

4. Cisco 組管理協議(Cisco Group Management Protocol)

CGMP 是Cisco 公司專有的組管理協議,它是在多播路由器和交換機之間使用的一種通信協議,主要工作方式是多播路由器通過CGMP 報文通知交換機它所得到的IGMP 信息,交換機上的CGMP 模塊會把接收到CGMP 幀中的“多播組-工作站”對應關系轉換為“多播組-端口”對,并基于此建立本地的多播地址轉發表,然后依照這個關系轉發多播數據[3][4]。

4.1 CGMP 的數據幀格式

CGMP 是目的地址為0x01-00-0C-DD-DD-DD 以太網數據幀, 它主要包含以下字段[4]:

聯系我們

地址: 浙江省.寧波市鄞州區寧姜公路(九曲小區二期旁)

郵編: 315040

聯系人: 盛立峰

電話: 0574-87139378

傳真: 0574-87139378

手機: 13867861670

郵箱: 85400329@qq.com

聯系我們