标签:分类 sina 利用 icmp 包含 相同 硬件 没有 传递
单播:源地址、目的地址都是单播地址 一对一,点对点
广播:源地址单播地址,目的地址全1 一对多,点对多点
组播: 只给一个有相同需求(组播组)的主机, 被传递的数据到达离用户端尽可能近的时候才会复制多份 分发 (快到组播组的时候数据才散开), 点对特定多点
单播太占资源了
只有最后一步,一个数据报才会被复制成很多数据报,分发给主机。
多播就好多了。并且组播组还可以处于在不同的局域网,比如上图中,每个局域网内的一号主机共同构成一个组播组(通过组播IP地址找到组播组的每一个成员)。
一个组播组内的成员拥有一个相同的组播IP地址,这个组播IP地址和自己原来的唯一性IP地址不是一个地址,是新生成的专门用来组播传送的IP地址。
组播地址范围:
? 224.0.0.0——239.255.255.255 就是D类地址
? 一个D类地址就可以表示一个组播组;组播地址只能作为目的地址,源地址仍然是单播地址
硬件组播 本局域网内多播
组播数据传到局域网范围内,数据帧的实际传输还是要依靠Mac地址,但是特定待收数据主机的Mac地址我们并不知道(不能ARP协议,那样就成单播了) ,我们可以把组播IP地址的后23位复制到一个Mac地址,这个Mac地址的前25位是固定的,这样的Mac地址叫做 组播Mac地址 ,就能真正收到组播传来的帧了。
下图:组播IP地址映射成组播Mac地址
? 不同的组播IP地址是可能映射成相同的组播Mac地址的。D类地址后23位一样,中间5位不一样就能做到。 解决办法就是 IP层利用软件进行过滤。
因特网范围内多播,需要使用协议:
IGMP协议 (网际组管理协议)
路由器内使用IGMP协议,就能知道路由器连接的局域网内是不是还有接收组播数据的主机(哪些主机是加入主播组的,哪些不是组播组的)
通过IGMP协议知道某个局域网内没有组播组成员,就不会把组播数据发送给该路由器
网络层的协议,使用IP数据报发送报文
发送给其他组播路由器就是为了把 这个主机加入组播组的信息 扩散出去
组播路由选择协议
就是路由选择协议。
一个组播组内的成员可以动态变化,加入/离开
标签:分类 sina 利用 icmp 包含 相同 硬件 没有 传递
原文地址:https://www.cnblogs.com/fennleo/p/13492593.html