《TCP/IP详解 卷一》读书笔记-----广播&多播&IGMP
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的更多相关文章
- 《TCP/IP详解》读书笔记
本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层 一.整体概念 1.各层协议的关系,只讨论四层 各层常见的协议: 网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...
- TCP/IP详解 卷一学习笔记(转载)
https://blog.csdn.net/cpcpcp123/article/details/51259498
- TCP/IP详解 卷一(第十三章 IGMP:Internet组管理协议)
本章将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP) 它让一个物理网络上的所有系统知道主机当前所在的多播组.多播路由器需要这些信息以便知道多播数据报应该向那些接口转发. 跟I ...
- 『TCP/IP详解——卷一:协议』读书笔记——10
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...
- 『TCP/IP详解——卷一:协议』读书笔记——01
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...
- 【TCP/IP详解 卷一:协议】第二章:链路层
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...
- 『TCP/IP详解——卷一:协议』读书笔记——02
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...
- 『TCP/IP详解——卷一:协议』读书笔记——15
2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常 ...
- 『TCP/IP详解——卷一:协议』读书笔记——14
2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其 ...
随机推荐
- 重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame
[源码下载] 重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame 作者:webabcd 介绍重新想象 Windows 8.1 St ...
- javascript:Bing Maps AJAX Control, Version 7.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- LeetCode126:Word Ladder
题目: Given two words (start and end), and a dictionary, find the length of shortest transformation se ...
- DP入门---Robberies
HDU 2955 Description The aspiring Roy the Robber has seen a lot of American movies, and knows that ...
- oracle client ORA-12541: TNS: 无监听程序
1. Question description: if you are setting the oracle client to add a local network service, you m ...
- LINUX重启MYSQL的命令
LINUX重启MYSQL的命令 标签: mysqllinuxservice脚本web服务server 2010-06-25 10:21 62152人阅读 评论(0) 收藏 举报 分类: Linux( ...
- 如何给span设置高度宽度?
内容提要:给Span设置高度和宽度后没有作用.本文介绍了如何如何给span设置高度宽度. CSS模型中经常用的容器是DIV和span. 给Span设置高度和宽度后没有作用. <style typ ...
- 操作数据库系统(OLTP)和联机分析处理系统(OLAP)的区别
联机操作数据库系统的主要任务是执行联机事务和查询处理.这种系统称为联机事务处理(OnLine Transaction Processing,OLTP) 系统.它们涵盖了单位的大部分日常操作,如购物,库 ...
- CSS 相邻选择器(七)
一.相邻选择器 相邻选择器前后部分之间用一个加号(+)隔开,前后两部分选择反符在结构上属于同级关系,如 相邻选择器,是根据左侧选择符指定相邻元素,然后在该相邻元素后面寻找匹配匹配右侧选择符的相信元素 ...
- Dataset的基本操作
创建一个dateset并往其中加入列 DataSet dsClass = new DataSet(); DataTable dtClass = new DataTable("Class&qu ...