1、近期在做一个云服务项目,需要与物理交换机配合实现,通过python编程实现了对物理交换机的控制,完全不需要命令行手工配置交换机,
一定程度上实现了SDN的集中控制的思想。
2、架构图如下:
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库进行连接。