在學(xué)習(xí)網(wǎng)絡(luò)的時(shí)候有這樣幾個(gè)疑惑:
為什么需要抽象出五層模型出來(lái)?
難道不是直接在網(wǎng)線(光纖傳輸)中傳輸數(shù)據(jù)就好了么?大不了到了端點(diǎn)用的是WIFI傳輸(無(wú)線信號(hào))。
這兩個(gè)問(wèn)題真的很困惑我,不知道大家有沒(méi)有這樣的疑惑?如果有的話,龍叔將為你答疑解惑。如果有其他的疑惑歡迎評(píng)論區(qū)留言
在回答問(wèn)題之前我先帶你領(lǐng)略下使用最為廣泛的五層模型,分別是哪五層?各層解決了什么問(wèn)題?
五層模型是哪五層?
網(wǎng)絡(luò)模型
左邊是OSI的七層模型,這模型很牛逼。但是現(xiàn)在基本是存在教科書(shū)的啦,學(xué)習(xí)網(wǎng)絡(luò)的同學(xué)都是知道有這個(gè)模型,實(shí)際情況使用很少的。
右邊是TCP/IP五層分層模型。分別是物理層(硬件)、數(shù)據(jù)鏈路層(網(wǎng)卡層)、網(wǎng)絡(luò)層(互聯(lián)網(wǎng)層)、傳輸層、應(yīng)用層。在日常工作中接觸最多的是上兩層,偶爾會(huì)去觸碰網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層和物理層不是我們工作范圍。當(dāng)然如果是一些專(zhuān)門(mén)的網(wǎng)絡(luò)安全部門(mén),網(wǎng)管(不是網(wǎng)吧的網(wǎng)管)等崗位,下面幾層就是非常熟悉的。
五層模型還是很清楚明了的,每層用到的重要協(xié)議都表示在圖中,還表示了操作系統(tǒng)的內(nèi)核工作范圍和用戶工作范圍。
各層解決了什么問(wèn)題?
應(yīng)用層:
應(yīng)用層是網(wǎng)絡(luò)體系架構(gòu)中的最高層。這意味著什么?想想就知道,最高層就是要和人交互的層次嘛。
應(yīng)用層是計(jì)算機(jī)網(wǎng)絡(luò)與用戶交互的接口或者界面,直接向用戶提供服務(wù)。
提供哪些服務(wù)呢?
這個(gè)…,就非常多了,比如Web服務(wù)、E-mail服務(wù)、DNS服務(wù)、DHCP服務(wù)、FTP服務(wù)等等。
所以很明了,應(yīng)用層解決的問(wèn)題就是如何為用戶提供服務(wù),以及提供高效、可靠、滿意的服務(wù)。如何解決這些問(wèn)題也就是我們這些攻城獅存在的必要了,根據(jù)不同的業(yè)務(wù)場(chǎng)景用不同的方法解決這些問(wèn)題。例如使用多線程、協(xié)程,高并發(fā)的web框架,使用epoll處理模式,分布式處理等等技術(shù)來(lái)解決提供高效、可靠、滿意的服務(wù)。
總結(jié)下,應(yīng)用層是為用戶提供服務(wù)接口或者界面,同時(shí)要解決服務(wù)的高效、可靠、滿意。
傳輸層
負(fù)責(zé)端到端的通信,是面向網(wǎng)絡(luò)通信的低三層和面向信息處理的高三層之間的中間一層,起到橋梁作用。很明顯了,傳輸層解決的問(wèn)題就是端到端的傳輸問(wèn)題。
看到這句話肯定很多人有疑問(wèn),先別說(shuō),繼續(xù)看(我知道有人會(huì)說(shuō),網(wǎng)絡(luò)層不是已經(jīng)把數(shù)據(jù)轉(zhuǎn)發(fā)到對(duì)應(yīng)的主機(jī)了么,為何還要傳輸層?)。
位于兩臺(tái)網(wǎng)絡(luò)主機(jī)間的真正數(shù)據(jù)通信主體不是這兩臺(tái)主機(jī),而是兩臺(tái)主機(jī)中的各種網(wǎng)絡(luò)應(yīng)用進(jìn)程,也就是應(yīng)用程序。一臺(tái)主機(jī)上有很多應(yīng)用程序,很多應(yīng)用程序都在進(jìn)行網(wǎng)絡(luò)通信,這時(shí)候就必須使用到傳輸層的知識(shí)去解決了。
怎樣完成端到端的傳輸呢?
分為兩個(gè)步驟:一是虛擬傳輸連接的建立(此處仍僅針對(duì)面向連接的傳輸層協(xié)議),二是源端用戶數(shù)據(jù)沿著傳輸連接傳送到目的端。
在整個(gè)數(shù)據(jù)傳輸過(guò)程中,傳輸層服務(wù)需要完成以下8個(gè)方面的基本功能:傳輸層尋址、傳輸連接建立、數(shù)據(jù)傳輸、傳輸連接釋放、流量控制、擁塞控制、多路復(fù)用和解復(fù)用、崩潰恢復(fù)。
這里面每個(gè)功能都能細(xì)說(shuō)一篇文章,這里就不一一展開(kāi)了,后面會(huì)出系列的文章,所以點(diǎn)關(guān)注,不迷路。每個(gè)功能都是面試的考點(diǎn),所以我后面一定會(huì)快速更新出來(lái)的。
總結(jié)下,傳輸層主要是為了解決端到端(這里的端到端指的是進(jìn)程到進(jìn)程)的通信,起到網(wǎng)絡(luò)通信橋梁作用。
網(wǎng)絡(luò)層
網(wǎng)絡(luò)層也被稱為中轉(zhuǎn)層,是網(wǎng)絡(luò)體系結(jié)構(gòu)中非常重要的一層,在技術(shù)上又是非常復(fù)雜的一層,因?yàn)樗纫鉀Q不同網(wǎng)絡(luò)的節(jié)點(diǎn)間通信的路由和協(xié)議識(shí)別問(wèn)題,又要通過(guò)路由選擇策略解決網(wǎng)絡(luò)擁塞問(wèn)題,盡可能提高網(wǎng)絡(luò)通信的可靠性。
網(wǎng)絡(luò)層解決的主要問(wèn)題是,從A主機(jī)把數(shù)據(jù)運(yùn)送到B主機(jī)是走高速呢、飛機(jī)呢、還是火車(chē)呢或者是多種混合的方案呢。一句話就是,網(wǎng)絡(luò)層關(guān)注的是如何將分組從源端沿著網(wǎng)絡(luò)路徑傳送到目的端(這個(gè)端指的是主機(jī)不是應(yīng)用程序)。
為了實(shí)現(xiàn)這個(gè)目標(biāo),網(wǎng)絡(luò)層必須知道通信子網(wǎng)的拓?fù)浣Y(jié)構(gòu),并且在拓?fù)浣Y(jié)構(gòu)中選擇適當(dāng)?shù)穆窂?。同時(shí)網(wǎng)絡(luò)層還必須謹(jǐn)慎地選擇路由路徑,以避免發(fā)生某些通信線路和路由器負(fù)載過(guò)重,而其他線路和路由器空閑的情形。
總結(jié)下,網(wǎng)絡(luò)層主要是為了解決不同網(wǎng)絡(luò)之間數(shù)據(jù)傳輸和轉(zhuǎn)發(fā)問(wèn)題。
數(shù)據(jù)鏈路層
物理層中也有許多規(guī)程或協(xié)議,但它們是用來(lái)構(gòu)建物理傳輸線路、建立物理意義的網(wǎng)絡(luò)通信,不是用來(lái)控制數(shù)據(jù)傳輸?shù)摹?/p>
設(shè)計(jì)數(shù)據(jù)鏈路層的主要解決的問(wèn)題就是在原始的、有差錯(cuò)的物理傳輸線路的基礎(chǔ)上,采取差錯(cuò)檢測(cè)、差錯(cuò)控制與流量控制等方法,將有差錯(cuò)的物理線路改進(jìn)成邏輯上無(wú)差錯(cuò)的數(shù)據(jù)鏈路,以便向它的上一層(網(wǎng)絡(luò)層)提供高質(zhì)量的服務(wù)。一句話總結(jié)就是控制數(shù)據(jù)傳輸。
總結(jié)下,數(shù)據(jù)鏈路層是為了解決數(shù)據(jù)傳輸?shù)目刂谱饔谩?/p>
物理層
物理層位于各計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的最底層,主要負(fù)責(zé)在物理介質(zhì)上為數(shù)據(jù)鏈路層提供原始比特流傳輸?shù)奈锢礞溄印?/p>
物理層解決的問(wèn)題就是數(shù)據(jù)傳輸。上面的所有層都是封裝數(shù)據(jù)和管理,物理層是傳輸數(shù)據(jù)的唯一出口,所有數(shù)據(jù)到達(dá)物理層都會(huì)變成二進(jìn)制的載波信號(hào)。
總結(jié)下,物理層就是真正傳輸數(shù)據(jù)。
為什么不是直接在物理線路中進(jìn)行通信就行了?而是搞出這么多層網(wǎng)絡(luò)模型呢?
我覺(jué)得在學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)時(shí)能思考這個(gè)問(wèn)題的都是非常的人,比如龍叔我。
物理層是物理線路的抽象,物理層解決的主要問(wèn)題傳輸就是數(shù)據(jù)傳輸,也是網(wǎng)絡(luò)通信中唯一的數(shù)據(jù)傳輸出口。其實(shí)物理層就相當(dāng)于日常交通網(wǎng)絡(luò)中的各種道路,如公路、鐵路和航線,它們是我們出門(mén)旅行必須要依靠的基礎(chǔ)設(shè)施。
但是物理層不是針對(duì)具體的傳輸介質(zhì)、設(shè)備和通信協(xié)議的,因?yàn)樗鼈兛梢杂性S多種選擇(如傳輸介質(zhì)中就可以有同軸電纜、雙絞線和光纖等),只要能實(shí)現(xiàn)物理層的某種功能就行了。不同的傳輸介質(zhì)和設(shè)備選擇,必須要有對(duì)應(yīng)的通信協(xié)議支持,而且這也決定了不同的選擇有不同的物理層性能。
就像路有好多種一樣,如有泥巴路、沙子路、水泥路、柏油馬路、普通鐵路、高速鐵路等,這些不同的路可以承載的重量和速率都不一樣。
傳輸介質(zhì)不同,各種傳輸介質(zhì)傳輸速率不同;所有人都在進(jìn)行傳輸,怎么管理這些人;高鐵、航線不可能通到家門(mén)口;就算到了家門(mén)口怎么把這些數(shù)據(jù)完整交付給家中的某個(gè)人呢;
所以就必須抽象出這些層來(lái)解決這些問(wèn)題。物理層專(zhuān)門(mén)做數(shù)據(jù)傳輸(好比基礎(chǔ)交通設(shè)施)、數(shù)據(jù)鏈路層制定傳輸規(guī)則(好比交通規(guī)則)、網(wǎng)絡(luò)層把各個(gè)交通線路連接起來(lái)(就好比各個(gè)交通樞紐站)、傳輸層是端到端的符數(shù)據(jù)通信(好比把快遞小哥把包裹移交到你的手里)、應(yīng)用層負(fù)責(zé)提供服務(wù)(好比包裹到你手里了,你在享受包裹里面的禮物)。
是不是有些明白為啥需要抽象出多層了,是的。
想想都知道要是光有物理層那網(wǎng)絡(luò)通信沒(méi)法玩了,數(shù)據(jù)都是二進(jìn)制,透明傳輸,數(shù)據(jù)還有可能亂序,丟數(shù)據(jù),數(shù)據(jù)被篡改等等問(wèn)題。
計(jì)算機(jī)網(wǎng)絡(luò)通信過(guò)程圖
本文講清楚了文章開(kāi)頭的幾個(gè)疑惑,至于各層中詳細(xì)的功能和面試??嫉狞c(diǎn),篇幅有限,我和大家一起期待下一篇文章。關(guān)注我,精彩內(nèi)容不錯(cuò)過(guò),微信搜索龍躍十二即可關(guān)注。
覺(jué)得本篇文章對(duì)你有幫助,非常感謝你能幫我點(diǎn)個(gè)贊,你的小小鼓勵(lì)會(huì)成為我創(chuàng)作的動(dòng)力。
-
WIFI
+關(guān)注
關(guān)注
81文章
5393瀏覽量
208153 -
計(jì)算機(jī)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
3文章
342瀏覽量
22742
發(fā)布評(píng)論請(qǐng)先 登錄
計(jì)算機(jī)網(wǎng)絡(luò)入門(mén)指南

計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議介紹

計(jì)算機(jī)網(wǎng)絡(luò)排錯(cuò)思路總結(jié)

評(píng)論