一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

協(xié)議森林01 郵差與郵局 (網(wǎng)絡(luò)協(xié)議概觀)

 dehaoluo 2016-03-30

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉(zhuǎn)載,也請保留這段聲明。謝謝!

 

信號的傳輸總要符合一定的協(xié)議(protocol)。比如說長城上放狼煙,是因為人們已經(jīng)預先設(shè)定好狼煙這個物理信號代表了“敵人入侵”這一抽象信號。這樣一個“狼煙=敵人入侵”就是一個簡單的協(xié)議。協(xié)議可以更復雜,比如摩爾斯碼(Morse Code),使用短信號和長信號的組合,來代表不同的英文字母。比如SOS(***---***,  *代表短信號,-代表長信號)。這樣'***= S, ---=O'就是摩爾斯碼規(guī)定的協(xié)議。然而更進一層,人們會知道SOS是求助信息,原因是我們有“SOS=求救”這個協(xié)議存在在腦海里。所以'***---***=SOS=求救'是一個由兩個協(xié)議組成的分層通信系統(tǒng)。

使用Morse Code的電報機

計算機之間的通信也要遵循不同層次的協(xié)議,來實現(xiàn)計算機的通信。

 

物理層(physical layer)

所謂的物理層,是指光纖、電纜或者電磁波等真實存在的物理媒介。這些媒介可以傳送物理信號,比如亮度、電壓或者振幅。對于數(shù)字應(yīng)用來說,我們只需要兩種物理信號來分別表示0和1,比如用高電壓表示1,低電壓表示0,就構(gòu)成了簡單的物理層協(xié)議。針對某種媒介,電腦可以有相應(yīng)的接口,用來接收物理信號,并解讀成為0/1序列。

 

連接層(link layer)

在連接層,信息以幀(frame)為單位傳輸。所謂的幀,是一段有限的0/1序列。連接層協(xié)議的功能就是識別0/1序列中所包含的幀。比如說,根據(jù)一定的0/1組合識別出幀的起始和結(jié)束。在幀中,有收信地址(Source, SRC)和送信地址(Destination, DST),還有能夠探測錯誤的校驗序列(Frame Check Sequence)。當然,幀中最重要的最重要是所要傳輸?shù)?span>數(shù)據(jù) (payload)。這些數(shù)據(jù)往往符合更高層協(xié)議,供網(wǎng)絡(luò)的上層使用。與數(shù)據(jù)相配套,幀中也有數(shù)據(jù)的類型(Type)信息。連接層協(xié)議不關(guān)心數(shù)據(jù)中到底包含什么。幀就像是一個信封,把數(shù)據(jù)包裹起來。

以太網(wǎng)(Ethernet)和WiFi是現(xiàn)在最常見的連接層協(xié)議。通過連接層協(xié)議,我們可以建立局域的以太網(wǎng)或者WiFi局域網(wǎng),并讓位于同一局域網(wǎng)絡(luò)中的兩臺計算機通信。連接層就像是一個社區(qū)的郵差,他認識社區(qū)中的每一戶人。社區(qū)中的每個人都可以將一封信(幀)交給他,讓他送給同一社區(qū)的另一戶人家。

連接層:社區(qū)小郵差

 

網(wǎng)絡(luò)層(network layer)

不同的社區(qū)之間該如何通信呢? 換句話說,如何讓WiFi上的一臺計算機和以太網(wǎng)上的另一臺計算機通信呢?我們需要一個“中間人”。這個“中間人”必須有以下功能: 1. 能從物理層上在兩個網(wǎng)絡(luò)的接收和發(fā)送0/1序列,2. 能同時理解兩種網(wǎng)絡(luò)的幀格式。路由器(router)就是為此而產(chǎn)生的“翻譯”。一個路由器有多個網(wǎng)卡(NIC,Network Interface Controller),每個NIC可以接入多個網(wǎng)絡(luò),并理解相應(yīng)的連接層協(xié)議。在幀經(jīng)過路由到達另一個網(wǎng)絡(luò)的時候,路由會讀取幀的信息,并改寫以發(fā)送到另一個網(wǎng)絡(luò)。所以路由器就像是在兩個社區(qū)都有分支的郵局。一個社區(qū)的郵差將信送到本社區(qū)的郵局分支,而郵局會通過自己在另一個地區(qū)的分支將信轉(zhuǎn)交給另一個社區(qū)的郵差手中,并由另一個社區(qū)的郵差最終送到目的地。

