1、广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对

2、通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的或者为广播地址的帧(现在有些也能接收多播地址),然后将它传输给设备驱动

3、广播的问题在于它给那些对广播数据不感兴趣的主机增加了处理负担(需要通过网卡,驱动,IP等一层层的判断),而多播的出现恰好解决了这些问题。通常一台主机会被指定加入一个或多个多播组,网卡也会被告知自己属于哪几个多播组,于是只有属于那几个组的多播数据帧才会被接受,从而大大降低了处理的开销

4、广播地址类型:

1)limited broadcast:255.255.255.255,这个地址用于在主机配置期间,即主机可能还不知道自己的子网掩码甚至IP地址的时候,作为IP数据报中的目的地址,将想要发送的数据发送到本网段中的每台主机。需要注意的是,在任何情况下,它都不会被路由器转发。

2)Net-directed Broadcast:此类地址的主机号字段全置为1,网络号字段为目的网络的网络地址。用于将数据报发送给指定网络的每台主机

3)Subnet-directed Broadcast:此类地址的主机号字段全为1,并且需要知道对应子网的子网掩码,因为子网掩码不同,可能就不再是一个广播地址了。用于将数据发送到指定子网的每台主机

4)All-subnets-directed Broadcast:与Subnet-directed Broadcast不同的是,该广播地址的子网字段也全部置1,表示将数据发送到该网络的所有子网,但是现在一般都不使用这类地址

5、IP地址分类中的D类地址就是多播地址,用点分十进制表示就是224.0.0.0~239.255.255.255,通常那些监听同一个多播地址的主机构成的集合称为host group。host group 中的主机可以跨越多个网络,并且主机可以随时选择加入或退出host group。即使一台主机不属于该host group,也能向group发送信息。

6、类似于TCP/IP中的众所周知的端口,多播地址中也有众所周知的地址用于特定的服务

7、以太网中的MAC地址对应IP多播地址的部分为01:00:5e:00:00:00~01:00:5e:7f:ff:ff,通常在发送一个多播的IP数据报,进入链路层需要确定目的MAC地址时,通常就将IP地址的右23位嵌入到相应的MAC地址中即可,如下图所示。从图中可以看出,IP地址和MAC地址并不是一一对应的,因为IP地址的第5~9位是不确定的。因此在网卡接受完数据帧后,设备驱动层和IP层仍然需要进行筛选操作。

8、多播过程:发送进程将目的地址定为一个组播地址,源主机的设备驱动将其转换成相应的MAC地址并且将其发送。接收端的进程需要告诉它的IP层它想要接受某个组播地址的数据,相应的设备驱动就设置能够接受相应MAC地址的数据帧。这样就完成了通信双方的设置,而这个过程叫做“joining a multicast group”。与UDP不同的是,通常一个多播的IP数据报能够被传输给同一台主机的多个进程,只要它们都加入了上文所说的multicast group就行

9、IGMP(Internet Group Management Protocol):该协议的作用简而言之就是支持多播的路由器为了知道将多播数据报发往哪些端口,所以它需要定期从各个端口发送询问报文,等待主机回答它们各自属于哪些multicast group,由此构建出一张端口和多播地址的关联表,从而能够对多播数据进行分发,解决了跨网段的多播问题。

10、通常主机需要维护一张用于多播的表,表中的内容有组播地址以及对应的网络接口(组播地址与网络接口绑定)以及加入相应组播的进程数目。每当有进程加入一个新的group时,主机就会从相应的网络接口发送一个通知告知组播路由器和其他组播主机,但是以后的进程再加入以及任何进程的退出都不再播报通知。

11、地址224.0.0.1被称为all-hosts group address,询问IGMP报文的目的地址就是它。它的多播组的成员为所属物理网络中所有参与多播的主机(即有进程在参与多播的主机)和路由器。地址在224.0.0.0~224.0.0.255的多播地址要求多播的距离不能超过一跳,即多播路由器不能转发该地址的多播IP数据报,即使该数据报中的TTL不为0

《TCP/IP详解 卷一》读书笔记-----广播&多播&IGMP的更多相关文章

  1. 《TCP/IP详解》读书笔记

    本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层   一.整体概念   1.各层协议的关系,只讨论四层 各层常见的协议:   网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...

  2. TCP/IP详解 卷一学习笔记(转载)

    https://blog.csdn.net/cpcpcp123/article/details/51259498

  3. TCP/IP详解 卷一(第十三章 IGMP:Internet组管理协议)

    本章将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP) 它让一个物理网络上的所有系统知道主机当前所在的多播组.多播路由器需要这些信息以便知道多播数据报应该向那些接口转发. 跟I ...

  4. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  5. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  6. 【TCP/IP详解 卷一:协议】第二章:链路层

    2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...

  7. 『TCP/IP详解——卷一:协议』读书笔记——02

    2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...

  8. 『TCP/IP详解——卷一:协议』读书笔记——15

    2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常 ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——14

    2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其 ...

随机推荐

  1. csharp:VerifyCode in winform or webform

    winform: using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...

  2. 转 PHP在JVM上的实现JPHP

    前两天还在想,像Quercus只封装了PHP在Java上的Web接口,有没有实现了完整的JVM语言特性的东东,这不,来了. JPHP是一个面向Java虚拟机的PHP实现,支持PHP(5.3+)的很多特 ...

  3. Exchange 2013 、Lync 2013、SharePoint 2013 二

    上一篇简单介绍了安装过程,本篇主要集成 上一篇文章有关于头像的显示问题,engineer  给出了一个连接,介绍了Exchange和Lync的集成过程,根据介绍都配制了一遍. 一.Exchange 和 ...

  4. html5 大幅度地增加和改良input元素的种类

    增加和改良input元素 url类型.email类型.date类型.time类型.datetime类型.datetime-local类型.month类型.week类型.number类型.range类型 ...

  5. CMD和AMD

    CMD是国内玉伯在开发SeaJS的时候提出来的,属于CommonJS的一种规范,此外还有AMD,其对于的框架是RequireJS. 二者的异同之处: 二者都是异步(Asynchronuous Modu ...

  6. while循环语句的使用

    说明:先判断表达式,后执行语句,while循环称为当型循环. 如果指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句. 格式:while (表达式)   //判断括号内表达式 真(tru ...

  7. [android] 短信发送器

    /*****************2016年4月23日 更新********************************/ 知乎:什么是 7 位元的字符? 英文字符难道不是 8 bit 是一个字 ...

  8. Atitit.图片木马的原理与防范 attilax 总结

    Atitit.图片木马的原理与防范 attilax 总结 1.1. 像图片的木马桌面程序1 1.2. Web 服务端图片木马1 1.3. 利用了Windows的漏洞1 1.4. 这些漏洞不止Windo ...

  9. 用js实现在加载完成一个页面后自动执行一个方法

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  10. 扩展SharePoint链接字段

    默认SharePoint中的链接字段有很多限制,例如 输入文字的时候只能录入255个字符 链接显示的是文字 点击链接后只能在当前页面打开链接 - - - - - - -- - - - - - -   ...