淺析NS3中各個流量發送應用的異同

  NS3中內置的產生通信流量的應用有UdpEcho、OnOffApplication、BulkSendHelper這三個,下面我們分別簡單解釋一下這三個應用的作用及其工作模式,基本上是對官方文檔的一個轉述。

UdpEcho

  其中UdpEcho是最簡單的,和執行ping命令有點類似,不同點在於該應用使用的是UDP協議並且攜帶了數據(但數據內容是系統自動填充的,沒有實際意義)。該應用可以設置發送數據包的數量、發送數據包的時間間隔以及發送的數據包的大小。這個應用基本上應該適用於大多數情況下的仿真。


OnOffApplication

  OnOff應用是一個開關應用,開關應用的意思就是開的時候產生流量,關的時候不產生流量,這個應該很好理解,onoff應用產生的是cbr流量,cbr是Constant Bit Rate的縮寫,譯爲固定位元速率,也就是產生流量的速率是固定的,而每次開或者關持續的時間均是由隨機值決定的,除此之外,OnOff應用可以設置傳輸協議,支持UdpSocketFactory、TcpSocketFactory,另外PacketSocketFactory應該也是支持的,這個沒有測試過。關於OnOff應用的更詳細的解釋或者說備註翻譯如下(官方文檔):

注意:當應用程序啓動時,第一個分組傳輸發生在等於(分組大小/比特率)的延遲之後。還要注意,當應用程序在分組傳輸之間轉換爲關閉狀態時,直到下一次傳輸發生的剩餘時間將被緩存,並在應用程序再次啓動時使用。示例:數據包大小= 1000位,位速率= 500位/秒。如果應用程序在3秒鐘的時間內啓動,則第一個分組傳輸將被安排5秒(3 + 1000/500)和後續傳輸,間隔2秒。如果上述應用程序在時間4秒停止,並在5.5秒時間重新啓動,則第一個數據包將在6.5秒發送,因爲當它在4秒鐘停止時,只剩下1秒,直到原本安排傳輸,並且這個剩餘信息被緩存並用於在重新啓動時調度下一次傳輸。

如果底層套接字類型支持廣播,則此應用程序將自動啓用SetAllowBroadcast(true)套接字選項。



BulkSend

  BulkSend應用程序持續產生流量直到應用程序停止或者已完成發送設定的數據包的數量。該應用的一個特點是盡最大可能的發送多的數據並試圖達到最大帶寬。

  這三個應用應該根據實際情況自由選擇,但不是唯一的選擇,你也可以根據需要建立套接字,自己實現發送數據的功能,包括定義數據包的內容等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章