• Description
Q1:
如何在 command line 下執行 Qualnet?
 
A:
      假設您已安裝 Qualnet 3.9.5, 輸入 cd c:\qualnet\3.9.5\bin     qualnet default.config , default.config 為範例劇本 , 執行完成時可該資料夾中找到 default.stat 並觀看執行結果 .
Q2:
安裝 QualNet 後所建立的目錄結構有何分類原則?
 
A:

/addons

選擇套件

/application

應用層協定與資料流量產生器

/bin

執行檔、組態檔、輸入 / 輸出檔

/data

放置樣品檔,如:調變與地型

/gui

使用者圖形介面 Graphical User Interface (GUI)

/importer

裝置與拓撲輸入

/include

共用標頭檔

/mac

MAC 層協定原始碼

/main

基本骨幹程式 ( design/Makefiles 等 )

/mobility

移動模型程式碼

/network

網路層與路由協定原始碼

/phy

wireless 實體與傳遞模型

/tcplib

以追蹤為準的 TCP 應用 (FTP, TELNET, HTTP)

/transport

傳輸層協定 (TCP/UDP)

/verification

簡單的檔案與輸出檔

Q3:
試簡單比較一下 QualNet 和 ns2 、 Opnet 的明顯差異?
 
A:
  QualNet 和 ns2 : QualNet 在無線應用方面有較多的協定與模式庫;並且 QualNet 是由商業公司直接支援而非學校單位。   QualNet 和 Opnet :主要有三點: QualNet 執行模擬的速度非常快,可以將模擬實驗擴大至巨型網路而且所提供的協定與模型的精確度都非常高。   Qualnet 是目前速度最快規模最大的商用模擬器 , 可容納大且複雜的模型 . 也提供高品質的客戶服務 , 並且在 48 小時內支援您的軟體使用問題 。
Q4:
ns2 有何缺點,瓶頸為何?
 
A:
ns2 主要是 REAL 的衍生,是由學術單位主導,其主要平台是 Linux 下的文字介面。 因此所提供的協定有許多尚未被驗證,操作環境較粗糙,新協定支援性較小。因此, ns2 的使用難度較高,能做的分析較少且研究易受到限制。
Simulator FAQs
Q1:
如何新增我自己的統計資料到 Qualnet 中 ?
 
A:
使用 Use IO_PrintStat(), 新的統計資料格式將顯示於 .stat 檔案 . 您也可在 QualNet Analyzer 觀看其圖形化結果 . 請參考 application/cbr.cpp 為範例編寫 . CBR 為 Qualnet 中的應用層模組 . 亦可參考 ip.cpp 中的 GUI_DefineMetric() 和 GUI_Send{Integer,Real,Unsigned}Data() 等函數呼叫 .
Q2:
如何修改協定以收集新統計量 ?
 
A:
首先 , 在協定的資料結構中新增變數 , 舉例來說 , 針對 CBR client 端的資料收集可修改 applications/cbr.h 內的函數 AppDataCbrClient, 某些協定針對統計變數有特殊的資料結構 , 第二 , 找出所有協定碼中修改過與被影響的地方 , 並更新您的統計變數 , 最後 , 修改 PrintStats 函數 , 以顯示出模擬輸出結果 . 以 CBR 為例 : 您可修改 applications/ cbr.cpp 中的 AppCbrClientPrintStats 函數 .
Q3:
請問 Qualnet 可模擬系統連線中斷嗎 ?
 
A:
程度上可行 , 可使用變數 FAULT-CONFIG-FILE 設定特定時間發生傳輸介面錯誤 , 在每個連結端設定 link 失效來模擬傳輸介面錯誤 , 設定節點介面失效可模擬節點傳輸發生錯誤 .
Q4:
是否可以傳送繞過堆疊的訊息並且在特定幾個節點中某層進行訊息的點對點傳輸 ?
 
A:
可以 , 但通常我們不建議這麼做 , 主要的原因有兩個 : 1). 這樣的訊息通常在發生衝突或時間延遲時無法正確處理 , ... 但可想而知 , 這只是個模擬訊息罷了 . 2). 當您在嘗試執行在平行 Qualnet 上 , 可能會發生混亂 , 除非您對整個模擬環境與組態非常熟悉 .
Q5:
我可否使用類似 IPC 的東西 , 在某層執行兩個以上的協定來與其他層的溝通 ?
 
A:
 除了在您所建立的訊息中具體描述不同的 protocol, 也可在相同層使用 MESSAGE_Send, 像是計時器 , 來允許相同層間協定的溝通 .
Q6:
是否可以依據設定之屬性與參數的不同,可定義兩個以上的模擬事件 (scenarios) ,且具備在同一圖表上將不同模擬事件的結果作比較分析的能力 ?
 
