多播与广播

广播与多播 多播支持在IPv4中是可选的,在IPv6中却是必需的。 IPv6不支持广播。使用广播的任何IPv4应用程序一旦移植到IPv6就必须改用多播重新编写。 广播和多播要求用于UDP或原始IP,它们不能用于TCP。 广播 广播的用途之一是在本地子网定位一个服务器主机,前提是已知或认定这个服务器主机位于本地子网,但是不知道它的单播IP地址。这种操作也称为资源发现。 源自Berkeley的内核不允 阅读详情
 
IP Multicast 是Internet 中针对一对多通信的协议标准,多数的客户/服务器系统都采用此协议。它是Internet 协议簇的延伸,是TCP/IP协议层中的网络层。它与传统的IP协议的不同之处就在于它更适用于支持客户/服务器系统的多媒体应用。

   
传统的TCP/IP网络中,发送者将数据包发向网络,网络中的其他站点都会检测到它的存在。但是只有当包的目的地址与站点的地址相符时,才能被接收。如果发送者想将包发给多个接收者(一对多会话),他只能有两个选择:
   
将数据包分别发给每个接收者。这种情形下,每次都需要特别指定接收者的地址。如果一个发送者发出一个1Mbps的数据流,将给每个接收者带来1Mbps的数据量。不难想象,一个多媒体节目广播给几百个接收者时,网络将很快达到饱和。
   
指定一群广播地址,将数据发向它们,不管收端是否愿意接收。不仅网络中的每个站点会收到数据,与网络相连的其他外部网同样也会收到(除非与外部网相连的网关、网桥、路由器设置了滤除广播数据流的功能)。这还是一个数据流,但是却被额外发向了一些无接收要求的目的地。
以上两种方式都将浪费大量的网络资源。

    IP
多播使多媒体应用软件的发端仅须发送一次数据。数据流被所有想接收数据的用户接收,却并不必为每个收端单独发送。应用软件仅须将D类IP地址放在数据包的目的地址区内。想接收数据的用户会接受此类具有D类IP地址的数据包,其它用户仅须忽略。这样,数据流就不会造成不必要的网络拥塞了。

    D
类IP地址的范围是224.0.0.0至239.255.255.255.此范围内的子集239.0.0.0至239.255.255.255被单独划出用做本地网使用,叫做管理范围的IP多播地址(administratively scoped IP Multicast address)。

   
具有IP多播功能的网间路由器允许音频/视频数据在本地网以外传输,包括Internet。通过限制多播会话的有效地址范围,能够确保数据在恰当的本地网或广域网上传,而不是整个全球网。路由器的路径剪切功能(pruning capability)会进一步减少不必要的数据量产生。

   
如果网络路由器应用了剪切(pruning)算法,IP多播数据流的传输将会更高效。Pruning是减少非必要数据包传播的一种方法。例如网络A到网络E之间存在着多路径,通向无定订阅意向的用户的网络路径被剪切。定阅多播会话(session)的用户采用IGMP协议, IGMP将有关订阅者的信息传送给接收网络的路由器。               

   
有几种限制多播数据包行程范围的方法。包括对会话中的每个包分配TTL值(Time-to-Live);在mrouted主机或具IP多播功能的路由器上设置TTL门限值;利用D类IP地址子集的有关特性。

    TTL
值决定了一个包能够“跳跃”(hop)多少次(即数据包被路由器最终拒传之前,能够转换多少个路由器)。如果你所使用的多播会话分配应用软件允许设定会话(session)的TTL值,你应为你的网络拓扑结构设置合适的TTL.

   
例如,对于MBONE会话,你可以将TTL值设在四个预先指定行程中的任意一个之内,或者设定一个具体值。它们是:Local(1 hop),Site(15hops),Region(63 hops)和Worldwide(127 hops).这些值是针对MBONE网的。对于不同的网络环境,将使用不同的值。但须注意的是,在包含Internet接点的复杂拓扑结构的网络中,将TTL值设为相对较小值并不能保正多播数据包不被传送到Internet上。TTL参数应和TTL门限, 限定的IP多播地址范围相结合使用。

    TTL
门限是一个路由器性能,对mrouted和IP路由器都适用。当TTL门限值被设定之后,只有当数据包的TTL值大于门限值时才能被传送。因此,通过将门限设为比本网最大hop数还大的值,或将包的TTL值设为小于或大于最大hop数,你就可阻止数据包流出本网。

   
管理范围内(administratively Scoped)的IP多播地址是D类IP地址的子集,即将239.0.0.0至239.255.255.255。这些地址被看做是本地地址。要使用此类地址来限制多播会话的行程,你应做如下几点:
   
将会话的多播地址设在上述地址范围之内。
   
设置构成边界的路由器,使路由器不将数据包传出边界。
   
   
以上步骤预先假定了你所用的软件允许你对会话设定多播地址(如Cisco公司的IP/TV软件),且你的路由器具有设置地址边界的功能。 

    IP
多播综合了几种不同的路径协议,如:
    Protoclo Independent Multicasting (PIM), supported by Cisco Systems and Bay Networks
    Distance Vector Multicast Routing Protoclo(DVMRP),supported by Cisco Systems ,Bay Networks and 3Com
    Multicast Open Shortest Path First(MOSPF) ,supported by Proteon and 3Com   
 
广播
1~126.255.255.255  (A类网广播地址)
128~191.XXX.255.255 (B
类网广播地址)
192~254.XXX.XXX.255 (C
类网广播地址) 
LocalIP为本地IP
广播IP地址为:

procedure SetBroadCastIp;
var
  i,j,iHead:Integer;
  sHead,s:String;
  ai:array [1..3] of integer;
begin
j:=1;
for i:=0 to Length(LocalIP) do
  begin
  if LocalIP[i]='.' then
    begin
    ai[j]:=i;
    Inc(j);
    end;
  if j>3 then break;
  end;
sHead:=Copy(LocalIp,1,ai[1]-1);
iHead:=StrToInt(sHead);
if iHead<128 then  //A
类网
  begin
  BroadCastIP:=sHead+'.255.255.255';
  end
else
  begin
  if iHead<192 then //B
类网
    begin
    s:=Copy(LocalIP,1,ai[2]-1);
    BroadCastIP:=s+'.255.255';
    end
  else  //C
类网
    begin
    s:=Copy(LocalIP,1,ai[3]-1);
    BroadCastIP:=s+'.255';
    end;
  end;
end;  
 
 
發送Packet: Source Address: 你自己的MAC address
Direction Address: EE EE EE EE EE EE
將MAC全部置1,成為局域网廣播地址
這樣就根本不用管你要發送消息的目的IP是多少了.
順便說一下:你的廣播封包只能在一個廣播域里傳播,通過路由器會被屏蔽掉.
以 .255 结尾的地址是广播地址沒錯,但是不以 . . .255結尾的IP也同樣可以是廣播地址
 
单播、多播和广播的比较 网络基本知识,单播、多播和广播的比较 立即下载

相关推荐

SpringBoot文件上传实战:MultipartFile重复读取的3种方法(附避坑指南)

本文详细介绍了SpringBoot中处理MultipartFile重复读取的3种实用方法,包括字节数组缓存法、临时文件法和流重置法,并提供了避坑指南和性能优化技巧。特别适合需要多次读取上传文件内容的开发者,帮助解决InputStream流只能读取一次的问题。

weixin_28710999的博客 398

TCP/IP网络编程——多播与广播

TCP/IP网络编程——多播与广播

u011895157的博客 2021

C语言入门—初识C语言

一、C语言概述 1、什么是C语言 语言是用来交流沟通的,有一方说,有一方听。必须要两方参与。(自言自语的除外) 语言是人与人交流,而C语言是人与机器交流 语言有独特的语法规则和定义,双方必须遵循这些规则和定义才能实现真正的交流。 接下来首先了解下计算机的组成: 2、计算机介绍 2.1、计算机结构组成 2.2、计算机系统组成 2.3、程序的指令 指令是对计算机进行程序控制的最小单元 计算机的指令系统是指所有指令的集合 程序是指为完成某一项特定任务而用某种言语编写的一组指令序列 3、C语言发展历程 3.

