引入Hub再生的最短幀長及主機之間距離的最大值計算
@(電腦網路)
首先看一道題。相關的一個小的知識點想了很久,查了很多書,資料,最後只能暗自說一句,找到有效資訊真難。曆時三個小時求索不得,出去吃了一點東西,回來發現差不多有了自己的理解。
然後回來再看了一眼前面寫的對最小幀長的思考,注意到爭用期的細節:是往返傳播時延之和。這個在下意識裡我覺得很自然的概念,一下點開了心中的疑惑。既然爭用期是在兩點之間直接架了索求得,那麼現在只是中間稍微停留休息了一下,本質上不過是稍微延長了一點點傳播時延,那麼加上不就可以了。
這麼一想,下面的問題非常簡單。
記住一點:
最小幀長=爭用期∗資料轉送速率 最小幀長 = 爭用期 * 資料轉送速率
註: Hub為100Base-T集線器
(2016.36)若Hub再生位元流過程中,會產生1.535us延時,訊號傳播速度為200m/s,不考慮乙太網路幀的前置碼,則H3與H4之間理論上可以相距的最遠距離是:B
A.200m
B. 205m
C. 359m
D. 512m
分析:這題如果啥也不懂,也可以有很大的機率選對。因為100Base-T乙太網路是在雙絞線上傳送100Mb/s基帶訊號(數字訊號),使用CSMA/CD協議,最小幀長保持不變。但是將一個網段的最大電纜長度減小到100m。
一個網段是100m,那麼因為Hub再生,可以再跑100m。因此H3和H4之間大概可以是200m.
如果是200m,那麼給的Hub再生用時,以及訊號傳播速度就麼得用,屬於多餘條件,所以,猜205最佳。
然後答案也是B,做對了。
可以參考這篇文章回顧一下最短幀長的概念。
http://blog.csdn.net/u011240016/article/details/52719183?locationNum=1&fps=1
但是,細細一想,其實問題很簡單。同樣是最短幀長64B,不含前置碼,前置碼是8B。
現在是H3和H4之間,Hub串連的網段屬於一個匯流排。那麼二者之間的傳播時延+Hub用掉的時延是1.535us.
已經告訴了傳播速度200m/us.
於是可以列式子求解,設兩點最長距離是x m.
2⋅(x200m/μs+1.535μs)⋅100Mb/s=64B 2\cdot (\frac{x}{200 m/\mu s}+1.535\mu s)\cdot 100Mb/s = 64B
求得x = 205m
解釋一下列式的含義:幀從H3發往H4,先到Hub,經過一段傳播時延,Hub再生用去一點時間,再經過一段傳播時延到達H4。在H4處發生碰撞時,要發送48bit的擁塞訊號,這個訊號也經過Hub再生,所以傳到H3也要再生的時延。因此,一去一回都是傳播時延+再生時延。
而之所以選擇發生碰撞這個臨界點,是因為更好理解Hub在返回時的作用。未發生碰撞時,根據CSMA/CD協議,時刻在監聽通道,但是監聽的具體是什麼訊號,並不能確定經不經過Hub再生。而臨界點,這兩種狀態的轉折點,類似於函數的連續,左右極限相等,那麼就可以認為是Hub的再生時延計算兩次。
此外,題目中說再生位元流用時1.535us,是不是再生1bit就用時這麼多。再生64B就要64*1.535*8。
這樣再生用時太長,1.535us才再生一個位元太慢。