A:
可以設定相同的模擬事件,變更其中一個條件 ( 如路由方式 ) ,而做批次實驗 ( Batch Experiments ), 不同模擬事件的結果可同時由 QualNet Analyzer 比較,亦可輸出到 Execel 加以比較。
Q7:
是否具備 discrete-event simulation, failure analysis, 與 bottleneck identification 功能 ?
 
A:
目前提供 discrete-event simulation , Failure analysis 方面亦可以建立故障事件而 Bottleneck identification 亦可由 QualNet 所提供的統計資料辨別出何者是網路瓶頸所在。
Q8:
可否擴展 Qualnet 中已有的原始碼 ?
 
A:
可以 , 大部分的模擬器原始碼皆可獲得 , 因此增加額外的特點更顯得相對容易 .
Q9:
除了 default.stat , 我可以另外指定不同的輸出檔案嗎 ?
 
A:
您可在 configuration 檔中詳細指出 EXPERIMENT-NAME 或在命令列下加入第三個參數 (e.g. qualnet default.config experiment1 可得到 experiment1.stat)
Q10:
如何將網路中模擬機器加入更多細節描述 ? ( 像是硬體 , 作業系統等等 )
 
A:
某些無線裝置的特點在選項中可特別註明 ( 如傳輸功率 , 天線高度等等 ), 但不包括作業系統或 CPU 速度 , 但這些條件能夠藉由調整某節點應用層的 data rate 來模擬 , 某些節點能被指定為路由器 , 且其特定性質亦能在組態中具體說明 ( 像是電路板的傳輸效率 ). 可參考 bin/default.router-model.
Q11:
在 Qualnet 中要怎麼模擬廣播呢 ?
 
A:
您可參考 .app 檔中的 MCBR 設定 : MCBR 1 255.255.255.255 10000 512 5S 70S 100S 上述設定代表 node1 上的多點 CBR 廣播到範圍內的每一台 node( 不經過轉送 ), 其餘參數設定與 CBR 相同 .
Q12:
請問是否支援 RSVP?
 
A:
RSVP 部分只完成 RSVP-TE ,其餘尚未完成。

Q13:
在 WFQ scheduler 中 , 要怎麼改變排程中提供給不同佇列的頻寬總數 ?
 
A:

使用者也能具體描述所有佇列的權重 ( 但接著必須每個佇列都明確說明 ), 輸入 : QUEUE-WEIGHT[priority]  
在 experiment.config 檔案中 , 針對每個優先佇列 , 權重的數值是必須的 , 為了閱讀上的方便 , 通常會將權重數值設定在 0 到 1 之間 , 並且所有佇列的權重和等於 1, QUEUE-WEIGHT 參數必須具體說明每個個別節點或使用節點特性的網路 , 以及網路特性參數 . 此點在 User's Guide 中有詳細說明 .

 
Q14:
我該怎麼在節點上指定我自己的編號?
 
A:

   在 .config 檔中 , 您可以控制 Qualnet 中的節點號碼與個數 , 例如 : SUBNET N16-0 { 1 thru 30 }     
