# 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> （写得非常详细！）&#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>&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sliu583.gitbook.io/blog/networking/index/cs-268-adv-network/beyond-best-effort-unicast.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
