Controller與Switch建立連接


連接建立


控制器和交換機認識的過程。

  1. 用於交互Openflow版本,如果不同則沒有后續。
  2. 同1。
  3. 特征請求,控制器詢問交換機的特征信息。
  4. 交換機回復控制器,相當於把整個交換機的所有配置都告訴控制器了。
  5. 控制器對交換機的簡單設置。
  6. 由於交換機剛開啟時沒有Flow Table,當交換機收到包的時候不知道怎么辦,它會把這個包通過packet in的方式交給控制器,詢問控制器怎么做。
  7. 對於6的計算結果回復。
  8. 同6。
  9. 同7。
  10. 端口狀態,如果交換機端口狀態變動,通過這個包來告訴控制器,控制器及時更新數據庫。

消息列表


Controller to Switch消息 備注
Feature Controller用這個消息類型詢問交換機支持的功能(feature request/reply)
Configuration Controller用這個消息類型配置或查詢交換機參數(get/set config)
Moddify-State 操作流表和group表或者port屬性
Read-State 獲取交換機的各種狀態信息,比如Counter
Packet-out 向外發送匹配某條流表項的數據報文
Barrier 保證不同消息的順序
Role-request 當交換機有多個Controller時,Controller用這個消息向交換機宣告自己的角色
Asynchronous-Configuration 用於告訴交換機,它對哪些交換機發送過來的消息感興趣
Switch to Controller消息 備注
Packet-in 當有報文匹配某條流表項,該項action是output to Controller-port時或交換機的流表為空時,這個報文就通過Packet-in的消息送到Controller
Flow-removed 當某條流表項被刪除的時候,則Flow-removed消息告知Controller
Port-status 當端口狀態變化時,交換機用這個消息類型向Controller通告狀態變化
Error 當交換機出現錯誤的,用這個消息類型告知Controller
symmetric消息 備注
Hellow Controller和Switch初始建立會話的,相互發送hello初始化
Echo 用於確認Controller和Switch的連通性和延遲每5s
Experimenter 實驗位,可以讓廠商有各自的私有擴展

協議交互


  • h1通過ARP協議獲得h2的MAC地址,然后向h2發數據包,下面是過程。

  • 交換機沒有大腦(傻逼),只要不能匹配流表項,就要向Controller詢問。
  • ICMP


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM