我们遇到了一个棘手的问题.我们正在编写一个接收多播UDP流量的c程序.我们正在将应用程序迁移到不同的网络环境,我们的运营团队已要求我们支持从我们的应用程序发布IGMPv3成员资格公告.初步调查表明,

Linux 2.6内核确实支持IGMPv3.因此,我很困惑,当我们运行tcpdump时,我们看到以下输出跟踪:

[rtv@myhost]$sudo /usr/sbin/tcpdump -i eth1.22 igmp

tcpdump: listening on eth1.22

00:20:09.007094 switch-a.stage > ALL-SYSTEMS.MCAST.NET: igmp query v2 [max resp time 20] [ttl 1]

00:20:09.241946 10.129.22.236 > 232.0.1.10: igmp v2 report 232.0.1.10 (DF) [tos 0xc0] [ttl 1]

00:20:10.472159 10.129.22.236 > 236.0.1.101: igmp v2 report 236.0.1.101 (DF) [tos 0xc0] [ttl 1]

44 packets received by filter

我的理解是,可以通过在文件/proc/sys/net/ipv4/conf/eth1.22/force_igmp_version中指定非零值来强制内核使用较低版本的IGMP;但是,我已经确认该文件具有零值配置.

我们的应用程序使用以下代码加入多播组:

... joinMulticast(in_addr mcast_addr, in_addr interface_addr)

{

struct ip_mreq mcast_req;

mcast_req.imr_multiaddr.s_addr = mcast_addr;

mcast_req.imr_interface.s_addr = interface_addr;

int err = setsockopt(fFileDesc, IPPROTO_IP, IP_ADD_MEMBERSHIP,

(char*)&theMulti, sizeof(theMulti));

// handle errors etc.

// ...

}

是否还需要在源程序中包含一些强制IGMPv3的额外内容?

linux igmp v3 过滤ip,网络 – Linux和IGMPv3上的多播加入相关推荐

  1. linux内核态获取ip地址,Linux内核支持动态获取IP地址

    配置选项: NFS: Network File System PNP: Plug-and-Play CONFIG_ROOT_NFS 若想要Linux box通过NFS依赖网络上的其他计算机来mount ...

  2. linux多网卡配置ip地址(linux一个网卡配置多个ip)

    Linux如何配置ip地址 1.打开Linux终端系统,然后在系统中输入如下代码. 2.然后开始填写ip地址.子网掩码.网关等命令代码,如图所示. 3.在终端填写完之后,进行保存然后退出. 4.接着把 ...

  3. kali linux查询自己的ip,Kali Linux常用服务配置教程获取IP地址

    Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...

  4. linux系统自动获取ip地址,Linux系统下设置静态IP或自动获取动态IP的简单方法

    Linux下为机器设置静态IP地址: 复制代码 代码如下: vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改这个文件内容如下形式: 复制代码 代码如下: ...

  5. zynq linux如何使用pl ip,ZYNQ+linux网口调试笔记(3)PL-ETH

    1. 开发环境 Windows SDK 2017.4 Ubuntu Petalinux 2017.4 硬件平台:米联客ZYNQ开发板MIZ7035 2. 开发目标 在ZYNQ上使用gigE Visio ...

  6. Linux配置多网口IP地址,linux配置ip 多个网口

    SCC(超级计算集群)简介 SCC概述 超级计算集群(Super Computing Cluster,SCC)使用高速RDMA网络互联的CPU以及GPU等异构加速设备,面向高性能计算.人工智能/机器学 ...

  7. 5.Linux常用配置文件(包含网络/Linux文件权限等)

    目录 1.用户相关 1.1/etc/passwd文件 1.2/etc/shadow文件 1.3/etc/group文件 1.4/etc/gshadow文件 1.5useradd命令 1.6usermo ...

  8. vscode ssh连接linux虚拟机在重置虚拟机网络后连接不上的问题(已解决)

    因为虚拟机莫名奇妙没有了ip所以对虚拟机网络进行了重置,根据教程的方法一一遍解决后由于更换了ip,在vscode下的ssh插件中重新进行了连接却一直提示Permission denied, pleas ...

  9. linux igmp 属于那层协议,Linux下IGMP协议测试工具的开发与应用

    摘要: 组播以其节约网络带宽.降低网络负荷,实现接收者的并行接收等优势而具有广泛的应用,成为重要的网络技术.对于组播各种应用的研究正在成为热点,对组播各种功能及性能的测试也越来越重要.IGMP (In ...

最新文章

  1. Client Dimensions , offsetHeight , scrollTop 属性详解
  2. [HNOI2008]GT考试
  3. hdu 1863(最小生成树kruskal)
  4. e3 v3服务器芯片组,请问e3 1231 v3搭配下面哪款主板性价比最高?最适合?为什么?
  5. 标贝科技语音论文入选全球顶级语音学术大会INTERSPEECH2019
  6. 2019年,我们需要加强关注网络安全的6大原因
  7. 金狐超级软件盘 07.14更新
  8. python之单例模式
  9. C#检查网络是否连接的方法
  10. mysql ndb存储引擎_ndb 存储引擎
  11. 微信朋友圈怎么设置对单人开放?
  12. 让图片说出声音来(利用讯飞API实现图片转文字和文字转语音)
  13. 互联网金融-资金账户系统设计
  14. 【专题5: 硬件设计】 之 【16.二极管/三极管的钳位功能】
  15. 深入理解机器学习——偏差(Bias)与方差(Variance)
  16. 操作系统——第三章思维导图
  17. Vscode批量处理
  18. 这几个CNAD领域对实验人员的要求,赶紧收藏
  19. 怎么修复录音笔(设备)损坏的WAV或MP3文件0字节文件
  20. 《失控》(凯文·凯利)阅读分享

热门文章

  1. wpf 依赖属性和附加属性
  2. skynet 控制台管理使用技巧
  3. 面包好吃却五毒俱全,吃前请三思!
  4. linux增加自定义path和manpath
  5. [Objective-C] 如何定义Block(块)
  6. 使用eclipse搭建嵌入式开发环境
  7. PHP在使用正则表达式验证,防注入的时候要注意一下的细节
  8. ADO.NET Entity Framework 学习(1) [ZT]
  9. Python运算符与Pandas方法的映射关系
  10. How to Enable Trace or Debug for APIs executed as SQL Script Outside of the Applications ?