一种单播数据包的处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及移动通讯领域,特别是涉及一种单播数据包的处理方法及装置。
【背景技术】
[0002]在以太局域网中,对于未知单播,交换机会从各个端口泛洪出去。未知单播,即交换机的MAC转发表中没有该单播帧的目的MAC对应的条目。从而,当交换机从某个端口收取到这种未知单播数据包时,交换机就会从除收取端口外的所有端口泛洪转发出去,这就是交换机的单播泛洪。如果交换机一直未学习到该目的MAC,则会一直对此目的MAC为此MAC的数据包持续泛洪。在此异常情况下,持续泛洪会消耗网路带宽,影响网络通畅性,同时消耗终端的网卡、CPU(Central Processing Unit,中央处理器)等以及综合性能资源,造成终端操作慢甚至卡死。
[0003]针对相关技术中单播包泛洪对网络的不良影响的问题,目前尚未提出有效的解决方案。
【发明内容】
[0004]针对相关技术中单播包泛洪对网络的不良影响的问题,本发明提供了一种单播数据包的处理方法及装置,用以解决上述技术问题。
[0005]根据本发明的一个方面,本发明提供了一种单播数据包的处理方法,其中,该方法包括:监测网卡是否收到不属于自己的单播数据包;在监测收到所述单播数据包后,解析出所述单播数据包的目的IP;向目的IP所属主机发送请求报文;其中,所述请求报文用于要求对所述单播数据包中对应的目的主机进行MAC地址反馈。
[0006]优选地,监测网卡是否收到不属于自己的单播数据包之前,所述方法还包括:建立待清理单播泛洪数据集;其中,所述待清理单播泛洪数据集中记录所述目的MAC。
[0007]优选地,向目的IP所属主机发送请求报文包括:向目的IP所属主机首次发送请求报文之后,实时监测是否满足第一条件:当前时间一请求报文发送时间>第一预设时间;其中,所述请求报文发送时间为前一次向该主机发送请求报文的时间;如果是,则向该主机重发所述请求报文;如果否,则继续实时监测是否满足所述第一条件。
[0008]优选地,实时监测是否满足所述第一条件之前,所述方法还包括:确定所述待清理单播泛洪数据集中,记录有所述主机的目的MAC。
[0009]优选地,向目的IP所属主机发送请求报文还包括:实时监测是否满足第二条件:当前时间一单播数据包接收时间>第二预设时间;其中,所述单播数据包接收时间为所述网卡前一次接收到所述单播数据包的时间;如果是,则将所述单播数据包对应的目的MAC,从所述待清理单播泛洪数据集中清除;如果否,则继续实时监测是否满足所述第二条件。
[0010]根据本发明的另一方面,本发明还提供了一种单播数据包的处理装置,其中,该装置包括:数据包监测模块,用于监测网卡是否收到不属于自己的单播数据包;IP解析模块,用于在监测收到所述单播数据包后,解析出所述单播数据包的目的IP;报文发送模块,用于向目的IP所属主机发送请求报文;其中,所述请求报文用于要求对所述单播数据包中对应的目的主机进行MAC地址反馈。
[0011]优选地,所述装置还包括:数据集建立模块,用于在监测网卡是否收到不属于自己的单播数据包之前,建立待清理单播泛洪数据集;其中,所述待清理单播泛洪数据集中记录所述目的MAC。
[0012]优选地,所述报文发送模块包括:第一条件判断单元,用于向目的IP所属主机首次发送请求报文之后,实时监测是否满足第一条件:当前时间一请求报文发送时间 >第一预设时间;其中,所述请求报文发送时间为前一次向该主机发送请求报文的时间;第一处理单元,用于在判断结果为是的情况下,向该主机重发所述请求报文;在判断结果为否的情况下,继续实时监测是否满足所述第一条件。
[0013]优选地,所述报文发送模块还包括:
[0014]记录确定单元,用于在所述第一条件判断单元实时监测是否满足所述第一条件之前,确定所述待清理单播泛洪数据集中,记录有所述主机的目的MAC。
[0015]优选地,所述报文发送模块还包括:第二条件判断单元,用于实时监测是否满足第二条件:当前时间一单播数据包接收时间 > 第二预设时间;其中,所述单播数据包接收时间为所述网卡前一次接收到所述单播数据包的时间;第二处理单元,用于在判断结果为是的情况下,将所述单播数据包对应的目的MAC,从所述待清理单播泛洪数据集中清除;在判断结果为否的情况下,继续实时监测是否满足所述第二条件。
[0016]本发明的目的在于:提供一种通过IP终端消除局域网内单播泛洪的方法,在IP终端实时自动检测该终端的网卡是否收到非本IP终端网卡的单播数据包,如果收到,则解析出该单播数据包的目的IP,然后向该目的IP所属主机发送ARP请求报文、或者Ping报文等。这样,该目的IP所属主机就会回复arp请求报文或回复ping报文,这些回复报文就会通过网络中的交换机,使这些交换机学习到该IP所属主机的MAC,并将该MAC加入交换机的MAC转发表,从而消除网路中各交换机对该目的MAC的单播包泛洪。
[0017]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0018]图1是根据本发明实施例的单播数据包的处理方法流程图;
[0019]图2是根据本发明实施例一的技术方案流程图;
[0020]图3是根据本发明实施例二的技术方案流程图;
[0021]图4是根据本发明实施例的单播数据包的处理装置的结构框图。
【具体实施方式】
[0022]为了解决现有技术中单播包泛洪对网络的不良影响的问题,本发明提供了一种单播数据包的处理方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0023]本实施例提供了一种单播数据包的处理方法,该方法可以在终端侧实现,例如个人电脑(PC)、个人平板电脑、IP机顶盒、智能IP机顶盒等等。图1是根据本发明实施例的单播数据包的处理方法流程图,如图1所示,该方法包括以下步骤(步骤S102-步骤S106):
[0024]步骤S102,监测网卡是否收到不属于自己的单播数据包(非本网卡的单播数据包);
[0025]步骤S104,在监测收到上述单播数据包后,解析出上述单播数据包的目的IP ;
[0026]步骤S106,向目的IP所属主机发送请求报文(例如ARP请求报文或者ping报文,或者其他可引起该目的IP所属主机响应答复的报文);其中,该请求报文用于要求对上述单播数据包中对应的目的主机进行MAC地址反馈。
[0027]通过本实施例,有效解决了相关技术中单播包泛洪对网络的不良影响的问题,从而有效消除网路中各交换机对该目的MAC的单播包泛洪。
[0028]在具体实施过程中,为了便于记录目的MAC,本实施例提供了一种优选实施方式,即监测网卡是否收到不属于自己的单播数据包之前,上述方法还包括:建立待清理单播泛洪数据集;其中,该待清理单播泛洪数据集中记录上述目的MAC。
[0029]对于上述待清理单播泛洪数据集,可以有多种体现形式,例如可以以待清理单播泛洪链表的形式体现,也可以是数组、栈、集合、hash表等。
[0030]优选地,向目的IP所属主机发送请求报文包括以下优选实施方式:
[0031]向目的IP所属主机首次发送请求报文之后,实时监测是否满足第一条件:当前时间一请求报文发送时间>第一预设时间;其中,上述请求报文发送时间为前一次向该主机发送