ip组播

QT之UDP通信

﹥>﹥吖頭↗ 提交于 2019-12-25 21:36:55
前言:前一篇讲了TCP通信,这篇来看看UDP通信。 这里说明一下,UDP通信中分为三种通信分别为单播、组播和广播,下面将一一为大家介绍。 同样的我们都需要在工程文件中添加network QT += core gui network 进行UDP通信需要用到的头文件 #include <QUdpSocket> 这里我们把UDP通信分为两个部分写,一个是发送端,另一个是接收端,而发送端中又分为单播、组播和广播三种形式,下面我们先来看看写发送端的代码程序的步骤: 发送端Udpsend的代码: 1、单播 (1)创建套接字 QUdpSocket mSocket;mSocket = new QUdpSocket(); (2)发送数据到指定的地址和端口号 mSocket->writeDatagram(ui->textEdit->toPlainText().toUtf8(),QHostAddress("192.168.137.1"),6677);参数:ui->textEdit->toPlainText().toUtf8 要发送的消息 QHostAddress("192.168.137.1") 接收端的ip地址 6677 端口号,要和接收端的一致 2、组播,组播和单播的步骤是一样的,只有ip地址处有区别 组播ip地址范围:224.0.0.0-239.255.255.255 例子:mSocket-

Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网 [Netruon Open vSwitch + GRE/VxLAN Virutal Network]

会有一股神秘感。 提交于 2019-12-18 16:41:38
学习 Neutron 系列文章: (1) Neutron 所实现的虚拟化网络 (2) Neutron OpenvSwitch + VLAN 虚拟网络 (3) Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4) Neutron OVS OpenFlow 流表 和 L2 Population (5) Neutron DHCP Agent (6) Neutron L3 Agent (7) Neutron LBaas (8) Neutron Security Group (9) Neutron FWaas 和 Nova Security Group (10) Neutron VPNaas (11) Neutron DVR (12) Neutron VRRP (13) High Availability (HA) 目前,OpenStack Neutron 支持使用两种隧道网络技术 通用路由封装(GRE) 和 VxLAN 来实现虚拟的二层网络。这两种技术大致看起来非常相似,都是需要使用 OpenStack 在计算和网络节点上建立隧道来传输封装的虚机发出的数据帧: 在Neutron 中使用 GRE/VxLAN 时的配置也几乎完全相同。具体可以参考我已有的几篇文章: 探索 OpenStack 之(8):Neutron 深入探索之 OVS + GRE 之 完整网络流程

广播、组播和子网

爱⌒轻易说出口 提交于 2019-12-18 09:04:55
广播 ,就是指同时向子网中的多台计算机发送消息,并且所有子网中的计算机都可以接收到发送方发来的消息。每个广播消息包含一个特殊的 IP 地址。 广播消息地址分为两种类型:本地广播和全球广播 。 通过本地广播向子网中的所有计算机发送广播消息时,其他网络不会受到本地广播的影响。 我们知道 IP 地址分为两部分,网络地址和主机地址,标准网络地址部分组成了本地网络地址的第一部分,字节地址中全部为 1 的部分用于主机地址部分(即十进制的 255 )。 例如,对于 B 类网络 192.168.0.0 ,使用子网掩码 255.255.0.0,(此IP地址的网络号为192.168,主机号为0.0,子网掩码全为1的对应的IP地址的网络号) 则本地广播地址是 192.168.255.255 ,用二进制表示为 11000000 、 10101000 、 11111111 、 11111111 。其中前两个字节为网络地址,后两个字节为主机地址。 仍以 192.168.0.0 为例,如果子网掩码为 255.255.255.0 ,则本地广播地址是 192.168.0.255 。 192.168.0 为网络地址, 255 代表 192.168.0 子网中的主机地址。 全球广播使用四个字节所有位全为 1 的 IP 地址,即点分十进制的 255.255.255.255

理解链路本地址与站点本地地址

