参考: 《TCP/IP详解 卷一》
单播
unicast 在单播的情况下,任意两个主机的通信不会干扰网内其他主机(可能引起争夺共享信道的情况除外)
广播
有时候一个主机要向网上的所有其他主机发送帧,这就是广播。 使用广播的问题在于他增加了对广播数据不感兴趣的主机的处理负荷。 一直到UDP层收到的广播数据报才会被丢弃
多播(或者叫做组播)
多播处于广播和单播之间,帧仅传送给属于多播组的多个主机。 多播的出现减少了对应用不感兴趣的主机的处理负荷。 使用多播,主机可以加入一个或者多个多播组,这样,网卡将获悉该主机属于哪个多播组,然后仅接收主机所在多播组的那些多播帧。
当然多播只是一种解决方案,如果不使用多播,那么也可以使用TCP向每个目的地的地址传送一个单独的数据复制。
问题:广播是否增加了网络的通信量?
没有增加通信量,但是会加重不感兴趣的主机的处理负荷。
应用场景如下
上面讲了那么多,都是理论,有些干燥,下面看看实际应用场景。 局域网内设备发现:
通过udp组播,一对多传递数据。
Teacher:
Student1 Student2 Student3
一个简单的架构图
这里面既有udp也有tcp,很显然udp和tcp的不同特性也决定了他们的使用场景不尽相同。
udp广播
使用udp来进行局域网ip发现
找到局域网内的其他设备,并获取到ip
|