Linux基礎(chǔ)知識|協(xié)議初識和網(wǎng)絡(luò)協(xié)議分層
發(fā)布時間:2023-08-08 13:55:50
一、協(xié)議初識和網(wǎng)絡(luò)協(xié)議分層(TCP/IP四層模型)
我們知道一臺計算機里面有很多的硬件,正是這些硬件之間互相配合協(xié)同工作才能讓我們的計算機健康的運行,當然這里面也離不開軟件對硬件的管理。
假設(shè)我們腦洞大一點,把計算機里面的各個硬件拉出來,各自放到很遠很遠的地方,而計算機依舊能正常運行,靠的就是協(xié)議,而協(xié)議本質(zhì)就是一種約定,硬件和硬件之間也有協(xié)議,比如磁盤的HBA協(xié)議,磁盤和內(nèi)存IO時也有協(xié)議,所以協(xié)議不僅僅是網(wǎng)絡(luò)專屬的,計算機體系結(jié)構(gòu)里面也有協(xié)議,那計算機內(nèi)部不就相當于一個小型的網(wǎng)絡(luò)嗎?各個設(shè)備通過網(wǎng)線連接,設(shè)備之間有協(xié)議約定,所以各個設(shè)備能夠正常通信,以便于計算機為用戶提供良好的服務(wù),所以網(wǎng)絡(luò)和計算機是不分家的,體系結(jié)構(gòu)中有網(wǎng)絡(luò),網(wǎng)絡(luò)中有體系結(jié)構(gòu)!
認識協(xié)議
實際在網(wǎng)絡(luò)中,所有的網(wǎng)絡(luò)問題本質(zhì)都是傳輸距離變長了,如果傳輸距離很短,那還需要擔(dān)心發(fā)送數(shù)據(jù)會丟失嗎?或者對方接收不到數(shù)據(jù),又或者對方?jīng)]有接收到完整的數(shù)據(jù),這些問題自然就不用考慮了,因為傳輸距離很短,中間的障礙很少,出錯的概率很低。而當傳輸距離過長的時候,就容易導(dǎo)致出現(xiàn)問題,比如傳輸信號減弱從而導(dǎo)致數(shù)據(jù)丟失,所以一旦長距離傳輸?shù)臅r候,就會引入新的通信問題,而為了盡可能的減少通信的成本,就需要定制協(xié)議?。?!
我們提前做好約定,達成雙方的共識,讓通信的兩臺主機之間約定好協(xié)議,而協(xié)議就會降低通信的成本。
所以說 “協(xié)議”本質(zhì)就是一種約定,通信雙方只要曾經(jīng)做過某種約定,之后就可以使用這種約定來完成某種事情。而網(wǎng)絡(luò)協(xié)議是通信計算機雙方必須共同遵從的一組約定,因此我們一定要將這種約定用計算機語言表達出來,此時雙方計算機才能識別約定的相關(guān)內(nèi)容 。
那協(xié)議該由誰來定制呢?
TCP/IP五層(或四層)模型
物理層:負責(zé)光/電信號的傳遞方式。比如現(xiàn)在以太網(wǎng)通用的網(wǎng)線(雙絞線)、早期以太網(wǎng)采用的同軸電纜(現(xiàn)在主要用于有線電視)、光纖,現(xiàn)在的WiFi無線網(wǎng)使用的電磁波等都屬于物理層的概念。物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等。集線器(Hub)就是工作在物理層的。 數(shù)據(jù)鏈路層: 負責(zé)設(shè)備之間的數(shù)據(jù)幀的傳送和識別。例如網(wǎng)卡設(shè)備的驅(qū)動、幀同步、沖突檢測(如果檢測到?jīng)_突就自動重發(fā))、數(shù)據(jù)差錯校驗等工作。數(shù)據(jù)鏈路層底層的網(wǎng)絡(luò)通信標準有很多,如以太網(wǎng)、令牌環(huán)網(wǎng)、無線LAN等。交換機(Switch)就是工作在數(shù)據(jù)鏈路層的。 **網(wǎng)絡(luò)層:**負責(zé)地址管理和路由選擇。例如在IP協(xié)議中,通過IP地址來標識一臺主機,并通過路由表的方式規(guī)劃出兩臺主機之間數(shù)據(jù)傳輸?shù)木€路(路由)。路由器(Router)就是工作在網(wǎng)絡(luò)層的。 傳輸層:負責(zé)兩臺主機之間的數(shù)據(jù)傳輸。例如傳輸控制協(xié)議(TCP),能夠確保數(shù)據(jù)可靠的從源主機發(fā)送到目標主機。 應(yīng)用層: 負責(zé)應(yīng)用程序間溝通。比如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠程訪問協(xié)議(Telnet)等。我們的網(wǎng)絡(luò)編程主要就是針對應(yīng)用層的。