ndnSIM: Overview and Getting Started (Alex Afanasyev) // NDN Tutorial @ ACM ICN 2022_NDN(命名資料網路)
本篇演講探討的是ndnSIM這一套based on NS3 的開源網路模擬器模組,提供了一個可靠的網路模擬環境,可以幫助研究人員更好地理解和評估網路協議和技術。
採用一套開源ndn-cxx的library(based on C++)實現ns3的模組,用於在無線或有線網路模擬NDN架構進行實驗用途的框架,也可透過python來做相關模擬實踐。本身於開源社群也有諸多版控分支具有大量的開源貢獻者,也有相關熱度。
(備註:ndn-cxx 是一個基於 Named Data Networking (NDN) 架構的 C++ 函式庫,用於開發 NDN 應用程序和協議。ndn-cxx 提供了一個簡單易用的 API,使開發人員可以輕鬆地開發 NDN 應用程序和協議。)
眾所周知NDN(命名資料網路)主要是發展出來為了取代IP地址的一項新型態網路架構。
別於目前網際網路是以PC主機為單位的設計,NDN強調直接以命名的資料取代IP進行搜尋與資料傳輸。
ndnSIM主要就是針對這部分做相關系統模擬的工具。甚至可以用於設計自己想要的拓樸、調整參數做交叉流量等操作模擬,還能用在大規模的網路架構實驗。
這些模擬操作在真實環境上都是相對較難實踐的。
模擬上主要克服了以下幾點:
1.在大規模實驗中,真實網路變化和不可控因素,可能導致實驗結果不一致,無法再現同樣狀況。(真實代碼和模擬代碼之間的不一致性,這可能會導致模擬結果不準確。)
2.此外,在真實網路中進行實驗可能會對網路造成影響,而使用模擬器可以避免這種影響。
在ndnSim的演講中,真實代碼(real code)指的是實際運行在網路中的代碼,例如路由器上運行的轉發程序。而模擬代碼(simulated code)指的是在ndnSim中運行的代碼,例如在模擬器中實現的轉發程序。
在網路模擬中,通常需要使用模擬代碼來模擬真實網路中的行為和性能,以便進行評估和優化。然而,由於真實代碼和模擬代碼之間可能存在差異,因此需要進行平衡,以實現準確的模擬結果。ndnSim的目標之一就是實現真實代碼和模擬代碼之間的平衡,以實現準確的模擬結果。如何使用它建立網路拓撲和進行實驗,以及如何分析單個節點的資訊。
轉發程序(Forwarding Program)是指在網路路由器或交換機等網路設備中運行的一種軟體,用於依照路由表或其他轉發策略,將收到的封包轉發到下一個網路節點。轉發程序通常是網路設備的核心功能之一,它可以實現封包的快速轉發和路由,從而實現網路的高效運行。轉發程序的實現方式和具體功能可能因不同的網路設備而異,但其基本原理和目的都是相同的。
經由此次演講對於ndnSim與其網路模擬器運作原理應用有更深刻瞭解。
ndnSim不僅可以用於建立任何拓撲並運行大規模實驗,還可分析單個節點的資訊和調整單個節點的參數。藉由使用 ndnSim,研究人員可以更好地理解和評估網路協議和技術,並可避免在真實網路中進行實驗可能會對網路造成影響的問題。
此外,也瞭解到 ndnSim 是如何實現真實代碼和模擬代碼之間的平衡,以實現準確的模擬結果。因為真實代碼和模擬代碼之間可能存在差異,這可能會導致模擬結果不準確。
ndnSim 通過使用最新的真實代碼和一些技巧,實現了真實代碼和模擬代碼之間的平衡,從而實現了準確的模擬結果。
留言
張貼留言