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:将一台主机作为服务器,使用 ...
随机推荐
- Android Service Summary
In the Androird, service is a none-UI background process that is doing some specific jobs. 6.1 Ex ...
- C# 局部函数与事件
本文告诉大家使用局部函数可能遇到的坑. 在以前,如果有一个事件public event EventHandler Foo和一个函数private void Program_Foo(object sen ...
- 是readdir,还是readdir_r
readdir的原型如下: struct dirent *readdir(DIR *dirp); 因为内部使用了静态数据,所以readdir被认为不是线程安全的函数,POSIX[i]标准这样描述: T ...
- Android 使用SystemBarTint设置状态栏颜色
做项目时,发现APP的状态栏是系统默认的颜色,突然想到,为啥别的APP是自己设置的颜色(和APP本身很相搭),于是也想给自己的APP设置系统状态栏的颜色,更加美美哒... 搜了下,发现原来设置状态栏居 ...
- Python字节码介绍
了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的.如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代码 ...
- win10提示 磁盘包含不是“PARTITION_BASIC_DATA_GUID"类型的分区
在win10创建新的磁盘分区的时候,有时候会提示 磁盘包含不是"PARTITION_BASIC_DATA_GUID"类型的分区 如果你试了其他方法都不凑效,那么看看你已经有几个盘( ...
- 添加SuperSocket的启动代码到 Windows Azure 的 WorkRole 项目
与其它SuperSocket程序相同,启动代码同样也要写到程序的入口处,如 Windows Azure 的 WorkRole 项目的OnStart() 方法: public override bool ...
- tensorflow入门——5tensorflow安装
你将把你学到的神经网络的知识,借助 TensorFlow ,一个 Google 开源的深度学习框架,应用在真实的数据集中. 你将使用 TensorFlow 来辨别 notMNIST 数据集.它是一个由 ...
- clear简单的例子
非常实用,非常简单的例子,结果都在图片里 <html> <head> <style> .keepbj { width:800px; height: 300px; b ...
- 纯JS前端分页方法(JS分页)
1.JS分页函数:开发过程中,分页功能一般是后台提供接口,前端只要传page(当前页码)和pageSize(每页最大显示条数)及对应的其他查询条件,就可以返回所需分页显示的数据. 但是有时也需要前端本 ...