Skip to content

Latest commit

 

History

History
50 lines (25 loc) · 3.29 KB

广播和多播.md

File metadata and controls

50 lines (25 loc) · 3.29 KB

广播和多播

广播和多播仅用于 UDP ,它们对需将报文同时传往多个接收者的应用来说十分重要。TCP 是一个面向连接的协议,它意味着分别运行于两主机(由 IP 地址确定)内的两进程(由端口号确定)间存在一条连接。

通常每个以太网帧仅发送往单个目的主机,目的地址指明单个接收接口,因而称为单播。在这种情况下,任意两个主机的通信不会干扰网内其他主机。

有时一个主机要向网上的所有其他主机发送帧,这就是广播。

多播处于单播和广播之间:帧仅传送给属于多播组的多个主机。

主机对由信道传送过来帧的过滤过程

接口卡 -> 设备驱动程序 -> IP -> UDP

  1. 网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序。通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧。如果检验和错,网卡将丢弃该帧。

对于以太网,当地址中最高字节的最低位设置为 1 时表示该地址是一个多播地址。

  1. 设备驱动程序将收的帧进行过滤。首先,帧类型中必须指定要使用的协议(IP、ARP 等等)。其次,进行多播过滤来检测该主机是否属于多播地址说明的多播组。

  2. 设备驱动程序随后将数据帧传送给下一层,比如,当帧类型指定为 IP 数据报时,就传往 IP 层。IP 层根据 IP 地址中的源地址和目的地址进行更多的过滤检测。如果正常,就将数据报传送给下一层(如 TCP 或 UDP)。

  3. 每次 UDP 收到由 IP 传送来的数据报,就根据目的端口号,有时还有源端口号进行数据报过滤。如果没有当前进程使用该目的端口号,就丢弃该数据报并产生一个 ICMP 不可达报文。(TCP 个根据它的端口号作相似的过滤)。如果 UDP 数据报存在检验和错,将被丢弃。

使用广播的问题在于它增加了对广播数据不感兴趣主机的处理负荷。

广播

  • 受限的广播,地址是 255.255.255.255,该地址用于主机配置过程中 IP 数据报的目的地址,此时,主机可能还不知道它所在网络的掩码,甚至连它的 IP 也不知道。

    在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。

  • 指向网络的广播,主机号全为 1 的地址。一个路由器必须转发指向网络的广播,但它也必须有一个不转发的选择。

  • 指向子网的广播,主机号全为 1 且有特定子网号的地址。

  • 指向所有子网的广播,子网号及主机号全为 1。如果网络没有划分子网,这就是一个指向网络的广播。

多播

IP 多播提供两类服务:

  1. 向多个目的地址传送数据。

  2. 客户对服务器的请求。

能够接收发往一个特定多播地址数据的主机集合称为主机组。一个主机组课跨越多个网络。主机组中成员可以随时加入或离开主机组。主机组中对主机的数量没有限制。

D 类 IP 地址(224.0.0.0 - 239.255.255.255)被称为多播组地址。通过将其低位 32 bit 映射到相应以太网地址中便课实现多播组地址到以太网地址的转换。