堆叠系统的bgp报文处理方法及装置的制造方法

文档序号:9828131阅读:1442来源:国知局
堆叠系统的bgp报文处理方法及装置的制造方法
【技术领域】
[0001] 本申请涉及网络通信技术领域,特别涉及一种堆叠系统的BGP报文处理方法及装 置。
【背景技术】
[0002] BGP (Border Gateway Protocol,边界网关协议)是一种既可以用于不同 AS(Autonomous System,自治系统)之间,又可以用于同一 AS内部的动态路由协议。运行 BGP协议的路由器称为BGP发言者。两台BGP发言者之间可以建立BGP邻居关系,并在建立 BGP邻居关系过程中建立TCP (Transmission Control Protocol,传输控制协议)连接,TCP 连接建立完成后,就可以相互交换路由信息了,此时,这两台BGP发言者互为BGP对等体。
[0003] BGP协议中的报文类型主要有以下几种:
[0004] Open (开放):TCP连接建立后发送的第一个报文,用于建立BGP对等体之间的连 接关系。
[0005] Update (更新):用于在BGP对等体之间交换路由信息。一个Update报文可以发 布具有相同路径属性的多条可达路由,也可以同时撤销多条不可达路由。
[0006] Ke印alive (保活):BGP发言者周期性地向BGP对等体发送Ke印alive报文,以保 持连接的有效性。
[0007] Route-refresh (路由刷新):用来要求BGP对等体重新发送指定地址族的路由信 息。
[0008] Notification(通知):当BGP发言者检测到错误状态时,就向BGP对等体发出 Notification报文,之后BGP连接会立即中断。
[0009] 目前,通过IRFQntelligent Resilient Framework,智能弹性架构)等虚拟化 技术,可以将多台网络设备连接在一起,形成一台虚拟的逻辑设备,以下称为堆叠系统,堆 叠系统中的每台设备都称为成员设备,成员设备按照功能不同分为两种角色:主用设备 (Master)和备用设备(Slave),其中,主用设备负责管理整个堆叠系统,备用设备作为主用 设备的备份设备运行。
[0010] 当堆叠系统运行了 BGP协议时,堆叠系统中的主用设备和备用设备均可以与位于 堆叠系统外部的BGP发言者建立BGP邻居关系,此时,备用设备与外部BGP发言者之间的 TCP(Transmission Control Protocol,传输控制协议)连接在控制平面上看,是主用设备 与该外部BGP发言者之间建立了 TCP连接,因此,备用设备接收到该外部BGP发言者(此时, 该外部BGP发言者为备用设备的BGP对等体)发来的BGP报文时,会直接上送给主用设备 进行处理。
[0011] 这样,当大量的BGP报文都直接上送给主用设备处理时,主用设备需要分配较大 的缓存空间来缓存这些BGP报文,占用了较大的缓存空间,并且占用了大量的CPU资源来处 理这些BGP报文。

【发明内容】

[0012] 有鉴于此,本申请提供了一种堆叠系统的BGP报文处理方法及装置。
[0013] 本申请的技术方案如下:
[0014] 一方面,提供了一种堆叠系统的BGP报文处理方法,堆叠系统运行BGP协议,堆叠 系统中包括:主用设备和备用设备,该方法包括:
[0015] 当作为备用设备时,使能TCP代理功能;
[0016] 在接收到BGP对等体发来的BGP报文之后,缓存接收到的BGP报文,并向主用设备 发送通知消息;
[0017] 在主用设备处理完通知消息之后,删除缓存的BGP报文。
[0018] 另一方面,还提供了一种堆叠系统的BGP报文处理装置,堆叠系统运行BGP协议, 堆叠系统中包括:主用设备和备用设备,该装置包括:使能模块、接收模块、缓存模块和发 送模块,其中:
[0019] 使能模块,用于当该装置位于备用设备中时,使能TCP代理功能;
[0020] 接收模块,用于当该装置位于备用设备中时,接收BGP对等体发来的BGP报文;
[0021 ] 缓存模块,用于在接收模块接收到BGP对等体发来的BGP报文之后,缓存该BGP报 文;还用于在主用设备处理完发送模块发送的通知消息之后,删除缓存的BGP报文;
[0022] 发送模块,用于在接收模块接收到BGP对等体发来的BGP报文之后,向主用设备发 送通知消息。
[0023] 本申请的以上技术方案中,备用设备使能TCP代理功能,在接收到BGP对等体发来 的BGP报文之后,缓存接收到的BGP报文,并向主用设备发送通知消息,在主用设备处理完 通知消息之后,删除缓存的BGP报文。由于由备用设备来缓存来自BGP对等体的BGP报文, 而无需主用设备缓存,因此为主用设备节约了缓存空间,而且,备用设备不会将这些BGP报 文直接上送给主用设备处理,而是向主用设备发送通知消息,主用设备的CPU无需直接处 理这些BGP报文,减少了主用设备的CPU资源的占用。
【附图说明】
[0024] 图1是本申请实施例的堆叠系统的BGP报文处理方法的流程图;
[0025] 图2是一种包含堆叠系统的实际网络的架构示意图;
[0026] 图3是本申请实施例的堆叠系统的BGP报文处理装置的一种结构示意图;
[0027] 图4是本申请实施例的堆叠系统的BGP报文处理装置的另一种结构示意图;
[0028] 图5是本申请实施例的堆叠系统的BGP报文处理装置的又一种结构示意图。
【具体实施方式】
[0029] 现有技术中,备用设备在接收到BGP对等体发来的BGP报文后,直接上送给主用设 备进行处理,这样,主用设备需要占用大量的CPU资源来处理这些BGP报文,为了解决现有 技术中存在的上述问题,本申请以下实施例中提供了一种堆叠系统的BGP报文处理方法, 以及一种可以应用该方法的装置。
[0030] 本申请实施例的方法中,备用设备使能TCP代理功能,在接收到BGP对等体发来的 BGP报文之后,缓存接收到的BGP报文,并向主用设备发送通知消息,在主用设备处理完该 通知消息之后,删除缓存的BGP报文。
[0031] 具体的,如图1所示,本申请实施例的堆叠系统的BGP报文处理方法包括以下步 骤:
[0032] 步骤S102,备用设备使能TCP代理功能;
[0033] 备用设备只要使能了 TCP代理功能即可,对其如何使能不加限制,如,可以是接收 到主用设备的通知使能,也可以是通过人工配置使能,或其他方式使能。在实际实施过程 中,当感知到备用设备与其BGP对等体(即,外部的BGP发言者)建立了 BGP邻居关系之 后,主用设备会将该BGP邻居关系在主用设备上的TCP连接信息向该备用设备进行备份; 备用设备接收并保存主用设备发来的TCP连接信息,将TCP连接的接收和发送状态设置为 proxy (代理),分配用于缓存待发送的BGP报文的发送缓存区和用于缓存接收到的BGP报 文的接收缓存区。
[0034] 其中,TCP连接信息中包括:备用设备上用于连接BGP对等体的端口的地址及 端口号,该BGP对等体上用于连接该备用设备的端口的地址及端口号,连接状态置为 ESTABLISHED (已建立)。
[0035] 当备用设备收到该BGP对等体发来的BGP报文后,由于TCP接收和发送状态是 proxy,因此会执行步骤S104。
[0036] 步骤S104,备用设备在接收到BGP对等体发来的BGP报文之后,缓存该BGP报文, 确定该BGP报文的报文类型,之后执行步骤S106 ;
[0037] 此时,接收到的BGP报文的报文类型可以是Keepalive报文、或者
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1