1. 組播
組播技術(shù)是ip網(wǎng)絡(luò)數(shù)據(jù)傳輸三種方式之一,在介紹ip組播技術(shù)之前,先對ip網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膯尾ァ⒔M播和廣播方式做一個簡單的介紹,見圖1:
單播(unicast)傳輸:在發(fā)送者和每一接收者之間實現(xiàn)點對點網(wǎng)絡(luò)連接。如果一臺發(fā)送者同時給多個的接收者傳輸相同的數(shù)據(jù),也必須相應(yīng)的復(fù)制多份的相同數(shù)據(jù)包。如果有大量主機希望獲得數(shù)據(jù)包的同一份拷貝時,將導(dǎo)致發(fā)送者負(fù)擔(dān)沉重、延遲長、網(wǎng)絡(luò)擁塞;為保證一定的服務(wù)質(zhì)量需增加硬件和帶寬。
組播(multicast)傳輸:在發(fā)送者和每一接收者之間實現(xiàn)點對多點網(wǎng)絡(luò)連接。如果一臺發(fā)送者同時給多個的接收者傳輸相同的數(shù)據(jù),也只需復(fù)制一份的相同數(shù)據(jù)包。它提高了數(shù)據(jù)傳送效率。減少了骨干網(wǎng)絡(luò)出現(xiàn)擁塞的可能性。
廣播(broadcast)傳輸:是指在ip子網(wǎng)內(nèi)廣播數(shù)據(jù)包,所有在子網(wǎng)內(nèi)部的主機都將收到這些數(shù)據(jù)包。廣播意味著網(wǎng)絡(luò)向子網(wǎng)每一個主機都投遞一份數(shù)據(jù)包,不論這些主機是否樂于接收該數(shù)據(jù)包。所以廣播的使用范圍非常小,只在本地子網(wǎng)內(nèi)有效,通過路由器和交換機網(wǎng)絡(luò)設(shè)備控制廣播傳輸。

圖1
2. 組播ip地址
組播ip地址用于標(biāo)識一個ip組播組。iana(internet assigned number authority)把d類地址空間分配給ip組播,其范圍是從224.0.0.0到239.255.255.255。如下所示(二進制表示),ip組播地址前四位均為1110。
八位組(1) 八位組(2) 八位組(3) 八位組(4)
1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx
組播組可以是永久的也可以是臨時的。組播組地址中,有一部分由官方分配的,稱為永久組播組。永久組播組保持不變的是它的ip地址,組中的成員構(gòu)成可以發(fā)生變化。永久組播組中成員的數(shù)量都可以是任意的,甚至可以為零。那些沒有保留下來供永久組播組使用的ip播地址,可以被臨時組播組利用。
224.0.0.0~224.0.0.255為預(yù)留的組播地址(永久組地址),地址224.0.0.0保留不做分配,其它地址供路由協(xié)議使用; 224.0.1.0~238.255.255.255為用戶可用的組播地址(臨時組地址),全網(wǎng)范圍內(nèi)有效;239.0.0.0~239.255.255.255為本地管理組播地址,僅在特定的本地范圍內(nèi)有效。常用的預(yù)留組播地址如下:
224.0.0.0 基準(zhǔn)地址(保留) 224.0.0.1 所有主機的地址 224.0.0.2 所有組播路由器的地址。
3. 網(wǎng)絡(luò)二層組播相關(guān)協(xié)議
不支持組播的交換機,數(shù)據(jù)在里面是泛洪傳播的,數(shù)據(jù)也是可以進行傳送的。解決第二層組播數(shù)據(jù)洪泛的問題,引入igmp snooping及gmrp等概念。
網(wǎng)絡(luò)二層組播相關(guān)協(xié)議包括igmp snooping ,igmp proxy和cgmp協(xié)議。
igmp協(xié)議運行于主機和與主機直接相連的組播路由器之間,主機通過此協(xié)議告訴本地路由器希望加入并接受某個特定組播組的信息,同時路由器通過此協(xié)議周期性地查詢局域網(wǎng)內(nèi)某個已知組的成員是否處于活動狀態(tài)(即該網(wǎng)段是否仍有屬于某個組播組的成員),實現(xiàn)所連網(wǎng)絡(luò)組成員關(guān)系的收集與維護。
igmp snooping的實現(xiàn)機理是:交換機通過偵聽主機發(fā)向路由器的igmp成員報告消息的方式,形成組成員和交換機接口的對應(yīng)關(guān)系;交換機根據(jù)該對應(yīng)關(guān)系將收到組播數(shù)據(jù)包只轉(zhuǎn)給具有組成員的接口。通過上述機制,在組播路由器里建立起一張表,其中包含路由器的各個端口以及在端口所對應(yīng)的子網(wǎng)上都有哪些組的成員。當(dāng)路由器接收到某個組g的數(shù)據(jù)報文后,只向那些有g(shù)的成員的端口上轉(zhuǎn)發(fā)數(shù)據(jù)報文。
4. step7中的組態(tài)
simatic s7-400系列cp模塊之間有哪些區(qū)別?
本文中以s7-300 cp343-1模塊為例,具體組態(tài)步驟如下:
a) 在step7項目插入兩個cpu,分別組態(tài)兩個cp343-1,分配ip地址,分別為192.168.0.10和192.168.0.11。
b) 打開netpro,在兩個cpu下分別插入新的連接,連接類型選擇“udp connection”鏈接對象選擇“all multicast stations”,如圖2。
c) 如圖3,在彈出的屬性窗口顯示出連接“id”和“l(fā)addr”參數(shù),之后編程會用到。
d) 在“address”界面下,“l(fā)ocal”自定義本地的端口號;“multicast group”定義所要加入的組播組地址和通訊對方的端口號,可用的組播地址從224.0.1.0到239.255.255.255,可用的端口號從1025到65535,如圖4、圖5。

圖2

圖3

圖4

圖5
e) 編譯無誤后,分別下載到兩個cpu。
f) 編程,在程序中調(diào)用fc5 “ag_send” 、fc6 “ag_recv”?!癷d”和“l(fā)addr”填寫連接中的參數(shù);“send”“l(fā)en”定義發(fā)送的數(shù)據(jù)區(qū)和發(fā)送的長度;如圖6,定義了發(fā)送接收都是20字節(jié)。完成后下載到cpu。

圖6
g) 使用tcp/udp測試工具添加一個組播成員到組播組,如圖7。

圖7
h) 測試結(jié)果,在ip:192.168.0.10側(cè)觸發(fā)“ag_send”,則數(shù)據(jù)會發(fā)給所有屬于ip組:224.0.1.0 端口號為2002的成員,如圖8、圖9。

圖8

圖9
5. 交換機的設(shè)置
交換機如果不做任何設(shè)置,或者不支持組播,數(shù)據(jù)也是可以進行傳送的,但是是泛洪傳播的。為了提高效率,應(yīng)該在交換機中激活igmp snooping,如圖10,本例中使用西門子scalance x312。通過igmp snooping,這樣交換機就能夠形成端口和組播組成員的對應(yīng)關(guān)系,交換機根據(jù)該對應(yīng)關(guān)系將收到的組播數(shù)據(jù)包只傳給屬于改組的端口,如圖11。圖12顯示了組播ip地址到二層mac地址的映射關(guān)系。

圖10

圖11

圖12










