IP組播技術在分散控制系統(tǒng)(DCS)中的應用
3.2 IP組播Winsock編程方法
在實際應用中,IP組播編程實現(xiàn)的方法隨DPU嵌入式支撐系統(tǒng)和HMI運行系統(tǒng)平臺的不同有所不同的;編程人員通常借助于操作系統(tǒng)中所提供的網絡數(shù)據(jù)通信 編程接口實現(xiàn)網上的IP組播通信的功能。下面以在Microsoft Windows環(huán)境下的網絡編程接口(Windows Socket,簡稱Winsock)介紹具體的IP組播編程實現(xiàn)的方法。
圖2 Winsock實現(xiàn)IP組播過程流程圖
3.2.1 IP組播數(shù)據(jù)發(fā)送流程(DPU)
調用WSAStartup ( )函數(shù),Winsock 服務的初始化。
調用socket ( )函數(shù),創(chuàng)建數(shù)據(jù)報套接口,它是組播組的初始化套接字,并且以后數(shù)據(jù)的發(fā)送在該套接字上進行。
調用setsockopt( )函數(shù),設置發(fā)送的數(shù)據(jù)報本地接口(IP_MULTICAST_IF)及設置多播地址(例:239.100.1.1)和端口號(例:20120)。
使用sendto()函數(shù),發(fā)送數(shù)據(jù),目標地址為第二步所設置的多播地址。
關閉套接字,釋放Winsock資源。
3.2.2 IP組播數(shù)據(jù)接收流程(HMI)
調用WSAStartup ( )函數(shù),Winsock 服務的初始化。調用socket ( )函數(shù),創(chuàng)建數(shù)據(jù)報套接口,它是組播組的初始化套接字,并且以后數(shù)據(jù)的接收在該套接字上進行。
調用bind ( )函數(shù),綁定本地地址(如:INADDR_ANY)和端口號(同發(fā)送端)。
調用setsockopt( )函數(shù),設置IP_ADD_MEMBERSHIP選項,加入多播組。
調用recvfrom()函數(shù),接收數(shù)據(jù)。
關閉套接字,釋放Winsock資源。
4 IP組播存在的問題
IP組播數(shù)據(jù)包典型使用用戶數(shù)據(jù)報協(xié)議(UDP),而UDP是一種“盡力而為”(Best-effort)協(xié)議。因此,IP組播應用必定會遇到數(shù)據(jù)包丟失和亂序問題。
安全組播就是只有注冊的發(fā)送者才可以向組發(fā)送數(shù)據(jù);只有注冊的接收者才可以接收組播數(shù)據(jù)。然而IP組播很難保證這一點。
Internet是一個異構網絡,所以在設計IP組播網絡時,必須充分考慮到網絡的異構性。
5結束語
IP組播技術能夠有效地解決單點發(fā)送到多點、多點發(fā)送到多點的問題,實現(xiàn)了 IP 網絡中點到多點的高效數(shù)據(jù)傳送,能夠有效地節(jié)約網絡帶寬、降低網絡負載。在實際應用過程中,只要正視組播存在的問題,充分考慮到網絡的異構性,通過設計合 理網絡架構和數(shù)據(jù)交換協(xié)議,一樣可以構造出安全可靠的系統(tǒng)??七h股份NT6000分散控制系統(tǒng)成功研制充分證明這一點;NT6000分散控制系統(tǒng)在應用推 廣過程中,IP組播通信技術在NT6000分散控制系統(tǒng)的應用也充分得到客戶的肯定。
參考文獻:
[1] TCP/IP網絡互聯(lián)技術(1)原理,協(xié)議和體系結構(第3版)清華大學出版社,2001.
[2] IP組播與安全(第1版) 國防工業(yè)出版社,2006
[3]中國大型火電廠DCS應用現(xiàn)狀 CONTROL ENGINEERING China,2009
[4] IP組播通信及其在VxWorks操作系統(tǒng)下的實現(xiàn)計算機與數(shù)字工程,2003
tcp/ip相關文章:tcp/ip是什么
評論