計算機網路 各種時延和最小幀長

2021-08-18 18:43:25 字數 2579 閱讀 5189

各種時延的理解:

時延:是資料(乙個報文或分組,甚至位元)從網路或鏈路的一段傳送到另一端所需要的時間。 

總時延=傳送時延+傳播時延+處理時延+排隊時延

傳送時延:是從傳送資料幀的第乙個位元算起,到該幀的最後乙個位元傳送完畢所需的時間。

傳送時延=資料幀長度(b) /通道頻寬(b/s) [通道頻寬就是資料率]

傳播時延:電磁波在通道中需要傳播一定的距離而花費的時間。 

傳播時延=通道長度(m)/電磁波在通道上的傳播速率(m/s)

處理時延:主機或路由器處理所收到的分組的時間。 

排隊時延:分組在輸入佇列中排隊等待處理,在輸出佇列中等待**,就形成了排隊時延。 

【例題】

考慮兩台主機a和主機b由一條頻寬為r bps、長度為m公尺的鏈路互連,訊號傳播速率為v m/s。假設主機a從t=0時刻開始向主機b傳送分組。試求:

1) 傳播延遲(時延)dp;

2) 傳輸延遲dt;

3) 若忽略結點處理延遲和排隊延遲,則端到端延遲de是多少?

4) 若dp>dt,則t=dt時刻,分組的第乙個位元在**?

(注:1k=10^3,1m=10^6)

【解】1)傳播時延dp = 通道長度(m) / 電磁波在通道上的傳播速率(m/s) = m / v

2)傳輸延遲dt = 資料幀長度(b) / 通道頻寬(b/s) = l / r

3)總延遲de = 傳播時延 + 傳輸延遲 = m / v + l / r

4)dp > dt意味著最早傳送的訊號沒有到達目的主機之前,資料分組的最後乙個位元已經傳送出來了,所以分組的第乙個位元在距離主機的v * dt公尺的鏈路上

---------------------------------------我是分割線---------------------------

最小幀長的理解

乙太網中傳輸的資料幀的長度並不是乙個常數,而是乙個範圍內的,乙太網幀長度最大限制(mtu)是1518位元組,最小長度是64位元組。限制幀的最大長度是為了避免一台裝置長時間占用通道,所以在傳輸過程中一定要有機制強制乙個裝置停止傳輸,讓出通道的使用。那麼為何要限制最小的幀長度呢?乙個過小的資料會讓乙太網不能正常工作嗎?

這是乙個歷史問題,早期時的乙太網稱為標準乙太網(或傳統乙太網),具體表現形式是10mbps的基帶匯流排區域網,其特點是:各站點共享共用通道,任何乙個站點所傳送的資料均沿著介質以廣播方式傳輸,匯流排上其他所有站點均可以收到。這樣就導致了多台裝置同時傳送訊號的時候會發生碰撞,導致多台裝置傳輸失敗。然而,經過長時間的演進,特別是交換機的出現,讓乙太網成為了乙個星型拓撲、全雙工獨享鏈路的網路。對於現在來說這個最小幀長的問題也就不是那麼重要了。

下面舉乙個例子來詳細說明在匯流排拓撲結構上存在的這個問題:

首先需要建立乙個印象:兩個結點的資料碰撞時會boom一下**掉,資料被毀壞,已經不是可用的了,因此,碰撞一發生,資料必須得重新傳送。這個很自然吧!但是不建立這個基礎,有些地方會覺得很卡,這是我出去散步時候想明白的,沒有看到權威的說明,但對我來說是最好的解釋。

ok,回過來說最小幀長問題。有了上面的共識,我們設想了乙個這樣的故事:將傳送的資料離散化,或者說量子化,也即把資料變成乙個個的人。 

