1.单播:网络节点之间的通信就像人们之间的对话一样。当一个人对另一个人说话时,就好比网络中的单播。此时信息的传递的接收只在两个节点间进行。单播在网络中应用很广泛,网络中大部分数据是通过单播的方式进行传输的。例如:收发邮件、浏览网页,就必须与邮件服务器、WEB服务器建立连接。
2.多播(组播):是一种多地址的广播,发送端与接收端是一对多的关系。服务器只向特定的一组用户发送一个数据包,组中的用户可以共享这个数据包,组外的用户是无法接收到的。多播需要网内路由器的支持。在广域网内实现比较困难。(适用于局域网)
(1)协议支持:并不是所有协议都支持多播通信的。对于WIN32平台,仅两种可以从WinSock内访问的协议(IP/ATM)才提供了对多播通信的支持。
(2)多播地址:IP采用D类地址来支持多播。D类地址的范围244.0.0.0到239.255.255.255。且分为两个地址。永久地址为特殊用途保留的;临时地址为使用前事先创建的。
(3)库的支持:WinSock1提供了实现多播通信的API函数。第一种为WinSock提供的,要求通过套接字选项加入一个组;第二种为WinSock2提供的函数WSAJoinLeaf()函数,专门负责多播组的加入,它与基层协议无关。
3.广播:一对多的关系。与多播不同之处在于,广播把数据包的COPY发给网络中所有用户,而此时有的用户是不需要这个数据包的,这将造成带宽上一浪费,适用于无链接协议。广播无法通过路由器,组播没有这个限制,只要加入组就可以收到数据包,可以融合了单播与广播的优点。
Name : Jakee.
Leave a comment