jun319817的博客 1034

九:多播和广播

emsp 多播(Multicast )方式的数据传输是基于UDP完成的。因此,与UDP服务器端/客户端的实现方式非常接近。区别在于, UDP数据传输以单一目标进行,而多播数据同时传递到加入(注册)特定组的大量主机。换言之,采用多播方式时,可以同时向多个主机传递数据。

weixin_44715186的博客 1341

解密CANoe数据回放:从BLF到ASC的格式转换与优化策略

本文深入解析CANoe数据回放中BLF与ASC格式的转换与优化策略,帮助工程师高效处理汽车电子测试数据。详细介绍了两种格式的特性、转换方法及性能优化技巧,包括CANoe内置功能、命令行自动化和第三方工具应用,提升故障诊断和系统验证效率。

weixin_28331555的博客 536

ONFI5.0命令字实战指南:从基础操作到高级应用

本文深入解析ONFI5.0协议的核心——命令字,提供从基础操作到高级应用的实战指南。详细拆解了NAND闪存的复位、读状态、数据读取(00-30)、页编程(80-10)和块擦除(60-D0)等关键命令周期,并探讨了多平面操作与缓存操作等高级性能优化技巧,帮助开发者高效、稳定地与NAND芯片进行底层交互。

vscode5coder的博客 462

广播与多播介绍

一般,我们将IP地址分为四类:单播地址、 多播地址、 广播地址、任意播地址。   广播(地址)与多播(地址)在需要将数据报发送给多个目的IP时,具有重要作用。能极大地减少网络开销:当我们需要把数据包发送给多个目的IP时,使用广播和多播,数据包就可以在必要时才进行复制,而不需要从发送源就分别为每个目的IP复制一份。   多播相对于广播的一个优点是,广播会影响本地网络的所有主机,而多播只会影响对其感

Windeal 2434

手把手教你学 MATLAB 实战训练(6.9):卷积神经网络(CNN)模型来进行图像分类任务(预训练的 ResNet-50 模型)

加载数据集数据预处理加载预训练模型修改和扩展预训练模型设置训练选项训练模型测试模型。

xiaoheshang_123的博客 646

多播和广播的区别

多播:高效、组通信、可控,适用于需要发送给多个特定接收方的场景。广播:简单、全网发送、无选择性,适用于需要发送给同一子网上所有设备的场景。理解这两种通信方式的区别和适用场景可以帮助你在不同的网络应用中选择合适的传输方法。

SteveForever的博客 1398

Android11.0(R) MTK 平台开机logo动态替换(by logo.bin方式)

实现的效果 客户提供一张格式为 bmp 的开机logo,在 linux 环境下执行制作 logo.bin 脚本文件, apk 拷贝 logo.bin 文件替换系统原有的bin,然后重启 logo 自动更新。 原理分析 MTK 平台的充电图片和开机logo都是打包到 logo.bin 中的 对应的资源路径在源码 vendor\mediatek\proprietary\bootable\bootloader\lk\dev\logo 系统一般预制了很多分辨率文件夹,实际通过 BOOT_LOGO 来确定打包那一个

cczhengv 4585

Python爬虫实战:逆向工程与异步处理攻克Pinterest无限滚动瀑布流

我们将从零开始,逐步分析其数据接口,构建一个功能完整的爬虫,并深入探讨反爬虫策略的应对、性能优化以及数据存储等高级主题。: 在实际爬取中,你需要先访问一次Pinterest主页,获取初始的Cookie和CSRF Token,然后再发起API请求。: Python爬虫,Pinterest,无限滚动,瀑布流,异步IO,httpx,逆向工程,API接口,动态内容,反爬虫。你会很快发现一些关键的请求模式。:页面初始加载有限内容,随着用户滚动,新的图片块通过AJAX动态加载,实现“永无止境”的浏览。

2201_76125261的博客 551

14.多播与广播