場景如下:一條很寬的河流上方我們搭了乙個鋼索,人們過河需要通過鋼索滑行過去。每次只能過去乙個人,無論正向還是反向。河流的兩邊分別定義為a,b。從a到b和從b到a用時相同,均為ττ。為了真實模擬我們還得假設故事發生在乙個黑夜,雙方看不見對方,只能通過信使來告知結果。比如把乙個人從a傳送到b,a如何知道這個人已經順利傳送過去了呢?需要在a到達b後,馬上send乙個信使告訴老家a,他已安全抵達。這個信使也是需要同樣的時間ττ才能回到a告訴a,上乙個人到了,於是a可以繼續傳送下乙個人了。如果a這邊傳送乙個人,b同時也傳送乙個人,這兩個人會在河流的**炸成一朵烟花,消失在黑夜裡。這樣的碰撞事故如何被a,b知道呢?事故一發生,會自動生成兩個信使,分別回去告訴a,b。也就是事故發生時間是在τ2τ2,信使回去告訴a,b,也用時τ2τ2。因為中間比較特殊,提出來看一下。那麼如果事故發生不是在中點,a,b知道事故發生的時間又是怎樣的呢?是不是離得越遠,知道的越慢?對的。因為信使傳回訊息來,需要時間。恰好,事故發生地點離自己越遠,表示自己這方傳送的人已經走了越久,所以,一方知道事故發生的時間最長是在對方家門口。 

也即,a傳送乙個人過去,都到b了,b看不見啊,剛好傳送乙個人,迎頭撞上,又是一朵烟花,消失了。變成資料,也是要重發的。

那麼最小幀長是從**冒出來的呢?

這麼想,人是連續發的。在事故發生之前,a一直在傳送人,等信使恰好回來,其實已經傳送了好幾個人上去,然後知道了,第乙個人炸沒了,這一組都得重發。需要仔細考慮的是a如何確認自己可以安全傳送下一組了?是不是上一組發完,信使沒有回來報告出事了對不對?如果都已經發完了一組,現在在發下一組呢,信使回來說,剛才**了,你說a怎麼判斷這是上一組的事故還是這一組的?判斷不了對吧!於是引起了乙個最小幀長的概念,要能判斷事故發生是屬於誰的,好進行下一步的安排。因此,恰好能判斷的邊界是:發生在b門口的**事故傳回到a,2τ2τ時間內,傳送的人數。這一組人數更多一些,肯定能知道出事的正是當前組。

對應到資料幀,便是最小幀長。2τ2τ還有其他的別名,爭用期什麼的。不必管,背後的邏輯非常的生動。 

望你也有所體會~ 

至於為什麼這個協議不能進行全雙工通訊,很明白了吧,兩個站之間不能同時進行,否則會炸!

文章參考:

計算機網路 各種時延的計算

時延 是資料 乙個報文或分組,甚至位元 從網路或鏈路的一段傳送到另一端所需要的時間。傳送時延 是從傳送資料幀的第乙個位元算起,到該幀的最後乙個位元傳送完畢所需的時間。傳送時延 資料幀長度 b 通道頻寬 b s 通道頻寬就是資料率 傳播時延 電磁波在通道中需要傳播一定的距離而花費的時間。傳播時延 通道...

計算機網路 時延

時延 是資料 乙個報文或分組,甚至位元 從網路或鏈路的一段傳送到另一端所需要的時間。傳送時延 是從傳送資料幀的第乙個位元算起,到該幀的最後乙個位元傳送完畢所需的時間。傳送時延 資料幀長度 b 通道頻寬 b s 通道頻寬即傳送速率 傳播時延 電磁波在通道中需要傳播一定的距離而花費的時間。處理時延 主機...

計算機網路 各種計算

2.1 子網掩碼的概念 注 子網掩碼是每個使用網際網路的人必須要掌握的基礎知識,只有掌握它,才能夠真正理解tcp ip協議的設定。利用子網掩碼可以把大的網路劃分成子網,即vlsm 可變長子網掩碼 也可以把小的網路歸併成大的網路即超網。2.2 子網掩碼的分類 2.2.1 預設子網掩碼 2.2.2 自定...