2017-04-04 331 views
1

我和我的朋友正在開始一個項目。我們將模擬服務器和客戶端之間的基本通信。我們有一個我們要實現的僞代碼。使用這種溝通方式,我們將嘗試以不同方式檢測溝通失敗。我們對這兩個軟件都是新手,所以想要問一些我們應該使用哪種軟件的建議。任何將導致我們走向正確方向的利弊&會很好。在OMNET ++或NS3之間進行選擇

簡單的TCP/IP協議很好。 Python,C#,Java,C或C++會很好。沒有具體的要求,因爲我們只打算使用一些簡單的算法來檢測服務器或客戶端之間的通信是否有故障(檢測它們之間的錯誤消息)

+0

一些額外的信息將有助於指向你的模擬器的方向。您對模擬客戶端/服務器的協議棧(可能是TCP/IP)感興趣嗎?您的項目場景應用的任何特定要求?編程語言或系統中的首選項? –

+0

@MichaelKirsche剛剛添加了一些文字來回復您的問題 –

+0

https://www.google.de/search?q=comparison+of+network+simulators&gws_rd=cr,ssl&ei=3vXjWLrHEsihUd7lu-AN這將有助於作爲一個良好的起點。我是OMNeT ++用戶(因此可能有點偏頗)。但它有一個偉大的用戶手冊和良好的初學者教程。如果可用性是您主要關心的問題,那就去做吧。 – user4786271

回答

6

簡而言之,OMNeT ++和NS-3離散事件模擬器可能是您的不錯選擇,具體取決於您的確切需求。

NS-3是一個網絡模擬器,它使用C++和(可選)Python來模擬網絡協議和(例如)直接從Linux內核和其他應用程序區域中獲取的實際實現。優點是其精確表示扁平數據包,良好的仿真和套接字支持,PCAP輸出,可以使用Wireshark等其他工具進行分析,並提供良好的社區支持。弱點(與其他人相比)可能是可視化的,對於它的祖先ns-2來說是being enhanced compared,但是或多或少都是一個痕跡的動畫。 有關支持型號的概述,請參閱a look at this website

OMNeT ++自帶IDE(基於Eclipse)和GUI(現今基於QT)來執行仿真。一個不錯的overview of the IDE is available online。 OMNeT ++使用C++來定義協議和應用程序的源代碼以及它自己的NED語言,以將這些實現組合到(子)模塊和網絡中,然後進行仿真。該模擬器具有非常好的可視化支持,嚴重超過NS-3。它有一個預定義的模型庫,就像NS-3一樣。仿真模型通常分組在較大的框架中,the INET framework將是您的案例的選擇之一。這裏是a list of models included in INET。社區支持也很好,你可以在這裏看到的Stackoverflow或the OMNeT Google Group

從您的聲明(「檢測客戶端和服務器之間的錯誤通信」),我假設您對應用層上的通信故障感興趣,而不是IP/TCP層上?兩種模擬器都提供TCP/IP模型,但如果您對以太網或WLAN的詳細模擬感興趣,OMNeT ++可能會是一個更好的開始。如果你想使用一個現有的自定義應用程序在虛擬機中運行並模擬兩者之間的通信,NS-3可能是更好的選擇。如果你想排除較低層次並簡單地嘗試在實體之間實現基本的消息交換,那麼我可能更喜歡OMNeT ++。

相關問題