一、概述
虽然UDP支持各种形式的地址,但TCP只支持单播地址。
上图要点是:
- IPv4对多播的支持是可选的,而IPv6则时必须的。
- IPv6没有提供对广播的支持:当使用广播的IPv4应用程序一直到IPv6时,必须使用IPv6的多播方式进行重新编码。
- 广播和多播要使用UDP,二者都不能使用TCP
广播的用途:
1.假定服务器主机在本地子网上,但不知道它的单播IP地址时,对它进行定位,这就是资源发现。
2.当有多个客户和单个服务器通信时,减少局域网上数据流量。
常见的实例
1.ARP:ARP是IPv4的一个i额基本组成部分,而不是一个用户应用程序。
2.BOOTP(引导协议,Bootstrap Protocol):客户假定有一台服务器主机在本地子网上。
3.NTP(网络时间协议,Network Timer Protocol):一种常见的情形是:一个NTP客户主机可能配置成使用一个或多个服务器主机IP地址,其上面的NTP客户于是以某个频率轮询这些服务器。
4.路由后台进程。
二、广播地址
如果用{netid,subnetid,hostid}({网络ID,子网ID,主机ID})表示IPv4地址,那么有四种类型的广播地址。
1.子网广播地址:{netid,subnetid,-1}。这类地址编排指定子网上的所有接口。
2.全部子网广播地址:{netid,-1,-1}。这类广播地址编排指定网络上的所有子网。
3.网络广播地址:{netid,-1}。这类地址用于不进行子网划分的网络。
4.受限广播地址:{-1,-1,-1}或255.255.255.255。路由器从不转发目的地址为255.255.255.255的IP数据报
三、竞争状态
多个进程访问共享数据,但正确结果依赖于进程的执行顺序,这种情况我们称之为竞争状态。
竞争状态通常是线程编程中时钟要注意的一个重要问题,因为在线程中有非常多的数据需要共享。