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