广播和多播仅应用于UDP,它们对需将报文同时传往多个接收者的应用来说十分重要。

    单播:
    每个以太网帧包含源主机和目的主机的以太网地址(48bit)。
    通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,因而称为单播(unicast)
    在这种方式下,任意两个主机的通信不会干扰网内其他主机。
    广播:
    有时一个主机要向网上的所有其他主机发送帧,这就是广播。通过ARP和RARP可以看到这一过程。
    多播:
    多播(multicast)处于单播和广播之间:帧仅传送给属于多播组的多个主机。

    主机对由信道传送过来帧的过滤过程:
    image.png
    1. 网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序

    • 通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧
    • 另外,接口也可以被设置为混合模式(混杂模式),这种模式能接收每个帧的一个复制

    2. 设备驱动程序对网卡发过来的帧进行一系列的过滤,随后将数据帧传送给下一层,比如,当帧类型指定为IP数据报时,就传往IP层。
    3. IP根据IP地址中的源地址和目的地址进行更多的过滤检测,就将数据报传送给下一层(如TCP或UDP)。
    4. 每次UDP收到由IP传送来的数据报,就根据目的端口号,有时还有源端口号进行数据报过滤。

    • 如果当前没有进程使用该目的端口号,就丢弃该数据报并产生一个ICMP不可达报文(TCP根据它的端口号作相似的过滤)
    • 如果UDP数据报存在检验和错,将被丢弃