IP 数据报传输方式 :
① 单播 : 发送数据到 单个目的主机 , 每个 单播报文 都有一个 单播 IP 地址 作为目的地址 ;
传输方式 : 是 点对点 传输方式 ;弊端 : 发送者 与 每个接收者 之间都要 建立单独的数据信道 ;② 广播 : 发送数据到 同一广播域 或 子网内所有主机 ;
传输方式 : 是 点对多点 传输方式 ;弊端 : 最后在 子网中 , 会给无关主机发送不需要的数据 ;③ 组播 : 网络中 某些用户 需要特定数据 , 发送者 只需要 发送一次 组播数据 , 通过 组播协议 , 为 组播数据包 , 建立 组播分发树 , 被传递的数据到达距离用户最近的路由器后 , 开始 复制 分发 ;
传输方式 : 是 点对多点 传输方式 ;优势 : 提高 了 数据传送效率 ; 减少了 主干网 拥塞 的可能性 ;组播组 主机 : 相同物理网络 : 组播组 中的主机 , 可以在 相同的物理网络 中 ( 默认状态 ) ;不同物理网络 : 组播组 主机 也可以在 不同的物理网络 中 , 前提是 有 组播路由器 支持 ; 组播路由器 : 运行组播协议的路由器 ;组播 IP 地址简介 :
① 作用 : IP 组播地址 , 可以让 源主机 发送数据分组 给 一组目的主机 ;
② 组播组 IP 地址 : 属于 多播组 中的主机 , 被分配 组播组 IP 地址 ;
③ 组播地址范围 : 224.0.0.0 224.0.0.0 224.0.0.0 ~ 239.255.255.255 239.255.255.255 239.255.255.255 , 这是 D D D 类地址 , 每个 D D D 类地址表示一个组播组 ;
④ 目的地址 : 组播地址 只能当做 目的地址使用 ; 源地址 只能是 单播地址 ;
组播 特点 :
① 不可靠交付 : 组合数据报 使用 UDP 协议传输 , 提供 不可靠数据传输服务 ;
② 无差错报文 : 组播数据报 不产生 ICMP 差错报文 ;
③ 组播地址特例 : 不是所有的 D D D 类地址 , 都可以作为组播地址 ;
组播分类 :
因特网组播 : 路由器之间的组播 ; 涉及到 IGMP 协议 和 组播路由选择协议 ;硬件组播 : 子网内的组播 ;组播 MAC 地址 : 组播 IP 地址 需要 使用 相应的 组播 MAC 地址 , 在本地网络中传输实际的数据帧 ;
① MAC 地址 : 由 6 6 6 个字节组成 ;
② 组播 MAC 地址 组成 : “01-00-5E” 十六进制数 ( 3 字节 ) + “0” + IP 组播地址后 23 23 23 位
③ 组播 MAC 地址范围 : 01-00-5E-00-00-00 ~ 01-00-5E-7F-FF-FF ;
④ 数据报过滤 : 主机收到 多播 数据报后 , 在 使用软件对 IP 进行过滤 , 将不属于本主机的数据报丢弃 ;
IGMP 协议 :
全称 : 网际组管理协议 ;
作用 : IGMP 协议 让 路由器 知道 本局域网 内的主机 , 是否 参加 / 退出 了 某个组播组 ; 如 : 小王 进入了 某主播直播间 , 那么小王的手机参加了组播组 ;
IGMP 协议在 TCP / IP 协议栈中的位置 : 处于 网络层 上层 , ICMP 与 IGMP 都使用 IP 数据报 传递报文 ;
IGMP 工作流程 :
① 第一阶段 : 加入组播组 ;
加入组播组 : 主机 向 组播组 的 组播地址 发送 IGMP 报文 , 声明自己成为该组的成员 ;
组播路由器更新数据 : 本地组播路由器 收到 IGMP 报文后 , 利用 组播路由选择协议 , 将组播组 成员关系发送给 因特网上的 其它组播路由器 ;
② 第二阶段 : 定期轮询组播组成员 ;
周期询问 : 本地组播路由器 每隔一段时间 , 询问 本地局域网的 组播组 1 1 1 的主机 A A A , 询问该 主机 A A A 是否是 组播组 1 1 1 成员 ;如果 主机 A A A 是组播组 1 1 1 成员 : 如果有主机 A A A 对 组播组 1 1 1 相应 , 组播路由器 认为 该组播组 1 1 1 是 活跃的 ;如果 主机 A A A 不是组播组 1 1 1 成员 : 如果没有主机响应 , 组播路由器 认为 本网络上没有 组播组 1 1 1 的成员 , 不再将本组的 A A A 主机当做组播组 1 1 1 的成员 发送给其它组播路由器 ;组播路由选择协议 :
① 目的 : 找出 以 源主机 为 根节点 的 组播转发树 ;
② 树型结构作用 : 可以避免 组播数据报 在网络上兜圈子 ;
③ 不同多播组 : 不同的多播组对应 不同的 多播转发树 ;
④ 相同多播组 : 相同的多播组 , 源点 ( 组播数据报发送站点 ) 不同 , 其多播转发树也不同 ;
常用的 组播组路由选择协议 算法 :
① 基于链路状态的路由选择
② 基于 距离-向量 的路由选择
③ 协议无关的组播
稀疏密集