首页 > 代码库 > 组播协议原理讲解
组播协议原理讲解
单播、组播、广播是计算机网络上三种基本的通信方式。
单播是相互感兴趣的主机双方进行通信的方式,主机不能接收对其不感兴趣的其它主机发送的信息,属于点对点通信。
广播是主机向子网内所有主机发送信息,子网内所有主机都能收到来自某台主机的广播信息,属于点对所有点的通信。
组播则介于两者之间,是主机向一组主机发送信息,存在于某个组的所有主机都可以接收到信息,属于点对多点通信。下边用张图表示这三种方式的数据传输:
这张图可以简单看出来这三种方式的传输方式,下边来具体细分下。
首先说下单播与组播的区别:
单播即点对点的方式进行数据传输,组播类似与一个qq群,大家上线了别人都知道,另外一个人发送消息,该群里的人都能收到(抛开隐身、离线消息)。这里只是举例子,具体实现不是这样的,这里只是让大家更容易理解一些。下边看图理解:
图中如果要用单播实现多个发送则需要同时发送三条消息,而组播只需发送一条就可以完成了,所以说组播比较节省带宽。
接下来再说下组播与广播的区别吧:
组播跟广播类似,广播可以认为是组范围最大化的组播,广播是发送给所有人,而组播是发送给一个组中的人。当然,二者还是存在显著区别的:首先,广播被限制在子网内,
不会被路由器转发。其次,主机被默认为是接收者,组播方式则需要主机主动加入。另外广播的方式容易造成网络阻塞,几年前的广播风暴相信大家到现在都没有忘记。这里没找着合适的图,大家慢慢理解吧。
组播及广播由什么设备进行转发的?
组播及广播是由交换机进行转发的,如果是没有组播功能的交换机,则组播将会视为广播发送。路由器为具有路由功能的交换机,比交换机功能更强大些,所有说路由同样支持组播方式。现在的交换机都具备组播转发的功能,所以不用担心组播方式设备不支持的情况。下边上张组播交换机转发原理图:
组播协议原理讲解