資料在鏈路層傳播相關時間計算

2021-09-19 08:49:04 字數 3170 閱讀 3208

本來很懵逼的 看到這篇文章基本全懂了

一般這種題目會讓我感覺很是煎熬,不知道怎麼算。終於打通這類題目,總結到這裡。

先看這類題目的常見表述:如圖所示,圖中路由器採用儲存–**的方式,所有鏈路的傳播速率均為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...