通過路由連接的WiFi和以太網(wǎng)

整個通信過程如下:

WiFi上的計算機1 -> 路由WiFi接口 ->  路由以太網(wǎng)接口 -> 以太網(wǎng)上的計算機2

(藍色表示W(wǎng)iFi網(wǎng)絡(luò),綠色表示以太網(wǎng)絡(luò))

在連接層,我們的一個幀中只能記錄SRC和DST兩個地址。而上面的過程需要經(jīng)過四個地址 (計算機1,WiFi接口,以太網(wǎng)接口,計算機2)。顯然,僅僅靠連接層協(xié)議無法滿足我們的需要。由于連接層協(xié)議開發(fā)在先,我們無法改動連接層協(xié)議,只能在連接層的數(shù)據(jù)(payload),也就是信紙內(nèi)部下功夫了。IP協(xié)議應(yīng)運而生。

計算機1,路由器和計算機2都要懂得IP協(xié)議。當計算機1寫信的時候,會在信紙的開頭寫上這封信的出發(fā)地址和最終到達地址 (而不是在信封上),而在信封上寫上要送往郵局。WiFi網(wǎng)的郵差將信送往郵局。在郵局,信被打開,郵局工作人員看到最終地址,于是將信包裝在一個新的信封中,寫上出發(fā)地為郵局,到達地為計算機2,并交給以太網(wǎng)的郵差,由以太網(wǎng)的郵差送往計算機2。

(IP協(xié)議還要求寫如諸如校驗等信息,交通狀況等信息,以保護通信的穩(wěn)定性。)

轉(zhuǎn)交給郵局

 

在連接層,郵差只負責在本社區(qū)送信,所以信封上的地址總是“第一條街第三座房子”或者說“中心十字路口拐角的小房子”這樣一些本地人才了解的地址描述,這給郵局的工作帶來不便。所以郵局要求,信紙上寫的地址必須是一個符合官方規(guī)定的“郵編”,也就是IP地址。這個地址為世界上的每一個房子編號(郵編)。當信件送到郵局的時候,郵局根據(jù)郵編,就能查到對應(yīng)的地址描述,從而能順利改寫信封上的信息。

每個郵局一般連接多個社區(qū),而一個社區(qū)也可以有多個郵局,分別通往不同的社區(qū)。有時候一封信要通過多個郵局轉(zhuǎn)交,才能最終到達目的地,這個過程叫做route。郵局將分離的局域網(wǎng)絡(luò)連接成了internet,并最終構(gòu)成了覆蓋全球的互聯(lián)網(wǎng)。

 

傳輸層(transport layer)

上面的三層協(xié)議讓不同的計算機之間可以通信。但計算機中實際上有許多個進程,每個進程都可能有通信的需求(參看Linux進程基礎(chǔ)Linux進程間通信)。這就好像一所房子里住了好幾個人(進程),如何讓信精確的送到某個人手里呢?遵照之前相同的邏輯,我們需要在信紙上寫上新的信息,比如收信人的姓名,才可能讓信送到。所以,傳輸層就是在信紙的空白上寫上新的“收信人”信息。每一所房子會配備一個管理員(傳輸層協(xié)議)。管理員從郵差手中接過信,會根據(jù)“收信人”,將信送給房子中的某個人。

管理員

傳輸層協(xié)議,比如TCP和UDP,使用端口號(port number)來識別收信人(某個進程)。在寫信的時候,我們寫上目的地的端口。當信到達目的地的管理員手中,他會根據(jù)傳輸層協(xié)議,識別端口號,將信送給不同的人。

