소프트웨어 정의 네트워크 인프라 --- SDN 제어 평면

A : SDN 제어 평면

SDN은 네트워크는 두뇌, 하나 이상의 컨트롤러로 구성.

 중앙 관리, 상태 감시, 처리 및 전송을위한 조정 결정 교환 네트워크 장비를 기본 
데이터 플레인의 흐름을, 
오픈 어플리케이션의 복수의 상층에 북향 인터페이스를 통해 프로그래밍 .

(A) 일반적으로 SDN 컨트롤러 아키텍처

 

SDN 층 (6)은 제어 평면으로 분할
남쪽 계면 층 등 오픈 플로우, NETCONF, OVSDB, 상기 제어기는 상기 터널 인터페이스 층을 통해 내부 네트워크를 관리와 같은 각종 프로토콜 주로 남쪽 인터페이스 지원
추상 논리적 계층 을 중심으로 추상적 인 서비스, 서비스에 대한 일관성있는 다양한 통신 프로토콜, 모듈 및 응용 프로그램을 실행하도록
기반 네트워크 계층 등 BGP Vxlan 같은 토폴로지 관리, 링크 버짓뿐만 아니라 일부 로직을 포함하여 기본 네트워크 구현 : 모듈 내부가 같은 논리적 컨트롤러를 구현 포함하고있는 모든 컨트롤러는 필수적이다 실현
내장 어플리케이션 계층 등과 L2, L3 네트워크 오버레이 APP, APP 서비스 체인로서 기능 패키지별로 제공
북행 계면 층 , 제어기 구현하는 인터페이스 또는 임베디드 평안한 API는 상위의 애플리케이션 호출에 대한 API를 제공한다
구성 관리 컨트롤러 등, 투광 조명을, ODL 모듈을 가능하게 삭제 제공과 같은 컨트롤러 서비스 관리, 클러스터 관리 및 그래픽 인터페이스를 제공, 등이 컨트롤러는 사용하기 쉬운 UI 인터페이스, 웹 인터페이스를 제공합니다 북 API에 컨트롤러를 구성하는 컨트롤러를 호출

2 : 컨트롤러 키 기술

주로 네트워크 제어에 남쪽과 북쪽을 포함하여 사업 지원에

(A) 네트워크 기술의 남쪽

등 인터페이스 프로토콜 링크 발견, 토폴로지 관리, 전략 기획, 발행 항목에 남쪽을 통해 전도 :

- 링크 발견 및 토폴로지 관리 : 상향 링크 채널 정보를 이용하여 모니터링 및 통계 통합 하부 스위칭 장치에 의해보고] 
- 및 진입 전략 개발 발행 : 화합에 따른 네트워크 제어 장치에의 다운 링크 채널을 사용한다.

링크 FOUND

SDN은 정보의 전체 네트워크의 열쇠입니다, 네트워크 주소, VLAN은 네트워크 라우팅 및 전달 기능을 학습의 기초
전통적인 네트워크 : 각 네트워크 요소에 의한 자율적 인 
네트워크 링크를 찾을 일 통합 컨트롤러에 의해 수행 : SDN 네트워크
들어 열기 흐름 직접 링크 스위치 발견, SDN 컨트롤러의 발견은 링크 계층 프로토콜 LLDP 구현

复制代码
먼저, 상기 제어기는 상기 LLDP 패킷 스위치 모두에 접속되어 패킷 아웃 메시지 (적색)을 통해 전송 스위치의 모든 포트에 명령 메시지 LLDP 데이터 패킷을 전송 
스위치 패킷 아웃 메시지를 수신 할 때, 그 데이터 LLDP를 넣어 패킷은 그 포트를 통해 접속 된 모든 장치에 전송 
스위치가 오픈 플로우 스위치에 인접 해 있기 때문에, LLDP 패킷을 처리하기위한 상기 스위치의 구체적인 플로우 엔트리가없는, 
그 패킷 - 합격 메시지 컨트롤러 (청색)의 데이터 패킷에서, 
상기 제어기는 상기 메시지 패킷을 수신 된 데이터 패킷을 분석, 및 두 개의 스위치 레코드 사이에 링크를 생성한다. 
네트워크의 다른 스위치는 동일한 방법으로 패킷 제어부에게 전송 메시지, 컨트롤러는 네트워크 토폴로지의 전체 뷰를 생성 할 수있다 또한
复制代码
들면 직접 링크가 아닌 스위치 발견, 즉 모두 오픈 플로우 스위치는 다른 비 오픈 플로우 스위치의 복수를 통해 연결된다. 방송에 의해 달성
제어기 오픈 플로우 스위치 패킷 아웃 메시지를 송신하는 동안에, 스위치가 발견 방송을 달성 할 수있는 링크기구를 통해, 브로드 캐스트 패킷을 발행하도록 요청한다