柔情痞子 提交于 2019-12-12 16:32:57
学习IPV6的时候涉及到一个概念,link-local address, 中文叫“链路本地地址”,它的前缀是 FE80::/64 一个link-local address的范例: FE80::713e:a426:d167:37ab 实际上,这个概念类似于ipv4中,当DHCP分配失败时自动生成的169.254.XXX.XXX这样的地址,凡是源地址或目的地址中含有link-local address的报文,路由器都不应当转发它。这样的报文只能在一个LAN中互通。 <IPV6的地址类型> 可分为三大类: 1、单播地址 2、组播地址 3、任意播地址 单播--Unicast : one to one ·单播地址用于一对一的连接 ·IPv6单播地址有以下六种类型:  1-Aggregate Global Unicast Address 2xxx:xxxxx/3 - 3FFF: :FFFF 2001::/16 IPV6因特网地址 2002::/16 6to4过渡地址 2-Link Local Address    FE80::/10 (前10位以FE80开头) 3-Site Local Address (Private) FEC0::/10 4-Unspecified Address   0:0:0:0:0:0:0:0/128 => ::/128 5-Loopback Address    

PIM-DM协议基本流程

一世执手 提交于 2019-12-12 13:02:57
PIM-DM的关键特性如下: A:协议无关(使用单播路由表来进行RPF检查); B:没有单独的多播路协议(按照DVMRP方式); C:泛洪-剪枝行为(3分钟周期); D:无类路由(只要使用的是无类单播路由); 下面对PIM-DM进行简单描述,包括邻居发现、源树、多播转发、剪枝、断言、嫁接和状态刷新; 1、PIM邻居发现 PIM使用邻居发现机制来建立PIM邻居邻接关系,通过HELLO信息实现。每一个HELLO周期(默认是30S)内,PIM多播路由哭器在启用PIM的接口上多播一条PIM HELLO消息到所有PIM路由器多播地址(224.0.0.13)。PIM路由器会维护一张PIM邻居表项; HELLO消息包含一个保持时间HoldTime,用来告诉接收者,当在HoldTime内没有收到HELLO消息,将终站邻居关系,即把邻居从PIM邻居表项中删除。一般HoldTime=3*HelloTime; Hello消息除了用来邻居发现外,还可以用来在公享网络(即多路访问网络)中选举指定路由器(Designated Router,DR).DR 选举规则:PIM接口优先级最高者成为DR,如果优先级相同,则具有最高IP地址的路由器成为DR; 在PIM-DM 版本1中没有DR这个角色,在V2版本中开始有DR角以,主要是用来发送IGMP Query。 PIM-SM中DR就非常重要,在SM中会说明; 2

详解交换机对不同类型数据帧的转发过程

爱⌒轻易说出口 提交于 2019-12-12 04:09:32
搭建实验拓扑图,这里以cisco设备为例 地址规划为172.16.0.0/24网段 名词解释: a.MAC地址表:是一张目的MAC地址及其所连接的出接口的地址对应表。记录老化时间默认为300s。 b.洪范行为:是交换机对未知单播帧的处理方式, 是将此帧向所有端口(除收到该数据帧的端口)进行转发。 c.广播: 是指交换将帧目的MAC 为FF:FF:FF:FF:FF:FF的数据帧转发到除收到该帧之外的所有端口的动作。 d.组播地址表:是一张VLAN ID+组播ip+出端口的地址对应表。组播地址表对应的出口端口不是一个,而是一组端口列表。 一.单播 1.未知单播 现在使用PC0去ping PC1,交换机接收到数据帧,由于开机后未进行任何配置MAC地址表为空: ①交换机将帧中 源MAC 和 进入接口 记录到MAC地址表中 ②再基于MAC地址表中自上而下查看 目标MAC 的 出接口 ③因未能查询到目标MAC和出接口的对应关系,则进行洪范 ④当PC1回复PC0时,交换机同样记录下帧中 源MAC 和 进入接口 ⑤查询MAC地址表 目标MAC ,基于 出接口 转发 ⑥交换机MAC地址表的每条记录达到其老化时间还未刷新,删除该条目。 2.已知单播 注:上一个实验PC0 ping PC1后MAC地址表已存在两者MAC地址和接口的对应关系 ①交换机将帧中 源MAC 和 进入接口 记录到MAC地址表中

什么是组播(rip2例子解析)