如此一來便可建立 30 個節點 , 若想改變這 30 個節點的編號 , 也可輸入 : SUBNET N16-0 { 101 thru 130 }

    上例則是將原先的節點 1~30 改為節點 101~130,同樣地 , 下列方式也是建立 30 個節點 :     SUBNET N16-0 { 2 4 6 8 10 [the-other-even-#'s-here] 60 }     
雙引號中 , 可填入 1 到 40 億 (32-bit unsigned int) 中的任何整數 , 例如 : SUBNET N16-0 { 35212 36012 ... }

Q15:
請問 .app 檔的格式為何 ?
 
A:
    每個應用層的參數通常都有一點不太一樣 , 在 QUALNET_HOME/bin/default.app 與 QualNet User's Guide 都會有預設應用檔的欄位說明 , 下列是以 Qualnet 中的 CBR 為例 ,CBR 代表 Constant Bit Rate. 注意 : 其他參數也是一樣 .     CBR 有多重終止的情況 , 通常在指定的區間內傳送封包 , 直到封包傳送完畢或時間結束 . 若將 end time 設定為 0, 則代表傳送訊務將不會終止直至模擬時間結束 .
Q16:
我該如何收集無線網路中實體層封包碰撞的統計資料 ?
 
A:
 您必須修改 phy/phy_802_11.cpp 與 mac/mac_802_11.cpp, 可選擇印出所有實體層與 MAC 層的事件 , 以及 trace 的後處理 .
Q17:
在有線網路 ( Wired Network ) 環境中,我們可以將有線連結 ( LINK ) 的頻寬做分割嗎?
 
A:
不行
Q18:
在 QualNet 中,有內建的 Traffic generating functions 嗎?
 
A:
有,在應用層 ( Application Layer ) 裡的 TRAFFIC-GEN 提供數種內建函式,如下圖。
Q19:
在 QualNet 中,是否可以設定結點的封包傳送能力 ( Packet forwarding capability ) ?
 
A:
此參數包含於每個實驗劇本的組態檔中 ( configuration files ) ,稱為 IP forwarding , QualNet 用這個參數控制此功能。此參數可由 Animator 中設定,亦可由下列邏輯自動產生:結點如果只有單一個有線介面 ( a single wired interface ) ,設為 No ;其餘設成 Yes 。

Q20:
每一個結點的介面設定有何限制?
 
A:
結點的介面設定可以是有線或無線,且目前所允許的介面數量高達 96 個。
Q21:
應用層中的 Traffic-GEN 和 Traffic-TRACE 有何差異?
 
A:
Traffic-GEN 可以產生實驗劇本中的訊務流量 ( Traffic ) ,產生的方式目前有 Deterministic 、 Uniform 、 Pareto 和 Exponential 。 Traffic-TRACE 可以經由 ASCII 檔輸入訊務流量。此 TRACE 檔的格式為:第一欄是自最後傳送封包後的時間延遲,單位是 QualNet 所定的時間單位;第二欄是資料大小,單位是 Bytes 。其餘應用層的相關語法可以參照 C:\qualnet\3.9.5\bin\default.app 中的說明。

Q22:
就協定的分層而言, RIPv2 和 ping 應分屬哪一層? 原因為何?
 
A:

  協定的分層,應考慮其被完成的方式      
- RIPv2: 應用層 , uses UDP to send control packets      
- ping: 網路層 , uses ICMP packets           
RIPv2 sends UDP packets to exchange routing data with neighboring routers
RIPv2 therefore is an application-layer protocol.         

ping uses ICMP packets to exchange data. 
ICMP packets are raw IP packets (neither TCP or UDP are used).
ping therefore can be classified as a network-layer protocol.

 
Q23:
在 QualNet 中, AODV 是如何被完成 ( implemented ) 的? 參考哪些論文或 RFC ?
 
A:
AODV 依照 IETF draft 9 完成,由 SNT QA 驗證。 ( 以檢視原始碼與設計測試劇本驗證 )
Q24:
在 QualNet 中,使用者可以定義自己的封包格式 ( Packet Format ) 嗎?
 
A:
可以。但是 Tracer input file (gui/settings/tracerheaderdescription.txt) 必須被更新,用以描述新的封包格式。
Q25:
可提供哪些 vendor device libraries?
 
A:
 以 Cisco , Juniper router 為主,顧客亦可以提供所擁有的機型而請國外增加 ( 需另計費 ) 。
Q26:
是否具備網路設計一致性檢查之功能?
 
A:
設計劇本的過程中,即會檢查相關設定。

Q27:
QualNet 可否支援 MPLS 之以下功能?
 
A:

   (1) perform traffic-engineering (TE) analysis   (2) deploy Differentiated Services (DiffServ)   (3) configure Virtual Private Network (VPN) tunnels   Qos Library 支援 (1)(2) , (3)VPN 目前未支援,如顧客確定購買時程,國外將會提出確定發展時程。

 
Q28:
請問該怎麼設定海拔高度 ? 使用衛星元件做模擬,低軌衛星的高度至少為 500Km~1500Km ,但在 ScenarioDesigner 上似乎只能提供到 1500m ,請問這對我們的模擬是否有影響 ? 因為之後我們的模擬還會加上中軌衛星以及高軌衛星!
 
A:
請參照衛星手冊 P7 , 可調整海平面以上與以下各幾公尺。
Q29:
關於weather的使用方法,記得您說過是在pallet上選取other components/ weather,然後在canves上點取右鍵即可設定weather的範圍。但在我模擬時,雖然已經在pallet上選取other components / weather,但要設定範圍時,常常按右鍵沒有反應,請問這是什麼問題呢? (應該不會是滑鼠壞掉吧)又,當我好不容易設定好weather範圍時,如下圖,模擬出來的結果卻是:frame不會再經衛星幫忙轉送!是因為只要link上有加入weather因素,frame不會通過這條link嗎?之前我以為加上weather因素後,frame還是會隨機通過,不是這樣嗎?
 
A:
Q30:
關於測量 packet delay time 的部份,您說可由traffic and status /tracing 執行追蹤,但我仍然找不到要在哪裡設定!這部分是否能詳細敘述呢?謝謝!
 
A:
請參照使用者手冊 P269
將 Packet tracing enabled 開啟