網(wǎng)絡(luò)協(xié)議概述:物理層、連接層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層詳解

信號(hào)的傳輸總要符合一定的協(xié)議(protocol)。比如說(shuō)長(zhǎng)城上放狼煙,是因?yàn)槿藗円呀?jīng)預(yù)先設(shè)定好狼煙這個(gè)物理信號(hào)代表了“敵人入侵”這一抽象信號(hào)。這樣一個(gè)“狼煙=敵人入侵”就是一個(gè)簡(jiǎn)單的協(xié)議。協(xié)議可以更復(fù)雜,比如摩爾斯碼(Morse Code),使用短信號(hào)和長(zhǎng)信號(hào)的組合,來(lái)代表不同的英文字母。比如SOS(***---***, *代表短信號(hào),-代表長(zhǎng)信號(hào))。這樣"***= S, ---=O"就是摩爾斯碼規(guī)定的協(xié)議。然而更進(jìn)一層,人們會(huì)知道SOS是求助信息,原因是我們有“SOS=求救”這個(gè)協(xié)議存在在腦海里。所以"***---***=SOS=求救"是一個(gè)由兩個(gè)協(xié)議組成的分層通信系統(tǒng)。
使用Morse Code的電報(bào)機(jī)
計(jì)算機(jī)之間的通信也要遵循不同層次的協(xié)議,來(lái)實(shí)現(xiàn)計(jì)算機(jī)的通信。
物理層(physical layer)所謂的物理層,是指光纖、電纜或者電磁波等真實(shí)存在的物理媒介。這些媒介可以傳送物理信號(hào),比如亮度、電壓或者振幅。對(duì)于數(shù)字應(yīng)用來(lái)說(shuō),我們只需要兩種物理信號(hào)來(lái)分別表示0和1,比如用高電壓表示1,低電壓表示0,就構(gòu)成了簡(jiǎn)單的物理層協(xié)議。針對(duì)某種媒介,電腦可以有相應(yīng)的接口,用來(lái)接收物理信號(hào),并解讀成為0/1序列。
連接層(link layer)在連接層,信息以幀(frame)為單位傳輸。所謂的幀,是一段有限的0/1序列。連接層協(xié)議的功能就是識(shí)別0/1序列中所包含的幀。比如說(shuō),根據(jù)一定的0/1組合識(shí)別出幀的起始和結(jié)束。在幀中,有收信地址(Source, SRC)和送信地址(Destination, DST),還有能夠探測(cè)錯(cuò)誤的校驗(yàn)序列(Frame Check Sequence)。當(dāng)然,幀中最重要的最重要是所要傳輸?shù)?font color="#ff0000">數(shù)據(jù) (payload)。這些數(shù)據(jù)往往符合更高層協(xié)議,供網(wǎng)絡(luò)的上層使用。與數(shù)據(jù)相配套,幀中也有數(shù)據(jù)的類(lèi)型(Type)信息。連接層協(xié)議不關(guān)心數(shù)據(jù)中到底包含什么。幀就像是一個(gè)信封,把數(shù)據(jù)包裹起來(lái)。
以太網(wǎng)(Ethernet)和WiFi是現(xiàn)在最常見(jiàn)的連接層協(xié)議。通過(guò)連接層協(xié)議,我們可以建立局域的以太網(wǎng)或者WiFi局域網(wǎng),并讓位于同一局域網(wǎng)絡(luò)中的兩臺(tái)計(jì)算機(jī)通信。連接層就像是一個(gè)社區(qū)的郵差,他認(rèn)識(shí)社區(qū)中的每一戶(hù)人。社區(qū)中的每個(gè)人都可以將一封信(幀)交給他,讓他送給同一社區(qū)的另一戶(hù)人家。
連接層:社區(qū)小郵差
網(wǎng)絡(luò)層(network layer)
不同的社區(qū)之間該如何通信呢? 換句話(huà)說(shuō),如何讓W(xué)iFi上的一臺(tái)計(jì)算機(jī)和以太網(wǎng)上的另一臺(tái)計(jì)算機(jī)通信呢?我們需要一個(gè)“中間人”。這個(gè)“中間人”必須有以下功能: 1. 能從物理層上在兩個(gè)網(wǎng)絡(luò)的接收和發(fā)送0/1序列,2. 能同時(shí)理解兩種網(wǎng)絡(luò)的幀格式。路由器(router)就是為此而產(chǎn)生的“翻譯”。一個(gè)路由器有多個(gè)網(wǎng)卡(NIC,Network Interface Controller),每個(gè)NIC可以接入多個(gè)網(wǎng)絡(luò),并理解相應(yīng)的連接層協(xié)議。在幀經(jīng)過(guò)路由到達(dá)另一個(gè)網(wǎng)絡(luò)的時(shí)候,路由會(huì)讀取幀的信息,并改寫(xiě)以發(fā)送到另一個(gè)網(wǎng)絡(luò)。所以路由器就像是在兩個(gè)社區(qū)都有分支的郵局。一個(gè)社區(qū)的郵差將信送到本社區(qū)的郵局分支,而郵局會(huì)通過(guò)自己在另一個(gè)地區(qū)的分支將信轉(zhuǎn)交給另一個(gè)社區(qū)的郵差手中,并由另一個(gè)社區(qū)的郵差最終送到目的地。
通過(guò)路由連接的WiFi和以太網(wǎng)
整個(gè)通信過(guò)程如下:
WiFi上的計(jì)算機(jī)1 -> 路由WiFi接口 -> 路由以太網(wǎng)接口 -> 以太網(wǎng)上的計(jì)算機(jī)2
(藍(lán)色表示W(wǎng)iFi網(wǎng)絡(luò),綠色表示以太網(wǎng)絡(luò))
在連接層,我們的一個(gè)幀中只能記錄SRC和DST兩個(gè)地址。而上面的過(guò)程需要經(jīng)過(guò)四個(gè)地址 (計(jì)算機(jī)1,WiFi接口,以太網(wǎng)接口,計(jì)算機(jī)2)。顯然,僅僅靠連接層協(xié)議無(wú)法滿(mǎn)足我們的需要。由于連接層協(xié)議開(kāi)發(fā)在先,我們無(wú)法改動(dòng)連接層協(xié)議,只能在連接層的數(shù)據(jù)(payload),也就是信紙內(nèi)部下功夫了。IP協(xié)議應(yīng)運(yùn)而生。
計(jì)算機(jī)1,路由器和計(jì)算機(jī)2都要懂得IP協(xié)議。當(dāng)計(jì)算機(jī)1寫(xiě)信的時(shí)候,會(huì)在信紙的開(kāi)頭寫(xiě)上這封信的出發(fā)地址和最終到達(dá)地址 (而不是在信封上),而在信封上寫(xiě)上要送往郵局。WiFi網(wǎng)的郵差將信送往郵局。在郵局,信被打開(kāi),郵局工作人員看到最終地址,于是將信包裝在一個(gè)新的信封中,寫(xiě)上出發(fā)地為郵局,到達(dá)地為計(jì)算機(jī)2,并交給以太網(wǎng)的郵差,由以太網(wǎng)的郵差送往計(jì)算機(jī)2。
(IP協(xié)議還要求寫(xiě)如諸如校驗(yàn)等信息,交通狀況等信息,以保護(hù)通信的穩(wěn)定性。)
轉(zhuǎn)交給郵局
在連接層,郵差只負(fù)責(zé)在本社區(qū)送信,所以信封上的地址總是“第一條街第三座房子”或者說(shuō)“中心十字路口拐角的小房子”這樣一些本地人才了解的地址描述,這給郵局的工作帶來(lái)不便。所以郵局要求,信紙上寫(xiě)的地址必須是一個(gè)符合官方規(guī)定的“郵編”,也就是IP地址。這個(gè)地址為世界上的每一個(gè)房子編號(hào)(郵編)。當(dāng)信件送到郵局的時(shí)候,郵局根據(jù)郵編,就能查到對(duì)應(yīng)的地址描述,從而能順利改寫(xiě)信封上的信息。
每個(gè)郵局一般連接多個(gè)社區(qū),而一個(gè)社區(qū)也可以有多個(gè)郵局,分別通往不同的社區(qū)。有時(shí)候一封信要通過(guò)多個(gè)郵局轉(zhuǎn)交,才能最終到達(dá)目的地,這個(gè)過(guò)程叫做route。郵局將分離的局域網(wǎng)絡(luò)連接成了internet,并最終構(gòu)成了覆蓋全球的互聯(lián)網(wǎng)。
傳輸層(transport layer)上面的三層協(xié)議讓不同的計(jì)算機(jī)之間可以通信。但計(jì)算機(jī)中實(shí)際上有許多個(gè)進(jìn)程,每個(gè)進(jìn)程都可能有通信的需求。這就好像一所房子里住了好幾個(gè)人(進(jìn)程),如何讓信精確的送到某個(gè)人手里呢?遵照之前相同的邏輯,我們需要在信紙上寫(xiě)上新的信息,比如收信人的姓名,才可能讓信送到。所以,傳輸層就是在信紙的空白上寫(xiě)上新的“收信人”信息。每一所房子會(huì)配備一個(gè)管理員(傳輸層協(xié)議)。管理員從郵差手中接過(guò)信,會(huì)根據(jù)“收信人”,將信送給房子中的某個(gè)人。
管理員
傳輸層協(xié)議,比如TCP和UDP,使用端口號(hào)(port number)來(lái)識(shí)別收信人(某個(gè)進(jìn)程)。在寫(xiě)信的時(shí)候,我們寫(xiě)上目的地的端口。當(dāng)信到達(dá)目的地的管理員手中,他會(huì)根據(jù)傳輸層協(xié)議,識(shí)別端口號(hào),將信送給不同的人。
TCP和UDP協(xié)議是兩種不同的傳輸層協(xié)議。UDP協(xié)議類(lèi)似于我們的信件交流過(guò)程。TCP協(xié)議則好像兩個(gè)情人間的頻繁通信。一個(gè)小情人要表達(dá)的感情太多,以致于連續(xù)寫(xiě)了好幾封信。而另一方必須將這些信按順序排列起來(lái),才能看明白全部的意思。TCP協(xié)議還有控制網(wǎng)絡(luò)交通等功能。
應(yīng)用層(application layer)通過(guò)上面的幾層協(xié)議,我們已經(jīng)可以在任意兩個(gè)人(進(jìn)程)之間進(jìn)行通信。然而每個(gè)人實(shí)際上從事的是不同的行業(yè)。有的人是律師,有的人外交官。比如說(shuō)律師之間的通信,會(huì)用嚴(yán)格的律師術(shù)語(yǔ),以免產(chǎn)生糾紛。再比如外交官之間的通信,必須符合一定的外交格式,以免發(fā)生外交誤會(huì)。再比如間諜通過(guò)暗號(hào)來(lái)傳遞加密信息。應(yīng)用層協(xié)議是對(duì)信件內(nèi)容進(jìn)一步的用語(yǔ)規(guī)范。應(yīng)用層的協(xié)議包括用于Web瀏覽的HTTP協(xié)議,用于傳輸文件的FTP協(xié)議,用于Email的IMAP等等。
外交通信
總結(jié)總過(guò)網(wǎng)絡(luò)分層,我們從原始的0/1序列抽象出
本地地址(郵差)、郵編(郵局)、收信人(管理員)、收信人行業(yè)(用語(yǔ)規(guī)范)
這些概念。這些概念最終允許互聯(lián)網(wǎng)上的分布于兩臺(tái)計(jì)算機(jī)的兩個(gè)進(jìn)程相互通信。
寫(xiě)信人必須按照各層的協(xié)議,封裝好整個(gè)信封 (encapsulation);而收信人則按照相反的順序,來(lái)拆開(kāi)這個(gè)信封。整個(gè)過(guò)程是可讀信息 -> 二進(jìn)制 -> 可讀信息。計(jì)算機(jī)只能理解和傳輸0/1序列,而計(jì)算機(jī)的用戶(hù)則總是輸入和輸出可讀信息。網(wǎng)絡(luò)協(xié)議保證了可讀信息在整個(gè)轉(zhuǎn)換和傳輸過(guò)程中的完整性。
計(jì)算機(jī)協(xié)議本身還有更多的細(xì)節(jié)需要深入。這篇文章只是從分層的角度描述各個(gè)層次所實(shí)現(xiàn)的功能。
相關(guān)文章
- 這篇文章主要是為探索一下這個(gè)校驗(yàn)和算法具體怎么實(shí)現(xiàn)的,需要的朋友可以參考下2013-10-26
- NTP:Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議,用于時(shí)間同步,它可以提供高精準(zhǔn)度的時(shí)間校正(LAN上與標(biāo)準(zhǔn)時(shí)間差小于1毫秒,WAN上幾十毫秒),且可通過(guò)加密確認(rèn)的方式來(lái)防止2013-03-28
OSPF協(xié)議在通信網(wǎng)絡(luò)中的應(yīng)用分析及算法優(yōu)化
這篇文章主要為大家介紹了開(kāi)放最短路徑優(yōu)先(osPF)協(xié)議和通信一絡(luò)的相關(guān)概念,對(duì)osPF協(xié)議的應(yīng)用機(jī)制和算法優(yōu)化行分析。 需要的朋友可以和腳本之家的小編一起學(xué)習(xí)一下2014-09-23Cisco網(wǎng)絡(luò)協(xié)議:EIGRP中生成默認(rèn)路由的4種方法
這篇文章主要為大家介紹了在Cisco網(wǎng)絡(luò)協(xié)議EIGRP中生成默認(rèn)路由的4種方法,第一種寫(xiě)一條默認(rèn)路由,network到EIGRP進(jìn)程,第二種寫(xiě)一條默認(rèn)路由,重分布靜態(tài)到EIGRP進(jìn)程,第三2014-09-29Cisco網(wǎng)絡(luò)協(xié)議:EIGRP向本區(qū)域下放默認(rèn)路由的設(shè)置方法
這篇文章主要為大家介紹了Cisco網(wǎng)絡(luò)協(xié)議中EIGRP向本區(qū)域下放默認(rèn)路由的設(shè)置方法與步驟,EIGRP是加強(qiáng)型內(nèi)部網(wǎng)關(guān)路由協(xié)議,需要的朋友可以參考下2014-09-29- 今天我們給大家介紹的是路由器的一些基礎(chǔ)知道,路由表和路由選擇算法,這是每一個(gè)網(wǎng)管在設(shè)置網(wǎng)絡(luò)時(shí)必須掌握的內(nèi)容,否則就無(wú)法設(shè)置好路由器,從而造成整個(gè)網(wǎng)絡(luò)不穩(wěn)定,更多2012-11-13
敏捷交換機(jī)的特色:iPCA網(wǎng)絡(luò)包守恒算法
華為新推出S 12700 敏捷交換機(jī),利用其靈活可編程的特點(diǎn),開(kāi)創(chuàng)性地實(shí)現(xiàn)了iPCA 功能,全面提升網(wǎng)絡(luò)質(zhì)量檢測(cè)和故障精確定位能力,降低網(wǎng)絡(luò)運(yùn)維成本,iPCA網(wǎng)絡(luò)包守恒算法是怎2014-09-24- 我們都知道HTTPS能夠加密信息,以免敏感信息被第三方獲取。所以很多銀行網(wǎng)站或電子郵箱等等安全級(jí)別較高的服務(wù)都會(huì)采用HTTPS協(xié)議2021-11-27
網(wǎng)絡(luò)基礎(chǔ)知識(shí):了解網(wǎng)絡(luò)協(xié)議的組成和常見(jiàn)的網(wǎng)絡(luò)協(xié)議
協(xié)議是網(wǎng)絡(luò)中計(jì)算機(jī)或設(shè)備之間進(jìn)行通信的一系列規(guī)則的集合。常用協(xié)議有IP、TCP、HTTP、POP3、SMTP等2014-09-16例解EIGRP DUAL算法網(wǎng)絡(luò)收斂原理圖文教程
EIGRP(增強(qiáng)內(nèi)部網(wǎng)關(guān)路由協(xié)議)可以不用定期的發(fā)送路由更新信息以減少帶寬的占用,Appletalk、IP、Novell和NetWare多種網(wǎng)絡(luò)層協(xié)議可以支持2016-07-04