|
马上注册,结交更多好友,享用更多功能。
您需要 登录 才可以查看,没有账号?立即注册
x
一、实验目的:
社会已经进入信息时代,网络技术在飞速发展。大量应用,都依赖于从一个主机向多个主机或者从多个主机向多个主机发送同一信息的能力,在Internet上分发的数目可能达数十万台,这些都需要更高的带宽,并且大大超出了单播的能力。一种能最大限度地利用现有带宽的重要技术是IP组播。
本实验通过java.net.MulticastSocket类的实例来实现UDP/IP的组播。制作一个简单的闲聊程序。通过练习,加深对组播的理解和掌握JAVA网络编程的能力。
二、实验指导
1.IP组播技术的概念
IP组播(也称多址广播或多播)技术,是一种允许一台或多台主机(组播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。组播作为一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有组播才是最好的选择。组播能使一个或多个组播源只把数据包发送给特定的组播组,而只有加入该组播组的主机才能接收到数据包。
2.IP组播地址和组播组
IP组播通信必须依赖于IP组播地址,在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255,并被划分为局部链接组播地址、预留组播地址和管理权限组播地址三类。其中,局部链接组播地址范围在224.0.0.0~224.0.0.255,这是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包;预留组播地址为224.0.1.0~238.255.255.255,可用于全球范围(如Internet)或网络协议;管理权限组播地址为239.0.0.0~239.255.255.255,可供组织内部使用,类似于私有IP地址,不能用于Internet,可限制组播范围。
使用同一个IP组播地址接收组播数据包的所有主机构成了一个主机组,也称为组播组。一个组播组的成员是随时变动的,一台主机可以随时加入或离开组播组,组播组成员的数目和所在的地理位置也不受限制,一台主机也可以属于几个组播组。此外,不属于某一个组播组的主机也可以向该组播组发送数据包。
3、Java IP组播编程
几乎所有的当前组播都是用UDP作为传输层的协议。Java网络库通过对java.net.MulticastSocket类的实例支持组播传输。MulticastSocket类扩展UDP java.net.DatagramSocket类,增加组播特定操作,如连接和离开组播。
三、试验要求
1、 我们建立一个简单的组闲聊程序。这个组闲聊程序允许多个用户加入闲聊组和交换简单的字符串消息。闲聊参加者给自己去一个别名,用于会话期间表识自己。
2、 可视化的多用户界面,至少包含聊天日志、用户消息输入的区域。
3、 完成组闲聊程序,在局域网内测试,实现交流功能。
|
|