在Bing和CSDN上轉(zhuǎn)了一圈,答案千奇百怪。很多只給計算,不給解釋,對新手不太好理解。本答案參考了網(wǎng)上已有的幾乎所有答案,補(bǔ)充了一些基本概念和公式,零基礎(chǔ)友好,希望對各位有幫助。
概念
首先,一些基本的概念:?
1.通信信道帶寬:即理論上信道能夠達(dá)到的最大數(shù)據(jù)傳輸速率。比如此處的1Gb/s,意思是該信道一秒內(nèi)最多可以傳送1Gb的數(shù)據(jù)。(此處取數(shù)字信道的帶寬定義,因為這里的單位是數(shù)字信道的單位,所以模擬信道我們就不用管了。但千萬別以為信道帶寬只有這一種意思。實(shí)際上信道帶寬一般分為兩種,模擬信號帶寬 和 數(shù)字信號帶寬。參見百度百科:信道帶寬
我們題中的信道帶寬單位是 Gb/s,顯然是指數(shù)字信道帶寬。數(shù)字信道:能傳輸數(shù)字信號的信道稱之為數(shù)字信道。數(shù)字信道的帶寬為信道能夠達(dá)到的最大數(shù)據(jù)速率。)
2.與帶寬對應(yīng)的概念就是最大吞吐量。前面說了信道帶寬是理論上的最大數(shù)據(jù)傳輸速率,而吞吐量就是兩臺主機(jī)之間實(shí)際的數(shù)據(jù)傳輸速率,即實(shí)際上單位時間內(nèi)能傳輸多少數(shù)據(jù)。
我們平時買電腦裝寬帶,或者是手機(jī)套餐的帶寬有多少Mb/s,運(yùn)營商告訴我們的就是這里的理論上的帶寬。但實(shí)際上因為各種物理限制,以及一般顯示的是MB/s(理論上的帶寬再除以8),所以運(yùn)行時顯示的速度要比運(yùn)營商告訴我們的小很多。
畢竟,大多數(shù)情況下,理想和現(xiàn)實(shí)總是有點(diǎn)差距的。。。
3.端到端時延就不說了,別的地方有文章介紹,一搜就知道了。
計算
網(wǎng)上主要有兩種計算方式:
方法一(多數(shù)情況下采用該答案):
需要用到的公式:
1.最大吞吐量 = 每個窗口的大小*單位時間內(nèi)(即1s內(nèi))能發(fā)送的窗口個數(shù)。(感覺不如法二好理解)
因為我們前面說了最大吞吐量的概念,即單位時間內(nèi)能傳送的數(shù)據(jù)量。我們知道,電子設(shè)備在互相通信的時候,很多是以電磁波的形式(光速,c)向外發(fā)送和接收信息的。每一秒都有無數(shù)次的發(fā)送和接收,所以要是我們能求出每一次發(fā)送的數(shù)據(jù)量的多少(假設(shè)每次發(fā)送的數(shù)據(jù)都是一樣大的,即一個窗口大小),以及單位時間內(nèi)能發(fā)送多少次,不就能知道單位時間內(nèi)一共能發(fā)送多少數(shù)據(jù)嗎?
2,用實(shí)際的吞吐量 / 帶寬,即為信道利用率。
現(xiàn)在窗口大小有了(65532B),我們得知道單位時間(1s)內(nèi)能發(fā)送的窗口個數(shù),顯然這個值=1s / 每發(fā)送1個窗口所需的時間,算得的就是個數(shù)了。所以首先需要求發(fā)送一個窗口所需的總時延。
總時延 = 發(fā)送時延 + 傳播往返時延 (書上有解釋這三個“時延”)
發(fā)送時延?= 數(shù)據(jù)長度 / 信道帶寬 =? 65535*8bit? /? 1Gb/s? = 0.52428*10-3s ≈ 0.52ms
傳播往返時延?=?兩倍的端到端時延?=2*10=20ms (發(fā)送數(shù)據(jù)和接收確認(rèn))
故每發(fā)送一個窗口大小的數(shù)據(jù)需要的總時間為:
??總時延?= 0.52?+ 20 = 20.52?ms。
故每秒鐘可以產(chǎn)生1000/20.52個窗口,
因此最大數(shù)據(jù)吞吐量 = 1個窗口的大小 * 每秒可以發(fā)送的窗口個數(shù)=65535*8*(1000/20.52)= 25549707bit/s ≈ 25.5Mb/s
故信道利用率 = 25.5Mb/s ÷ 1000Mb/s ≈ 2.55%
注釋:表示速率時,1Kb/s=10^3b/s,1Mb/s=10^6b/s,1Gb/s=10^9b/s
解析:
信道利用率,實(shí)際上即指信道的信息?傳輸效率 ,也等于?發(fā)送時間/總時間。
回顧求總時延的那一行,我們會發(fā)現(xiàn)此時兩臺主機(jī)之間進(jìn)行信息交換的時候,傳播時延遠(yuǎn)大于發(fā)送時延。即絕大部分時間都花在“路”(傳播)上了,我們發(fā)送數(shù)據(jù)出去的時間只占總時間的很小一部分。所以信道利用率是不是很低呢,意思是傳輸效率很低。
可能是因為題目還存在一些爭議(見方法二的解法),所以我們學(xué)校老師對該題后來進(jìn)行了一些補(bǔ)充,總之如果是學(xué)校一般作業(yè)的話,采用上面這個答案基本沒有問題。
所作的補(bǔ)充:
吞吐量=發(fā)送數(shù)據(jù)量 / 總時間。
而這個公式里的 發(fā)送數(shù)據(jù)量,一般會考慮加入TCP和IP各自首部的20個字節(jié),共40個字節(jié);總時間仍然=發(fā)送時間+往返時間(即兩倍的端到端延時)
所以如果加上TCP、IP首部的40個字節(jié),我們要算的發(fā)送的數(shù)據(jù)量則為65535+40=65575Byte。結(jié)果會有微小的變化,但是如果你們的題目未做更多說明,答案可以直接寫上面的,不用修改。
在以上補(bǔ)充完的題設(shè)下的方法二。
方法二:
需要的公式:
①最大吞吐量=發(fā)送的數(shù)據(jù)總量(即TCP窗口大小) / 消耗的總時間
②信道利用率?= 最大吞吐量 / 帶寬
所以接下來總體的目標(biāo)就是求? 發(fā)送的數(shù)據(jù)量? 和? 消耗的時間? 的問題了。
1.首先,計算數(shù)據(jù)總量:
L=65535+40=65575Byte
L=65575*8=524600 bit
2.計算消耗的總時間:
發(fā)送時延(L/C)=數(shù)據(jù)長度 / 信道帶寬=524600 bit? /?1Gb/s? = 0.52428*10-3s ≈ 0.52ms
往返時延(2*Td)?=?兩倍的端到端時延?=2*10=20ms
總時間=L/C + 2*Td =20.52ms
3.可能達(dá)到的最大吞吐量,用公式①:
最大吞吐量?= 524600 bit / 20.52ms?= 524600 bit / ( 20.52*?10^-3s)≈?25.57?Mb/s
4.計算 信道利用率,用公式②:
信道利用率?= 25.57 Mbps / 1Gbps = 25.57×10^6?bps ?/ 10^9bps = 0.02557 ≈ 2.56%
因此,可能達(dá)到的最大吞吐量為25.57 Mb/s,信道利用率為2.56%。文章來源:http://www.zghlxwxcb.cn/news/detail-770005.html
補(bǔ)充
- 窗口大?。╓indow Size)是TCP協(xié)議中用于控制發(fā)送端發(fā)送數(shù)據(jù)的參數(shù)。
- 往返時延(Round-Trip Time,RTT)是數(shù)據(jù)從發(fā)送方發(fā)送到接收方并返回所需的時間。
以上兩種計算方法其實(shí)是一樣的,只不過理解稍有不同。法一是用窗口個數(shù)來計算吞吐量,窗口大小沒有包括TCP和IP的首部。而法二的吞吐量則直接由數(shù)據(jù)量除以時間,把兩種方法的公式一展開我們會發(fā)現(xiàn)其實(shí)是一樣的。都是 L / T總,法二的L包括了首部。???????文章來源地址http://www.zghlxwxcb.cn/news/detail-770005.html
到了這里,關(guān)于通信信道帶寬為1Gb/s,端到端時延為10ms。TCP的發(fā)送窗口為65535字節(jié)。試問:可能達(dá)到的最大吞吐量是多少?信道的利用率是多少?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!