CN112491597A - 一种自动化专线中继割接方法及装置 - Google Patents

一种自动化专线中继割接方法及装置 Download PDF

Info

Publication number
CN112491597A
CN112491597A CN202011266713.4A CN202011266713A CN112491597A CN 112491597 A CN112491597 A CN 112491597A CN 202011266713 A CN202011266713 A CN 202011266713A CN 112491597 A CN112491597 A CN 112491597A
Authority
CN
China
Prior art keywords
source
vlan
configuration
port
target
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.)
Pending
Application number
CN202011266713.4A
Other languages
English (en)
Inventor
闵莽锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongying Youchuang Information Technology Co Ltd
Original Assignee
Zhongying Youchuang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongying Youchuang Information Technology Co Ltd filed Critical Zhongying Youchuang Information Technology Co Ltd
Priority to CN202011266713.4A priority Critical patent/CN112491597A/zh
Publication of CN112491597A publication Critical patent/CN112491597A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种自动化专线中继割接方法及装置,其中,该方法包括:工单数据录入并根据录入的工单数据按工单数据模型进行保存,包括:割接表、工单表和工单参数表;比较源A端和目标A端是否同设备,若同设备,则登录源A端设备,执行同设备割接操作流程,否则登录源A端设备,执行跨设备割接操作流程;比较源B端和目标B端是否同设备,若同设备,则登录源B端设备,执行同设备割接操作流程,否则登录源B端设备,执行跨设备割接操作流程。该方法及装置实现对专线中继割接的自动化管理,支持多种中继割接场景,大大提升了中继割接的操作效率。

Description

