基于局域网的多播通信系统的设计

来源 :安家(建筑与工程) | 被引量 : 0次 | 上传用户:maxiao912
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:我们常常在管理网络的时候,网络管理员经常需要发送某条消息或者信号给一组用户,我们通常将需要信息的终端用户编到一个组里进行逐个发送,假如每个用户单独的发送,虽然可行,但是操作相对繁琐且重复性太大,还容易引发一些因为漏发重发出现问题的情况。所以多播通信系统(也称之为多播技术)也就应运而生,专门为了更加高效准确的应对这种多重发送的情况,是一种基于IP层的通信技术。多播是一种在一个发送者和多个接收者之间进行通信的方法。与任播(anycast)和单播(unicast)一样,多播也是一种IPv6的包传送方式。多播在CDPD技术中的无线数据网络中也可以使用。
  关键词:局域网;多播技术;套接字;
  一、设计原理
  “多播”亦称“多点传送”(multicast),即一台主机发送的数据包可以同时被其他几台符合条件的计算机接收,这台主机和那些符合条件的计算机组成一个组,它们在组内的通信是广播。多核连接的原理是设置某些网络计算机的网卡的多功能传输模式,并指定不过滤目标物理地址为特定多媒体传输地址的数据帧。这样,这些计算机的驱动程序的程序就可以同时接受以组播地址為目的地物理地址的数据帧,而其他计算机的驱动程序则无法接收。与流式传输相比,该技术可以有效减轻网络上组播组以外的其他主机的负担,因为发送到组播组的数据不会传递给它们的驱动程序,从而避免不必要的浪费。资源。开发这项技术的目的是为了弥补“广播”通信的不足。
  多播地址(multicast address)是一组主机的标示符,它已经加入到一个多播组中。在以太网中,多播地址是一个 48 位标识符,用于标识应该在该网络上接收数据包的一组站。在 IPv4 中,它历来被称为 D 类地址,一种 IP 地址类型,范围从 224.0.0.0 到 239.255.255.255。 D 类地址用于组播。
  上述的,则是根据相同的IP多播地址来分类的,所有的 相同的IP多播地址的主机一起构成了一个主机组,也可以称之为多播组。并且多播组中的主机的数量是动态的,随着具体情况的不同而变化的,任意一台主机无论地理位置和现有的多播组中的主机的数量的多少有什么分别,只要满足条件都可以随时加入该多播组,并且也可以随时离开,并且一台主机还可以分属于若干个不同的主机组,具有很强的灵活性。
  二、实现方法
  在TCP/IP协议中,采用D类地址来支持多播技术,所以一共有28位可以用来分组作为标记,28位则可以同时支持做多大约25亿个多播组,所以在用量环节不用担心没有地址用来分组或者不够用来分组。所以当一个进程通过一个D类地址来发送多播的数据包的时候,则会尽最大努力的将其发送到,但是不保证送到。通过这个能够看得出来这个传输模式数据包是类似于UDP的不可靠协议,而不是TCP的可靠协议。当这些地址全部加入多播组之后,源主机发送的任何数据都会完全的复制出来一份,发送给组内包括原始源节点在内的所有地址。D类地址的IP范围在244.0.0.0-239.255.255.255。分为永久地址和临时地址2类,其中永久地址主要保留下来以作为特殊用途,比如244.0.0.0没有使用,244.0.0.1代表子网内所有主机,244.0.0.2则代表了所有的路由器。而临时主机在使用前要先创建一个多播组,通过进程来控制主机加入或者退出某一个组,而每一个主机都要实时的记录其进程所归属的组。多播是由多播路由器实现,普通路由器也可以经过设置而具备多播路由器的功能。多播路由器则发送信息给位于子网上的主机,而主机则向多播路由器回复报告进程在当前所述的分组,而各个主机则把相关的D类地址返回。这里面使用到了IGMP协议,一种类似于ICMP,一种格式相对简单只有询问和相应的2种分组功能的协议。
  三、设计方法和步骤
  (1)初始化Winsock资源并创建套接字 在使用 windows的套接字之前,必须首先初始化 windows sockets DLL,这里通过调用WSAStartuo()函数来实现,可以让应用程序制定API要求的版本。可以随时根据情况需要加入所需要加入的多播组,而且发送数据方式还是多方面的,并且创建的套接字还具有重叠性。
  #include <sys/types.h>
  #include <sys/socket.h>
  int socket(int domain, int type, int protocol);   返回套接字
  (2)构建服务器地址结构
  struct sockaddr_in serveraddr;
  #include <strings.h>
  bzero(&serveraddr, sizeof(serveraddr));
  serveraddr.sin_family = AF_INET;
  serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); //IP
  serveraddr.sin_port = htons(SERVER_PORT);//端口
  (3)绑定地址
  int bind(int sockfd, const struct sockaddr *addr,
  socklen_t addrlen);
  (4)构建组播属性结构
   struct ip_mreqn group;
   #include <arpa/inet.h>
   inet_pton(AF_INET,GROUP,&group.imr_multiaddr);//设置组播地址    net_pton(AF_INET,"0.0.0.0", &group.imr_address);//设置本地地址
   group.imr_ifindex=if_nametoindex("ent0");//设置网卡接口
  (5)设置组播权限和属性
   setsockopt(sockfd,IPPROTO_IP,IP_MULTICAST_IF,&group,
   sizeof(group));//设置组播权限及选项
  (6)设置客户端组播地址
   struct sockaddr_in cliaddr;
   bzero(&cliaddr,sizeof(cliaddr));
   cliaddr.sin_family=AF_INET;
   inet_pton(AF_INET,GROUP,&cliaddr.sin_addr.s_addr);
   cliaddr.sin_port=htons(CLIENT_PORT);
  (7)發送数据调用sendto()函数,可在指定的UDP套接字上向指定的多播组发送多播数据。调用时,参数to应指向多播组的IP地址。值得注意的是,若一个应用程序只是打算给多播组发送 数据,便不必加入一个多播组。
  sendto(sockfd,buf,strlen(buf),0,(structsockaddr*)&cliaddr,
  sizeof(cliaddr));//往组播地址发送信息,返回数据大小
  (8)丶从多播组接收数据随后关闭并释放资源函数recvfrom()的功能很简单,在多播通信结束后,则调用closesocket()来关闭整个套接字体系,然后释放 资源。
  4 结语
  多播作为一种行之有效的节约网络带宽的一对多的通信方式,在现在的网络中有着广泛的使用。在网络中需要将节点信号发送到到多个节点的情况下,重复点对点和广播方式都会浪费带宽,所以多播有了广阔的适用范围,这也是我们要做多播方法的意义所在。
  参考文献
  [1]于秋生.Visual C++ 程序设计教程[M].北京:机械工业出版社,2004.
  [2]任泰明.TCP/IP协议与网络编程[M].西安:西安电子科技大学出版社,2004.
  [3]张继军.基于分组网络的服务质量保证[M].北京:北京邮电大学出版社,2004
  [4]吴应桦,郭胜国."基于局域网的多播通信系统的设计."无线互联科技 .(2015):13-14.Print.
