怎樣免費做網(wǎng)站視頻講解網(wǎng)絡(luò)服務(wù)電話
文章目錄
- 1.2_2 OSI參考模型
- 一、概述
- (一)ISO/OSI參考模型是怎么來的?
- (二)ISO/OSI參考模型
- (三)ISO/OSI參考模型解釋通信過程
- 二、各層功能及協(xié)議
- (一)應(yīng)用層(第7層)
- (二)表示層(第6層)
- (三)會話層(第5層)
- (四)傳輸層(第4層)
- (五)網(wǎng)絡(luò)層(第3層)
- (六)數(shù)據(jù)鏈路層(第2層)
- (七)物理層(第1層)
1.2_2 OSI參考模型
一、概述
??計算機網(wǎng)絡(luò)之所以有分層結(jié)構(gòu),就是因為計算機網(wǎng)絡(luò)要解決的問題非常大、非常復(fù)雜,所以我們就要把這個大的問題分成很多個小問題,然后逐個擊破。并且我們把這些小問題做一個非常好的分類,并且把每一類劃為一個層次,一個層次就負責(zé)一個特定的功能。
??因此,我們就把計算機網(wǎng)絡(luò)這個大問題抽象成一系列的小問題、一系列的層次,分別對應(yīng)一系列的功能?!谑蔷驼Q生了計算機網(wǎng)絡(luò)的分層結(jié)構(gòu)。
??接下來,我們研究這個分層結(jié)構(gòu)有哪幾種。其實它主要分為兩種:①7層的OSI參考模型;②4層的TCP/IP參考模型。
??這兩種模型的區(qū)別在于,7層的OSI參考模型是法定標(biāo)準(zhǔn),即法律規(guī)定的一種計算機網(wǎng)絡(luò)分層結(jié)構(gòu)。但在實際應(yīng)用中,市場感覺4層TCP/IP參考模型使用的更好、用戶體驗更好,所以這種4層的模型就成為了一種事實標(biāo)準(zhǔn)。也就是說我們現(xiàn)在通用的都是4層的參考模型,但是通過對7層模型的學(xué)習(xí),我們也可以從中獲得很多經(jīng)驗。
??經(jīng)過對這兩種參考模型的學(xué)習(xí),我們可以總結(jié)出它們各自的優(yōu)點和缺點,并總結(jié)出一個5層的體系結(jié)構(gòu)。(這個5層的體系結(jié)構(gòu)主要是為了讓我們在學(xué)習(xí)計算機網(wǎng)絡(luò)的過程中,學(xué)習(xí)更加方便、清晰而產(chǎn)生的)
(一)ISO/OSI參考模型是怎么來的?
??首先,為了解決計算機網(wǎng)絡(luò)復(fù)雜的問題 —> 產(chǎn)生了分層結(jié)構(gòu)(按功能劃分)
??那么,根據(jù)這種分層結(jié)構(gòu),有的公司肯定就有自己的想法了。世界上提出第一個網(wǎng)絡(luò)體系結(jié)構(gòu)的,就是IBM公司,它提出的是SNA
網(wǎng)絡(luò)體系結(jié)構(gòu)。
??接下來,就有更多公司效仿,都分別創(chuàng)造出了自己公司的網(wǎng)絡(luò)體系結(jié)構(gòu)。比如DEC公司的DNA
,比如美國國防部的TCP/IP
……
??但是,我們要知道,對于IBM公司提出的SNA
網(wǎng)絡(luò)體系結(jié)構(gòu)而言,我們只有使用IBM公司的產(chǎn)品,才能使用這樣一種體系結(jié)構(gòu)。所以,對于不同的公司,只有你使用它們的產(chǎn)品時,才能使用它們的體系結(jié)構(gòu)。——這對于所有人要在網(wǎng)絡(luò)上進行互聯(lián)互通是非常困難的。這種模式下,只能進行公司內(nèi)部網(wǎng)絡(luò)的通信,而不能實現(xiàn)全球所有網(wǎng)絡(luò)之間的通信。
??因此,為了解決這種情況,即為了支持異構(gòu)網(wǎng)絡(luò)系統(tǒng)的互聯(lián)互通(也就是支持不同廠家的網(wǎng)絡(luò)體系結(jié)構(gòu)進行互聯(lián),使得所有人都互相聯(lián)系在一起),所以就產(chǎn)生了OSI參考模型。
??國際標(biāo)準(zhǔn)化組織(ISO)于1984年提出開放系統(tǒng)互連(OSI)參考模型。
??開放,即非壟斷的、全球通用的。
??但是,OSI參考模型,從理論的角度來說,它是很成功的,對于我們的學(xué)習(xí)、研發(fā),有非常好的借鑒意義。
??但它從市場的角度來說是失敗的。主要原因有,OSI的一些專家們只是構(gòu)想很好,但缺乏一些實操經(jīng)驗,就像一個烏托邦一樣的構(gòu)想;OSI實現(xiàn)起來其實是非常復(fù)雜的、運行效率非常低;OSI標(biāo)準(zhǔn)的制定周期太長了,使得OSI模型出來的時候沒有辦法及時地進入市場(非常好的TCP/IP
已經(jīng)在市場中廣泛使用了),OSI生不逢時;OSI的層次劃分不是很合理,有些功能會在多個層次當(dāng)中重復(fù)地出現(xiàn),導(dǎo)致它在實際使用當(dāng)中有些弊端、并不能很好的順應(yīng)市場需求。而TCP/IP比較適合市場的應(yīng)用,所以O(shè)SI模型就被TCP/IP模型打敗了,從而成為一個歷史,也僅作為一個法定標(biāo)準(zhǔn)。但即便如此,OSI模型依然有很多值得我們借鑒的東西、有非常高的學(xué)習(xí)價值。
(二)ISO/OSI參考模型
??首先,OSI是7層結(jié)構(gòu),從下到上依次是:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層。
??最高層次是第7層——應(yīng)用層;最低層次是第1層——物理層。
記憶口訣:
??從下到上,分別記:物、鏈、網(wǎng)、輸、會、示、用。(物聯(lián)網(wǎng)淑慧試用)
??此外,還要講的一點(這一點在之前其實也提到過),就是分類的問題。
??計算機網(wǎng)絡(luò)按照功能,可以分為資源子網(wǎng)、通信子網(wǎng)。
??通信子網(wǎng)對應(yīng)的就是OSI參考模型中的下面三層,通信子網(wǎng)主要負責(zé)的是數(shù)據(jù)通信。
??OSI參考模型中的上面三層叫做資源子網(wǎng),資源子網(wǎng)主要負責(zé)數(shù)據(jù)處理。
??而傳輸層是資源子網(wǎng)以及通信子網(wǎng)的接口。
??比如我要郵寄一個物品。我把這個物品進行一定的處理、包裝,對應(yīng)的就是資源子網(wǎng)(數(shù)據(jù)處理);包裝好后,我將它交給快遞公司,郵寄出去,對應(yīng)的就是通信子網(wǎng)(數(shù)據(jù)通信)。
(三)ISO/OSI參考模型解釋通信過程
??OSI是一種分層結(jié)構(gòu),我們說,每一層都對應(yīng)著一種(或者幾種)功能,每層完成特定的功能。那么接下來我們就通過一個實例,來研究一下OSI參考模型的每一層都實現(xiàn)了什么功能。
??比如,現(xiàn)在有主機A、主機B,它們兩個之間要進行通信(比如要進行QQ聊天)。那么,進行這種聯(lián)網(wǎng)的通信,就一定要借助一些中間系統(tǒng),比如常見的有路由器,此外還有網(wǎng)橋、交換機。(這些設(shè)備在之后都會學(xué)到)
??那么,主機A向主機B發(fā)送消息,比如發(fā)送了一個“你好!”,那通信的過程不可能是,“你好!”直接從主機A跑到主機B上面去了,沒有這么簡單。兩臺主機之間若要進行通信,則需要經(jīng)過很多的步驟才行。
??對于主機A、B這兩個端系統(tǒng),它們都要經(jīng)過7層處理,并且這7層是它們都必須要經(jīng)過的。而中間系統(tǒng)只需要經(jīng)過3層。并且,例如網(wǎng)橋、交換機,只需經(jīng)過最下面的2層即可。(但無論是什么中間系統(tǒng),最多只能經(jīng)過3層,即到達網(wǎng)絡(luò)層)
??首先,物理層處有一個傳輸介質(zhì),可以是光纖、電纜等。
??我們想象的“信息傳輸”是比較抽象的,但盡管如此,我們也可以將其形象化到某一種具體的傳輸介質(zhì)上去。
??每一層,和它另一端的同層之間都會有一個協(xié)議。比如主機A的應(yīng)用層和主機B的應(yīng)用層之間(其它層同理)會有一個協(xié)議,來規(guī)定兩臺主機的應(yīng)用層能實現(xiàn)相同的功能。
??而例如主機A的“數(shù)據(jù)鏈路層”和中間設(shè)備的“數(shù)據(jù)鏈路層”之間,也有協(xié)議,來規(guī)定它們的功能都是一樣的。
一個宏觀的通信過程
??主機A發(fā)送一條消息,經(jīng)過應(yīng)用層、表示層、會話層……數(shù)據(jù)鏈路層的層層加工處理,最終在物理層處轉(zhuǎn)化為01比特流,然后向鏈路上發(fā)送。由于要經(jīng)過中間系統(tǒng),所以比特流會發(fā)送到中間系統(tǒng)處,再由中間系統(tǒng)將收到的01比特流從物理層向上層層還原,主要是為了看看這個信息要發(fā)送到哪里,等。還原之后,中間系統(tǒng)會對信息進一步的貼上一些必要信息,然后再向下層依次加工處理,再到達物理層上,以01比特流的形式向鏈路上進行傳輸(假設(shè)只有這一個中間系統(tǒng),不再有其他的中間系統(tǒng)了),接下來就到達了主機B。主機B將該01比特流由物理層開始,層層向上還原,最終還原到應(yīng)用層,就把這個數(shù)據(jù)還原成了原始的信息。
端到端 & 點到點
??根據(jù)上圖,我們可以發(fā)現(xiàn),上面4層和下面3層有些不太一樣??梢杂^察到,中間系統(tǒng)是不會有上面4層的(實際上,上面4層的功能,中間系統(tǒng)也用不上)。
??僅從上面4層的視角來看,我只關(guān)心這個信息是最終發(fā)送給你的,我并不關(guān)心它由哪些中間系統(tǒng)轉(zhuǎn)發(fā)。也就好像直接形成了端與端之間的連通。因此,上面4層,實現(xiàn)的是端到端的通信。
??而下面3層,就需要介入中間系統(tǒng)了。比如,主機A將數(shù)據(jù)發(fā)送出去,下一步,它要傳給中間系統(tǒng)。而如果有多個中間系統(tǒng)的話,中間系統(tǒng)還要把數(shù)據(jù)傳給下一個中間系統(tǒng)……最后才會到達主機B??梢?#xff0c;它每一次的通信,或者說每一次對于數(shù)據(jù)的一個傳播過程,都是專注于下一步,這一小段過程要走到哪里,而并不注重最后的終點、最終的信息接收者到底是誰。因此,下面3層實現(xiàn)的是點到點的通信。
每一層具體的數(shù)據(jù)處理過程
??應(yīng)用層。首先要對需要發(fā)送的消息進行一個包裝(或者理解為貼上去了一個標(biāo)簽),貼上去的這個標(biāo)簽其實叫做一個頭部/首部,它是一個控制信息。這個控制信息當(dāng)中可能包括了一些檢驗差錯的東西,也有可能是下一步要傳送的地址是哪里,也有可能規(guī)定這個數(shù)據(jù)包的優(yōu)先級是多少……這些都是控制信息可以加上去的內(nèi)容。
??而在每一層當(dāng)中,我們都可以對數(shù)據(jù)加上一個控制信息。由圖可見,在應(yīng)用層處,它給初始信息DATA
加了一個頭部H7
(7表示的就是第7層的意思)。原始信息再加上首部之后,就形成了第7層的PDU。而再往下一層,第7層的PDU再加上第6層的首部,就又形成了第6層的PDU。第6層的PDU繼續(xù)往下傳,在第5層處再加上首部,就又形成了第5層的PDU……(第4層同理)。第3層的PDU繼續(xù)往下傳,傳到通信鏈路層,加上首部、尾部,就成了第2層的PDU。
助記:
??上面6個層次當(dāng)中,只有數(shù)據(jù)鏈路層對數(shù)據(jù)的包裝是需要加上首部以及尾部的,其他層都只需加上首部。如何記憶——“數(shù)據(jù)鏈路層”是5個字,而其他層次都是3個字,因此”數(shù)據(jù)鏈路層“要加的東西更多。
??而物理層,它是一個”傻瓜層“,它拿到數(shù)據(jù)以后就不會再進行處理了,它只是將數(shù)據(jù)形成01序列的比特流,然后放到下面的物理傳輸介質(zhì)上進行傳輸。
??(中間系統(tǒng)先不考慮,假設(shè)數(shù)據(jù)已經(jīng)到達了主機B)
??首先,對于物理層所收到的比特流進行一個處理,將它還原成數(shù)據(jù)鏈路層的數(shù)據(jù);接下來,由于右邊的數(shù)據(jù)鏈路層與左邊的數(shù)據(jù)鏈路層使用的是相同的協(xié)議,所以右邊的主機B就能夠識別出哪里是首部、尾部,并正確的將它們?nèi)コ?/strong>;在數(shù)據(jù)鏈路層將首部、尾部去掉之后,就形成了網(wǎng)絡(luò)層的數(shù)據(jù);同樣,在網(wǎng)絡(luò)層去掉首部后,就形成了傳輸層的數(shù)據(jù);在傳輸層去掉首部之后,就形成了會話層的數(shù)據(jù)……最終,還原成應(yīng)用層的數(shù)據(jù)。同理,應(yīng)用層也能正確識別它這層的首部是什么,并將首部去掉,再將其傳送給主機B。
??以上就是主機A和主機B通信的一個比較具體的過程,也是7層模型對于數(shù)據(jù)封裝、還原的過程。
二、各層功能及協(xié)議
(一)應(yīng)用層(第7層)
??應(yīng)用層:所有能和用戶交互產(chǎn)生網(wǎng)絡(luò)流量的程序。
??應(yīng)用層和主機是最相鄰的,是用戶與網(wǎng)絡(luò)的界面。
??當(dāng)你連上網(wǎng)才能使用的程序,就是應(yīng)用層。對于那些不需聯(lián)網(wǎng)就能使用的(例如記事本)程序,就不算應(yīng)用層。
典型應(yīng)用層服務(wù):(括號中是這種服務(wù)所使用的協(xié)議)
??文件傳輸(FTP)
??電子郵件(SMTP)
??萬維網(wǎng)(HTTP)
??……
(二)表示層(第6層)
??表示層:用于處理在兩個通信系統(tǒng)中交換信息的表示方式(語法和語義)
??通信系統(tǒng),就是手機、電腦……這些設(shè)備。
??交換信息,就是進行數(shù)據(jù)傳遞的過程。
功能一:數(shù)據(jù)格式變換
??不同主機的編碼格式、表達方式等會有差別,因此就需要表示層實現(xiàn)數(shù)據(jù)變換的功能,也就是充當(dāng)一個翻譯官的角色。
??如上圖所示,收到的01編碼實際上是一個jpg格式的圖片,那么這個轉(zhuǎn)換、翻譯的過程就要由表示層來實現(xiàn)。
功能二:數(shù)據(jù)加密解密
??例如有這樣一種數(shù)據(jù):我的微信支付密碼是XXXX
。這種數(shù)據(jù),就要進行加密之后,再放到鏈路上傳輸。如果不加密的話,有人從鏈路上抓包,把這個信息拿下來,就相當(dāng)于盜走你的支付密碼了。所以就需要一個加密的過程。到了接收端,它就會再進行一個解密的過程。
功能三:數(shù)據(jù)壓縮和恢復(fù)
??比如視頻聊天,如果是原圖發(fā)送,是非常大的,因此要先進行一個壓縮,壓縮之后放到鏈路上傳輸,傳輸過后再進行解壓縮/恢復(fù)的過程。
??注意:表示層其實不是一個特別獨立出來的層次。這一點在之后學(xué)
TCP/IP協(xié)議
或5層結(jié)構(gòu)
的時候會發(fā)現(xiàn),表示層其實會被納入到應(yīng)用層或者會話層里面。因此,表示層通常來說也沒有什么單獨的協(xié)議,如果非要說一些跟表示層有關(guān)的協(xié)議的話,可以說JPEG、ASCII
。
(三)會話層(第5層)
??會話層是位于表示層下的一個層次(也就意味著:表示層要使用會話層提供的服務(wù))。
??會話層:向表示層實體/用戶進程提供建立連接并在連接上有序地傳輸數(shù)據(jù)。這是會話,也是建立同步(SYN)。
例如:
??你給另一個人撥打電話,當(dāng)電話還沒有打通時,你這時說的話,他肯定是聽不到的。因為你們還沒有打通,此時你說什么,他也接收不到。
??會話層的功能類似,就是建立一個連接。把這個連接建立好之后,才能討論傳輸數(shù)據(jù)的事情。
??比如我的電腦打開了百度,另外又打開了一個看電影的網(wǎng)頁。此時,我的電腦就和這兩個網(wǎng)頁建立起了同步。此時,我想把電影往后快進一點,所以我就點了快進按鈕,我點了之后,這個電影界面就會有一個回應(yīng),這個電影的畫面就會快進幾秒了,而不是會導(dǎo)致百度的界面發(fā)生什么變化。這就是因為,我的主機和電影服務(wù)器建立的連接(這是一個會話),它是不會影響到我的主機與其他的服務(wù)器所建立起來的會話的。會話之間是彼此獨立,互不影響的。
功能一:建立、管理、終止會話。
功能二:使用校驗點可使會話在通信失效時從校驗點/同步點繼續(xù)恢復(fù)通信,實現(xiàn)數(shù)據(jù)同步。
??假設(shè)我們有一個特別長的數(shù)據(jù),那么我們就會在數(shù)據(jù)中間的某些地方切開,并插入一個校驗點(或者叫同步點),將其分成幾個部分。
??它的作用就是,萬一我們的網(wǎng)絡(luò)出現(xiàn)問題了,通信失效了,會話突然被停止了、關(guān)閉了,等到恢復(fù)會話后,我們就可以恢復(fù)到剛才的同步點處,繼續(xù)通信。這樣一來,我們就不用再從頭開始通信了。
??適用于傳輸大文件。
??會話層的主要協(xié)議:
ADSP、ASP
。
(四)傳輸層(第4層)
??傳輸層首先是自下而上第一個端到端通信的層次。同時也是上面三層(資源子網(wǎng))和下面三層(通信子網(wǎng))中間的一個接口。
??傳輸層:負責(zé)主機中兩個進程的通信,即端到端的通信。傳輸單位是報文段或用戶數(shù)據(jù)報。
??再次說明一下:上面4層都是端到端的通信,下面3層都是點到點的通信。
問題:為什么叫“端到端”通信
??答:因為端到端通信指的是,運行在兩個不同主機內(nèi)的兩個進程之間的通信。而每個進程都有一個進程標(biāo)識符,也就是端口號
。所以兩個不同主機的兩個進程之間的通信,也就叫端到端的通信
。
功能一:可靠傳輸、不可靠傳輸
功能二:差錯控制
功能三:流量控制
功能四:復(fù)用分用
助記口訣:可差的也留下來用了——輸。
問題1:什么是可靠傳輸 / 不可靠傳輸?
??比如有一個pdf文件,首先我們要把它分成一個一個的傳輸單位(報文段),之后再進行傳輸。傳輸?shù)浇邮斩撕?#xff0c;對于每一個收到的報文段,接收端都會返回給發(fā)送端一個確認的信息,告訴發(fā)送端:“我收到了,你可以發(fā)下一個了。”發(fā)送端收到了這個確認信息之后,才能繼續(xù)往下發(fā)送。如果發(fā)送端發(fā)現(xiàn),怎么沒消息了、沒信了?那么發(fā)送端就無法確認接收端到底接沒接收到。此時,發(fā)送端就會重新再發(fā)一遍剛才的那個數(shù)據(jù)報/報文段,直到收到對方返回來的確認信息為止,才能再往下繼續(xù)發(fā)送新的報文段?!@就是可靠傳輸,一個基于確認機制的過程。
??不可靠傳輸——不需要建立連接,也不用管會不會丟,也不用管確認機制,發(fā)送端只需把數(shù)據(jù)報放上去發(fā)送即可。通常應(yīng)用在發(fā)送一些比較小的數(shù)據(jù)的場合:比如我在QQ上發(fā)送一句話“在嗎?”,這就是一個數(shù)據(jù)報就能解決的問題,發(fā)送一個包到鏈路上面即可。因此,對于這種非常小的包,我們沒有必要建立連接、確認機制……這樣比較麻煩、耗時。所以這時我們就可以采用不可靠傳輸的方式。
問題2:什么是差錯控制?
??顧名思義,就是對于發(fā)生的任何差錯進行控制。
??比如說我們傳送的一些報文段失序了、順序錯了,或者是丟了一些報文段。那么我們的傳輸層就要負責(zé)糾正這些錯誤。
問題3:什么是流量控制?
??這里的流量不是說,像手機流量,300M、500M這種的流量。
??這里的流量說的是,我能不能跟得上,或者說咱倆的速度匹不匹配的問題。比如說,我是發(fā)送端,我正在給你發(fā)送一大串的數(shù)據(jù),或者說發(fā)送很多的文件;但從接收端的角度來看,接收端的接收能力是有一定限度的,不可能一次性發(fā)多少、它都能接收多少,一次性塞太多、它也會“吃不下去”。這就是流量控制需要做的事情,需要控制一下發(fā)送方的速度。
??也就是說,如果接收方發(fā)現(xiàn),我快要來不及接收了、弄不動了,那么接收方就要告訴發(fā)送方:“你慢一點發(fā)?!蹦敲窗l(fā)送方就會慢一點發(fā)?!@個過程就叫做流量控制。
問題4:什么是復(fù)用分用?
??復(fù)用:多個應(yīng)用層進程可同時使用下面?zhèn)鬏攲拥姆?wù)。
??分用:傳輸層把收到的信息分別交付給上面應(yīng)用層中相應(yīng)的進程。
??如圖,兩臺手機都運行了QQ進程、微信進程。
??左邊的手機要給右邊的手機發(fā)消息了。而且是QQ、微信兩個進程都要發(fā)消息。假設(shè)QQ進程的端口號為1、微信進程的端口號為2。發(fā)送的消息以報文段的方式放到傳輸層上面,再進行下一步的傳輸。
??需要注意的是,它們發(fā)送的消息在形成報文段的過程中,QQ包含的報文段就會帶有一些信息,如QQ程序的端口號是幾
,微信包含的報文段中就會帶有一些信息,如微信的端口號是幾
?!@就叫做:有多個應(yīng)用層進程可以同時使用下面?zhèn)鬏攲拥姆?wù)。
??接下來,這些數(shù)據(jù)發(fā)送到接收端,接收端就開始把這些數(shù)據(jù)取出,至于怎么取,就需要剛才所說的端口號。可能有多個報文段,我們從中看,各個進程對應(yīng)的端口號是多少。如果我們看到,這條數(shù)據(jù)的端口號是1,那么就知道,這條數(shù)據(jù)是要發(fā)給QQ的,于是就把它發(fā)給QQ。又看到另外一個報文段所對應(yīng)的端口號是2,于是就把它發(fā)給微信。
??這就是復(fù)用和分用的過程。同時,也可見 端口號的重要性。有了端口號,才能保證各個數(shù)據(jù)最終都能走到自己對應(yīng)的位置。
??傳輸層的主要協(xié)議:
TCP、UDP
(五)網(wǎng)絡(luò)層(第3層)
??它是7層當(dāng)中自下而上的第3個層次,同時也是7層當(dāng)中最重要的一個層次。
??網(wǎng)絡(luò)層:主要任務(wù)是把分組從源端傳到目的端,為分組交換網(wǎng)上的不同主機提供通信服務(wù)。網(wǎng)絡(luò)層傳輸單位是數(shù)據(jù)報。
??可見網(wǎng)絡(luò)層的重要性,網(wǎng)絡(luò)層專門就是用來實現(xiàn)網(wǎng)際互聯(lián),實現(xiàn)不同主機之間的連通、通信。
??當(dāng)數(shù)據(jù)報過長的時候,就可以把數(shù)據(jù)報進行切割,切割出來的就是一個又一個小的分組,再放到鏈路上進行傳遞。這樣會使數(shù)據(jù)在傳輸?shù)倪^程當(dāng)中更加靈活,而且損失也會更小。
功能一:路由選擇
功能二:流量控制
功能三:差錯控制
功能四:擁塞控制
問題1:什么是路由選擇?
??顧名思義,就是選擇合適的路由。如圖,發(fā)送端要給接收端發(fā)送一個數(shù)據(jù)報,那它可以走上面的兩個路由器,當(dāng)然也可以走下面的路由器。但是,具體選擇哪種方式,要看當(dāng)時的具體的網(wǎng)絡(luò)情況,通過一些路由算法來計算,從而選出一個最佳路徑,一個最合適的路由方式,從而使這個分組正確、順利地從發(fā)送端傳輸?shù)浇邮斩恕!@就是路由選擇的過程。(最佳路徑)
問題2:什么是流量控制?
??上文也有講到。就是根據(jù)接收端的接收速度,來控制協(xié)調(diào)發(fā)送端發(fā)送速度的問題。比如發(fā)送端發(fā)送的太快了,導(dǎo)致接收端來不及接收,那么就要調(diào)整發(fā)送端的發(fā)送速度,讓它發(fā)送的慢一些?!@就是流量控制的過程。
問題3:什么是差錯控制?
??差錯控制,是通信兩節(jié)點之間約定的一些規(guī)則(比如后面會學(xué)到的奇偶校驗碼),那么接收方收到之后就會根據(jù)這個規(guī)則來檢查它收到的分組有沒有什么錯誤。若發(fā)現(xiàn)錯誤了,此時如果能糾錯就糾錯,如果不能糾錯就把這個分組扔掉。這樣一來,就能確保它向上層(傳輸層)提交的數(shù)據(jù)都是沒有問題的。
問題4:什么是擁塞控制?
??擁塞控制和流量控制有所區(qū)別。流量控制主要是控制發(fā)送端的發(fā)送速度,而擁塞控制是對全局、宏觀上進行整體的速度控制。
??若所有結(jié)點(包括主機和中間系統(tǒng))都來不及接收分組,而要丟棄大量分組的話,網(wǎng)絡(luò)就處于擁塞狀態(tài)。因此要采取一定措施,緩解這種擁塞。
??主要協(xié)議:
IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
。
(六)數(shù)據(jù)鏈路層(第2層)
??數(shù)據(jù)鏈路層作為網(wǎng)絡(luò)層的下一層,自然它就要為網(wǎng)絡(luò)層提供服務(wù)。
??主要任務(wù)是把網(wǎng)絡(luò)層傳下來的數(shù)據(jù)報封裝成幀。
??數(shù)據(jù)鏈路層(或者叫鏈路層)的傳輸單位是幀。
功能一:成幀(定義幀的開始和結(jié)束)
??我們數(shù)據(jù)報組裝成幀之后會形成一個比較長的比特流序列。我們對于這樣一個比特流序列,就要定義一下,在哪開始是這個幀的開始,在哪結(jié)束是這個幀的結(jié)束。
??我們就需要定義幾種01組合
,來判斷哪里是這個幀的開始,哪里是這個幀的結(jié)束。
??這樣定義好之后,我們在接收端收到一個幀的時候,就可以把這個幀當(dāng)中的數(shù)據(jù)部分給提取出來,進而上交給網(wǎng)絡(luò)層。
??
...1000011101010101...
功能二:差錯控制——幀錯+位錯
??對于幀錯、位錯,這兩種錯誤,數(shù)據(jù)鏈路層都會有相應(yīng)的檢錯、糾錯的方法。如果發(fā)現(xiàn)有差錯,數(shù)據(jù)鏈路層可能就會簡單地丟棄差錯的幀,以免讓它繼續(xù)在網(wǎng)絡(luò)當(dāng)中進行傳遞、從而浪費資源。也可能會對數(shù)據(jù)進行改正,即糾錯,就會用到一些可靠傳輸協(xié)議來糾正出現(xiàn)的差錯。
功能三:流量控制
??在之前的輸入層、網(wǎng)絡(luò)層都講過,是一個意思。是發(fā)送方、接收方速度協(xié)調(diào)的問題。如果接收方的緩存不夠用了、接收不過來了,那么再發(fā)來的數(shù)據(jù)也全都要丟棄掉。因此,它就會告訴發(fā)送方,你慢點發(fā),等我的緩存有空間了之后,你可以再加快速度。
功能四:訪問(接入)控制——控制對信道的訪問
??比如這里有4個主機,它們都連接在一個傳輸介質(zhì)上面。如果在廣播式網(wǎng)絡(luò)中,數(shù)據(jù)鏈路層就要處理這種訪問(接入)控制的問題了。就要控制一下,哪臺主機現(xiàn)在可以占用一下這個信道,因為廣播式網(wǎng)絡(luò)當(dāng)中,同一時間只能有一個人在發(fā)送信息、其他人都是處于監(jiān)聽的狀態(tài)。
??數(shù)據(jù)鏈路層可以控制大家對于共享信道的訪問。這是由它的一個特殊的子層——介質(zhì)訪問子層來專門處理、控制這個問題的。
??主要協(xié)議:
SDLC、HDLC、PPP、STP
。
(七)物理層(第1層)
??物理層是“傻瓜層”,因為物理層的功能實在是太簡單了。它只需要把比特流轉(zhuǎn)成電信號的形式,然后放到鏈路上面進行傳輸就可以了。不需要對數(shù)據(jù)有什么改動,也不需要對它有什么切割。
??物理層的主要任務(wù)是在物理媒體上實現(xiàn)比特流的透明傳輸。物理層傳輸單位是比特。
??物理媒體可以是任何一種物理傳輸介質(zhì),比如同軸電纜、雙絞線、無線電波……
透明傳輸
??指不管所傳數(shù)據(jù)是什么樣的比特組合,都應(yīng)當(dāng)能夠在鏈路上傳送。
??透明傳輸就能保證,不管我接收到的數(shù)據(jù)是怎么樣的組合,我都應(yīng)當(dāng)能無視它,都能夠把它直接放到鏈路上面進行傳輸。你給我什么,我就往外發(fā)什么。這也就是物理層“傻瓜”的地方。
功能一:定義接口特性
??這里的說法比較多,此處挑幾個舉例。比如說,要確定連接電纜的插頭應(yīng)該有多少個引腳;或者說每一條引腳應(yīng)該如何連接,等等。這都屬于接口特性的部分了。
功能二:定義傳輸模式
??傳輸模式有三種:單工、半雙工、雙工。
??單工指的是數(shù)據(jù)傳輸只能在一個方向上傳輸,無論什么時候。就是發(fā)送端、接收端都已經(jīng)完全確認好了,不會再改變。
??半雙工,根據(jù)字面意思就可以知道,它是介于單工、雙工之間的。半雙工就是,兩個人都可以作為發(fā)送方或者接收方,但是同一時間還是只能有一個人發(fā)送信息。就好像我們使用對講機,在同一時間只能有一個人說話,但是另一個時間也可以換別的人來說話。所以,誰都能當(dāng)發(fā)送端,但同一時間還是只能有一個人進行發(fā)送。
??雙工,就是兩個人可以雙向且同時地說話。就好像我們打電話一樣。
功能三:定義傳輸速率
??我們說的百兆網(wǎng)、十兆網(wǎng),這個百兆、十兆指的就是發(fā)送端的傳輸速率,這都是物理層可以定義的。
功能四:比特同步
??比特同步指的是,發(fā)送端發(fā)出一個1,接收端就可以準(zhǔn)確無誤地接收到一個1。保證比特同步是需要時鐘的,這里不做展開講解。
功能五:比特編碼
??比如曼徹斯特編碼、差分曼徹斯特編碼等等。主要就是把0、1規(guī)定一下,用什么樣的電壓表示1,什么樣的電壓表示0?
??主要協(xié)議:
Rj45、802.3