# Beyond best-effort/Unicast

大概[背景](https://blog.csdn.net/lhf_tiger/article/details/40349313)

* unicast: 给每一个host发一份copy，如果host巨大，unicast要发送多次，bandwidth占用巨大
* broadcast: 只发送一份copy，但是所有host都必须停下手中的工作去检查这份copy是否是发给自己的，占用host端cpu处理时间；multi-media会占用高达7Mbps甚至更高的带宽；如果number of host较小，这种方式不合适
* multicast: 多媒体网络环境下的最佳方式，对一组用户只发送一个数据包的拷贝
  * 特性
    * 数据统一发给一个host group
    * 采用UDP, "best effort"
    * 成员可随时加入退出（i.e. 动态成员管理），成员可加入多个host group
    * 成员不受数量及所处位置的限制
    * 支持多host group
    * 多播发送端，即源端不需要加入host group
    * 多播组成员不需要加入数据
  * 多播组成员可以保持匿名（因为采用的是UDP机制）
* Additional reading&#x20;
  * [https://www.cl.cam.ac.uk/\~jac22/books/mm/book/node70.html](https://www.cl.cam.ac.uk/~jac22/books/mm/book/node70.html) （写得非常详细！）&#x20;
    * Center based tree: map the multicast group address to a particular unicast address of a router, and build explicit distribution trees centered around this particular router
  * [https://web.stanford.edu/class/ee384a/files/Introduction\_to\_IP\_Multicast\_Routing.pdf](https://web.stanford.edu/class/ee384a/files/Introduction_to_IP_Multicast_Routing.pdf)&#x20;