토폴로지 관리

是为了实时监控和采集SDN交换机的信息,反馈工作状态和链路连接状态:
–定 时 发 送 带 LLDP 数 据 包 的 Packet_out 消 息,根据Packet_in消息获知交换机信息,监测交换机工作状态,完成网络拓扑视图更新;
–当网络规模较大时,导致较慢的收敛过程,影响实时反馈;

策略制定(南向网络控制中的核心技术之一)

流表生成算法是影响控制器智能化水平的关键因素
控制器针对不同网络层次的传输需求,制定相应的转发策略并生成对应的流表项

表项下发(策略计算结果需要通过表项下发来实现)

通过流表下发机制控制交换机的数据包转发
–主动(proactive)下发:数据包到达交换机之前进行流表设置--是控制器在交换机还没有收到数据包前,先给交换机下发流表,告诉交换机如何处理第一个数据包

主动下发可以避免交换机启动时,数据流对交换机的冲击,并且可以消除数据传输过程中,流表项设置延迟的问题
–被动(reactive)下发:交换机接收到一个数据包并且没有发现匹配的流表项,将其送给控制器处理。

 

在复杂网络中会产生流表项设置延迟的问题

(二)北向业务支撑 

通过北向接口为上层业务应用以及资源管理系统提供灵活的网络资源抽象;
北向接口定义是SDN领域关注和争论的焦点---北向接口直接为业务应用服务,其设计密切联系业务应用需求,所以具有多样化特征,很难统一; REST API是用户比较容易接受的方式;

三:SDN开源控制器

 

(一)POX( https://github.com/noxrepo/ ) 

-采用Python语言开发的基于OpenFlow的控制器;
-是NOX的兄弟版本,实现了简单的控制平面的功能。
-简单、易上手

组成:POX由内核和组件组成

1、内核( core ):openflow和of_01 ; --内核负责组件的注册
2、组件( component )  --组件之间通过内核进行交互

控制器可以通过内核中open flow模块控制所有交换机,
of_01模块主要是运行一个线程,该线程不断与交换机进行TCP连接,
当某交换机送来一个协议消息,of_01会触发该消息所对应的事件,并由相关的组件处理函数进行事件的处理

代码结构简单,无需安装即可使用,不需要理解所有代码

缺点:由于代码简单--功能不够全面

(二)Ryu( http://osrg.github.io/ryu/ )

NTT主导开发,RYU是一个基于组件的SDN框架

控制层主要包括协议解析,事件系统,基本网络报文库等
应用层包含内建应用,和基于控制层提供的API编写的网络应用
Ryu通过南向接口与数据平面的设备进行通信,在南向协议方面支持1.0到1.5版本open flow协议,还支持如OF-Config OVSDB,VRRP和NETCONF等其他南向协议
通过北向接口完成应用层和控制层的通信,Ryu提供REST API和RPC等接口,允许外界的进程和Ryu进行通信,用户可以在Open Stack或者其他程序上与Ryu进行通信,从而控制SDN网络

Ryu包含大量的组件和库函数供SDN的应用开发使用

库函数可以在组件中直接调用,而组件之间的关系是相互独立的

(三)Floodlight( http://www.projectfloodlight.org/ )(JAVA开发)

 

추천

출처www.cnblogs.com/liujunjun/p/12230659.html