TCP/IP||UDP广播和多播
1.概述
广播和多播应用于UDP,TCP是一个面向连接协议,意味着分别运行与两个主机内的两进程间存在一个连接,在考虑多个主机内的共享通信网络,每个以太网帧包含源主机和目的主机以太网地址(48bit),通常以以太网帧发往单个主机,目的地指明单个接收接口,因此称单播(unicast),然而需要一个主机向网上的所有主机发送帧,只就是广播,再通过ARP和RARP发现,多播(multicast)处于单播和广播之间,帧仅属于多播组的多个主机.
该图中,网卡查看由信道传送过来的帧,确认是否收到帧,如果接收到发往设备驱动程序,网卡接收目的地址为网卡物理地址或广播地址的帧,收到目的地址为网卡物理地址或广播地址的帧.多数接口具备设置为混杂模式,这种模式可以接收到每个帧的肤质,TCPDUMP就是使用这个模式
大多数网卡经过配置都能接受到目的地址为多播地址或某些子网多播地址的帧.对于以太网,当地址的最高字节的最低位设置为1时表示地址为多播地址十六进制标示为(ff:ff:ff:ff:ff:ff:ff:ff)
如果网卡接收到帧,帧传送给设备应用程序,设备应用程序进行帧过滤,帧类型必须指定要使用的的协议,其次,多播过滤检测该主机是否属于多播地址说明的多播组
设备应用程序随后将数据传送给下一层,当帧类型指定为IP数据报时,就传往IP层,IP根据IP地址中的原地址和目的地址进行过滤检测,如果正常,将数据报传给下一层
当UDP接收到数据报时,就根据目的端口号,或者源端口号进行数据过滤,如果进程没有该端口号,则丢弃数据产生一个ICMP不可达报文.如果UDP检验到差错则丢弃
多播出现减少了处理负荷,使用多播,主机可加入一个或多个多播组.
2.广播
2.1受限的广播
广播地址为255.255.255.255,地址用于主机配置过程中IP数据报目的地址,本地地知不知道所在地址的子网掩码。routed和rwhod是向每个接口发送UDP数据报的2个应用程序,均使用相似的启动过程来确定主机的所有接口
2.2指向网络的广播
只想网络的广播地址是主机好为全1的地址,A类为netid:255.255.255.255,netid为A类网络信号.
2.3指向子网的广播
全1且特定子网号地址,作为子网直接广播地址的IP地址需要了解子网掩码
2.4指向所有子网的广播
如果目的地子网掩码为255.255.255.255,那么IP地址128.1.255.255是一个指向所有子网的广播地址,如果没有划分子网,就是一个指向网络的广播,在RFC 922种指定
3.多播
IP多播提供2种服务
1.向目的地址传送数据.
2.客户对服务器的请求
3.1多播组地址
分配的28bit地址均使用多播组号,包括1110的4bit和多播组号,通常表示为点分十进制数,范围224.0.0.0到239.255.255.255
TCP/IP||UDP广播和多播的更多相关文章
- UDP广播与多播
UDP广播与多播 使用UDP协议进行信息的传输之前不需要建议连接.换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去.至于服务 ...
- socket udp广播和多播的简单实现
UDP广播与多播 作者:legend QQ:1327706646 使用UDP协议进行信息的传输之前不需要建议连接.换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的ip地址和端口号,然后将信 ...
- TCP/IP网络编程之多播与广播
多播 多播方式的数据传输是基于UDP完成的,因此,与UDP服务端/客户端的实现非常接近.区别在于,UDP数据传输以单一目标进行,而多播数据同时传递到加入(注册)特定组的大量主机.换言之,采用多播方式时 ...
- TCP/IP协议---广播和多播及IGMP协议
老板找某个高层谈话,这是一对一形式.当老板叫来所有高层谈话,那么就变为了一对多.计算机网络中也是如此,当一个主机需要和更多机器对话时,就有了广播和多播这种形式. 广播和多播仅应用于UDP,它们对需将报 ...
- Socket,TCP/IP,UDP,HTTP,FTP
1.Socket:套接字,是传输层协议的一种编程API 作用:用于描述IP地址和端口,区分来自不同应用程序的通信,实现数据传输的并发服务 JDK Socket:在java.net包下有两个类Sock ...
- SOCKET,TCP/IP,UDP,HTTP,FTP总结
一.TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组(主要解决数据如何在网络中传输),可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议 ...
- udp广播和多播
使用UDP协议进行信息的传输之前不需要建立链接, 客户端向服务器发送信息时,客户端只需要给出服务器的ip地址和端口号,可以发送信息.至于服务器端是否存在,是否能够收到该报文,客户端根本不用管. 广播( ...
- android 网络编程--socket tcp/ip udp http之间的关系
网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层,一般编程人员接触最多的就是应用层和运输层,再往下的就是所谓的媒体层了,不是我们研究的对象. 下面是应用层.运输层,网络 ...
- .net 使用TCP模拟UDP广播通信加强广播通信的稳定性
应用场景:当每一台终端开启程序后发出消息,其他终端必须收到消息然后处理 思路1:使用UDP广播. 缺点:UDP广播信号不稳定,无法确定每一台机器能接收到信号 思路2:将一台主机作为服务器,使用 ...
随机推荐
- LeetCode114 Flatten Binary Tree to Linked List
Given a binary tree, flatten it to a linked list in-place. (Medium) For example,Given 1 / \ 2 5 / \ ...
- 罗列Python标准模块
文本 1. string:通用字符串操作 2. re:正则表达式操作 3. difflib:差异计算工具 4. textwrap:文本填充 5. unicodedata:Unicode字符数据库 6. ...
- 动态设置iframe高度
<%//动态设置iframe高度 %><script language="javascript" type="text/javascript" ...
- HZOJ 寿司
这题也是挺神仙的,现在O(n)的解法还没打出来,只是用O(nlogn)卡过去了(理论上可以过),sdfz某大佬用三分拿到了65分…… 考试连暴力都没打出来…… n2暴力T40: 首先将环拆成链,我们可 ...
- day5_python之hashlib模块
用来校验文本内容hash:一种算法 ,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法三个特点:1.内容相同则h ...
- sublime简介
Sublime Text是一个代码编辑器.也是HTML和散文先进的文本编辑器.漂亮的用户界面和非凡的功能,例如:多选择,Python插件,代码段等等.完全可自定义键绑定,菜单和工具栏等等.漂亮的用户界 ...
- P3899 [湖南集训]谈笑风生 主席树
#include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> ...
- 带你进入 Activiti 工作流的世界
Activiti 是一个针对企业用户.开发人员 .系统管理员的轻量级工作流业务管理平台,其核心是使用 java 开发的快速 . 稳定的 BPMN2.0 流程引擎 .它可以与 spring 完美集成. ...
- settTimeout vs setInterval
setTimeout:过一段固定的时间后,将代码提交到代码队列中排队. setInterval:每隔一段固定的时间,执行一次代码. 他们两都接受两个参数,第一个参数是字符串或者函数,第二个参数是设定的 ...
- [转]Android Studio实现代码混淆
1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt: bui ...