怎麼擷取或計算網路中任意兩個節點的頻寬?(zz)

來源:互聯網
上載者:User

zz from http://community.csdn.net/Expert/topic/4904/4904585.xml?temp=1.748294E-02

說明:原來寫了很多,但是沒有儲存,又沒發表出去,結果……懶得寫了

=================================================================================

主  題:  怎麼擷取或計算網路中任意兩個節點的頻寬? 
作  者:  rvvd (rvvd)        Blog 
等  級:   
信 譽 值:  100 
所屬社區:  專題開發/技術/項目 網路通訊 
問題點數:  20 
回複次數:  13 
發表時間:  2006-7-25 22:17:39  
 

請各位大俠多多指教,提供相關的資料或演算法給我參考,謝謝!

=================================================================================
  metaza() ( ) 信譽:100    Blog  2006-8-20 19:41:27  得分: 0  

FLUKE應該有吧,我認為,沒見過

=================================================================================

 taosiming(浪蒼雲) ( ) 信譽:100    Blog  2006-8-22 21:19:08  得分: 0  
 
int m_iPWSize;               // size of probe history window size
int getBandwidth()
{
   // sorting
   int temp;
   for (int i = 0, n = (m_iPWSize >> 1) + 1; i < n; ++ i)
      for (int j = i, m = m_iPWSize; j < m; ++ j)
         if (m_piProbeWindow[i] > m_piProbeWindow[j])
         {
            temp = m_piProbeWindow[i];
            m_piProbeWindow[i] = m_piProbeWindow[j];
            m_piProbeWindow[j] = temp;
         }

   // read the median value
   int median = (m_piProbeWindow[(m_iPWSize >> 1) - 1] + m_piProbeWindow[m_iPWSize >> 1]) >> 1;
   int count = 1;
   int sum = median;
   int upper = median << 3;
   int lower = median >> 3;

   // median filtering
   for (int k = 0, l = m_iPWSize; k < l; ++ k)
      if ((m_piProbeWindow[k] < upper) && (m_piProbeWindow[k] > lower))
      {
         ++ count;
         sum += m_piProbeWindow[k];
      }

   return (int)ceil(1000000.0 / (double(sum) / double(count)));
}

=================================================================================

guomin(敏感) ( ) 信譽:100    Blog  2006-8-24 11:02:26  得分: 0 

用最笨的辦法咯。兩點間傳輸一個檔案,然後計算平均值或者穩定值。

=================================================================================  
 
 guomin(敏感) ( ) 信譽:100    Blog  2006-8-24 11:13:32  得分: 0 

請問taosiming(浪蒼雲) 的代碼什麼意思啊?偶是新新手,看不懂啊。。。

 ================================================================================= 

 f_acme(滄海一聲笑) ( ) 信譽:100    Blog  2006-8-24 11:13:46  得分: 0  
 
taosiming(浪蒼雲) :
能不能解釋一下?
那些m_piProbeWindow代表什麼意思啊?

=================================================================================  

 taosiming(浪蒼雲) ( ) 信譽:100    Blog  2006-8-25 13:09:40  得分: 0  
這個代碼不具備參考性,具體可以參考pathrate原始碼。

=================================================================================
 troyleescong() ( ) 信譽:100    Blog  2006-8-28 1:44:20  得分: 0 
 
 
  
發送一個一定長度的UDP包並在IP首部設定“不分區”標誌位元,如果其長度超過了頻寬則路由器會自動把他分區,但是因為設定了“不分區”標誌位元,所以路由器會發送一個ICMP包告訴你要分區而且告訴你頻寬。就是這樣你設定TTL從1增加,一個一個的發送UDP包,直到你的UDP包能發到目的地為止就是頻寬了。

詳細可以看看《TCP/IP詳解 卷1:協議》

=================================================================================
 benjiam(今晚打老虎) ( ) 信譽:100    Blog  2006-8-30 15:24:54  得分: 0  
  
ls 去死 不要悟到

不太懂那個代碼 應該不對

頻寬大小 和rtt 有關

=================================================================================

 saoyu(燒魚) ( ) 信譽:100    Blog  2006-8-30 22:16:49  得分: 0  

頻寬並不是固定不變的,跟你網路中裝置的QoS的設定值等等有關,單純一個程式是沒法算出的。

=================================================================================

taosiming(浪蒼雲) ( ) 信譽:100    Blog  2006-9-5 15:42:05  得分: 0  
基本思想:利用packet pair 來測試end-to-end 的頻寬,經過多次測試,在接收端利用一個數組或者list來儲存這個測試的時間差。然後排序,取中間值,然後在去掉兩邊的極端資料。取8倍和1/8 median 的值為有效值,在取一次平均值。然後得到時間差。單位為微妙。
其實也就是packet pair的多峰估計值。

=================================================================================
 guomin(敏感) ( ) 信譽:100    Blog  2006-9-7 21:54:39  得分: 0  
請教下樓上的,這樣會不會比較慢呢?想了很久都沒想出有什麼好點的演算法啊

=================================================================================

 taosiming(浪蒼雲) ( ) 信譽:100    Blog  2006-9-8 13:47:21  得分: 0  
  
pathneck 和pathrate基本都是這個方法啊,具體得到的話基本需要幾分鐘吧。你也可以改進。不過都要幾分鐘才能測得準確的端到端頻寬!

   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.