摘要:
代码路径:https://github.com/haibbo/improxy代码整体上比较清晰,量较少,同时也不具有太大的难度。不过要求阅读者对IGMP协议有一定程度的了解(要了解IGMP协议见我前一篇文章)以及linux内核对多播的接口(可参考mrouted的实现)。因此只总结了以下一些要点:1、初始化的时候要给每个接口上个定时器,用来查询接口下面主机多播加入情况 地址是0xe0000001U2、收到报文后要区分接收的来源,如果是上行端口,则需要进行相应处理。如下面这段代码 1 if (ip->protocol == 0 && p_if->type == INTE 阅读全文
摘要:
当前IGMP协议分为三个版本,IGMPv1、v2、v3。版本越高,提供的功能越丰富,同时也越复杂。现在应用最广泛的是IGMPv2版本。实际应用的时候,需要配合多播路由协议使用(路由器方)。IGMP是IPV4下面的组管理协议,IPV6下面的叫做MLD协议。以下内容来自百度百科:IGMPIGMP:Internet Group Management Protocol (Internet组管理协议)编辑本段协议简介Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP主机向任一个直接相邻的路由器报告他们的组成员情况。它规定了处于不同网段的主机如何进行多播通信,其前提条件是 阅读全文