SDN核心思想&Mininet

2.1ONF定義的SDN基本架構:

  1. 應用層:實現網絡流量的靈活控制,使網絡做爲管道智能
  2. 控制層:網絡虛擬化實現方式,核心技術OpenFlow
  3. 轉發層新型創新架構,實現網絡設備控制與轉發分離
  • 2與3之間經過OpenFlow協議通訊

2.2核心思想

1.Decoupling:控制平面負責上層的控制決策;數據平面負責數據的交換轉發(網絡邏輯集中控制)node

  • 控制平面---多個分佈式的控制器

2.Abstraction:python

  • 轉發抽象:路由表,MPLS標籤表,ACL訪問控制表抽象流表
  • 分佈狀態抽象:分佈狀態抽象成全局網絡視圖
    實現下發控制命令;收集設備和鏈路狀態,爲上層應用提供全局網絡視圖
  • 配置抽象:網絡行爲表達經過編程語言實現,將抽象配置映射爲物理配置,利用控制器提供的API,基於控制層提供的全局網絡視圖

3.Programable:開放接口編程編程

接口:網絡

  • 控制平面--應用平面(北向接口):REST API ;JAVA API
  • 控制平面--數據平面(南向接口)實現協議:OpenFlow,NETCONF,OF-Config,OVSDB
  • 東西向接口:多控制器或控制器與外部組件之間通訊

數據平面:架構

  1. 高性能網絡數據處理框架DPDK
  2. SDN數據平面可編程:P4

2.3Mininet應用實踐(SDN仿真工具)

  • 運用mininet可視化工具建立網絡拓撲結構
  • 運用mininet交互命令建立網絡拓撲結構
  • 運用python腳本構建網絡拓撲結構

建立一個真實的虛擬網絡,其中包含真實的工做組件,但運行在機器上,便於測試框架

  1. 命令行:   sudo mn(簡單拓撲:控制器-交換機--兩個主機)  controllers-switches-hosts
  2. 交互式命令: py net.addHost('h3')(添加主機)
  3. python應用程序  sudo python lab_1.py

更多:http://mininet.org/編程語言

基本命令:

  • help:顯示可能的mininet命令列表
  • nodes:顯示節點列表
  • net:顯示網絡拓撲(ASCII編碼)
  • dump-顯示每一個節點的接口設置和表示每一個節點進程的PID
  • <node id>ifconfig相似於定義網絡接口的Linux命令

基本命令行參數:

  • --topo-啓動時經過命令行定義拓撲
  • --switch-定義使用交換機,默認使用ovsk交換機
  • --controller-定義使用控制器,若爲指定默認控制器,做爲集線器使用
相關文章
相關標籤/搜索