百般思念 提交于 2019-12-06 02:16:06
播技术的初衷是在IP网络中,以"尽力而为"的形式发送信息到某个目标组,这个目标组称为组播组,这样在有源主机向多点目标主机发送信息需求时,源主机只发送一份数据,数据的目的地址是组播组地址,这样,凡是属于该组的成员,都可以接收到一份原主机发送的数据的拷贝,此组播方式下,只有真正信息需要的成员会收到信息,其他主机不会收到。 因此组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费。 组播和广播的区别: 广播:广播指在IP 子网 内 广播数据包 ,所有在 子网 内部的 主机 都将收到这些数据包。广播意味着网络向子网每一个 主机 都投递一份数据包, 不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小,只在本地 子网 内有效,通过 路由器 和 网络设备 控制广播传输。 组播 :组播在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个接收者传输相同的数据,也只需复制一份相同的数据包。它提高了数据传送效率,减少了骨干网络出现拥塞的可能性。 我就用rip2协议来举例子 使用了rip2协议的交换机就会不断发送一个目的地址224.0.0.9的数据包 只要加入了组网就会相应并且加入到一起转发的过程 那怎么加入呢? 那就需要在network x.x.x.x 来加入到组网中,那这样他就会应答并转发 当然这个只是在rip2的一个组网应用的例子 来源:

多播

北战南征 提交于 2019-12-06 00:26:53
  IP 多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的 TCP/IP 网络技术。多播是 IPv6 数据包的 3 种基本目的地址类型之一,多播是一点对多点的通信, IPv6 没有采用 IPv4 中的组播术语,而是将广播看成是多播的一个特例。   多播作为一点对多点的通信,数据的收发仅仅在同一分组中进行,是节省网络带宽的有效方法之一。   IP 多播应用大致可以分为三类:点对多点应用,多点对点应用和多点对多点应用。 点对多点应用是指一个发送者,多个接收者的应用形式,这是最常见的多播应用形式。典型的应用包括:媒体广播、媒体推送、信息缓存、事件通知和状态监视等。 多点对点应用是指多个发送者,一个接收者的应用形式。通常是双向请求响应应用,任何一端(多点或点)都有可能发起请求。典型应用包括:资源查找、数据收集、网络竞拍、信息询问等。 多点对多点应用是指多个发送者和多个接收者的应用形式。通常,每个接收者可以接收多个发送者发送的数据,同时,每个发送者可以把数据发送给多个接收者。典型应用包括:多点会议、资源同步、并行处理、协同处理、远程学习、讨论组、分布式交互模拟(DIS)、多人游戏等。 多播地址   IP 多播通信必须依赖于 IP 多播地址,在 IPv4 中它是一个 D 类 IP 地址,范围从 224.0.0.0 到 239.255

组播地址

自古美人都是妖i 提交于 2019-12-05 23:35:23
组播 报文 的目的地址使用 D类IP地址 , D类地址不能出现在IP 报文 的源IP地址字段。 单播 数据传输过程中,一个 数据包 传输的路径是从源地址 路由 到目的 地址 ,利用“逐跳”的原理在IP网络中传输。然而在ip 组播 环中, 数据包 的目的地址不是一个,而是一组,形成组地址。所有的信息接收者都加入到一个组内,并且一旦加入之后,流向组地址的数据立即开始向接收者传输,组中的所有成员都能接收到 数据包 。 组播 组中的成员是动态的, 主机 可以在任何时刻加入和离开组播组。 来源: https://www.cnblogs.com/597lyq/p/11950688.html

D类IP地址和组播传输

喜夏-厌秋 提交于 2019-12-05 23:34:51
在224.0.0.0~239.255.255.255范围内的地址称为D类IP组播地址。其中,224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其他地址供路由协议使用。224.0.1.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效。239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。 组播(Multicast)传输是在发送者和每一接收者之间实现点对多点网络连接。它解决了单播和广播方式效率低的问题。当网络中的某些用户需求特定信息时,组播源(即组播信息发送者)仅发送一次信息,组播路由器借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发。 来源: https://www.cnblogs.com/597lyq/p/11950584.html