一种自动化专线中继割接方法及装置
技术领域
本发明涉及专线割接配置领域,尤其是一种自动化专线中继割接方法及装置。
背景技术
目前运营商网络中存在多种业务接入专线,例如互联网专线、VPN专线和PON接入专线等,随着用户规模的日益扩大,经常需要对网络设备进行扩容或升级替换,这也就意味着要对专线进行迁移和割接,而割接配置步骤较多,且根据接入模式、业务种类、设备厂家和专线类别的不同,参数也需要随之进行调整。现实中,采用人工操作模式不仅效率低下,易误操作且操作繁复,操作日志难于收集和追溯,因此急需一种集约化和自动化的手段来保证割接配置的准确性、有效性和高效性。
发明内容
为解决人工操作模式存在的问题,本发明提供一种自动化专线中继割接方法及装置,实现对专线中继割接的自动化管理,支持多种中继割接场景,大大提升了中继割接的操作效率。
为实现上述目的,本发明采用下述技术方案:
在本发明一实施例中,提出了一种自动化专线中继割接方法,该方法包括:
工单数据录入并根据录入的工单数据按工单数据模型进行保存,包括:割接表、工单表和工单参数表;
比较源A端和目标A端是否同设备,若同设备,则登录源A端设备,执行同设备割接操作流程,否则登录源A端设备,执行跨设备割接操作流程;
比较源B端和目标B端是否同设备,若同设备,则登录源B端设备,执行同设备割接操作流程,否则登录源B端设备,执行跨设备割接操作流程。
进一步地,工单数据包括:
源/目标设备端口信息:源/目标A/B端设备和源/目标A/B端端口;
其他信息:割接VLAN、源中继标签、目标中继标签和割接备注。
进一步地,同设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置并保存;
删除源端口配置数据;
在目标端口上配置源端口对应的专线信息。
进一步地,跨设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置;
登录目标端设备;
构建目标端新装配置下发指令;
在目标端口上配置源端口对应的专线信息,否则登录源端设备,构建源端端口删除配置下发指令,在源端端口上删除对应的专线信息。
进一步地,构建配置下发指令,包括:
工单管理模块发起配置下发调用请求;
配置下发模块调用配置命令模板进行配置;
配置命令模板根据工单参数按设备厂家、源/目标端和是否跨厂家对配置下发命令进行分析和构建;
执行构建好的命令序列,并返回执行结果。
在本发明一实施例中,还提出了一种自动化专线中继割接装置,该装置包括:
工单数据录入保存模块,工单数据录入并根据录入的工单数据按工单数据模型进行保存,包括:割接表、工单表和工单参数表;
比较源A端和目标A端模块,用于比较源A端和目标A端是否同设备,若同设备,则登录源A端设备,执行同设备割接操作流程,否则登录源A端设备,执行跨设备割接操作流程;
比较源B端和目标B端模块,用于比较源B端和目标B端是否同设备,若同设备,则登录源B端设备,执行同设备割接操作流程,否则登录源B端设备,执行跨设备割接操作流程。
进一步地,工单数据包括:
源/目标设备端口信息:源/目标A/B端设备和源/目标A/B端端口;
其他信息:割接VLAN、源中继标签、目标中继标签和割接备注。
进一步地,同设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置并保存;
删除源端口配置数据;
在目标端口上配置源端口对应的专线信息。
进一步地,跨设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置;
登录目标端设备;
构建目标端新装配置下发指令;
在目标端口上配置源端口对应的专线信息,否则登录源端设备,构建源端端口删除配置下发指令,在源端端口上删除对应的专线信息。
进一步地,构建配置下发指令,包括:
工单管理模块发起配置下发调用请求;
配置下发模块调用配置命令模板进行配置;
配置命令模板根据工单参数按设备厂家、源/目标端和是否跨厂家对配置下发命令进行分析和构建;
执行构建好的命令序列,并返回执行结果。
在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述自动化专线中继割接方法。
在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行自动化专线中继割接方法的计算机程序。
有益效果:
本发明实现对专线中继割接的自动化管理,支持多种中继割接场景,大大提升了中继割接的操作效率。
附图说明
图1是本发明一实施例的自动化专线中继割接方法流程示意图;
图2是本发明一实施例的同设备割接操作流程示意图;
图3是本发明一实施例的跨设备割接操作流程示意图;
图4是本发明一实施例的自动化专线中继割接装置结构示意图;
图5是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种自动化专线中继割接方法及装置,包括如下内容:
(1)割接功能包括:
通过专线中继割接工单的方式对割接操作进行管理:包括工单的新建、修改、查询,以及工单配置下发操作的管控。
支持设备厂家:
BAS/SR:华为、中兴。
汇聚交换机:华为93系列。
接入交换机:华为、华三、中兴、思科。
(2)支持如下割接场景:
FTTH互联网专线:BAS/SR--汇聚交换机、单端BAS(BAS-OLT)、单端汇聚交换机(9312-OLT)中继割接。
MPLSVPN专线:BAS/SR--汇聚/接入交换机、汇聚交换机--汇聚/接入交换机、单端BAS(BAS-OLT)、单端汇聚交换机(9312-OLT)中继割接。
FTTX语音专线:SR--汇聚交换机中继割接、单端汇聚交换机(9312-OLT)中继割接。
(3)割接范围说明:
支持同设备、跨设备但不跨厂家割接、跨设备且跨厂家割接。
跨设备且跨厂家割接。
同设备割接,先删除原配置,后做新配置;跨设备割接,先做目标设备配置,后删除原设备配置。
VLAN和IP利旧。VLAN需要校验目标端口下不冲突。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的自动化专线中继割接方法流程示意图。如图1所示,该方法包括:
工单数据录入;
比较源A端和目标A端是否同设备,若同设备,则登录源A端设备,执行同设备割接操作流程,否则登录源A端设备,执行跨设备割接操作流程;
比较源B端和目标B端是否同设备,若同设备,则登录源B端设备,执行同设备割接操作流程,否则登录源B端设备,执行跨设备割接操作流程。
图2是本发明一实施例的同设备割接操作流程示意图。如图2所示,同设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置并保存;
删除源端口配置数据;
在目标端口上配置源端口对应的专线信息。
图3是本发明一实施例的跨设备割接操作流程示意图。如图3所示,跨设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置;
登录目标端设备;
构建目标端新装配置下发指令;
在目标端口上配置源端口对应的专线信息,否则登录源端设备,构建源端端口删除配置下发指令,在源端端口上删除对应的专线信息。
下面按功能点描述本发明的实现方案和特性,具体如下:
1、工单数据录入
在专线中继割接工单编辑页面进行工单数据录入。
工单数据填写:分为源设备端口信息、目标设备端口信息、其他信息。后面标“*”的为必填。
(1)源/目标设备端口信息:
源/目标A/B端设备:只读文本框,文本框后提供“选择”按钮,点击后弹窗提供当前用户有权限,且设备属性为BAS/SR/汇聚交换机/接入交换机的设备供选择。可按设备名称和IP进行过滤。用户选择设备后,回到父页面,将选择的设备名称(设备IP)自动填写到文本框中。其中A端限定为只能选择BAS/SR/汇聚交换机,B端限定为只能选择汇聚/接入交换机或为空。
源/目标A/B端端口:只读文本框,文本框后提供“选择”按钮,点击后与A/B端设备进行联动,提供A/B端设备下挂端口供选择。若此时未选择设备,则提示用户“请先指定A/B端设备。”。可按端口名称进行过滤。用户选择端口后,回到父页面,将选择的端口名称自动填写到文本框中。
源/目标A端设备和端口为必填;源/目标B端(设备+端口)要么都为空,要么都不为空。为空时即为割接含OLT设备中继的单端。
源/目标A端设备不能与源/目标B端设备相同。若相同,则提示用户“A、B端设备不能是同一个设备,请重新选择。”
源和目标A/B端不能完全相同,即若源A端设备+端口=目标A端设备+端口,则源B端设备+端口不能与目标B端设备+端口相同;反之亦然。
源A端设备属性必须与目标A端设备属性相同,源B端设备属性必须与目标B端设备属性相同。
录入端口后(焦点离开),触发该检查:若目标A/B端设备的设备属性为BAS/SR/汇聚交换机、端口为物理口,则获取对应的聚合口。
(2)其他信息:
割接VLAN:文本框,可为空。支持单个VLAN、VLAN区间(起始-终止)录入,多个之间以“,”分隔。若B端设备为接入交换机,则需做整条链路迁移(包括不在业务VLAN范围内的,但不含管理VLAN),不支持输入割接VLAN,此时设置文本框为disable。VLAN值需存在于系统参数指定的有效范围内,若超限,则提示“存在VLAN不在业务有效值值范围内,请重新输入。”
源中继标签、目标中继标签:必填,下拉列表框,枚举取值“不打标签”、“互联网及MPLS专线”、“MPLS-VPN专线”。默认为空。
割接备注:文本框,用户录入。可为空。
2、生成工单
根据录入的工单数据按如下工单数据模型进行保存,包括:割接表、工单表和工单参数表。
(1)relaysl_cutover_sheet割接表入库逻辑见下表1:
表1
列名 编码 类型 是否Pk 赋值方法
工单编号 wsnbr char(13) 同worksheet.wsnbr
源A端设备标识 src_adevid char(8) 界面录入
源A端设备端口 src_aport VARchar2(255) 界面录入
源B端设备标识 src_bdevid char(8) 界面录入
源B端设备端口 src_bport VARchar2(255) 界面录入
目标A端设备标识 dst_adevid char(8) 界面录入
目标A端设备端口 dst_aport VARchar2(255) 界面录入
目标B端设备标识 dst_bdevid char(8) 界面录入
目标B端设备端口 dst_bport VARchar2(255) 界面录入
割接VLAN vlan_scope VARchar2(1024) 界面录入
源中继标签 src_tag VARchar2(32) 界面录入
目标中继标签 dst_tag VARchar2(32) 界面录入
割接备注 remark VARchar2(1024) 界面录入
源A端设备名称 src_adevname VARchar2(128) 界面录入
源A端设备IP src_adevip VARchar2(128) 界面录入
源B端设备名称 src_bdevname VARchar2(128) 界面录入
源B端设备IP src_bdevip VARchar2(128) 界面录入
目标A端设备名称 dst_adevname VARchar2(128) 界面录入
目标A端设备IP dst_adevip VARchar2(128) 界面录入
目标B端设备名称 dst_bdevname VARchar2(128) 界面录入
目标B端设备IP dst_bdevip VARchar2(128) 界面录入
(2)worksheet工单表入库逻辑见下表2:
表2
Figure BDA0002776302110000101
Figure BDA0002776302110000111
(3)worksheetext工单参数表入库逻辑见下表3:
表3
参数描述 参数名 赋值方法
源A端设备标识 SDEVA 同relaysl_cutover_sheet表src_adevid
源A端设备端口 src_aport 同relaysl_cutover_sheet表src_aport
源B端设备标识 SDEVB 同relaysl_cutover_sheet表src_bdevid
源B端设备端口 src_bport 同relaysl_cutover_sheet表src_bport
目标A端设备标识 DDEVA 同relaysl_cutover_sheet表dst_adevid
目标A端设备端口 dst_aport 同relaysl_cutover_sheet表dst_aport
目标B端设备标识 DDEVB 同relaysl_cutover_sheet表dst_bdevid
目标B端设备端口 dst_bport 同relaysl_cutover_sheet表dst_bport
割接VLAN vlan_scope 同relaysl_cutover_sheet表vlan_scope
A端是否跨设备 across_device 若SDEVA=DDEVA,赋值为0,否则赋值为1
B端是否跨设备 bcross_device 若SDEVB=DDEVB,赋值为0,否则赋值为1
源A端设备厂家 src_avendor 根据SDEVA获取对应设备的厂家,例如HU
源B端设备厂家 src_bvendor 根据SDEVB获取对应设备的厂家,例如HU
目标A端设备厂家 dst_avendor 根据DDEVA获取对应设备的厂家,例如HU
目标B端设备厂家 dst_bvendor 根据DDEVB获取对应设备的厂家,例如HU
A端是否跨厂家 across_vendor 若src_avendor=dst_avendor,赋值为0,否则赋值为1
B端是否跨厂家 bcross_vendor 若src_bvendor=dst_bvendor,赋值为0,否则赋值为1
3、工单管理
在专线中继割接工单编管理页面进行工单管理。
工单管理的功能包括:
(1)按各类条件查询工单信息。
(2)提供创建新工单的功能。
(3)提供对工单的各类操作功能,包括编辑、查看详情、预览、下发、查看详细日志操作。
用户交互流程如下:
(1)用户可按如下条件组合查询工单:
工单编号:文本框,用户录入。支持模糊匹配。
工单状态:下拉列表框,待选枚举值:“待部署”(A)、“竣工”(C)。
操作者:文本框,用户录入。支持模糊匹配。
设备名称或IP:文本框,用户录入。支持模糊匹配。对应源、目标端设备信息。均需进行模糊匹配。
设备端口:文本框,用户录入。支持模糊匹配。对应源、目标端端口信息。均需进行模糊匹配。
割接VLAN:文本框,用户录入。支持模糊匹配。
割接备注:文本框,用户录入。支持模糊匹配。
创建时间:包括起止范围,精确到秒,终止时间需大于等于起始时间。
(2)操作按钮:
新建:用户点击该按钮,系统弹窗呈现新建工单页面,详见工单数据录入。
查询:用户点击该按钮,系统根据条件组合组装SQL进行查询,
(3)右键菜单:
用户选择一条工单,单击右键,系统提供如下右键菜单:
修改:仅工单状态为待部署(A)时显示该右键。
查看工单详细:工单属性页面,所有属性只读。
查看工单状态历史:工单状态变更日志。
查看任务日志:配置任务执行日志。
配置预览:配置任务命令预览。
4、配置下发指令构建
配置下发的具体步骤包括:
工单管理模块发起配置下发调用请求。
配置下发模块调用配置命令模板进行配置。
配置命令模板根据工单参数按设备厂家、源/目标端、是否跨厂家对配置下发命令进行分析和构建。
执行构建好的命令序列,并返回执行结果。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述自动化专线中继割接方法进行更为清楚的解释,下面结合具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
下面分别描述华为和中兴的配置下发指令构建。
华为源A端-BAS/SR设备
(1)获取源端命令行信息进行分析,执行命令display current-configuration,保存所有返回结果进行分析。同时,将所有返回结果根据工单编号保存到relaysl_cutover_sheet.src_cmdline。
(2)变量赋值:
SubPortInfoList[]=NULL(子接口信息列表),包括如下属性内容:
SubPortName:子接口名称。
PortAddr:端口地址,包括ip和mask,多个以逗号分隔。
VpnInstance:源端口绑定的VPN实例名称。
NetworkAddr:路由配置地址,包括ip和mask,多个以逗号分隔。
BgpAS=NULL(AS号)
StaticRouteCmd[]=NULL(静态路由命令列表)。
(3)子接口配置分析:找到包含“interface$sport”的行,提取配置子接口的整段命令行。针对每个子接口,逐一做如下操作:
提取子接口名称,添加到数组SubPortInfoList,赋值属性SubPortName。
提取端口IP地址和掩码,添加到数组SubPortInfoList,赋值属性PortAddr。
提取端口绑定的VPN实例名称,添加到数组SubPortInfoList,赋值属性VpnInstance。
(4)BGP配置分析:找到BGP配置段,
提取AS号,赋值给BgpAS。
(仅across_device=1时执行)遍历SubPortInfoList列表,若VpnInstance不为空,提取VpnInstance下所有network配置行,若这里的IP地址段与端口的地址段相同,则记录IP和掩码,赋值给属性NetworkAddr。判断地址段相同的方法:network配置行的ip&mask=PortAddr.ip&mask,注意PortAddr有多个的情况下需要逐一判断。
命令行示例:
ipv4-family vpn-instance cql3vpn-XinNongHeYiLiao
network 136.27.4.0 255.255.255.0
network 192.168.115.0 255.255.255.128
(5)静态路由分析:找到以“ip route-static”开头的行,逐一做如下操作:
若命令行包含SubPortInfoList.SubPortName中的任意一个,则在该命令行前添加“undo”,并添加到数组StaticRouteCmd。
命令行示例:
ip route-static 58.43.54.1 255.255.255.255 Eth-Trunk12.3
ip route-static 58.43.54.1 255.255.255.255 Eth-Trunk12.3 58.43.42.26
ip route-static vpn-instance cql3-iptv 172.34.224.0 255.255.224.0Eth-Trunk10.3
ip route-static vpn-instance cql3-iptv 172.34.224.0 255.255.224.0Eth-Trunk10.3 172.17.3.218
(仅across_device=1时执行)若命令行不包含子接口名称,则提取“Eth-Trunk10.3”地址赋值为RouteIP,判断该地址是否位于端口所属子网段内(计算PortAddr的网络地址和广播地址,判断RouteIP是否位于两者之间。注意PortAddr有多个的情况下需要逐一判断。)若位于端口子网段内,则在该命令行前添加“undo”,并添加到数组StaticRouteCmd。
命令行示例:
ip route-static 172.12.1.8 255.255.255.248 202.98.59.130
ip route-static vpn-instance CTVPN607327249-ChengTouJinKa 172.12.1.8255.255.255.248 202.98.59.130
(6)执行删除命令:
删除存在的子接口关联静态路由配置:遍历StaticRouteCmd,执行其中每一行。示例:
undo ip route-static 183.64.115.128 255.255.255.192 GigabitEthernet7/1/3.4090 183.64.115.34
undo……
删除存在的bgp下发布network路由配置:遍历SubPortInfoList列表,若VpnInstance不为空,执行下述命令行:
bgp 65220--BgpAS
#每个VpnInstance执行下述框线内整段
Figure BDA0002776302110000161
Figure BDA0002776302110000171
quit
删除子接口:遍历SubPortInfoList列表,针对每个SubPortName,执行下述命令一行。
undo inteface Eth-Trunk100.1703 --SubPortName
华为源B端-BAS/SR设备(同厂家)
配置检查
(1)获取源端命令行信息进行分析,根据工单编号获取relaysl_cutover_sheet.src_cmdline作为源端命令行进行分析。
(2)变量赋值:
sport=工单参数src_aport(源端口)
dport=工单参数dst_aport(目标端口)
alloc_flag=1(当前是否执行分配子接口号步骤,1-执行0-不执行)
conflict_flag=0(当前是否存在冲突项,1-存在0-不存在)
IdleSubPortNoList[]=NULL(目标端口下空闲子接口列表)
SubPortInfoList[]=NULL(子接口信息列表),包括如下属性内容:
SubPortName:子接口名称。
PortAddr:端口地址,包括ip和mask,多个以逗号分隔。
VpnInstance:源端口绑定的VPN实例名称。
PortConfigCmd:端口配置命令。
BgpAS=NULL(AS号)
VpnList[]=NULL(源端口绑定的VPN实例),包括如下属性内容:
VpnInstance:源端实例名。
NewVpnInstance:目标端实例名。
VpnConfigCmd:VPN配置命令。
NetworkAddr:路由配置地址,包括ip和mask,多个以逗号分隔。
create_flag=0:是否需要创建VPN。
rename_flag=0:是否需要改名。
Yibao_flag=0(医保访控模板是否存在,1-存在0-不存在)
StaticRouteCmd[]=NULL(静态路由命令列表)。
子接口配置分析:
(1)获取目标端口下的空闲子接口号。
首先获取已经配置的子接口编号,执行如下命令:
dis ip int brief|in GigabitEthernet2/1/1 --$dport
输出结果中Interface列对应已经配置的子接口,如GigabitEthernet2/1/1.100,小数点后的100表示子接口编号,取范围在101~4096范围内未占用的所有编号为空闲子接口编号,添加到数组IdleSubPortNoList,并按升序排序。
<CQ-JLP-SQP-BAS-3.MAN.ME60-X16>dis ip int brief|in GigabitEthernet2/1/1
*down:administratively down
!down:FIB overload down
^down:standby
(l):loopback
(s):spoofing
(d):Dampening Suppressed
(E):E-Trunk down
The number of interface that is UP in Physical is 163
The number of interface that is DOWN in Physical is 52
The number of interface that is UP in Protocol is 118
The number of interface that is DOWN in Protocol is 97
Interface IP Address/Mask Physical Protocol
GigabitEthernet2/1/1(10G) unassigned up down
GigabitEthernet2/1/1.1 unassigned up up
GigabitEthernet2/1/1.2 unassigned up up
GigabitEthernet2/1/1.100 106.86.208.105/30 up up
GigabitEthernet2/1/1.4070 172.1.9.225/29 up up
<CQ-JLP-SQP-BAS-3.MAN.ME60-X16>
(2)子接口配置分析:找到包含“interface$sport”的行,提取配置子接口的整段命令行。针对每个子接口,逐一做如下操作:
分配子接口号:针对每个源端口,逐个分配目标子接口编号。
判断是否可分配:若alloc_flag=1,则需分配新的子接口号;若alloc_flag=0,则报错“找不到可用的目标子接口号”,设置conflict_flag=1并跳出该步骤。
分配:从空闲子接口号列表IdleSubPortNoList获取最小一个(即IdleSubPortNoList[0]),并从列表中删除该值。设置目标子接口SubPortName=$dport.IdleSubPortNoList[0]。若最终未找到可用子接口号,则报错“找不到可用的目标子接口号”,同时设置conflict_flag=1、alloc_flag=0。
获取VLAN信息:按红色关键字获取,若包含“qinq”,设置Encapsulation=QINQ、PVLAN=外层VLAN、CVLAN=内层VLAN;若包含“dot1q”,设置Encapsulation=DOT1Q、PVLAN=单层VLAN。
VLAN检查:若存在则报错“目标端口下VLAN已经存在”,同时设置conflict_flag=1。
#--Encapsulation=QINQ时:
user-vlan检查:若存在则报错“user-vlan已被占用”,检查方法:如果返回结果中包含dport、PVLAN则认为存在。
display sub-interface GigabitEthernet 3/0/3 pevlan 4000 cevlan 3100--dport、PVLAN、CVLAN
#占用返回
Sub-interface:GigabitEthernet3/0/2.4000
Sub-interface-status:UP
PeVlan/CeVlan:4000/3100
#空闲返回
Info:No Sub-interface exist.
termination vlan检查:若存在则报错“termination vlan已被占用”,检查方法:如果返回结果中包含“qinq termination pe-vid PVLAN ce-vid CVLAN”则认为存在。
display qinq information termination interface GigabitEthernet 3/0/3|include pe-vid 4000 ce-vid 3100-- dport、PVLAN、CVLAN
#占用返回
qinq termination pe-vid 4000ce-vid 3100
#空闲返回
Info:Specified information does not exist.
#--Encapsulation=DOT1Q时:
user-vlan检查:若存在则报错“user-vlan已被占用”,检查方法:如果返回结果中包含dport、PVLAN,则认为存在。
display sub-interface GigabitEthernet 3/0/3 pevlan 4000 --dport、PVLAN
#占用返回
Sub-interface:GigabitEthernet3/0/2.4000
Sub-interface-status:UP
PeVlan/CeVlan:4000/0
The BAS function has been disabled
#空闲返回
Info:No Sub-interface exist.
termination vlan检查:若存在则报错“termination vlan已被占用”,检查方法:如果返回结果中包含PVLAN则认为存在。
display dot1q information termination interface GigabitEthernet 3/0/3|include vid 4000 --dport、PVLAN
#占用返回
dot1q termination vid 4000
#空闲返回
Info:Specified information does not exist.
若当前设备是BAS设备(DeviceModelCode like”DEV_IP_B_%'),需要检查设备版本,执行命令display version|include software,
显示:VRP(R)software,Version 5.160(ME60V600R007C00SPC600)设置v800_flag=0。
显示:VRP(R)software,Version 8.180(ME60V800R010C10SPC500)设置v800_flag=1。
如果版本不一致,端口interface下如下表4命令需要替换(control-vid为双层的PVLAN或单层VLAN)
表4
Figure BDA0002776302110000221
Figure BDA0002776302110000231
若当前设备版本与配置不吻合,则需要将上述行配置进行相应替换。
生成目标端口配置信息:若conflict_flag=0,保存如下信息:提取子接口名称,添加到数组SubPortInfoList,赋值属性SubPortName。
提取端口IP地址和掩码,添加到数组SubPortInfoList,赋值属性PortAddr。
提取端口绑定的VPN实例名称,添加到数组SubPortInfoList,赋值属性VpnInstance。
将整段命令行中的子接口名称替换为SubPortName,赋值属性PortConfigCmd。
获取医保访控模板:搜索“Yibao”,按红色关键字匹配,若存在,设置Yibao_flag=1。
traffic-policy Yibao outbound --端口绑定出向访控模板名称
若conflict_flag=1,报错“子接口配置检查未通过!”退出。
配置下发
VPN、BGP、静态路由配置分析
遍历SubPortInfoList列表,做如下分析:
(1)(仅across_device=1时执行)VPN配置分析:找到VPN配置段,
若VpnInstance不为空且在VpnList中不存在,找到对应的VPN实例信息,按关键字提取RD。
检查VPN是否存在:执行命令display ip vpn-instance(可只执行一次、保存结果后续备查),按RD去匹配判定:
若匹配到RD,则将该VPN信息添加到VpnList,其中属性赋值如下:
(1)VpnInstance:SubPortInfoList.VpnInstance。
(2)rename_flag:VPN实例名称与源端不同时,赋值为1。同时,将SubPortInfoList.PortConfigCmd中的VpnInstance替换为NewVpnInstance。
(3)NewVpnInstance:若rename_flag=1,赋值为RD对应的新VPN实例名称。否则,赋值为VpnInstance。
(4)create_flag:赋值为0。
(5)VpnConfigCmd:置空。
若未匹配到RD,则将该VPN信息添加到VpnList,其中属性赋值如下:
(1)VpnInstance:SubPortInfoList.VpnInstance。
(2)rename_flag:赋值为0。
(3)NewVpnInstance:赋值为VpnInstance。
(4)create_flag:赋值为1。
(5)VpnConfigCmd:整段VPN配置命令。
<HUAWEI>display ip vpn-instance
Total VPN-Instance configured:5
Total IPv4 VPN-Instance configured:3
Total IPv6 VPN-Instance configured:1
Figure BDA0002776302110000251
(2)(仅across_device=1时执行)BGP配置分析:找到BGP配置段,
提取AS号,赋值给BgpAS。
若VpnInstance不为空,提取VpnInstance下所有network配置行,若这里的IP地址段与端口的地址段相同,则记录IP和掩码,赋值给VpnList的属性NetworkAddr。判断地址段相同的方法:network配置行的ip&mask=PortAddr.ip&mask,注意PortAddr有多个的情况下需要逐一判断。
命令行示例:
ipv4-family vpn-instance cql3vpn-XinNongHeYiLiao
network 136.27.4.0 255.255.255.0
network 192.168.115.0 255.255.255.128
(3)静态路由分析:找到以“ip route-static”的开头行,逐一做如下操作:
若命令行包含SubPortName,则将该命令行追加到StaticRouteCmd(以换行分隔)。
命令行示例:
ip route-static 58.43.54.1 255.255.255.255 Eth-Trunk12.3
ip route-static 58.43.54.1 255.255.255.255 Eth-Trunk12.3 58.43.42.26
ip route-static vpn-instance cql3-iptv 172.34.224.0 255.255.224.0Eth-Trunk10.3
ip route-static vpn-instance cql3-iptv 172.34.224.0 255.255.224.0Eth-Trunk10.3 172.17.3.218
(仅across_device=1时执行)若命令行不包含子接口名称,则提取红色部分地址赋值为RouteIP,判断该地址是否位于端口所属子网段内(计算PortAddr的网络地址和广播地址,判断RouteIP是否位于两者之间。注意PortAddr有多个的情况下需要逐一判断。)若位于端口子网段内,则将该命令行追加到StaticRouteCmd(以换行分隔)。
命令行示例:
ip route-static 172.12.1.8 255.255.255.248 202.98.59.130
ip route-static vpn-instance CTVPN607327249-ChengTouJinKa 172.12.1.8255.255.255.248 202.98.59.130
执行配置
(1)防控模板配置(仅across_device=1&&Yibao_fag=1时执行):(可参考DEV_IP_B_HU_COM_PE_add)
acl number 3801
description YiBao-deny-virus
rule 1permit udp destination-port eq 135
rule 2permit udp destination-port eq 445
rule 3permit udp destination-port eq 137
rule 4permit udp destination-port eq 138
rule 5permit udp destination-port eq 139
quit
acl number 3802
description YiBao-permit
rule 1permit ip source 10.0.8.0 0.0.0.255
rule 2permit ip source 10.0.9.0 0.0.0.255
rule 3permit ip source 10.199.0.253 0
quit
acl number 3803
description YiBao-deny
rule permit ip source any
quit
traffic classifier YiBao-deny-virus
if-match acl 3801
traffic classifier YiBao-permit
if-match acl 3802
traffic classifier YiBao-deny
if-match acl 3803
traffic behavior YiBao-deny-virus
deny
traffic behavior YiBao-permit
permit
traffic behavior YiBao-deny
deny
traffic policy Yibao
classifier YiBao-deny-virus behavior YiBao-deny-virus
classifier YiBao-permit behavior YiBao-permit
classifier YiBao-deny behavior YiBao-deny
quit
(2)VPN配置(仅across_device=1时执行):遍历VpnList列表,针对每个VPN,
若create_flag=1,执行VpnConfigCmd中所有命令。
若v800_flag=1,执行commit。
(3)端口配置:遍历SubPortInfoList列表,针对每个端口,
若PortConfigCmd不为空,执行PortConfigCmd中所有命令。
若v800_flag=1,执行commit。
(4)BGP配置(仅across_device=1时执行):
遍历VpnList列表,针对每个VPN,
bgp 65220 --BgpAS
#每个VpnInstance执行下述整段:
ipv4-family vpn-instance cql3vpn-XinNongHeYiLiao --NewVpnInstance
undo network 192.168.115.0 255.255.255.128 --NetworkAddr,多个情况下执行多行
quit
quit
若v800_flag=1,执行commit。
(5)静态路由配置:执行StaticRouteCmd中所有命令行。
中兴源A端-BAS/SR设备
(1)获取源端命令行信息进行分析,执行命令show running-config,保存所有返回结果进行分析。同时,将所有返回结果根据工单编号保存到relaysl_cutover_sheet.src_cmdline。
(2)变量赋值:
SubPortInfoList[]=NULL(子接口信息列表),包括如下属性内容:
SubPortName:子接口名称。
PortAddr:端口地址,包括ip和mask,多个以逗号分隔。
VpnInstance:源端口绑定的VPN实例名称。
NetworkAddr:路由配置地址,包括ip和mask,多个以逗号分隔。
BgpAS=NULL(AS号)
StaticRouteCmd[]=NULL(静态路由命令列表)。
(3)子接口配置分析:找到包含“interface$sport”的行,提取配置子接口的整段命令行。针对每个子接口,逐一做如下操作:
提取子接口名称,添加到数组SubPortInfoList,赋值属性SubPortName。
提取端口IP地址和掩码,添加到数组SubPortInfoList,赋值属性PortAddr。
提取端口绑定的VPN实例名称,添加到数组SubPortInfoList,赋值属性VpnInstance。
(4)BGP配置分析:找到BGP配置段,
提取AS号,赋值给BgpAS。
(仅across_device=1时执行)遍历SubPortInfoList列表,若VpnInstance不为空,提取VpnInstance下所有network配置行,若这里的IP地址段与端口的地址段相同,则记录IP和掩码,赋值给属性NetworkAddr。判断地址段相同的方法:network配置行的ip&mask=PortAddr.ip&mask,注意PortAddr有多个的情况下需要逐一判断。
命令行示例:
address-family ipv4 vrf cql3-iptv
maximum-paths ibgp 4
network 172.1.0.132 255.255.255.252
network 172.1.0.148 255.255.255.252
(5)静态路由分析:找到以“ip route”开头的行,逐一做如下操作:
若命令行包含SubPortInfoList.SubPortName中的任意一个,则在该命令行前添加“undo”,并添加到数组StaticRouteCmd。
命令行示例:
ip route 58.43.54.1 255.255.255.255 smartgroup3.101
ip route 58.43.54.1 255.255.255.255 smartgroup3.101 58.43.42.26
(仅across_device=1时执行)若命令行不包含子接口名称,则提取红色部分地址赋值为RouteIP,判断该地址是否位于端口所属子网段内(计算PortAddr的网络地址和广播地址,判断RouteIP是否位于两者之间。注意PortAddr有多个的情况下需要逐一判断。)若位于端口子网段内,则在该命令行前添加“undo”,并添加到数组StaticRouteCmd。
命令行示例:
ip route 172.12.1.8 255.255.255.248 202.98.59.130
(6)执行删除命令:
删除存在的子接口关联静态路由配置:遍历StaticRouteCmd,执行其中每一行。示例:
no ip route 58.43.28.196 255.255.255.255 gei-0/1/1/6.3006 58.43.33.42
no……
删除子接口vlan配置:遍历SubPortInfoList列表,执行下述命令。
vlan-configuration
no interface xgei-0/1/0/2.23 --SubPortName(针对每个SubPortName,执行该命令一行)
exit
删除子接口限速配置:遍历SubPortInfoList列表,执行下述命令。
qos
no interface xgei-0/1/0/2.23 --SubPortName(针对每个SubPortName,执行该命令一行)
exit
删除存在的子接口引用模板配置:遍历SubPortInfoList列表,执行下述命令。
no service-policy gei-0/1/1/4.101input BE --SubPortName(针对每个SubPortName,执行该命令一行)
删除存在的bgp下发布network路由配置:遍历SubPortInfoList列表,若VpnInstance不为空,执行下述命令行:
router bgp 65220 --BgpAS
#每个VpnInstance执行下述整段:
address-family ipv4 vrf cql3vpn-XinNongHeYiLiao --VpnInstance
no network 192.168.115.0 255.255.255.128 --NetworkAddr,多个情况下执行多行
exit
exit
删除子接口:遍历SubPortInfoList列表,针对每个SubPortName,执行下述命令一行。
no inteface Eth-Trunk100.1703 --SubPortName
中兴源B端-BAS/SR设备(同厂家)
配置检查
(1)获取源端命令行信息进行分析,根据工单编号获取relaysl_cutover_sheet.src_cmdline作为源端命令行进行分析。
(2)变量赋值:
sport=工单参数src_aport(源端口)
dport=工单参数dst_aport(目标端口)
alloc_flag=1(当前是否执行分配子接口号步骤,1-执行0-不执行)
conflict_flag=0(当前是否存在冲突项,1-存在0-不存在)
IdleSubPortNoList[]=NULL(目标端口下空闲子接口列表)
SubPortInfoList[]=NULL(子接口信息列表),包括如下属性内容:
SubPortName:子接口名称。
PortAddr:端口地址,包括ip和mask,多个以逗号分隔。
VpnInstance:源端口绑定的VPN实例名称。
PortConfigCmd:端口配置命令。
BgpAS=NULL(AS号)
VpnList[]=NULL(源端口绑定的VPN实例),包括如下属性内容:
VpnInstance:源端实例名。
NewVpnInstance:目标端实例名。
VpnConfigCmd:VPN配置命令。
NetworkAddr:路由配置地址,包括ip和mask,多个以逗号分隔。
create_flag=0:是否需要创建VPN。
rename_flag=0:是否需要改名。
Yibao_flag=0(医保访控模板是否存在,1-存在0-不存在)
StaticRouteCmd[]=NULL(静态路由命令列表)。
子接口配置分析:
(1)获取目标端口下的空闲子接口号。(可参考FTTHIPSL/DEV_IP_R_ZT_COM_add)
首先获取已经配置的子接口编号,执行如下命令:
show interface description|include xgei-x/x/x/x.--dport
输出结果中Interface列对应已经配置的子接口,如GigabitEthernet2/1/1.100,小数点后的100表示子接口编号,取范围在101~4096范围内未占用的所有编号为空闲子接口编号,添加到数组IdleSubPortNoList,并按升序排序。
Figure BDA0002776302110000351
(2)子接口配置分析:找到包含“interface$sport”的行,提取配置子接口的整段命令行。针对每个子接口,逐一做如下操作:
分配子接口号:针对每个源端口,逐个分配目标子接口编号。
判断是否可分配:若alloc_flag=1,则需分配新的子接口号;若alloc_flag=0,则报错“找不到可用的目标子接口号”,设置conflict_flag=1并跳出该步骤。
分配:从空闲子接口号列表IdleSubPortNoList获取最小一个(即IdleSubPortNoList[0]),并从列表中删除该值。设置目标子接口SubPortName=$dport.IdleSubPortNoList[0]。若最终未找到可用子接口号,则报错“找不到可用的目标子接口号”,同时设置conflict_flag=1、alloc_flag=0。
获取VLAN信息:按红色关键字获取,若包含“qinq”,设置Encapsulation=QINQ、PVLAN=外层VLAN、CVLAN=内层VLAN;若包含“dot1q”,设置Encapsulation=DOT1Q、PVLAN=单层VLAN。
VLAN检查:若存在则报错“目标端口下VLAN已经存在”,同时设置conflict_flag=1。
#--Encapsulation=QINQ时执行:
show vlan-conflict-interface smartgroup3 qinq internal-vlan-range301external-vlan-range 2401 --dport、CVLAN、PVLAN
#--Encapsulation=DOT1Q时执行:
show vlan-conflict-interface smartgroup3 dot1q vlan-range 2201 --dport、PVLAN
2种情况下命令返回格式相同。
#占用返回
Conflict Interface Name:
SUB-INTERFACE-NAME
--------------------------
smartgroup3.24010301
#空闲返回
Conflict Interface Name:
SUB-INTERFACE-NAME
--------------------------
生成目标端口配置信息:若conflict_flag=0,保存如下信息:
提取子接口名称,添加到数组SubPortInfoList,赋值属性SubPortName。
提取端口IP地址和掩码,添加到数组SubPortInfoList,赋值属性PortAddr。
提取端口绑定的VPN实例名称,添加到数组SubPortInfoList,赋值属性VpnInstance。
将整段命令行(包括if-intf、vlan、port-acl、car、hqos、urpf命令段)中的子接口名称替换为SubPortName,赋值属性PortConfigCmd。
获取医保访控模板:搜索“Yibao”,按红色关键字匹配,若存在,设置Yibao_flag=1。
interface gei-0/1/1/4.101
ipv4-access-group egress YiBao-permit --端口绑定出向访控模板名称
若conflict_flag=1,报错“子接口配置检查未通过!”退出。
配置下发
VPN、BGP、静态路由配置分析
遍历SubPortInfoList列表,做如下分析:
(1)(仅across_device=1时执行)VPN配置分析:找到VPN配置段,
若VpnInstance不为空且在VpnList中不存在,找到对应的VPN实例信息,按关键字提取RD。
检查VPN是否存在:执行命令show ip vrf(可只执行一次、保存结果后续备查),按RD去匹配判定:
若匹配到RD,则将该VPN信息添加到VpnList,其中属性赋值如下:
(1)VpnInstance:SubPortInfoList.VpnInstance。
(2)rename_flag:VPN实例名称与源端不同时,赋值为1。同时,将SubPortInfoList.PortConfigCmd中的VpnInstance替换为NewVpnInstance。
(3)NewVpnInstance:若rename_flag=1,赋值为RD对应的新VPN实例名称。否则,赋值为VpnInstance。
(4)create_flag:赋值为0。
(5)VpnConfigCmd:置空。
若未匹配到RD,则将该VPN信息添加到VpnList,其中属性赋值如下:
(1)VpnInstance:SubPortInfoList.VpnInstance。
(2)rename_flag:赋值为0。
(3)NewVpnInstance:赋值为VpnInstance。
(4)create_flag:赋值为1。
(5)VpnConfigCmd:整段VPN配置命令。
zxr10{config}#show ip vrf
*Being deleted
Name Default RD Interfaces
zte 1:1 loopback1
mng<not set>
(2)(仅across_device=1时执行)BGP配置分析:找到BGP配置段,
提取AS号,赋值给BgpAS。
若VpnInstance不为空,提取VpnInstance下所有network配置行,若这里的IP地址段与端口的地址段相同,则记录IP和掩码,赋值给VpnList的属性NetworkAddr。判断地址段相同的方法:network配置行的ip&mask=PortAddr.ip&mask,注意PortAddr有多个的情况下需要逐一判断。
命令行示例:
address-family ipv4 vrf cql3-iptv
maximum-paths ibgp 4
network 172.1.0.132 255.255.255.252
network 172.1.0.148 255.255.255.252
(3)静态路由分析:找到以“ip route”的开头行,逐一做如下操作:
若命令行包含SubPortName,则将该命令行追加到StaticRouteCmd(以换行分隔)。
命令行示例:
ip route 58.43.54.1 255.255.255.255 smartgroup3.101
ip route 58.43.54.1 255.255.255.255 smartgroup3.101 58.43.42.26
(仅across_device=1时执行)若命令行不包含子接口名称,则提取红色部分地址赋值为RouteIP,判断该地址是否位于端口所属子网段内(计算PortAddr的网络地址和广播地址,判断RouteIP是否位于两者之间。注意PortAddr有多个的情况下需要逐一判断。)若位于端口子网段内,则将该命令行追加到StaticRouteCmd(以换行分隔)。
命令行示例:
ip route 172.12.1.8 255.255.255.248 202.98.59.130
执行配置
(1)防控模板配置(仅across_device=1&&Yibao_fag=1时执行):
ipv4-access-list YiBao-permit
rule 1permit ip 10.0.8.0 0.0.0.255 any
rule 2permit ip 10.0.9.0 0.0.0.255 any
rule 3permit ip 10.199.0.253 0.0.0.0 any exit
(2)VPN配置(仅across_device=1时执行):遍历VpnList列表,针对每个VPN,
若create_flag=1,执行VpnConfigCmd中所有命令。
(3)端口配置:遍历SubPortInfoList列表,针对每个端口,
若PortConfigCmd不为空,执行PortConfigCmd中所有命令。
(4)BGP配置(仅across_device=1时执行):
遍历VpnList列表,针对每个VPN,
router bgp 65220--BgpAS
#每个VpnInstance执行下述整段:
address-family ipv4 vrf cql3-iptv --NewVpnInstance
undo network 192.168.115.0 255.255.255.128 --NetworkAddr,多个情况下执行多行
quit
quit
(5)静态路由配置:执行StaticRouteCmd中所有命令行。
BAS/SR设备A端跨厂家割接
从专线发现结果表获取需要开通的参数信息。
执行逻辑:
(1)根据源端设备和端口从专线表获取对应的待割接专线信息,获取到的每条记录对应一条专线。
(2)根据专线信息中的PVLAN、设备属性以及目标端设备厂家(对应工单参数dst_avendor)判定调用哪个开通模板。每个模板仅执行一次,但配置业务子接口的配置命令段,每条专线均需执行一段。对照关系如下表5:
表5
Figure BDA0002776302110000421
遍历取出来的每条专线信息,按(2)中判定的业务模板进行模板参数赋值,见下表6:
表6
Figure BDA0002776302110000422
Figure BDA0002776302110000431
Figure BDA0002776302110000441
执行对应模板逻辑。其中PEPortIP存在多个的情况(格式:ip/masklen,ip/masklen),在配置子接口IP的时候需要进行特殊处理,根据设备厂家按如下执行(这是区别于新装模板的地方):
(1)dst_avendor=JR:多段IP配置多行下述命令。
set interfaces$port unit$unit family inet address$addip
(2)dst_avendor=HU:第1段之后的IP添加关键字sub。
ip address$ip$mask
ip address$ip$mask sub
(3)dst_avendor=ZT:第1段之后的IP添加关键字secondary。
ip address$newip
ip address$newip secondary
华为源A端-汇聚交换机
(1)获取源端命令行信息进行分析,执行命令dis cu int$src_aport,保存所有返回结果为进行分析。同时,将所有返回结果根据工单编号保存到relaysl_cutover_sheet.src_cmdline。
返回结果示例:
interface GigabitEthernet1/0/24
--端口
undo negotiation auto
description dT:CQ-SQS-JFB-OLT-4.MAN.RiYueGuang-OLT
1G::ETH-
port link-type trunk
undo port trunk allow-pass vlan 1
--trunk模式
port trunk allow-pass vlan 96 984 2222 to 2224 3750 3800 3850 3900 --透传vlan集合。注意to的情况,为范围
qos burst-mode enhanced
broadcast-suppression 5
#
interface GigabitEthernet1/0/27
undo negotiation auto
description dT:CQ-SQS-JFB-SW-3.MAN.MPLS5352
1G::ETH-0/1/2
undo port hybrid vlan 1
--hybrid模式
port hybrid tagged vlan 1511 1578 1667 to 1668 1960 1976 to 1977 1982to 1983 --透传vlan集合,tagged
port hybrid untagged vlan 1503 to 1505 1507 1521 1586 1599 1602 16721698 1964 --透传vlan集合,untagged
port vlan-stacking vlan 1503 stack-vlan 1503
--untagged时,双层vlan的内层vlan、外层vlan
port vlan-stacking vlan 1510 to 1512 stack-vlan 1503
--注意to的情况,为范围
……
#
(2)变量赋值:
VlanMode:vlan模式,取值trunk、hybrid。
VlanScope:vlan割接范围,来自工单参数vlan_scope,包含单个vlan或vlan区间,多个值之间以“,”分隔。
MgmtVlan:管理VLAN。
trunk_vlan:单层vlan集合。
tagged_vlan:入外层vlan集合。
untagged_vlan:出外层vlan集合。
inout_vlan_pairs:内外层vlan配对集合。
(3)获取管理VLAN:执行命令dis ip routing-table 0.0.0.0,vlanif后的数字403即为管理vlan,可能有多个(多行)。将截取到的vlan赋值给MgmtVlan,多个以“,”拼接。
<DaZhuLinKangJu-int-S3328-1>dis ip routing-table 0.0.0.0
Route Flags:R-relay,D-download to fib
-----------------------------------------------------------
Routing Table:Public
Summary Count:1
Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0Static 60 0 RD 183.65.59.65 vlanif403
<DaZhuLinKangJu-int-S3328-1>
(4)配置分析:
确定vlan模式:若命令行包含“undo port trunk”,则设置VlanMode=trunk;若命令行包含“undo port hybrid”,则设置VlanMode=hybrid。若VlanMode为空,报错“无法确定端口VLAN模式”退出。
vlan模式校验:若VlanMode=hybrid&&工单参数src_bvendor=H3/CI,则报错“华三或思科设备源端为hybrid模式时无法割接。”退出。
提取vlan号:
若VlanMode=trunk,截取“port trunk allow-pass vlan”后的vlan串,多行则以空格进行拼接,赋值给trunk_vlan。若vlan串不为空,调用“判定vlan有效性”步骤进行判定。
若VlanMode=hybrid,截取“port hybrid tagged vlan”后的vlan串,多行则以空格进行拼接,赋值给tagged_vlan。若vlan串不为空,调用“判定vlan有效性”步骤进行判定。
若VlanMode=hybrid,截取“port hybrid untagged vlan”后的vlan串,多行则以空格进行拼接,赋值给untagged_vlan。若vlan串不为空,调用“判定vlan有效性”步骤进行判定。
若VlanMode=hybrid,截取“port vlan-stacking vlan”后的内层、外层vlan,以“,”进行拼接,多行则以“;”进行拼接,赋值给inout_vlan_pairs。若外层vlan需调用“判定vlan有效性”步骤进行判定,若判定为丢弃,则不做拼接。
判定vlan有效性:
判定vlan是否在割接范围内:按空格拆分vlan串(需识别xxx to yyy的区间格式),若VlanScope不为空,逐一判断vlan是否在VlanScope范围内。若不在,则丢弃。
判定vlan是否在管理vlan范围内:若MgmtVlan不为空,逐一判断vlan是否在MgmtVlan范围内,若存在,则丢弃对应元素。
(5)执行删除命令:设置VlanListStr=遍历VlanList,每个元素以空格拼接。
interface GigabitEthernet2/0/1 --src_aport
#VlanMode=hybrid时执行
undo port hybrid vlan 1428 1430 --tagged_vlan
undo port vlan-stacking vlan 207stack-vlan 2072 --内层vlan、外层vlan(按分号拆解inout_vlan_pairs,每一对执行一行。其中每一对逗号前为内层vlan、逗号后为外层vlan)
undo port hybrid vlan 1428 1430 --untagged_vlan
#VlanMode=trunk时执行
undo port trunk allow-pass vlan 139 --trunk_vlan
quit
(6)保存源端信息:根据当前工单编号保存如下信息。
保存vlan模式:update relaysl_cutover_sheet set asrc_vlan_mode='$VlanMode'where wsnbr='$wsnbr'
保存待割接单层vlan:update relaysl_cutover_sheet set asrc_trunk_vlan='$trunk_vlan
保存待割接入外层vlan:update relaysl_cutover_sheet set asrc_tagged_vlan='$tagged_vlan
保存待割接出外层vlan:update relaysl_cutover_sheet set asrc_untagged_vlan='$untagged_vlan
保存待割接内外层vlan配对集合:update relaysl_cutover_sheet set asrc_inout_vlan_pairs='$inout_vlan_pairs
华为目标A端-汇聚交换机
(1)获取源端命令行信息进行分析,根据工单编号获取relaysl_cutover_sheet.src_cmdline作为源端命令行进行分析。
(2)变量赋值:
SrcVlanMode:源端vlan模式,取值trunk、hybrid。赋值方法:根据工单编号获取relaysl_cutover_sheet表字段bsrc_vlan_mode。
DstVlanMode:目标端vlan模式,取值trunk、hybrid、空。
MgmtVlan:管理VLAN。
set_mode_flag=0(是否需要设置vlan模式。1-需要,0-不需要)
trunk_vlan:单层vlan集合。根据工单编号获取relaysl_cutover_sheet表字段asrc_trunk_vlan。
tagged_vlan:入外层vlan集合。根据工单编号获取relaysl_cutover_sheet表字段asrc_tagged_vlan。
untagged_vlan:出外层vlan集合。根据工单编号获取relaysl_cutover_sheet表字段asrc_untagged_vlan。
inout_vlan_pairs:内外层vlan配对集合。根据工单编号获取relaysl_cutover_sheet表字段inout_vlan_pairs。
(3)获取管理VLAN:执行命令dis ip routing-table 0.0.0.0,vlanif后的数字403即为管理vlan,可能有多个(多行)。将截取到的vlan赋值给MgmtVlan,多个以“,”拼接。
<DaZhuLinKangJu-int-S3328-1>dis ip routing-table 0.0.0.0
Route Flags:R-relay,D-download to fib
-----------------------------------------------------------
Routing Table:Public
Summary Count:1
Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0Static 60 0 RD 183.65.59.65 vlanif403
<DaZhuLinKangJu-int-S3328-1>
(4)判定是否管理VLAN:若MgmtVlan不为空,遍历VlanList,逐一判断vlan是否在MgmtVlan范围内,若存在,则丢弃对应元素。
(5)获取目标端vlan模式:执行命令dis cu int$dst_aport,若返回结果包含“undo port trunk”,则设置DstVlanMode=trunk;若返回结果包含“undo port hybrid”,则设置DstVlanMode=hybrid。若都未找到,则DstVlanMode置空。
(6)校验vlan模式:
若src_bvendor=HU/ZT&&SrcVlanMode=hybrid&&DstVlanMode=trunk,报错“源端设备厂家为华为和中兴,且源端口是hybrid模式,目标端口必须为hybrid模式或者未配置vlan模式”退出。
(7)检查vlan是否占用(across_device=1时执行):
若VlanMode=trunk,拆解、遍历trunk_vlan,针对每个vlan,执行命令dis vlan$vlan,逐一判断vlan是否被占用。判定方法:返回结果不包含vlan号,表示未占用。
若VlanMode=hybrid,拆解、遍历tagged_vlan、untagged_vlan、inout_vlan_pairs的内层vlan,针对每个vlan,执行命令dis vlan$vlan,逐一判断vlan是否被占用。判定方法:返回结果不包含vlan号,表示未占用。
若存在占用则报错“$vlan已存在”。
若存在已占用的情况,则检查完毕后退出。
(8)执行配置下发:
创建vlan:遍历tagged_vlan、untagged_vlan、inout_vlan_pairs的内层vlan,针对其中每个元素(设置为vlan),
若$vlan不包含“to”,执行命令vlan$vlan。
若$vlan包含“to”,执行命令vlan batch$vlan。
端口下透传vlan:若DstVlanMode为空,则设置DstVlanMode=hybrid、set_mode_flag=1。
interface GigabitEthernet2/0/1 --dst_aport
#set_mode_flag=1时执行
undo port hybrid vlan 1
#VlanMode=hybrid时执行
port hybrid tagged vlan 1428 1430 --tagged_vlan
port hybrid untagged vlan 1428 1430
--untagged_vlan
port vlan-stacking vlan 207 stack-vlan 2072 --内层vlan、外层vlan(按分号拆解inout_vlan_pairs,每一对执行一行。其中每一对逗号前为内层vlan、逗号后为外层vlan)
#VlanMode=trunk时执行
port trunk allow-pass vlan 139 --trunk_vlan
quit
华为源B端-汇聚交换机
(1)获取源端命令行信息进行分析,执行命令dis cu int$src_bport,保存所有返回结果为进行分析。同时,将所有返回结果根据工单编号保存到relaysl_cutover_sheet.src_cmdline。
返回结果示例:
interface Eth-Trunk3
--端口
description uT:JieFangBei-HW-5352-1-eth-trunk1
port link-type trunk
undo port trunk allow-pass vlan 1 --trunk模式
port trunk allow-pass vlan 50 52 to 53 1250 to 1251 --透传vlan集合。注意to的情况,为范围
#
interface GigabitEthernet5/0/46
undo negotiation auto
description uT:CQ-SPB-SPB-SR-1.M2N.NE40E:(Direct)GE2/0/0
undo port hybrid vlan 1
--hybrid模式
port hybrid tagged vlan 1500 1503 1564 1577 1588 1598 2021 2024 20272034 --透传vlan集合,tagged
port hybrid tagged vlan 2037 3884 to 3885
--注意to的情况,为范围
#
(2)变量赋值:
VlanMode:vlan模式,取值trunk、hybrid。
VlanList[]:vlan集合。
VlanScope:vlan割接范围,来自工单参数vlan_scope,包含单个vlan或vlan区间,多个值之间以“,”分隔。
MgmtVlan:管理VLAN。
(4)获取管理VLAN:执行命令dis ip routing-table 0.0.0.0,vlanif后的数字403即为管理vlan,可能有多个(多行)。将截取到的vlan赋值给MgmtVlan,多个以“,”拼接。
<DaZhuLinKangJu-int-S3328-1>dis ip routing-table 0.0.0.0
Route Flags:R-relay,D-download to fib
-----------------------------------------------------------
Routing Table:Public
Summary Count:1
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 183.65.59.65 vlanif403
<DaZhuLinKangJu-int-S3328-1>
(5)配置分析:
确定vlan模式:若命令行包含“undo port trunk”,则设置VlanMode=trunk;若命令行包含“undo port hybrid”,则设置VlanMode=hybrid。若VlanMode为空,报错“无法确定端口VLAN模式”退出。
vlan模式校验:若VlanMode=hybrid&&工单参数src_bvendor=H3/CI,则报错“华三或思科设备源端为hybrid模式时无法割接。”退出。
提取vlan号:
若VlanMode=trunk,截取“port trunk allow-pass vlan”后的vlan串,多行则以空格进行拼接。
若VlanMode=hybrid,截取“port hybrid tagged vlan”后的vlan串,多行则以空格进行拼接。
判定vlan是否在割接范围内:按空格拆分vlan串(需识别xxx to yyy的区间格式),若VlanScope不为空,逐一判断vlan是否在VlanScope范围内。若不在,则丢弃;若存在,则添加到数组VlanList。若VlanScope不为空,则直接添加到数组VlanList。
判定vlan是否在管理vlan范围内:若MgmtVlan不为空,遍历VlanList,逐一判断vlan是否在MgmtVlan范围内,若存在,则从列表删除该元素;若不存在,则继续下一元素直至结束。
(6)执行删除命令:设置VlanListStr=遍历VlanList,每个元素以空格拼接。
interface GigabitEthernet2/0/1 --src_bport
#VlanMode=hybrid时执行
undo port hybrid vlan 1428 1430 --VlanListStr
#VlanMode=trunk时执行
undo port trunk allow-pass vlan 139 --VlanListStr quit
(7)保存源端信息:根据当前工单编号保存如下信息。
保存vlan模式:update relaysl_cutover_sheet set bsrc_vlan_mode='$VlanMode'where wsnbr='$wsnbr'
保存待割接vlan:update relaysl_cutover_sheet set bsrc_vlan='$VlanListStr'where wsnbr='$wsnbr'
华为目标B端-汇聚交换机
(1)获取源端命令行信息进行分析,根据工单编号获取relaysl_cutover_sheet.src_cmdline作为源端命令行进行分析。
(2)变量赋值:
SrcVlanMode:源端vlan模式,取值trunk、hybrid。赋值方法:根据工单编号获取relaysl_cutover_sheet表字段bsrc_vlan_mode。
DstVlanMode:目标端vlan模式,取值trunk、hybrid、空。
VlanList[]:待割接vlan集合。根据工单编号获取relaysl_cutover_sheet表字段bsrc_vlan,并按空格拆分为数组。
MgmtVlan:管理VLAN。
set_mode_flag=0(是否需要设置vlan模式。1-需要,0-不需要)
(3)获取管理VLAN:执行命令dis ip routing-table 0.0.0.0,vlanif后的数字403即为管理vlan,可能有多个(多行)。将截取到的vlan赋值给MgmtVlan,多个以“,”拼接。
<DaZhuLinKangJu-int-S3328-1>dis ip routing-table 0.0.0.0
Route Flags:R-relay,D-download to fib
-----------------------------------------------------------
Routing Table:Public
Summary Count:1
Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0Static 60 0 RD 183.65.59.65 vlanif403
<DaZhuLinKangJu-int-S3328-1>
(4)判定是否管理VLAN:若MgmtVlan不为空,遍历VlanList,逐一判断vlan是否在MgmtVlan范围内,若存在,则丢弃对应元素。
(5)获取目标端vlan模式:执行命令dis cu int$dst_bport,若返回结果包含“undo port trunk”,则设置DstVlanMode=trunk;若返回结果包含“undo port hybrid”,则设置DstVlanMode=hybrid。若都未找到,则DstVlanMode置空。
(6)校验vlan模式:
若src_bvendor=HU/ZT&&SrcVlanMode=hybrid&&DstVlanMode=trunk,报错“源端设备厂家为华为和中兴,且源端口是hybrid模式,目标端口必须为hybrid模式或者未配置vlan模式”退出。
(7)检查vlan是否占用(bcross_device=1时执行):遍历VlanList,执行命令disvlan$VlanList[i],逐一判断vlan是否被占用。判定方法:返回结果不包含vlan号,表示未占用。
若占用则报错“$VlanList[i]已存在”。
若存在已占用的情况,则检查完毕后退出。
(8)执行配置下发:
创建vlan:遍历VlanList,针对其中每个元素,
若$VlanList[i]不包含“to”,执行命令vlan$VlanList[i]。
若$VlanList[i]包含“to”,执行命令vlan batch$VlanList[i]。
端口下透传vlan:设置VlanListStr=遍历VlanList,每个元素以空格拼接。若DstVlanMode为空,则设置DstVlanMode=hybrid、set_mode_flag=1。
interface GigabitEthernet2/0/1 --dst_bport
#set_mode_flag=1时执行
undo port hybrid vlan 1
#VlanMode=hybrid时执行
undo port hybrid vlan 1428 1430 --VlanListStr
#VlanMode=trunk时执行
undo port trunk allow-pass vlan 139 --VlanListStr quit
中兴源B端-接入交换机
(1)获取源端命令行信息进行分析,执行命令show running-config int$src_bport,保存所有返回结果为进行分析。同时,将所有返回结果根据工单编号保存到relaysl_cutover_sheet.src_cmdline。
返回结果示例:
interface gei_6/1
out_index 4
description uT:CQ-SPB-HuXiChongDa-SW-1.93121G::G3/0/1
optical-info monitor enable
switchport mode trunk --trunk模式
switchport trunk native vlan 1
switchport trunk vlan 53 --透传vlan集合
switchport trunk vlan 55-56 --注意-的情况,为范围
interface gei_6/1
switchport mode hybrid --hybrid模式
switchport hybrid native vlan 1
switchport hybrid vlan 91tag --透传vlan集合
switchport hybrid vlan 98tag
switchport hybrid vlan 1508-1518tag --注意-的情况,为范围
(2)变量赋值:
VlanMode:vlan模式,取值trunk、hybrid。
VlanList[]:vlan集合。
VlanScope:vlan割接范围,来自工单参数vlan_scope,包含单个vlan或vlan区间,多个值之间以“,”分隔。
MgmtVlan:管理VLAN。
(3)获取管理VLAN:执行命令show ip forwarding route 0.0.0.0,vlan后的数字147即为管理vlan,可能有多个(多行)。将截取到的vlan赋值给MgmtVlan,多个以“,”拼接。
JianShan_VPN_5952#sh ip route 0.0.0.0
IPv4 Routing Table:
Dest Mask Gw Interface Dwner Pri metric 0.0.0.0 0.0.0.061.161.104.213 vlan147[gei_static 10 6/1]
JianShan_VPN_5952#sh runn
(4)配置分析:
确定vlan模式:若命令行包含“switchport mode trunk”,则设置VlanMode=trunk;若命令行包含“switchport mode hybrid”,则设置VlanMode=hybrid。若VlanMode为空,报错“无法确定端口VLAN模式”退出。
提取vlan号:
若VlanMode=trunk,截取“switchport trunk vlan”后的vlan串,多行则以空格进行拼接。
若VlanMode=hybrid,截取“switchport hybrid vlan”后的vlan串,多行则以空格进行拼接。
判定vlan是否在割接范围内:按空格拆分vlan串(需识别xxx-yyy的区间格式),若VlanScope不为空,逐一判断vlan是否在VlanScope范围内。若不在,则丢弃;若存在,则添加到数组VlanList。若VlanScope不为空,则直接添加到数组VlanList。
判定vlan是否在管理vlan范围内:若MgmtVlan不为空,遍历VlanList,逐一判断vlan是否在MgmtVlan范围内,若存在,则从列表删除该元素;若不存在,则继续下一元素直至结束。
(5)执行删除命令:设置VlanListStr=遍历VlanList,每个元素以空格拼接。
删除端口下vlan:
interface GigabitEthernet2/0/1 --src_bport
#VlanMode=trunk时执行
no switchport trunk vlan 139 --VlanListStr
#VlanMode=hybrid时执行
no switchport hybrid vlan 1428 --VlanListStr
exit
删除全局vlan(bcross_device=1时执行):
vlan database
vlan 45,75,98,3001,3301,2401-2460 --VlanListStr
exit
(6)保存源端信息:根据当前工单编号保存如下信息。
保存vlan模式:update relaysl_cutover_sheet set bsrc_vlan_mode='$VlanMode'where wsnbr='$wsnbr'
保存待割接vlan:update relaysl_cutover_sheet set bsrc_vlan='$VlanListStr'where wsnbr='$wsnbr'
中兴目标B端-接入交换机
(1)获取源端命令行信息进行分析,根据工单编号获取relaysl_cutover_sheet.src_cmdline作为源端命令行进行分析。
(2)变量赋值:
SrcVlanMode:源端vlan模式,取值trunk、hybrid。赋值方法:根据工单编号获取relaysl_cutover_sheet表字段bsrc_vlan_mode。
DstVlanMode:目标端vlan模式,取值trunk、hybrid、空。
VlanList[]:待割接vlan集合。根据工单编号获取relaysl_cutover_sheet表字段bsrc_vlan,并按空格拆分为数组。
MgmtVlan:管理VLAN。
set_mode_flag=0(是否需要设置vlan模式。1-需要,0-不需要)
(4)获取管理VLAN:执行命令show ip forwarding route 0.0.0.0,vlan后的数字147即为管理vlan,可能有多个(多行)。将截取到的vlan赋值给MgmtVlan,多个以“,”拼接。
JianShan_VPN_5952#sh ip route 0.0.0.0
IPv4 Routing Table:
Dest Mask Gw Interface Dwner Pri metric 0.0.0.0 0.0.0.061.161.104.213 vlan147[gei_static 1 0 6/1]
JianShan_VPN_5952#sh runn
(5)判定是否管理VLAN:若MgmtVlan不为空,遍历VlanList,逐一判断vlan是否在MgmtVlan范围内,若存在,则丢弃对应元素。
(6)获取目标端vlan模式:执行命令show running-config int$dst_aport,若返回结果包含“port link-type trunk”,则设置DstVlanMode=trunk;若返回结果包含“portlink-type hybrid”,则设置DstVlanMode=hybrid。若都未找到,则DstVlanMode置空。
(7)校验vlan模式:
若src_bvendor=HU/ZT&&SrcVlanMode=hybrid&&DstVlanMode=trunk,报错“源端设备厂家为华为和中兴,且源端口是hybrid模式,目标端口必须为hybrid模式或者未配置vlan模式”退出。
(8)检查vlan是否占用(bcross_device=1时执行):遍历VlanList,执行命令showvlan id$VlanList[i],逐一判断vlan是否被占用。判定方法:返回结果不包含vlan号,表示未占用。
若占用则报错“$VlanList[i]已存在”。
若存在已占用的情况,则检查完毕后退出。
(9)执行配置下发:
创建vlan(bcross_device=1时执行):遍历VlanList,针对其中每个元素,执行命令vlan$VlanList[i]。
端口下透传vlan:若DstVlanMode为空,则设置DstVlanMode=trunk、set_mode_flag=1。
interface GigabitEthernet2/0/1 --dst_bport
#set_mode_flag=1时执行如下4行
no negotiation auto
optical-info monitor enable
switchport mode hybrid
switchport hybrid native vlan 1
#VlanMode=hybrid时执行
switchport hybrid vlan 207 tag --VlanList[i](遍历VlanList,每个执行1行)
#VlanMode=trunk时执行
switchport trunk vlan 53 --VlanList[i](遍历VlanList,每个执行1行)
exit
附录:PE配置返回结果示意
华为
华为:display current-configuration
ip vpn-instance CTVPN607202133-YHDaiShouFei --VPN实例名称
ipv4-family
route-distinguisher 4809:1508408 --RD
tnl-policy l3vpn
apply-label per-instance
vpn-target 4809:150840800 export-extcommunity--exportrt
vpn-target 4809:150840800 import-extcommunity--importrt
#--VPN实例配置段
interface GigabitEthernet15/0/3.1550 --子接口,1550为子接口号
description yibao-607185322 --端口描述
control-vid 1550 qinq-termination --control-vid
qinq termination pe-vid 1516 ce-vid 1800 --外层VLAN、内层VLAN
ip binding vpn-instance CTVPN607162875-LaoBaoZhongXin--端口绑定VPN实例名称
ip address 10.92.207.157 255.255.255.252 --端口地址,兼容多段
traffic-policy TpBE inbound --端口绑定入向访控模板(QOS)名称
traffic-policy Yibao outbound --端口绑定出向访控模板名称
arp broadcast enable
#--端口(双层VLAN)配置段
interface GigabitEthernet14/0/4.1542
vlan-type dot1q 1542 --单层VLAN
description cql3vpn-DianLiGongShi-607153087
ip binding vpn-instance cql3vpn-DianLiGongShi
ip address 192.168.231.29 255.255.255.252
traffic-policy TpBE inbound
ip netstream inbound
interface GigabitEthernet10/0/6.2241
description zhibozhongxinEPON-MA5680T-2-FTTB
control-vid 2241 dot1q-termination
dot1q termination vid 2241 --单层VLAN
ip binding vpn-instance NGN-VPN
ip address 10.60.252.1 255.255.255.240
traffic-policy TpAF4 inbound
arp broadcast enable
#--端口(单层VLAN)配置段
bgp 65220 --AS号
……
peer 58.43.0.164 password cipher
@%@%'Pd&T4}AjLbl:s723R(N-!C_@%@%
#
……
ipv4-family vpn-instance cql3vpn-XinNongHeYiLiao
network 136.27.4.0 255.255.255.0
network 192.168.115.0 255.255.255.128
--发布network路由配置,地址段的起始/终止地址和端口地址段起始/终止地址相同(VPN、FTTX语音)
import-route direct
import-route static
#--对应VPN实例路由发布配置段
……
#--bgp路由发布配置段
ip route-static 172.12.1.8 255.255.255.248 202.98.59.130
ip route-static vpn-instance CTVPN607327249-ChengTouJinKa 172.12.1.8255.255.255.248 202.98.59.130
--下一跳地址(在端口地址段范围内)对应的静态路由配置,172.12.1.8255.255.255.248为用户地址,vpn-instance为VRF名称
兼容其他各种格式:或者是能匹配子接口的
ip route-static 58.43.54.1 255.255.255.255 Eth-Trunk12.3
ip route-static 58.43.54.1 255.255.255.255 Eth-Trunk12.3 58.43.42.26
ip route-static 58.43.54.1 255.255.255.255 58.43.42.26 preference 200
ip route-static vpn-instance cql3-iptv 172.34.224.0 255.255.224.0Eth-Trunk10.3
ip route-static vpn-instance cql3-iptv 172.34.224.0 255.255.224.0Eth-Trunk10.3 172.17.3.218
中兴
中兴:show running-config
!<vrf>
ip vrf CTVPN607162875-LaoBaoZhongXin --VPN实例名称
rd 4809:1502022 --RD
address-family ipv4
route-target import 4809:150202200 --importrt
route-target export 4809:150202200 --exportrt
$
$--VPN实例配置段
……
!</vrf>
!<if-intf>
interface gei-0/1/1/4.101 --子接口,101为子接口号
description CTVPN607162875-LaoBaoZhongXin(607332283)--端口描述
ip vrf forwarding CTVPN607162875-LaoBaoZhongXin --端口绑定VPN实例名称
ip address 10.92.148.105 255.255.255.252 --端口地址,兼容多段
$--端口配置段
……
!</if-intf>
!<vlan>
vlan-configuration
……
interface gei-0/1/1/4.101
qinq internal-vlanid 1500 external-vlanid 1501 --内层VLAN、外层VLAN
$--端口双层VLAN配置段
……
interface smartgroup3.51
encapsulation-dot1q 51 --单层VLAN
$--端口单层VLAN配置段
……
$
!</vlan>
!<port-acl>
interface gei-0/1/1/4.101
ipv4-access-group egress YiBao-permit --端口绑定出向访控模板名称
$--端口绑定访控模板配置段
……
!</port-acl>
!<car>
qos
interface xgei-0/2/0/1.3001
rate-limit input localport cir 204800kbps cbs 2048000 pir 204800 kbpspbs 2 048000 conform-action transmit exceed-action drop violate-action drop
rate-limit output localport cir 204800kbps cbs 2048000 pir 204800kbps pbs 2048000 conform-action transmit exceed-action drop violate-actiondrop
$--端口限速配置段
……
$
!</car>
!<hqos>
service-policy gei-0/1/1/4.101input BE --端口绑定入向访控模板(QOS)名称
$--端口引用模板配置段
……
!</hqos>
!<urpf>
interface gei-0/1/1/4.101
ipv4 verify unicast source reachable-via any
$--端口urpf配置段
……
!</urpf>
!<bgp>
router bgp 65220 --AS号
synchronization disable
bgp router-id 58.43.22.29
address-family ipv4 vrf cql3-iptv
maximum-paths ibgp 4
network 172.1.0.132 255.255.255.252
network 172.1.0.148 255.255.255.252
--发布network路由配置,地址段的起始/终止地址和端口地址段起始/终止地址相同(VPN、FTTX语音)
$--对应VPN实例的路由发布配置段
……
$--bgp路由发布配置段
!</bgp>
!<static>
ip route vrf CTVPN607451412-XiShanKeJi 192.168.8.0 255.255.248.0172.16.2.2
--下一跳地址(在端口地址段范围内)对应的静态路由配置,192.168.8.0255.255.248.0为用户地址,vrf为VRF名称
兼容其他各种格式:或者是能匹配到子接口的
ip route 58.43.54.1 255.255.255.255 smartgroup3.101
ip route 58.43.54.1 255.255.255.255 smartgroup3.10158.43.42.26
ip route 58.43.54.1 255.255.255.255 58.43.42.26
ip route vrf cql3-iptv 172.34.224.0 255.255.224.0 smartgroup3.101
ip route vrf cql3-iptv 172.34.224.0 255.255.224.0 smartgroup3.101172.17.3.218
!</static>
基于同一发明构思,本发明还提出一种自动化专线中继割接装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明一实施例的自动化专线中继割接装置结构示意图。如图4所示,该装置包括:
工单数据录入保存模块101,工单数据录入并根据录入的工单数据按工单数据模型进行保存,包括:割接表、工单表和工单参数表;
工单数据包括:
源/目标设备端口信息:源/目标A/B端设备和源/目标A/B端端口;
其他信息:割接VLAN、源中继标签、目标中继标签和割接备注;
比较源A端和目标A端模块102,用于比较源A端和目标A端是否同设备,若同设备,则登录源A端设备,执行同设备割接操作流程,否则登录源A端设备,执行跨设备割接操作流程;
比较源B端和目标B端模块103,用于比较源B端和目标B端是否同设备,若同设备,则登录源B端设备,执行同设备割接操作流程,否则登录源B端设备,执行跨设备割接操作流程;
同设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置并保存;
删除源端口配置数据;
在目标端口上配置源端口对应的专线信息;
跨设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置;
登录目标端设备;
构建目标端新装配置下发指令;
在目标端口上配置源端口对应的专线信息,否则登录源端设备,构建源端端口删除配置下发指令,在源端端口上删除对应的专线信息;
构建配置下发指令,包括:
工单管理模块发起配置下发调用请求;
配置下发模块调用配置命令模板进行配置;
配置命令模板根据工单参数按设备厂家、源/目标端和是否跨厂家对配置下发命令进行分析和构建;
执行构建好的命令序列,并返回执行结果。
应当注意,尽管在上文详细描述中提及了自动化专线中继割接装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图5所示,本发明还提出一种计算机设备200,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时实现前述自动化专线中继割接方法。
基于前述发明构思,本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有执行前述自动化专线中继割接方法的计算机程序。
本发明提出的自动化专线中继割接方法及装置,仅需提供割接源A/B端设备及端口、目标A/B端设备及端口和VLAN信息,就可自动完成A端设备的删除业务操作和B端设备的新装业务操作。最终达成的目标包括:
(1)自动化批量进行源端和目标端物理口或聚合口下所有专线割接配置操作。
(2)将割接配置操作以工单方式进行管理,可查看下发详细日志。
(3)支持多种割接业务场景。
(4)支持多种设备厂家。
(5)支持同设备、跨设备、跨厂家进行业务割接。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。
对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (12)

1.一种自动化专线中继割接方法,其特征在于,该方法包括:
工单数据录入并根据录入的工单数据按工单数据模型进行保存,包括:割接表、工单表和工单参数表;
比较源A端和目标A端是否同设备,若同设备,则登录源A端设备,执行同设备割接操作流程,否则登录源A端设备,执行跨设备割接操作流程;
比较源B端和目标B端是否同设备,若同设备,则登录源B端设备,执行同设备割接操作流程,否则登录源B端设备,执行跨设备割接操作流程。
2.根据权利要求1所述的自动化专线中继割接方法,其特征在于,所述工单数据包括:
源/目标设备端口信息:源/目标A/B端设备和源/目标A/B端端口;
其他信息:割接VLAN、源中继标签、目标中继标签和割接备注。
3.根据权利要求1所述的自动化专线中继割接方法,其特征在于,同设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置并保存;
删除源端口配置数据;
在目标端口上配置源端口对应的专线信息。
4.根据权利要求1所述的自动化专线中继割接方法,其特征在于,跨设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置;
登录目标端设备;
构建目标端新装配置下发指令;
在目标端口上配置源端口对应的专线信息,否则登录源端设备,构建源端端口删除配置下发指令,在源端端口上删除对应的专线信息。
5.根据权利要求4所述的自动化专线中继割接方法,其特征在于,构建配置下发指令,包括:
工单管理模块发起配置下发调用请求;
配置下发模块调用配置命令模板进行配置;
配置命令模板根据工单参数按设备厂家、源/目标端和是否跨厂家对配置下发命令进行分析和构建;
执行构建好的命令序列,并返回执行结果。
6.一种自动化专线中继割接装置,其特征在于,该装置包括:
工单数据录入保存模块,工单数据录入并根据录入的工单数据按工单数据模型进行保存,包括:割接表、工单表和工单参数表;
比较源A端和目标A端模块,用于比较源A端和目标A端是否同设备,若同设备,则登录源A端设备,执行同设备割接操作流程,否则登录源A端设备,执行跨设备割接操作流程;
比较源B端和目标B端模块,用于比较源B端和目标B端是否同设备,若同设备,则登录源B端设备,执行同设备割接操作流程,否则登录源B端设备,执行跨设备割接操作流程。
7.根据权利要求6所述的自动化专线中继割接装置,其特征在于,所述工单数据包括:
源/目标设备端口信息:源/目标A/B端设备和源/目标A/B端端口;
其他信息:割接VLAN、源中继标签、目标中继标签和割接备注。
8.根据权利要求6所述的自动化专线中继割接装置,其特征在于,同设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置并保存;
删除源端口配置数据;
在目标端口上配置源端口对应的专线信息。
9.根据权利要求6所述的自动化专线中继割接装置,其特征在于,跨设备割接操作流程,包括:
源端口配置信息输入;
分析源端口上满足割接条件的所有专线信息配置;
登录目标端设备;
构建目标端新装配置下发指令;
在目标端口上配置源端口对应的专线信息,否则登录源端设备,构建源端端口删除配置下发指令,在源端端口上删除对应的专线信息。
10.根据权利要求9所述的自动化专线中继割接装置,其特征在于,构建配置下发指令,包括:
工单管理模块发起配置下发调用请求;
配置下发模块调用配置命令模板进行配置;
配置命令模板根据工单参数按设备厂家、源/目标端和是否跨厂家对配置下发命令进行分析和构建;
执行构建好的命令序列,并返回执行结果。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5任一项所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-5任一项所述方法的计算机程序。
CN202011266713.4A 2020-11-13 2020-11-13 一种自动化专线中继割接方法及装置 Pending CN112491597A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011266713.4A CN112491597A (zh) 2020-11-13 2020-11-13 一种自动化专线中继割接方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011266713.4A CN112491597A (zh) 2020-11-13 2020-11-13 一种自动化专线中继割接方法及装置

Publications (1)

Publication Number Publication Date
CN112491597A true CN112491597A (zh) 2021-03-12

Family

ID=74930225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011266713.4A Pending CN112491597A (zh) 2020-11-13 2020-11-13 一种自动化专线中继割接方法及装置

Country Status (1)

Country Link
CN (1) CN112491597A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143247A (zh) * 2021-11-03 2022-03-04 中盈优创资讯科技有限公司 一种ip中继电路流量迁出迁回方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153322A1 (en) * 2008-12-16 2010-06-17 Mandelbaum Yitzhak Method and apparatus for providing an adaptive parser
CN110048897A (zh) * 2019-04-29 2019-07-23 杭州东方通信软件技术有限公司 一种智能网络割接集中调度管理系统及方法
CN110472856A (zh) * 2019-08-09 2019-11-19 北京直真科技股份有限公司 基于自助式场景化流程编排的自动化网络割接管理方法
CN110719196A (zh) * 2019-09-24 2020-01-21 中盈优创资讯科技有限公司 城域网设备割接异常识别工具及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153322A1 (en) * 2008-12-16 2010-06-17 Mandelbaum Yitzhak Method and apparatus for providing an adaptive parser
CN110048897A (zh) * 2019-04-29 2019-07-23 杭州东方通信软件技术有限公司 一种智能网络割接集中调度管理系统及方法
CN110472856A (zh) * 2019-08-09 2019-11-19 北京直真科技股份有限公司 基于自助式场景化流程编排的自动化网络割接管理方法
CN110719196A (zh) * 2019-09-24 2020-01-21 中盈优创资讯科技有限公司 城域网设备割接异常识别工具及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
尹卫武: "PON口快速割接", 《中国设备工程》, no. 11, 30 June 2018 (2018-06-30), pages 158 - 159 *
陆敏: "PON业务端口敏捷迁移的探讨", 《通信企业管理》, no. 04, 30 April 2020 (2020-04-30), pages 78 - 80 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143247A (zh) * 2021-11-03 2022-03-04 中盈优创资讯科技有限公司 一种ip中继电路流量迁出迁回方法及装置

Similar Documents

Publication Publication Date Title
US20230261943A1 (en) System and method for managing virtual local area networks
US8681658B2 (en) System and method to provision an MPLS/VPN network
US9118587B2 (en) Network multi-path discovery
EP2192725B1 (en) Packet switch being partitioned into virtual LANs (VLANs)
CN111314107B (zh) 基于互联网业务的自动组网系统及自动组网方法
US8601091B2 (en) Method and system for automating network engineering
US11411988B2 (en) Managing traffic control in a network mitigating DDOS
US8289878B1 (en) Virtual link mapping
US10848347B2 (en) Managing virtual local area network domains
US20070124005A1 (en) Interfacing between a command line interface-based application program and a remote network device
US20150370848A1 (en) System and method for managing data integrity in electronic data storage
CA2658528C (en) Method and system for analyzing the topology of a multiprotocol label switching (mpls)/virtual private network (vpn) network
CN108574590B (zh) 一种网元开通方法和装置以及计算机可读存储介质
US9537749B2 (en) Method of network connectivity analyses and system thereof
US11824715B2 (en) Configuration method, related apparatus, and system
CN112491597A (zh) 一种自动化专线中继割接方法及装置
CN114025000A (zh) 网络访问关系的建立方法、装置、设备及存储介质
CN112787930B (zh) 一种监控对等体的运行状态的方法、装置及存储介质
US8352637B2 (en) Techniques for resolving network connectivity
US8134923B2 (en) Discovery of virtual private networks
US10439866B2 (en) Network event locus descriptor
CN112953741B (zh) 城域网安全访问端口控制管理方法及装置
WO2024094090A1 (zh) 网络异常检测方法、装置、设备及介质
CN117459441A (zh) 一种用于网络路由路径分析生成的方法和系统
CN117278358A (zh) 报文发送方法、装置、网络设备及存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210312