计算机之间发送数据时,通常为一对一的发送与接收关系,即一台计算机发送数据给另一台计算机。这种数据传播的方式称为单播(unicasting)。
有时一台计算机发送的数据需要被传输到网络上所有的计算机,这种一对多的发送与接收方式称为广播(broadcasting)。
还有一种多点交付的形式,它允许一台计算机发送的数据被传输到网络上的某个特殊的群组,这个群组往往也包含多台计算机,这种特殊的一对多的发送与接收方式称为多播(multicasting)。
以下动画描述了这三种不同的传播方式:
无论是单播、广播还是多播,都需要通过特定的网络标识来表示不同的地址。在以太网中采用48比特的物理地址结构,其中全1表示广播地址。而G/I位置1时,表示组播地址。
当然,并不是所有的物理网络地址都支持多播的方式。
那么,组播方式在实际网络传输中有什么用途呢?
组播方式能够解决特定一组接收对象的传输中,广播和单播方式无法很好解决的情况。
如果采用广播技术完成组播功能,那么,必然使非组员的计算机也接收到额外的数据,并且需要对所接收的数据进行判断和筛选,造成巨大的处理开销;
如果采用单播技术完成组播功能,那么,发送数据计算机必须对每个接收计算机发送一份数据拷贝。这会增加发送计算机的处理开销,同时会消耗大量的网络带宽资源。