CN107070790B - 一种路由学习方法及路由设备 - Google Patents
一种路由学习方法及路由设备 Download PDFInfo
- Publication number
- CN107070790B CN107070790B CN201611168959.1A CN201611168959A CN107070790B CN 107070790 B CN107070790 B CN 107070790B CN 201611168959 A CN201611168959 A CN 201611168959A CN 107070790 B CN107070790 B CN 107070790B
- Authority
- CN
- China
- Prior art keywords
- routing
- network
- address
- equipment
- card
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/36—Backward learning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种路由学习方法,应用于网络中的路由设备,该网络还包括多网卡设备以及前端设备,接收路由查询报文,该路由报文中携带有前端设备的IP地址以及查询标识,多网卡设备包含有与前端设备处于同一网段的网卡,该路由查询报文为多网卡设备在未收到针对IP地址发起的地址解析协议ARP请求响应时生成的,当路由设备中不存在IP地址对应的路由信息,且查询标识为主机查询时,则判断IP地址是否属于路由设备的直连网段,若否,则将路由查询报文发送至IP地址对应的下一跳路由设备,若是,则向多网卡设备返回携带有前端设备IP地址对应的路由信息的路由响应报文,可以使多网卡设备学习到正确的路由信息,提高了网络中多网卡设备的网络适应性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种路由学习方法,同时还特别涉及一种路由设备。
背景技术
随着网络的发展以及用户的需求不断提高,业界现有的网络设备中往往有多个网卡,一般为两个网卡,该技术是在服务器以及交换设备之间建立冗余连接,即在服务器上安装两块网卡,一块为主网卡,另一块为备用网卡,然后用两根网线将两块网卡都连到交换设备上,在服务器和交换设备之间建立主链接和备用连接,一旦主链接断开,备用连接会在几秒钟内自动顶替主链接的工作,通常网络用户不会察觉到任何变换。
在实际的应用中,在单个NVR设置多网卡不仅包括上述的主备用网卡方式,还可以用于实现网卡之间的负载平衡,这样可以使单独一个网卡减轻通信压力,从而缓解堵塞状况。但相应的也带来了以下缺点:
当NVR想要访问IPC时,由于IPC和NVR处于同一网段,因此NVR会先查找ARP表,当发现ARP表中没有IPC的IP地址时,则发起ARP请求。由于网卡1和请求的IP地址不属于同一个网段,因此ARP请求只会从网卡2中发出,不会从网卡1中发出,从而使得IPC地址对于NVR不可达。
以多网卡设备NVR为例,在如图1所示的网络拓扑中,包括三层交换机以及网络终端IPC等,多网卡设备NVR(当前假设为2张网卡)使用网卡1连接到交换机上。网卡1的地址为192.168.1.10/24,网卡2地址和IPC在同一个网段,多网卡设备NVR和三层交换机直连的为网卡1,IP为192.168.1.10/24,网关为交换机VLAN1的接口地址,即192.168.1.254;NVR与三层交换机不直连网卡为网卡2,网卡2的IP地址为192.168.2.10/24,其与三层交换机VLAN2下的IPC为同一个网段。VLAN2下的IPC的网关为三层交换机VLAN2的接口地址,即192.168.2.254。三层交换机VLAN1下的PC地址为192.168.1.30,三层交换机VLAN2下的IPC地址为192.168.2.20。PC可以访问三层交换机VLAN2下的IPC,但当NVR想要访问IPC时,由于直连路由优先策略,导致报文不会从NVR的网卡1出去,而是从NVR的网卡2出去,所以网络不通。
发明人在实现本发明的过程中发现,现有技术中只能通过改变网卡的地址或者采取DOWN掉网卡的操作来避免上述问题,但无论是哪种方式都会使得网卡上的其他业务受到影响。
由此可见,如何避免因多网卡设备中的某个网卡与路由设备直连的前端设备之间处于同一网段,多网卡设备与路由设备直连的接口地址和前端设备的地址不处于同一网段,进而导致路径不可达的情况的出现,成为本领域技术人员亟待解决的技术问题。
发明内容
本发明提供了一种路由学习方法,旨在使多网卡设备学习到正确的路由信息,进而提高了网络中多网卡设备的网络适应性。
本发明实施例提出了一种多网卡设备路由学习方法,该方法应用于网络中的路由设备,所述网络还包括多网卡设备以及前端设备,该方法包括:
接收路由查询报文,所述路由报文中携带所述前端设备的IP地址以及查询标识,所述多网卡设备包含有与所述前端设备处于同一网段的网卡,所述路由查询报文是所述多网卡设备在未收到地址解析协议ARP请求响应时生成的,所述ARP请求是所述多网卡针对所述IP地址发起的;
当所述路由设备不存在所述IP地址对应的路由信息,且所述查询标识为主机查询时,判断所述IP地址是否属于所述路由设备的直连网段;
若所述IP地址不属于所述路由设备的直连网段,将所述路由查询报文发送至与所述IP地址对应的下一跳路由设备;
若所述IP地址属于所述路由设备的直连网段,且所述前端设备存在,向所述多网卡设备返回携带有所述IP地址对应的路由信息的路由响应报文。
优选的,还包括:
当所述路由表中存在所述路由信息时,向所述多网卡设备返回携带有所述路由信息的路由响应报文;
当所述路由设备的路由表中不存在所述IP地址对应的路由信息时,且所述查询标识为路由表查询时,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
优选的,所述方法还包括:
当所述路由设备为与所述前端设备直连的路由设备时,通过发送ARP请求查询所述前端设备是否存在,确定所述前端设备是否存在;
若存在,则将所述路由信息添加到所述路由设备的路由表中,并向所述多网卡设备返回携带有所述路由信息的路由响应报文;
若不存在,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
优选的,在所述多网卡设备接收到携带有所述路由信息的路由响应报文,并学习所述路由信息之后,还包括:
若所述路由设备的接口地址与所述IP地址位于同一网段,每隔预设时间向所述前端设备发送ARP请求;
若所述前端设备响应所述ARP请求,则所述前端设备存在;
若所述前端设备未响应所述ARP请求,则所述前端设备不存在,将所述路由信息从自身路由表中删除。
优选的,所述方法还包括:
当所述前端设备不存在时,向所述网络中其他设备发送所述IP地址不可达的通告报文,以使所述其他设备删除与所述IP地址对应的路由表项。
基于与上述相同的技术思路,本发明实施例还提出了一种路由设备,应用于包括所述路由设备、多网卡设备以及前端设备的网络中,该路由设备包括
接收模块,接收路由查询报文,所述路由报文中携带所述前端设备的IP地址以及查询标识,所述多网卡设备包含有与所述前端设备处于同一网段的网卡,所述路由查询报文是所述多网卡设备在未收到地址解析协议ARP请求响应时生成的,所述ARP请求是所述多网卡针对所述IP地址发起的;
判断模块,当所述路由设备不存在所述IP地址对应的路由信息,且所述查询标识为主机查询时,判断所述IP地址是否属于所述路由设备的直连网段;
发送模块,若所述IP地址不属于所述路由设备的直连网段,将所述路由查询报文发送至与所述IP地址对应的下一跳路由设备;
所述发送模块,还用于若所述IP地址属于所述路由设备的直连网段,且所述前端设备存在,向所述多网卡设备返回携带有所述IP地址对应的路由信息的路由响应报文。
优选的,所述发送模块,还用于:
当所述路由表中存在所述路由信息时,向所述多网卡设备返回携带有所述路由信息的路由响应报文;
当所述路由设备的路由表中不存在所述IP地址对应的路由信息时,且所述查询标识为路由表查询时,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
优选的,所述路由设备还包括:
确定模块,当所述路由设备为与所述前端设备直连的路由设备时,通过发送ARP请求查询所述前端设备是否存在,确定所述前端设备是否存在;
若存在,则将所述路由信息添加到所述路由设备的路由表中,并向所述多网卡设备返回携带有所述路由信息的路由响应报文;
若不存在,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
优选的,在所述多网卡设备接收到携带有所述路由信息的路由响应报文,并学习所述路由信息之后,还包括:
若所述路由设备的接口地址与所述IP地址位于同一网段,每隔预设时间向所述前端设备发送ARP请求;
若所述前端设备响应所述ARP请求,则所述前端设备存在;
若所述前端设备未响应所述ARP请求,则所述前端设备不存在,将所述路由信息从自身路由表中删除。
优选的,还包括:
当所述前端设备不存时,向所述网络中其他设备发送所述IP地址不可达的通告报文,以使所述其他设备删除与所述IP地址对应的路由表项。
本发明公开了一种路由学习方法,应用于网络中的路由设备,该网络还包括多网卡设备以及前端设备,接收路由查询报文,该路由报文中携带有前端设备的IP地址以及查询标识,多网卡设备包含有与前端设备处于同一网段的网卡,该路由查询报文为多网卡设备在未收到针对IP地址发起的地址解析协议ARP请求响应时生成的,当路由设备中不存在IP地址对应的路由信息,且查询标识为主机查询时,则判断IP地址是否属于路由设备的直连网段,若否,则将路由查询报文发送至IP地址对应的下一跳路由设备,若是,则向多网卡设备返回携带有前端设备IP地址对应的路由信息的路由响应报文,可以使多网卡设备学习到正确的路由信息,提高了网络中多网卡设备的网络适应性。
附图说明
图1为本发明背景技术中提出的一种多网卡设备的网络拓扑图;
图2为本发明实施例提出的一种路由学习方法流程示意图;
图3为本发明具体实施例提出的一种路由学习方法流程示意图;
图4为本发明具体实施例中提出的一种RIPv2协议报文结构示意图;
图5为本发明实施例提出的一种路由设备结构示意图。
具体实施方式
如背景技术所述,在具有多个网卡的网络设备的网络中,且自身的多个网卡分别处于不同网段,该网络设备中的某个网卡与自身直连的路由设备处于同一网段,该网络设备通过其他网卡连接与其他网卡的相同网段下的某个设备时,由于网络设备上的直连路由优先策略而导致网络不可达。无论是通过改变网卡的地址以及采取DOWN掉网卡的操作,都会使得网卡上的其他业务受到影响。
有鉴于上述问题,本发明提出了一种路由学习方法以及路由设备,以实现多网卡设备的路由学习,实现网络的可达。
本发明实施例提出了一种路由学习方法,该方法应用于网络中的路由设备,该网络还包括多网卡设备、前端设备,多网卡设备中一个网卡与前端设备处于同一网段,在多网卡设备向前端设备发送的ARP请求未收到回应时,通过多网卡设备向路由设备发送携带有查询标识的路由查询报文,查询标识为主机查询或路由表查询,路由设备收到路由查询报文时,若自身路由表中不存在,且当查询标识为主机查询时,路由设备判断自身是否与前端设备直连,若是,当前端设备存在时,则添加该前端设备的主机路由到路由设备的路由表中,并通过路由响应报文将路由信息返回到网络设备,完成网络的可达。
需要说明的是,在上述的技术方案中,多网卡设备存在两个以上的网卡,可以是PC、网络视频录像机NVR等具备多个网卡的网络设备,而对于路由设备可以是一个三层交换机、路由器等具备网络交换以及路由的功能,而在本发明方案中的路由查询报文以及路由响应报文,可以是人为构建的新协议报文,也可以通过对RIP或OSPF等协议报文进行扩展来实现。
本实施例的技术方案应用于网络中的路由设备,该网络还包括多网卡设备、前端设备,多网卡设备中的多个网卡分别处于不同网段,其中多网卡设备的第一网卡与前端设备的IP地址处于同一网段,同时多网卡设备与路由设备直连的接口地址与前端设备直连的接口地址不在同一网段,由于直连路由优先策略,此时通过第一网卡无法访问到前端设备,多网卡设备与前端设备无法连通通信,因此提出了本实施例的方法,如图2所示,为本发明实施例提出的一种路由学习方法流程示意图,该方法具体步骤如下:
步骤201,接收路由查询报文。
应当说明的是,如上述情景下,多网卡设备在访问前端设备之前,先通过查找ARP表项,在发现ARP表项中没有前端设备的IP地址时,则发起ARP请求,由于第一网卡与前端设备的IP地址属于同一个网段,因此ARP请求从第一网卡发出,当多网卡设备对前端设备发起的ARP请求没有得到响应时,则多网卡设备生成路由查询报文并将路由查询报文发送至路由设备,需要说明的是,多网卡设备在发送路由查询报文的过程中,通过自身其他网卡向外发送,通过任意一个地址与路由设备直连接口地址处于同一网段的网卡发送路由查询报文。
上述的路由查询报文中,为一个路由信息请求报文,具体的可以对RIP协议请求报文或OSPF系统中的报文进行扩展,也可以重新构建协议报文,该路由查询报文中包含了前端设备的IP地址以及报文源地址(即多网卡设备的某一网卡地址),还具有查询标识为一个正常的路由请求报文,当路由设备在判断自身路由表中不具备前端设备IP地址对应的路由信息时,读取该报文的查询标识。
其中路由查询报文中的查询标识为主机查询或路由表查询,当查询标识为主机查询时,路由设备则需要在自身的接口中去学习目的IP地址,当查询标识为路由表查询时,表示报文发起设备需要获取的是设备路由表中的信息,若路由表中没有响应的路由信息,则直接返回没有,若存在,则直接返回路由信息。
当发生上述情况时,多网卡设备通过其他网卡向前端设备发送路由查询报文以查询前端设备的路由信息,在实际的应用场景中,多网卡设备具备多个网卡,此时则会依次从除第一网卡以外的多个网卡发出路由查询报文,此时为了方便描述,定义多网卡设备中第二网卡和自身与路由设备直连的地址处于同一网段。
路由设备接收多网卡设备通过其他网卡向路由设备发送的路由查询报文,获取路由查询报文携带的前端设备IP地址,在自身路由表中查询是否存在该IP地址对应的路由信息,若存在,则直接向多网卡设备返回该路由信息,若不存在,则获取路由查询报文中携带的查询标识。
步骤202,当路由设备的路由表中不存在前端设备IP地址对应的路由信息,且查询标识为主机查询时,则判断IP地址是否属于路由设备的直连网段。
应当说明的是,当路由设备的路由表中不存在前端设备的IP地址对应的路由信息时,获取路由查询报文中携带的查询标识,由于该查询标识为路由表查询或主机查询,具体分为以下两种情况:
a)当查询标识为路由表查询时,此时路由设备在自身的路由表中不存在与前端设备对应的路由信息,则向多网卡设备返回携带有前端设备IP地址不可达信息的路由响应报文。
b)当查询标识为主机查询时,此时路由设备需要在接口中去学习前端设备IP地址对应的路由信息,就需要判断IP地址是否属于路由设备的直连网段。
步骤203,若IP地址不属于路由设备的直连网段,将路由查询报文发送至与IP地址对应的下一跳路由设备,若IP地址属于路由设备的直连网段,则向多网卡设备返回携带有前端设备IP地址对应的路由信息的路由响应报文。
应当说明的是,路由设备根据路由查询报文中IP地址信息和路由表中的信息、路由查询报文判断当前请求的IP地址,来判断IP地址是否属于路由设备的直连网段。
(1)若IP地址属于路由设备的直连网段,则在与前端设备直连的接口上发送ARP请求;
(2)若IP地址不属于路由设备的直连网段,则根据路由表中的最长匹配规则将该路由查询报文继续向该最佳路由的下一跳地址(即根据路由表查询IP地址对应的下一跳路由设备,将路由查询报文发送至相应的路由设备)透传,直至到路由查询报文发送至所请求的IP地址是直连网段的设备上。
以下针对上述步骤(1)做进一步的描述,当查询标识为主机查询时,当前端设备的IP地址属于路由设备的直连网段时,该路由设备向自身所处的网段发起ARP请求,查询该IP地址对应的前端设备是否存在,具体有以下两种情况:
(A)在预设时间内没有收到前端设备ARP响应报文,则表示IP地址对应的前端设备不存在,路由设备向多网卡设备返回该IP地址对应的前端设备不存在,即向多网卡设备返回携带有前端设备IP地址不可达信息的路由响应报文,;
(B)接收到了前端设备的ARP响应报文,表示IP地址对应的前端设备存在,记录该前端设备的MAC地址以及路由信息,将该IP地址生成一条32位的主机路由,并将该路由信息添加到路由设备的路由表中,同时将该路由信息发送至多网卡设备,即向多网卡设备返回携带有IP地址对应的路由信息的路由响应报文。
当多网卡设备根据接收到的路由响应报文时,解析报文获取路由表,并将相应的路由信息更新到自己的路由表中,若该路由响应报文中存在前端设备对应的路由信息,多网卡设备在更新自身的路由表后,则后续在与多网卡设备的通讯过程中,根据路由的最长匹配原则,后续报文则会从第二网卡中发出,而不会再从第一网卡中发出,从而解决了多网卡设备与前端设备之间网络不可达的问题。
相应的,若路由响应报文中信息为前端设备IP地址不可达,则说明前端设备不存在于第二网卡所连接的网络中,因此也没有必要将前端设备对应的IP地址的下一跳网关强制转到第二网卡上。
在本发明优选的实施例中,在路由查询报文的传输过程中,在学习到前端设备的主机路由的所有中间设备,在接收到路由查询报文后,若IP地址处于自身的直连网段,将将IP地址对应的路由信息添加到自身路由表中,后续定时进行该IP地址的ARP请求,若有主机响应该ARP请求,说明前端设备存在,则不进行处理;若没有主机响应,则说明该前端设备不存在,则在该设备中将前端设备对应的路由删除,并通过路由响应报文对外发布前端设备IP地址对应的路由不可达的通知。网络中的其他路由设备收到该路由响应报文的路由通知时,删除前端设备对应的主机路由,相应的,直至该多网卡设备到前端设备上的所有设备都删除了前端设备对应的主机路由。
在实际的应用场景中,多网卡设备中会存在多个网卡,在第二网卡发出的报文返回的路由响应报文中该IP地址无法到达或超出预设时长后仍没有收到路由响应报文,则认为前端设备不存在该第二网卡所连接的网络中,当多网卡设备发现通过第一网卡与前端设备之间不可达时,同时通过自身的多个网卡发出路由查询报文,来获取前端设备的路由信息。在后续的多网卡设备访问前端设备过程中,若多网卡设备发送的报文经过步步传递直到前端设备的直连设备(即直连路由设备)上时,当该直连路由设备发现通过自身路由表中储存的主机路由将报文发送至前端设备时网络不可达,则该直连路由设备将该主机路由从路由表中删除,并通过路由通告报文向外发布该前端设备的路由不可达的通知,网络中其他设备收到该路由通告报文后,删除对应的前端设备路由,并通过网络中的路由周期更新策略,直至网络中所有设备删除该主机路由。
通过应用本发明实施例提出了一种多网卡设备路由学习方法,该方法应用于网络中的路由设备,该网络还包括多网卡设备以及前端设备,接收路由查询报文,该路由报文中携带有前端设备的IP地址以及查询标识,多网卡设备包含有与前端设备处于同一网段的网卡,该路由查询报文为多网卡设备在未收到针对IP地址发起的地址解析协议ARP请求响应时生成的,当路由设备中不存在IP地址对应的路由信息,且查询标识为主机查询时,则判断IP地址是否属于路由设备的直连网段,若否,则将路由查询报文发送至IP地址对应的下一跳路由设备,若是,则向多网卡设备返回携带有前端设备IP地址对应的路由信息的路由响应报文,可以使多网卡设备学习到正确的路由信息,提高了网络中多网卡设备的网络适应性。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。在本发明具体实施例中提出了一种多网卡设备路由学习方法,以图1的组网拓扑图为基础,在该具体实施例中,多网卡设备以具备两个网卡的网络视频录像机NVR设备(NVR最主要的功能是通过网络接收IPC(网络摄像机)设备传输的数字视频码流,并进行存储、管理)为例,前端设备以网络摄像机IPC为例,三层交换机相当于上述实施例中与前端设备直连的路由设备,以该组网进行说明,网络具体介绍如下:
如图1所示的网络还包括三层交换机以及网络终端IPC等,多网卡设备NVR(当前假设为2张网卡)使用网卡1连接到交换机上。网卡1的地址为192.168.1.10/24,网卡2地址和IPC在同一个网段,多网卡设备NVR和三层交换机直连的为网卡1,IP为192.168.1.10/24,网关为交换机VLAN1的接口地址,即192.168.1.254;NVR与三层交换机不直连网卡为网卡2,网卡2的IP地址为192.168.2.10/24,其与三层交换机VLAN2下的IPC为同一个网段。VLAN2下的IPC的网关为三层交换机VLAN2的接口地址,即192.168.2.254。三层交换机VLAN1下的PC地址为192.168.1.30,三层交换机VLAN2下的IPC地址为192.168.2.20。PC可以访问三层交换机VLAN2下的IPC,但当NVR想要访问IPC时,由于直连路由优先策略,导致报文不会从NVR的网卡1出去,而是从NVR的网卡2出去,所以网络不通。
如图3所示,为本发明具体实施例提出的一种多网卡设备路由学习方法,具体步骤如下:
步骤301,NVR向IPC发送ARP请求;
具体的,当NVR想要访问IPC时,由于IPC和NVR处于同一网段,因此NVR会先查找ARP表,当发现ARP表中没有IPC的IP地址时,则发起ARP请求。由于网卡1和请求的IP地址不属于同一个网段,因此ARP请求只会从网卡2中发出,不会从网卡1中发出;
步骤302,判断NVR是否获取到ARP响应;
具体的,若NVR得到前端设备的ARP响应,则将前端设备的路由信息记录到ARP表中,若没有则,执行步骤303。
步骤303,启动RIPv2协议,从其他网卡上发送获取IPC对应的IP地址路由信息的RIPv2请求报文;
具体的,在本发明具体实施例中,当NVR发起的ARP请求没有收到响应时,此时NVR启动RIPv2协议,并由连接三层交换机的网卡(或者其他没有发送ARP请求的网卡)对外发送RIPv2路由请求,本发明具体实施例中对RIPv2协议进行扩展,RIPv2协议则相当于本发明实施例中的路由查询报文,此时默认在当前网络内所有其他设备均收到RIPv2请求后,启动RIPv2协议,其中RIPv2报文的结构图4所示,发送的RIPv2请求报文的结构如下表格表1所示:
请求的IP地址 | 请求的子网掩码 | Unused字段 |
192.168.2.20 | 32 | 1 |
表1
在上述表格中,Unused字段为扩展使用字段,当Unused字段设置为1时(相当于本发明实施例中查询标识为主机查询),则表示获取的是主机路由,若交换机的路由表没有该主机路由信息,需临时去学习。若Unused字段设置为0时(相当于本发明实施例中查询标识为路由表查询),则表示获取的是路由表里的信息,若路由表信息里没有该路由信息,则直接返回没有,不需要从接口中学习该路由信息。
步骤304,三层交换机收到RIPv2请求报文,上报给RIPv2协议栈处理报文;
具体的,当三层交换机收到NVR发送的RIPv2请求时(此时三层交换机上根据接收到的RIPv2请求消息,启动RIPv2协议),将RIPv2请求报文上报给三层交换机上的RIPv2协议栈处理,对该RIPv2协议进行解析,获取RIPv2请求中携带的IPC的IP地址信息,根据RIPv2请求报文中的IP地址信息判断当前请求的路由信息是否在路由表中存在。若存在,则直接将该路由信息组成响应报文发送给NVR。若路由表中不存在该请求路由信息,则执行步骤305。
步骤305,获取RIPv2请求报文中Unused字段内容;
步骤306,判断Unused字段内容是否为1;
具体的,若为1,则执行步骤307,若为0,则执行步骤312。
步骤307,查找该IP地址对应的路由表信息,获取该路由的下一跳地址;
具体的,如果IPC不是三层交换机VLAN2下的直连设备,则当Unused字段设置为1时,需要将该RIPv2请求向下一跳路由设备透传,首先获取该IP地址对应的路由表信息,获取该路由的下一跳地址。
步骤308,判断请求的IP地址是否为下一跳地址对应接口的直连网段;
具体的,根据RIPv2请求的IP地址信息和路由表中的信息,判断当前RIPv2请求的IP地址是否为三层交换机的直连网段。若是直连网段,则执行步骤309;若不是直连网段,则执行步骤310。
步骤309,在该直连网段的接口上发送ARP请求;
具体的,通过与IPC直连的接口发送ARP请求,判断请求的IP地址是否存在,若没有响应,则直接返回没有路由信息;
若有响应,则执行步骤311。
步骤310,将RIPv2请求透传至路由表中下一跳设备。
步骤311,生成该IP地址对应的路由信息,并返回NVR;
具体的,若发送的ARP请求有响应,则将该IP地址生成一条32位的主机路由添加到路由表中,同时生成RIPv2响应报文,其中携带有IPC对应的路由信息,返回至NVR。
步骤312,查找路由表中是否存在请求的路由信息;
具体的,若存在,则执行步骤313,若不存在,则执行步骤314。
步骤313,返回对应的路由信息的RIPv2响应报文。
步骤314,返回没有路由信息的RIPv2响应报文。
由此可见,通过应用本发明具体实施例提出了一种路由学习方法,该方法应用于网络中的路由设备,该网络还包括多网卡设备以及前端设备,接收路由查询报文,该路由报文中携带有前端设备的IP地址以及查询标识,多网卡设备包含有与前端设备处于同一网段的网卡,该路由查询报文为多网卡设备在未收到针对IP地址发起的地址解析协议ARP请求响应时生成的,当路由设备中不存在IP地址对应的路由信息,且查询标识为主机查询时,则判断IP地址是否属于路由设备的直连网段,若否,则将路由查询报文发送至IP地址对应的相邻路由设备,若是,则向多网卡设备返回携带有前端设备IP地址对应的路由信息的路由响应报文,可以使多网卡设备学习到正确的路由信息,提高了网络中多网卡设备的网络适应性。
基于与上述相同的技术思路,本发明实施例还提出了一种路由设备,应用于包括所述路由设备、多网卡设备以及前端设备的网络中,如图5所示为本发明实施例提出的一种路由设备结构示意图,所述路由设备包括:
接收模块51,接收路由查询报文,所述路由报文中携带所述前端设备的IP地址以及查询标识,所述多网卡设备包含有与所述前端设备处于同一网段的网卡,所述路由查询报文是所述多网卡设备在未收到地址解析协议ARP请求响应时生成的,所述ARP请求是所述多网卡针对所述IP地址发起的;
判断模块52,当所述路由设备不存在所述IP地址对应的路由信息,且所述查询标识为主机查询时,判断所述IP地址是否属于所述路由设备的直连网段;
发送模块53,若所述IP地址不属于所述路由设备的直连网段,将所述路由查询报文发送至与所述IP地址对应的下一跳路由设备;
所述发送模块53,还用于若所述IP地址属于所述路由设备的直连网段,且所述前端设备存在,向所述多网卡设备返回携带有所述IP地址对应的路由信息的路由响应报文。
在具体的应用场景中,所述发送模块53,还用于:
当所述路由表中存在所述路由信息时,向所述多网卡设备返回携带有所述路由信息的路由响应报文;
当所述路由设备的路由表中不存在所述IP地址对应的路由信息,且所述查询标识为路由表查询时,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
在具体的应用场景中,所述路由设备还包括:
确定模块,当所述路由设备为与所述前端设备直连的路由设备时,通过发送ARP请求查询所述前端设备是否存在,确定所述前端设备是否存在;
若存在,则将所述路由信息添加到所述路由设备的路由表中,并向所述多网卡设备返回携带有所述路由信息的路由响应报文;
若不存在,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
在具体的应用场景中,在所述多网卡设备接收到携带有所述路由信息的路由响应报文,并学习所述路由信息之后,还包括:
若所述路由设备的接口地址与所述IP地址位于同一网段,每隔预设时间向所述前端设备发送ARP请求;
若所述前端设备响应所述ARP请求,则所述前端设备存在;
若所述前端设备未响应所述ARP请求,则所述前端设备不存在,将所述路由信息从自身路由表中删除。
在具体的应用场景中,还包括:
当所述前端设备不存时,向所述网络中其他设备发送所述IP地址不可达的通告报文,以使所述其他设备删除与所述IP地址对应的路由表项。
通过应用本发明实施例提出的技术方案,应用于网络中的路由设备,该网络还包括多网卡设备以及前端设备,接收路由查询报文,该路由报文中携带有前端设备的IP地址以及查询标识,多网卡设备包含有与前端设备处于同一网段的网卡,该路由查询报文为多网卡设备在未收到针对IP地址发起的地址解析协议ARP请求响应时生成的,当路由设备中不存在IP地址对应的路由信息,且查询标识为主机查询时,则判断IP地址是否属于路由设备的直连网段,若否,则将路由查询报文发送至IP地址对应的下一跳路由设备,若是,则向多网卡设备返回携带有前端设备IP地址对应的路由信息的路由响应报文,可以使多网卡设备学习到正确的路由信息,提高了网络中多网卡设备的网络适应性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种路由学习方法,应用于网络中的路由设备,所述网络还包括多网卡设备以及前端设备,其特征在于,该方法包括:
接收路由查询报文,所述路由报文中携带所述前端设备的IP地址以及查询标识,所述多网卡设备包含有与所述前端设备处于同一网段的网卡,所述路由查询报文是所述多网卡设备在未收到地址解析协议ARP请求响应时生成的,所述ARP请求是所述多网卡针对所述IP地址发起的;
当所述路由设备不存在所述IP地址对应的路由信息,且所述查询标识为主机查询时,判断所述IP地址是否属于所述路由设备的直连网段;
若所述IP地址不属于所述路由设备的直连网段,将所述路由查询报文发送至与所述IP地址对应的下一跳路由设备;
若所述IP地址属于所述路由设备的直连网段,且所述前端设备存在,向所述多网卡设备返回携带有所述IP地址对应的路由信息的路由响应报文。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述路由表中存在所述路由信息时,向所述多网卡设备返回携带有所述路由信息的路由响应报文;
当所述路由设备的路由表中不存在所述IP地址对应的路由信息时,且所述查询标识为路由表查询时,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述路由设备为与所述前端设备直连的路由设备时,通过发送ARP请求查询所述前端设备是否存在,确定所述前端设备是否存在;
若存在,则将所述路由信息添加到所述路由设备的路由表中,并向所述多网卡设备返回携带有所述路由信息的路由响应报文;
若不存在,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
4.如权利要求1所述的方法,其特征在于,在所述多网卡设备接收到携带有所述路由信息的路由响应报文,并学习所述路由信息之后,还包括:
若所述路由设备的接口地址与所述IP地址位于同一网段,每隔预设时间向所述前端设备发送ARP请求;
若所述前端设备响应所述ARP请求,则所述前端设备存在;
若所述前端设备未响应所述ARP请求,则所述前端设备不存在,将所述路由信息从自身路由表中删除。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
当所述前端设备不存在时,向所述网络中其他设备发送所述IP地址不可达的通告报文,以使所述其他设备删除与所述IP地址对应的路由表项。
6.一种路由设备,应用于包括所述路由设备、多网卡设备以及前端设备的网络中,其特征在于,该路由设备包括
接收模块,接收路由查询报文,所述路由报文中携带所述前端设备的IP地址以及查询标识,所述多网卡设备包含有与所述前端设备处于同一网段的网卡,所述路由查询报文是所述多网卡设备在未收到地址解析协议ARP请求响应时生成的,所述ARP请求是所述多网卡针对所述IP地址发起的;
判断模块,当所述路由设备不存在所述IP地址对应的路由信息,且所述查询标识为主机查询时,判断所述IP地址是否属于所述路由设备的直连网段;
发送模块,若所述IP地址不属于所述路由设备的直连网段,将所述路由查询报文发送至与所述IP地址对应的下一跳路由设备;
所述发送模块,还用于若所述IP地址属于所述路由设备的直连网段,且所述前端设备存在,向所述多网卡设备返回携带有所述IP地址对应的路由信息的路由响应报文。
7.如权利要求6所述的路由设备,其特征在于,所述发送模块,还用于:
当所述路由表中存在所述路由信息时,向所述多网卡设备返回携带有所述路由信息的路由响应报文;
当所述路由设备的路由表中不存在所述IP地址对应的路由信息时,且所述查询标识为路由表查询时,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
8.如权利要求6所述的路由设备,其特征在于,所述路由设备还包括:
确定模块,当所述路由设备为与所述前端设备直连的路由设备时,通过发送ARP请求查询所述前端设备是否存在,确定所述前端设备是否存在;
若存在,则将所述路由信息添加到所述路由设备的路由表中,并向所述多网卡设备返回携带有所述路由信息的路由响应报文;
若不存在,则向所述多网卡设备返回携带有所述IP地址不可达信息的路由响应报文。
9.如权利要求8所述的路由设备,其特征在于,在所述多网卡设备接收到携带有所述路由信息的路由响应报文,并学习所述路由信息之后,还包括:
若所述路由设备的接口地址与所述IP地址位于同一网段,每隔预设时间向所述前端设备发送ARP请求;
若所述前端设备响应所述ARP请求,则所述前端设备存在;
若所述前端设备未响应所述ARP请求,则所述前端设备不存在,将所述路由信息从自身路由表中删除。
10.如权利要求8或9所述的路由设备,其特征在于,还包括:
当所述前端设备不存在时,向所述网络中其他设备发送所述IP地址不可达的通告报文,以使所述其他设备删除与所述IP地址对应的路由表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611168959.1A CN107070790B (zh) | 2016-12-16 | 2016-12-16 | 一种路由学习方法及路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611168959.1A CN107070790B (zh) | 2016-12-16 | 2016-12-16 | 一种路由学习方法及路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070790A CN107070790A (zh) | 2017-08-18 |
CN107070790B true CN107070790B (zh) | 2020-05-19 |
Family
ID=59618603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611168959.1A Active CN107070790B (zh) | 2016-12-16 | 2016-12-16 | 一种路由学习方法及路由设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070790B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412949B (zh) * | 2018-09-21 | 2021-02-26 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
CN109495352B (zh) * | 2018-12-27 | 2021-06-08 | 新华三技术有限公司 | 一种传输路径的确定方法和装置 |
CN114697250A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 一种路由方法及相关设备 |
CN113032659B (zh) * | 2021-03-12 | 2023-08-04 | 北京百度网讯科技有限公司 | 针对设备信息的信息处理方法、电子设备和介质 |
CN113810511B (zh) * | 2021-08-06 | 2024-03-19 | 锐捷网络股份有限公司 | Arp表的更新方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1211984C (zh) * | 2003-08-22 | 2005-07-20 | 港湾网络有限公司 | 硬件中直连网段路由的存储组织方法 |
US7515551B2 (en) * | 2005-01-18 | 2009-04-07 | Cisco Technology, Inc. | Techniques for reducing adjacencies in a link-state network routing protocol |
WO2007084597A2 (en) * | 2006-01-18 | 2007-07-26 | Governing Dynamics, Llc | System, network and methods for provisioning optical circuits in a multi-network, multi vendor environment |
CN100518116C (zh) * | 2006-07-12 | 2009-07-22 | 华为技术有限公司 | 一种直连网段发布方法及系统 |
CN105939239B (zh) * | 2015-07-31 | 2020-05-12 | 杭州迪普科技股份有限公司 | 虚拟网卡的数据传输方法及装置 |
-
2016
- 2016-12-16 CN CN201611168959.1A patent/CN107070790B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107070790A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070790B (zh) | 一种路由学习方法及路由设备 | |
CN107733670B (zh) | 一种转发策略配置方法和装置 | |
EP1250791B1 (en) | System and method for using an ip address as a wireless unit identifier | |
US10027623B2 (en) | Internet protocol address resolution | |
US9525631B2 (en) | Packet forwarding method, apparatus, and system | |
US11570093B2 (en) | Data transmission method, node and system | |
CN109156046B (zh) | 一种家庭网关及其转发业务的方法 | |
CN108429680B (zh) | 一种基于虚拟私有云的路由配置方法、系统、介质及设备 | |
CN110798403B (zh) | 通信方法、通信设备和通信系统 | |
CN111510365B (zh) | 基于Wi-Fi数据包的设备桥接云端方法、装置、设备及介质 | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
CN101827039B (zh) | 一种负载分担的方法和设备 | |
US10693967B2 (en) | Data connection establishment method, server, and mobile terminal | |
WO2022121466A1 (zh) | 以太虚拟专用网的数据处理方法、设备及存储介质 | |
EP2218214B1 (en) | Network location service | |
CN106375355B (zh) | 负载均衡处理方法及装置 | |
CN113542099B (zh) | 数据的传输方法、装置、电子设备、介质和产品 | |
US20180227977A1 (en) | Method for accessing local network, and related device | |
US9710513B2 (en) | Access management method, device and system | |
CN105100300B (zh) | 网络地址转换nat的方法及装置 | |
WO2013023465A1 (zh) | 身份位置分离与传统网络互联互通方法、ilr和asr | |
KR20210047386A (ko) | 복수의 세션 간 연결을 제어하기 위한 방법 및 이를 위한 장치 | |
JP2003060656A (ja) | 無線lanにおけるvlan構築方法、無線中継機用vlanパケット処理プログラム、無線中継機用vlanパケット処理プログラムを記録した記録媒体、vlan機能を有する無線中継機及び無線vlanシステム | |
CN102065013A (zh) | 基于身份与位置分离的位置信息优化选择的系统和方法 | |
CN111954102B (zh) | 一种dhcpv6 pd场景下的路由控制方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221123 Address after: 15 / F, Zhongchuang Plaza, 385 Hangtian Middle Road, national civil aerospace industrial base, Xi'an City, Shaanxi Province 710100 Patentee after: Xi'an Yu vision Mdt InfoTech Ltd. Address before: 2 / F, South Block, building 10, wanlun Science Park, 88 Jiangling Road, Binjiang District, Hangzhou City, Zhejiang Province, 310051 Patentee before: ZHEJIANG UNIVIEW TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |