新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > IP组播技术在分散控制系统(DCS)中的应用

IP组播技术在分散控制系统(DCS)中的应用

作者: 时间:2013-04-16 来源:网络 收藏

3.2 IP组播Winsock编程方法

在实际应用中,IP组播编程实现的方法随DPU嵌入式支撑系统和HMI运行系统平台的不同有所不同的;编程人员通常借助于操作系统中所提供的网络数据通信 编程接口实现网上的IP组播通信的功能。下面以在Microsoft Windows环境下的网络编程接口(Windows Socket,简称Winsock)介绍具体的IP组播编程实现的方法。

IP组播技术在分散控制系统(DCS)中的应用1引言

图2 Winsock实现IP组播过程流程图

3.2.1 IP组播数据发送流程(DPU)

调用WSAStartup ( )函数,Winsock 服务的初始化。

调用socket ( )函数,创建数据报套接口,它是组播组的初始化套接字,并且以后数据的发送在该套接字上进行。

调用setsockopt( )函数,设置发送的数据报本地接口(IP_MULTICAST_IF)及设置多播地址(例:239.100.1.1)和端口号(例:20120)。

使用sendto()函数,发送数据,目标地址为第二步所设置的多播地址。

关闭套接字,释放Winsock资源。

3.2.2 IP组播数据接收流程(HMI)

调用WSAStartup ( )函数,Winsock 服务的初始化。调用socket ( )函数,创建数据报套接口,它是组播组的初始化套接字,并且以后数据的接收在该套接字上进行。

调用bind ( )函数,绑定本地地址(如:INADDR_ANY)和端口号(同发送端)。

调用setsockopt( )函数,设置IP_ADD_MEMBERSHIP选项,加入多播组。

调用recvfrom()函数,接收数据。

关闭套接字,释放Winsock资源。

4 IP组播存在的问题

IP组播数据包典型使用用户数据报协议(UDP),而UDP是一种“尽力而为”(Best-effort)协议。因此,IP组播应用必定会遇到数据包丢失和乱序问题。

安全组播就是只有注册的发送者才可以向组发送数据;只有注册的接收者才可以接收组播数据。然而IP组播很难保证这一点。

Internet是一个异构网络,所以在设计IP组播网络时,必须充分考虑到网络的异构性。

5结束语

能够有效地解决单点发送到多点、多点发送到多点的问题,实现了 IP 网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。在实际应用过程中,只要正视组播存在的问题,充分考虑到网络的异构性,通过设计合 理网络架构和数据交换协议,一样可以构造出安全可靠的系统。科远股份NT6000成功研制充分证明这一点;NT6000在应用推 广过程中,IP组播通信技术在NT6000的应用也充分得到客户的肯定。

参考文献:

[1] TCP/IP网络互联技术(1)原理,协议和体系结构(第3版)清华大学出版社,2001.

[2] IP组播与安全(第1版) 国防工业出版社,2006

[3]中国大型火电厂应用现状 CONTROL ENGINEERING China,2009

[4] IP组播通信及其在VxWorks操作系统下的实现计算机与数字工程,2003

tcp/ip相关文章:tcp/ip是什么



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