其他文献
摘要:在所有可再生能源中,风能是最值得进行开发利用且具有较大发展潜力的能源,而我国具有非常丰富的风能资源,通过合理运用风能,可以改善我国的能源构成结构,对进口能源的依赖性下降。本文首先分析风力发电机的工作原理,其次探讨风力发电控制技术的重要影响,最后研究风力发电控制技术的发展前景,以期对相关研究具有一定的参考价值。  关键词:风力发电机;风力发电;控制技术  前言:目前社会各类能源的损耗量比较大,
期刊
摘要:近几年来,随着社会经济的飞速发展,城市化进程在我国经济发展中发挥着重要的作用。城市化发展的环境下,对城市历史建筑的保护和更新的问题研究具有非常重要的作用。本文通过环境设计的角度,对城市历史建筑的保护与更新提出了相关策略。在城市发展越来越快的环境下,通过新的看法来认识城市历史建筑以及周边环境的保护与更新。  关键词:环境设计;城市历史建筑;保护  作为一个城市物质文化遗产,城市历史建筑具有非常
期刊
摘要:园林绿化作为我国各大城市建设过程当中的核心部分,与我国广大人民群众的生活品质息息相关,要引起有关部門的重视,园林项目建设竣工后,如何提升管理质量,是管理部门需要面对的主要问题。当前由于各类科技的快速发展,针对城市园林绿化精细化管控工作也提出全新要求,通过积极运用精细化管理理念,能够取得较好的管控效果,使城市园林绿化水平得到进一步提高。因此,本文重点探讨园林绿化管理过程中精细化管理理念的具体运
期刊
摘要:围绕我国可持续发展理念来看,能源电力领域已经演变为“主战场”之一,确保供电稳定高效的同时,还要合理的建设环境友好型工艺,以风力发电,太阳能发电为代表的新型能源将成为未来优化的主要方向,确保供电稳定的情况下,构建新能源发电为核心的综合能源利用体系,提升整体效率。因此,本文通过对新能源供电网络的内容进行详细论述,明确相对应的疑难问题,帮助我工  单位明确管理难点和优化方向,为未来行业发展和社会进
期刊
摘要:在煤炭企业进行生产时通常会造成很多物资损耗,因此物资损耗已经成为物资计划定额管理的重要管理部分,不但能够促使煤炭企业的科学化管理,而且可以提升煤炭企业的经济收益。完善好物资计划定额管理,可以在减少物资损耗的基础上,提升物资的实际利用率,从而提升工作人员的工作效率和设备的使用频次,减少煤炭生产成本,提升企业在行业内的综合竞争力。本文首先分析煤炭企业制定物资定额计划的作用,其次探讨如何做好物资定
期刊
摘要:现浇砼是房屋建筑工程施工的重要组成,该技术在应用过程中十分重要的作用和价值。但是由于在施工中存在种种原因,使得房屋建筑经常出现裂缝问题,导致后期业主投诉事件频发,这已经成为房屋建筑工程施工中必须考虑的主要问题。因此,现浇砼裂缝应该作为防治的重点内容,引起施工人员的关注和重视。基于此,本篇文章對房屋建筑现浇砼施工的裂缝处理及质控措施进行研究,以供参考。  关键词:房屋建筑;现浇砼施工;裂缝处理
期刊
摘要:随着经济的快速增长,交通运输业的日益发展,公路桥梁已经成为我国经济建设中一项重要的基础建设项目,它能带动我国经济的发展.但是由于公路桥梁的负荷日趋加重 很多公路桥梁出现了不同程度的缺陷损坏。所以在公路桥梁的建设方面需要科学合理的施工以及完善管理才能发挥它的有效功能。本文主要分析了新形势下公路桥梁施工技术相关问题,以供参考。  关键词:公路桥梁;施工技术;问题;控制措施  公路桥梁作为国家的基
期刊
摘要:在风景区景观工程建设中,建设现场的管理是确保项目建设活动的关键。在特定建设现场管理过程中,通过确保建设效果,极力避免对周围环境的影响,实现文明建设。在这里,我们对风景区造园技术的施工现场管理相关问题进行了分析和探讨。  关键词:旅游景区;园林景观工程;施工现场管理  目前,中国的旅游产业正在迅速发展,为构建景观景观工程提出了许多新的要求和课题。面对增加的数量和标准,在特定的建设管理过程中,必
期刊
摘要:自从我国改革开放以来,便持续性加强科技信息技术的发展,并且致力于推动电气工程技术进一步提升,更加符合现代化社会发展以及人民生产生活应用的需求。而科技的发展使得越来越多的机器更加的自动化,减少了人类在此过程中的劳力输出量,使得工作的完成更加的便利化与快捷化。而在电气工程及自动化控制系统应用过程中,则应当关注其应用特点,从找到更加良好的操作方法与应用方式,使得电气工程及电气自动化控制系统的作用得
期刊
摘要:随着城市化进程的进一步加快推进,在城市发展质量方面也要从根本上有效提升。在实际的发展过程中需要充分做好城市的景观亮化规划设计工作,在实际的规划设计过程中,也要充分做到与时俱进,针对照明的新技术、新手法、新光源等进行更科学合理的利用,这样才能在更大程度上提升景观亮化的设计效果,为城市发展质量的提升提供必要的支持。基于此,本文重点分析在城市景观亮化规划设计中有效应用照明新技术新手法新光源的实施策
期刊