SDN的初步实践--通过netconf协议控制交换机

时间:2022-09-05 23:18:00

 

1、近期在做一个云服务项目,需要与物理交换机配合实现,通过python编程实现了对物理交换机的控制,完全不需要命令行手工配置交换机,

一定程度上实现了SDN的集中控制的思想。

2、架构图如下:

SDN的初步实践--通过netconf协议控制交换机

 

3、利用python 连接交换机的示例代码,

#! /usr/bin/python2.7

import ncclient

from ncclient import manager

with manager.connect(\
host="192.168.56.2", \
port=22, \
username="client002", \
hostkey_verify=True, \
key_filename="private.ppk",\
device_params={'name':'huawei'}) as m:
c = m.get_config(source='running').data_xml
with open("%s.xml" % host, 'w') as f:
f.write(c)

 

4、netconf协议是基于ssh连接(tcp 22号端口),XML语言的一种交换机控制协议,python库是通过ncclient库进行连接。