TCP和UDP協(xié)議是兩種不同的傳輸層協(xié)議。UDP協(xié)議類似于我們的信件交流過程。TCP協(xié)議則好像兩個情人間的頻繁通信。一個小情人要表達的感情太多,以致于連續(xù)寫了好幾封信。而另一方必須將這些信按順序排列起來,才能看明白全部的意思。TCP協(xié)議還有控制網(wǎng)絡(luò)交通等功能。

 

應(yīng)用層(application layer)

通過上面的幾層協(xié)議,我們已經(jīng)可以在任意兩個人(進程)之間進行通信。然而每個人實際上從事的是不同的行業(yè)。有的人是律師,有的人外交官。比如說律師之間的通信,會用嚴格的律師術(shù)語,以免產(chǎn)生糾紛。再比如外交官之間的通信,必須符合一定的外交格式,以免發(fā)生外交誤會。再比如間諜通過暗號來傳遞加密信息。應(yīng)用層協(xié)議是對信件內(nèi)容進一步的用語規(guī)范。應(yīng)用層的協(xié)議包括用于Web瀏覽的HTTP協(xié)議,用于傳輸文件的FTP協(xié)議,用于Email的IMAP等等。

 外交通信

總結(jié)

總過網(wǎng)絡(luò)分層,我們從原始的0/1序列抽象出

本地地址(郵差)、郵編(郵局)、收信人(管理員)、收信人行業(yè)(用語規(guī)范)

這些概念。這些概念最終允許互聯(lián)網(wǎng)上的分布于兩臺計算機的兩個進程相互通信。

寫信人必須按照各層的協(xié)議,封裝好整個信封 (encapsulation);而收信人則按照相反的順序,來拆開這個信封。整個過程是可讀信息 -> 二進制 -> 可讀信息。計算機只能理解和傳輸0/1序列,而計算機的用戶則總是輸入和輸出可讀信息。網(wǎng)絡(luò)協(xié)議保證了可讀信息在整個轉(zhuǎn)換和傳輸過程中的完整性。

計算機協(xié)議本身還有更多的細節(jié)需要深入。這篇文章只是從分層的角度描述各個層次所實現(xiàn)的功能。

 

歡迎繼續(xù)閱讀“協(xié)議森林”系列

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产又色又爽又黄的精品视频| 一本久道久久综合中文字幕| 黑鬼糟蹋少妇资源在线观看 | 久久亚洲国产视频三级黄 | 久久精品伊人一区二区| 日本少妇中文字幕不卡视频| 99久久成人精品国产免费| 亚洲男人天堂成人在线视频| 国产av大片一区二区三区| 国产欧美日韩精品一区二| 亚洲天堂一区在线播放| 91欧美激情在线视频| 国产精品一区二区有码| av在线免费播放一区二区| 亚洲中文字幕视频一区二区| 国产在线不卡中文字幕| 中文字幕日韩精品人一妻| 国产精品一区二区三区日韩av| 亚洲精品中文字幕一二三| 亚洲中文字幕视频在线观看| 日本免费一级黄色录像| 日韩不卡一区二区三区色图| 深夜福利欲求不满的人妻| 日韩欧美三级中文字幕| 免费在线成人午夜视频| 91欧美一区二区三区成人| 欧美丰满人妻少妇精品| 高潮少妇高潮久久精品99| 国产传媒欧美日韩成人精品| 好吊日视频这里都是精品| 日本免费一级黄色录像| 亚洲一区在线观看蜜桃| 婷婷色香五月综合激激情| 91人人妻人人爽人人狠狠| 国产在线一区二区免费| 色偷偷亚洲女人天堂观看| 福利一区二区视频在线| 欧美国产日产在线观看| 一区二区福利在线视频| 国产成人在线一区二区三区| 好吊日在线观看免费视频|