假设大家经营网络电台,需要向用户发送多媒体信息。如果有1000名用户,则需要向1000名用户发送数据;如果有10000名用户,则需要 向10000名用户发送数据。此时,如果基于TCP提供服务,则需要维护1000个或10000个套接字连接,即使用UDP套接字提供服务,也需要1000次或10000次数据传输。像这样,向大量客户端发送相同数据时,也会对服务器端和网络流量产生负面影响。可以使用多播技术解决该问题。

suy123的博客 934

c#视觉应用开发中如何使用Emgu CV在C#中进行图像处理?

Emgu CV 是 OpenCV 的 .NET 包装器,可以让开发者在 .NET 语言(如 C#)中使用 OpenCV 的功能进行图像处理。在进行图像处理时,Emgu CV 提供了丰富的 API 可以使用。PictureBoxImageBox下面是一个详细的示例,演示如何使用 Emgu CV 在 C# 中进行基本的图像处理,包括加载图像、转换为灰度图像、进行边缘检测,然后显示结果。byte在这个示例中,我们使用了三个PictureBox控件来显示原始图像、灰度图像和边缘检测后的图像。

zhangzhechun的专栏 667

多播与广播原理分析及区别

 1.0 广播 广播的用途 假定服务器主机在本地局域网上,但不知道它的单播IP地址时对它进行定位,即进行资源发...

selfsongs 1194

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java UDP 广播与多播

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33955681的博客 1338

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

网络编程——多播与广播

参考 《TCP/IP网络编程》 尹圣雨 多播与广播 多播 多播(Multicast)方式的数据传输是基于UDP完成的。与UDP服务器端/客户端的实现方式区别在于,UDP数据传输以单一目标进行,而多播数据同时传递传递到加入(注册)特定组的大量主机 MBone(Multicast Backbone,多播主干网) 多播是基于MBone这个虚拟网络工作的。虚拟网络可以理解为通过网络中的特殊协议工作的软件概念上的网络。即MBone并非可以触及的物理网络。它是以物理网络为基础,通过软件方法实现的多播通信必备虚拟网络

m0_67401153的博客 370

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

TCP/IP笔记之多播与广播

三类IP地址:单播地址、广播地址和多播地址。本文总结一下广播和多播,广播和多播仅应用于UDP。 单播、多播和广播     单播:通常每个以太网帧发往单个目的主机,任何两个主机的通信不会干扰其他主机;       多播:帧传送给属于多播组的多个主机;       广播:一个主机向网上所有的主机发送帧。 广播       四种广播地址。受限的广播:255.255.255.255,改

继续微笑lsj 1743

[C++ 网络协议] 多播与广播

多播和广播的介绍

A_ns_wer_的博客 1233

Linux网络编程(十二)——多播与广播

12 多播与广播 12.1 多播 12.1.1 多播的数据传输方式及流量方面的优点 12.1.2 路由(Routing)和 TTL(Time to Live,生存时间)以及加入组的办法 12.1.3 实现多播 Sender 和 Receiver 12.2 广播 12.2.1 广播的理解及实现方法

m0_60875396的博客 890

java udp 多播 广播_Java UDP 广播与多播

1、广播:同一网段所有主机都能接收,前提是端口要监听客户端发送广播,开启端口监听的服务端接收并打印消息服务端程序:importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.SocketException;publicclassTestServe...

weixin_36198878的博客 242

socket下的广播与多播实现

一、广播:广播是指在一个局域网中向所有的网上节点发送信息。这是UDP连接的一种。1.初始化 :WSAStartup(MAKEWORD(2,2),&wsad);2.创建一个UDP的socket :s=socket(AF_INET,SOCK_DGRAM,0);3.如果这个socket希望收到信息,则需要绑定地址和这组广播的端口号,如果只是希望发送...

weixin_34375054的博客 722

Linux网络编程 - 多播与广播

本篇博文主要讲解多播与广播的基本概念以及基于多播与广播的网络编程实现方法。

yunfan 2414
上一篇: 调整本机可发起的TCP连接和可接受的TCP连接的方法
下一篇: 局域网内传文件或文件内容
Devillyd
博客等级 码龄23年 58粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值