利用UDP Socket技术实现IP多点传送详解

IP多点传送(MulticastSocket)类IP多点传送(multicast delivery)是针对点到点的传送和广播传送两种方式而言的,它是指在一定的组内对其成员进行的广播,是一种有限的广播。组中的某个成员发出的信息,组中的其它所有成员都能收到。它是UDP Sockets的一个分支。

IP多点传送特别适合与高带宽的应用,例如在网络上发送视频和音频。随着网络带宽的不断提高和网络通讯质量的不断改善,IP多点传送还将广泛地被应用于网上聊天及网上会议,分布式数据存储,联机事务处理,交互式游戏等方面。另外,多点传送还可以被客户机用于在网络上寻找相应的服务器,客户机发送一个多点传送的请求,任何监听服务器都可以与客户机连接并开始一个事务。

UDP Socket基础

使用用户数据报协议(User Datagram Protocol,简称UDP)进行会话必须将信息装配成一定尺寸的小报文,当发送一条信息,接收方能否收到并返回信息永远是不确定的,如果无法收到返回信息,我们就无法确定我们发送的信息是否被接收——它可能在途中丢失,接收者返回的响应信息也可能丢失,另外,接收者也可能忽略我们的信息,因此,UDP被描述为不可靠的、无连接的和面向消息的。

创建UDP sockets非常象创建一个邮箱。邮箱是使用地址来识别的,但是,我们不需要为每个发送信息的人构造一个新的邮箱,可以在含有发送信息的明信片上写上目的地址,将其放在邮箱中并发送出去。接收者可能会长久的等待,直到含有信息的明信片到达它的邮箱,而明信片上标识了发送者的返回地址。

IP多点传送的原理

为了支持IP多点传送,某些范围的IP地址被单独留出专门用于这个目的,这些IP地址是D类地址,其地址的最高四比特的位模式为“1110”,即IP地址的范围在224.0.0.0和239.255.255.255之间。它们中的每一个IP地址都可以被引用作为一个多点传送组,任何以该IP地址编址的IP报文将被该组中的其它所有机器接收,也就是说,一个IP地址就相当于一个邮箱。另外,组中的成员是动态的并随时间而改变。

对于IP多点传送,网间网组管理协议(Internet Group Management Protocol,简称IGMP),用于管理多点传送组中的成员。支持多点传送的路由可以使用IGMP决定本地的机器是否赞成加入某个组,一个多点传送路由可以决定是否转发一个多点传送报文。

影响多点传送报文的一个重要参数是time-to-live(TTL)。TTL用于描述发送者希望传送的信息能通过多少不同的网络。当报文被路由器转发,报文中的TTL将减一,当TTL为零时,报文将不再向前发送。

在实际使用中,我们必须注意下面几点:

1.这些IP地址只能作为信宿地址使用,绝对不能出现在任何信源地址域中,也不能出现在源路径或记录路径选项中:

2.由于IP多点传送是一对多的传送,因此,不能利用差错与控制报文协议(Internet Control Message Protocol,简称ICMP)产生出错报文。

3.发送一个信息到一个组,发送主机可以不是组中的成员;

4.一些组被Internet Assigned Numbers Authority(IANA)分配,保留用于特殊的目的,详情参见:ftp://ftp.internic.net/rfc/rfc1700.txt。另外,避免使用一些保留组,从224.0.0.0到224.0.0.225仅限于本地子网使用。建议在224.0.1.27和224.0.1.225之间任意选取一个IP地址。

5.如果我们选取的组已经被使用,与其他机器的通讯将会混乱,一旦发生,可以退出应用,试试其他的地址。

6.当一个机器加入一个多点传送组,它将开始接收该IP多点传送地址的信息。如果多点传送报文分发到网络上,任何监听该信息的机器都会有机会接收它。对于IP多点传送,没有一个机制对相同网络上的机器能否加入该多点传送组加以限制。因此,安全性是我们必须考虑的问题之一。

7.选择的TTL参数应尽可能小。一个大的TTL值会不必要地占用Internet带宽。此外,还可能破坏不同区域使用相同组的其它的多点传送通讯。

Java中与IP多点传送相关的类

java.net包中含有UDP通讯所需要的工具,其中包括IP多点传送。

时间: 2024-10-06 10:01:34

利用UDP Socket技术实现IP多点传送详解的相关文章

利用UDP Sockets技术实现IP多点传送1(转中华技术网)

杨绍方 摘 要 本文介绍了UDP Sockets的基本概念和IP多点传送的原理,详细讨论了Java中的相关类及使用方法,提供了一个IP多点传送的开发流程. 关键词 Java UDP Sockets IP 多点传送 MulticastSocket 类IP多点传送(multicast delivery)是针对点到点的传送和广播传送两种方式而言的,它是指在一定的组内对其成员进行的广播,是一种有限的广播.组中的某个成员发出的信息,组中的其它所有成员都能收到.它是UDP Sockets的一个分支. IP多

利用UDP Sockets技术实现IP多点传送2(转中华技术网)

DatagramPacket类 我们可以使用DatagramPacket类创建一个用于发送的数据报,而当接收UDP数据报时,可以使用DatagramPacket类读取数据报中的数据,发送者及其它信息. 为了创建一个数据报并发送到远地系统,可以使用下面的构造器: Public DatagramPacket(byte ibuf,int length,InetAddress iaddr,int iport,); ibuf是编码信息数据的字节数组,它的长度length就是数据报放在其中的字节数组的长度,

《数据修复技术与典型实例实战详解》——1.3 主引导程序的修复

1.3 主引导程序的修复 数据修复技术与典型实例实战详解 硬盘主引导记录(即Master Boot Record,一般缩写为MBR)位于0磁头/0柱面/1扇区,由FDISK.EXE对硬盘分区时生成.MBR包括主引导程序.分区表和结束标志55 AAH三部分,共占一个扇区.主引导程序中含有检查硬盘分区表的程序代码和出错信息.出错处理,用于检测硬盘分区的正确性,并确定活动分区,负责把引导权移交给活动分区的DOS或其他操作系统.主引导程序的损坏会导致系统无法从硬盘引导,硬盘内容无法读取,操作不当会使整个

《数据修复技术与典型实例实战详解》——1.5 文件分配表的恢复

1.5 文件分配表的恢复 数据修复技术与典型实例实战详解1.5.1 文件分配表的基础知识 磁盘经过格式化后主要包括的区域有:主引导记录区(只有硬盘有).引导记录区.文件分配表(FAT).目录区和数据区. 文件分配表用于表示存储磁盘文件空间信息.此表包含所有未分配的.已分配的或标记为坏的盘簇的信息.盘簇是DOS进行磁盘空间分配的最小单位,一个簇可以是两个扇区,也可以是4个扇区或更多,视DOS版本及硬盘分区的大小而不同.虽然FAT记录文件所用的磁盘空间的信息,但引导区.两个FAT表.文件目录区等本身

利用ISCSI存储技术构建IP存储网络(概念篇)

一.iSCSI的概念 iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN存储区域网,简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术.iSCSI技术最初由Cisco和IBM两家发起,并且得到了广大IP存储技术爱好者的大力支持.这几年迅速的发展壮大了起来. 对于中小企业的存储网络来说,iSCSI是个非常好的

Python数据分析之真实IP请求Pandas详解_python

前言 pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 .Series 和 DataFrame 分别对应于一维的序列和二维的表结构.pandas 约定俗成的导入方法如下: from pandas import Series,DataFrame import pandas as pd 1.1. Pandas分析步骤     1.载入日志数据

SQL Server 2008日志传送详解

一.什么是日志传送? 原理很简单,三个动作六个字:备份->复制->恢复. 如果由人来完成这个三个动作,只能叫日志搬运工:而由SQL Server Job自动完成,就叫日志传送.同样的事情,不一样的档次,所以叫法也不一样. 二.日志传送能解决什么问题? 解决数据库的多服务器热备份问题.多台服务器定时备份,随时可以作为主数据库服务器的替补. 三.日志传送的优点是什么? 简单!比SQL Server的数据库复制.镜像简单多了. 四.日志传送的缺点是什么? 日志文件的传输只支持Windows文件共享的

浅谈TCP/IP优化方法详解

很多人常常对TCP优化有一种雾里看花的感觉,实际上只要理解了TCP的运行方式就能掀开它的神秘面纱.Ilya Grigorik 在「High Performance Browser Networking」中做了很多细致的描述,让人读起来醍醐灌顶,我大概总结了一下,以期更加通俗易懂.   流量控制 传输数据的时候,如果发送方传输的数据量超过了接收方的处理能力,那么接收方会出现丢包.为了避免出现此类问题,流量控制要求数据传输双方在每次交互时声明各自的接收窗口「rwnd」大小,用来表示自己最大能保存多少

利用ISCSI存储技术构建IP存储网络(安全篇)

在前面的文章中,介绍了如何搭建一个简单的iSCSI网络存储系统,作为iSCSI initiator的客户端主机可以任意连接和使用iSCSI target共享出来的所有磁盘和分区,而在很多时候,通过授权认证连接共享磁盘或分区是必须的,例如:只允许客户端主机A连接target共享出来的磁盘分区一,而客户端主机B只允许连接target共享出来的磁盘分区二等等,在这种情况下,就需要在iSCSI target主机上进行授权设定了. iSCSI 在授权访问和安全管理方面有着不错优势,它能够使用以主机为基础,