本來很懵逼的 看到這篇文章基本全懂了
一般這種題目會讓我感覺很是煎熬,不知道怎麼算。終於打通這類題目,總結到這裡。
先看這類題目的常見表述:如圖所示,圖中路由器採用儲存–**的方式,所有鏈路的傳播速率均為100mbps(可以是其他的數字),分組大小為1000b(同樣可以是其他數字),其中分組頭部大小(有些題可以忽略),分組拆裝時間,傳播延遲等可以忽略。本篇文章會說到不忽略也不影響巨集觀的資料傳遞時間,只在最後乙個分組稍有影響。根據拓撲圖,求傳遞大小為10mb的時間是多少。
首先,這裡要說明m的區別,在10mb資料這裡,是儲存值,用的是1m
b=220
bits
1mb=220bits
.這是很重要的區別。
我們知道從乙個主機傳送一段資料到另乙個主機,需要經過計算機網路。這個過程有必要再闡述一次,以理清楚如何計算資料的傳輸時間消耗問題。
我們假設主機a到主機b.
一大塊資料,先不管是一塊直接傳還是分成多組傳輸,而是先問,時間都去哪兒了?
主機a想,任務來了,得把它傳到b,我才不管傳的是b,c,d還是什麼,我只知道要讓它上路。
對的,上路,上的是什麼路,上的是鏈路!
a其實像乙個港口,目標是把貨物裝上貨櫃,然後讓貨櫃坐船走。裝箱的過程很耗時間,我們不能認為這個時間很短,就沒了乙個清晰的概念。
那麼,這個送資料上路的時間怎麼算?對的,就是傳輸速率,也稱之為傳送速率。
傳送的過程很明確,根據鏈路的速率來發。
好的,現在資料發上鏈路了,其實就是電訊號在鏈路上跑,以光速在跑。很多時候,在鏈路上的傳播速度就不計了,好像瞬間就能到達與a相連的那個路由器。事實上可以這麼認為。
我們就當經過一段很短的時間就從乙個a傳到了相連的路由器。
到這裡,如果我問,a和b之間直接通過鏈路相連,a到b的時間算多少?
是不是瞬移?
不是的,裝箱很耗時間啊!a要把資料送到鏈路上呢。
理解這個直連模型,就不用擔心引入其他的路由器進來資料的傳輸問題了。因為,本質上,路由器也是電腦主機,和a傳輸東西沒有區別,既然是儲存–**機制,就意味著資料進來路由器,再出去,還得經歷一次裝箱的流程。好像貨物從a港口到了乙個中轉站,先把貨物寫下來,讓輪船也休息休息,等休息好了(這個休息時間可模擬為排隊等,也可以認為休息時間不計),又得裝箱。路由器也是這樣,它也要重新裝箱,上下一段鏈路,具體又得計算一次傳輸時間(傳送時間)。
就這樣每個路由器都這樣算,到達b,終於不用計算b的儲存**時間了。
以上描述的過程,我們只看到一塊的資料如何傳輸。
這裡我先講乙個巨集觀的概念:整塊傳輸的時間遠大於分組傳輸的時間。
為什麼會這樣,直觀來說就是,一大組每次都要儲存–**,計算的是n次。而分成多個組後,雖然過程相同,但是考慮到並行性,實際上我們只考慮一次大組資料的傳輸時間,那些細節的時間只用考慮最後乙個分組即可!
實際上,上面這段話就講完了所有的點。
而經過畫圖,計算,思考,只要分組連續傳送的間隔相同,無論考不考慮排隊時延,傳播時延等,總的計算公式是:
分組時: (總
的資料量
÷資料傳
輸速率)
+最後一
個分組從
第一段鏈
路到終點
的時間(總的資料量÷資料傳輸速率)+最後乙個分組從第一段鏈路到終點的時間
有必要再多說最後乙個分組傳輸的時間,我們考慮的是:a點將最後乙個分組已經傳送到了第一段鏈路,這個時刻正好是總的資料量除以鏈路傳輸速率的時間。
因此,我們只需要帶著最後一段資料,計算從第一段鏈路到終點的時間即可。姑且認為,最後乙個老么被a關照了,送了它一程。
如果沒有分組,也可以先拿總資料除以鏈路傳輸速率,再分析這個分組的傳輸。或者從a傳送開始分析即可。
認識到這裡,基本上此類題目無難題。
光說不練假把式。
實際動手來討論一下。
在下圖所示的採用「儲存-**」方式的分組交換網路中,所有鏈路的資料傳輸速率為100 mbps,分組大小為1000 b,其中分組頭大小為20 b.若主機h1向主機h2傳送乙個大小為980 000 b的文考慮分組拆裝時間和傳播延遲的情況下,從h1傳送開始到h2接收完為止,需要的時間至少是(c)
解答:分組大小為1000b,設有xx
個分組那麼:
1000x=
980,
000+20x
1000x=980,000+20x
個分組。
就是簡單的數學計算,不是憑直覺判斷1000個分組的。
好了,1000個分組,按照我們形成的結論計算是: 總的
資料量÷
鏈路速率
=(1000個分
組⋅1000b)
÷100mb
ps=(
106⋅8
bit)
÷(100⋅106
bit/
s)=80
ms總的資料量÷鏈路速率=(1000個分組⋅1000b)÷100mbps=(106⋅8bit)÷(100⋅106bit/s)=80ms
1000b÷
100mbp
s=(10
3⋅8b
it)÷
(100⋅10
6bit
/s)=
0.08ms
1000b÷100mbps=(103⋅8bit)÷(100⋅106bit/s)=0.08ms
傳送兩次用時就是0.16ms.
所以總時間是80.16ms.
有問題再繼續補充。
update:或者用另一種角度想,總共n個分組,前面n-1個分組陸陸續續送上鏈路。當第n-1個分組送上鏈路後,用時為n−
1個分組
資料÷數
據傳輸率
n−1個分組資料÷資料傳輸率
此時看第n個分組就是從頭開始,路徑中多少鏈路就計算多少次。
比如上面的題目,就是
999個分組
資料÷數
據傳輸率
999個分組資料÷資料傳輸率
,再加上第1000個分組從h1到h2經過三段鏈路的時間。
最初說總的資料量除以資料傳輸率+最後乙個分組從第一段鏈路開始傳輸用時,不再計第一段傳輸用時,其實就是說第一段已經記在總的資料量裡了。只是計算更方便些。原理相同。
資料鏈路層相關概念
一 hub與交換機的區別 碰撞域 首先說一下csma cd 載波監聽多點接入 碰撞檢測 這個協議,乙太網的鏈路傳輸多是遵守這個協議,而這個協議中的碰撞檢測就涉及到了乙個碰撞域的問題。比如3臺主機同時接在乙個hub上,如果電腦和hub的頻寬都是100m,那麼這100m的頻寬其實是由3臺主機共享的。因為...
計算機網路資料鏈路層相關知識
計算機網路資料鏈路層相關知識 1 在原始的物理線路上傳輸資料訊號是有差錯的。2 設計資料鏈路層的主要目的就是在原始的 有差錯的物理傳輸線路的基礎上,採取差錯檢測 差錯控制與流量控制等方法,將有差錯的物理線路改進成邏輯上無差錯的資料鏈路,向網路層提供高質量的服務。3 從網路參考模型的角度看,物理層之上...
計算機資料鏈路層
效率效率效率!三個基本問題 透明傳輸 差錯檢測 特點 組成 協議格式 ppp是面向位元組的,長度都是整數位元組 當ppp使用非同步傳輸的時候,轉義字元被定義為0x7d,並使用位元組填充,轉義字元被定為為0x7d,0x5d,7e被定義為0x7d,0x5e當ppp使用同步傳輸的時候,使用零位元填充,有5...