什么是单播、组播和任播?

单播、组播、任播是三种不同的数据发送方式:单播是一对一,组播是一对多,任播是多个接收者共享同一地址、数据送达最近的一个。第 18 期介绍的 Anycast 是任播;日常上网的绝大多数通信都是单播。

单播(Unicast)是最常见的方式:一个发送者把数据发给一个接收者。浏览网页、收发邮件都属于单播,数据从一台设备送到另一台设备。

组播(Multicast)是一对多:一个发送者把数据同时发给一组接收者。与分别给每个接收者单独发一份不同,组播在网络层面复制数据,常用于视频直播、网络会议等场景。接收者需要加入特定的组播组才能收到数据。日常上网中组播的使用比单播少得多。

任播(Anycast)与两者都不同:多个服务器共享同一个地址,数据会送达其中"最近"的一个。第 18 期介绍过,任播通过 BGP 路由实现,DNS 根服务器和 CDN 都靠它把请求导向最近的节点。对照来看:单播的目标地址对应一台设备,组播对应一组设备,任播对应一组等效服务器中的任意一台。