網絡傳輸工作原理的通俗理解
FYL 2013.12.25
本文結合生活中的實例,說明網絡傳輸的基本原理
我們以甲對乙表達“大家好!”爲例。
甲乙兩人一個只會講中文,一個只會講法文,兩人如何交流呢?我們把不同層次的翻譯當做通信協議的實現來看。
網絡層次圖:
甲(講中文) 乙(講法文)
<英語翻譯協議> <英語翻譯協議>
<英語單詞分解協議> <英語單詞分解協議>
<字母傳輸協議>----------真正的網絡傳輸-------><字母傳輸翻譯>
網絡傳輸的過程是這樣的:
1. 甲對自己的甲的英語翻譯說:“大家好!”
2. 甲的英語翻譯把中文譯成英語:“Hello every one!”並轉給甲的單詞分解層。
3. 甲的單詞分解層將句子分解成一串單詞:“Hello”“空格”“every”“空格”“one”“!”併發給甲的字母分解層
4. 甲的字母分解層把單詞分解成單個字母:“H”,“e”“l”“l”“o”“空格”“e”“v”“e”“r”“y”“空格”“o”“n”“e”“!”
5. 然後甲方字母分解層才真正通過網絡把字母發送到乙方字母分解層那裏。
6. 乙方字母分解層讀到一串字符:“H”,“e”“l”“l”“o”“空格”“e”“v”“e”“r”“y”“空格”“o”“n”“e”“!”並組成單詞轉給乙方的單詞分解層。
7. 乙方單詞分解層將單詞串:“Hello”“空格”“every”“空格”“one”“!”組合成一句英文發給乙方的英文翻譯。
8. 乙方的英語翻譯得到一句英文:“Hello every one!”並翻譯成法文轉給乙。
9. 乙方看到法文明白了甲方的意思。
反過來乙方要對甲方說的話也是如此,只不過最後甲看到到是中文。
這就是網絡通信和協議分層的基本原理。對於甲和乙來講,他們看不到單詞翻譯和字母翻譯,所以他們好象直接在通過翻譯對話一樣。如果連他們連翻譯也看不到,這兩個人就會感到象在直接對話一樣。
協議的分層是人爲劃分的,這只是爲了簡化網絡協議的設計和實現。我們完全可以把幾層不同的協議合稱某種協議,也可以把某種協議分層並叫做不同的名字。
協議的分層是一種抽象概念,它並不是一成不變的,我們可再舉一例:
如下圖:
甲(講中文) 乙(講法文)
<中譯德翻譯> <英譯法翻譯>
<德譯日翻譯>------ ---真正的網絡傳輸-------><日譯英翻譯>
上面的情況甲乙的交流可以這樣:中文->德語->日語->英語->法語
反之亦然,這裏同層次的協議不一定相同,但只要有共同的底層協議可以相通,這兩個網絡就可能相互溝通。
顯然,如果甲這邊能有一箇中譯英的翻譯,那麼最底層的兩個翻譯就不需要了。
更進一步,如果雙方中有任何一方會講對方的語言,那麼下面兩層的四個翻譯都不需要了,這時候雙方實際上就是直接在交流。
所以網絡協議的分層以及網絡數據的傳輸過程,實際上就是數據轉換、分解,再組合、再轉換的一個過程。