TCP/IP協(xié)議分層模型學(xué)習(xí)筆記

1. 協(xié)議分層與OSI參考模型

協(xié)議分層就如同計算機(jī)軟件中的模塊化開發(fā),OSI參考模型的建議是比較理想化的。



  OSI參考模型中每個層的作用:



  7層通信實例:假設(shè)主機(jī)A的用戶A要給主機(jī)B的用戶B發(fā)送一封電子郵件:

  發(fā)送方從第7層、第6層到第1層由上至下按照順序傳輸數(shù)據(jù),而接收端則從第1層、第2層到第7層由下至上向每個上一級分層傳輸數(shù)據(jù)。每個分層上,在處理由上一層傳過來的數(shù)據(jù)時可以附上當(dāng)前分層的協(xié)議所必須的“首部”信息。然后接收端對收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)“首部”與“內(nèi)容”的分離,再轉(zhuǎn)發(fā)給上一分層,并最終將發(fā)送端的數(shù)據(jù)恢復(fù)為原裝。

2. TCP/IP與OSI參考模型


上圖列出了TCP/IP與OSI分層之間的大概關(guān)系,不難看出,TCP/IP與OSI在分層模塊上稍有區(qū)別。OSI參考模型注重“通信協(xié)議必要的功能是什么”,而TCP/IP則更強(qiáng)調(diào)“在計算機(jī)上實現(xiàn)協(xié)議應(yīng)該開發(fā)哪種程序”。

2.1 硬件(物理層)

TCP/IP的最底層是負(fù)責(zé)數(shù)據(jù)傳輸?shù)挠布_@種硬件就相當(dāng)于以太網(wǎng)或者電話線路等物理層的設(shè)備。

2.2 網(wǎng)絡(luò)接口層(數(shù)據(jù)鏈路層)

網(wǎng)絡(luò)接口層利用以太網(wǎng)中的數(shù)據(jù)鏈路層進(jìn)行通信,因此屬于接口層。也就是說,把它當(dāng)作讓NIC起作用的“驅(qū)動程序”也無妨。驅(qū)動程序是在操作系統(tǒng)與硬件之間起橋梁作用的軟件。計算機(jī)的外圍附加設(shè)備或擴(kuò)展卡,不是直接插到電腦上或電腦的擴(kuò)展槽上就能馬上使用的,還需要有相應(yīng)驅(qū)動程序的支持。

2.3 互聯(lián)網(wǎng)層(網(wǎng)絡(luò)層)

互聯(lián)網(wǎng)層使用IP協(xié)議,它相當(dāng)于OSI模型中的第3層網(wǎng)絡(luò)層。IP協(xié)議基于IP地址轉(zhuǎn)發(fā)分包數(shù)據(jù)。
TCP/IP分層中的互聯(lián)網(wǎng)層傳輸層的功能通常由操作系統(tǒng)提供。尤其是路由器,它必須得實現(xiàn)通過互聯(lián)網(wǎng)層轉(zhuǎn)發(fā)分組數(shù)據(jù)包的功能。
此外,鏈接互聯(lián)網(wǎng)的所有主機(jī)跟路由器必須都實現(xiàn)IP的功能。其他連接互聯(lián)網(wǎng)的網(wǎng)絡(luò)設(shè)備(如網(wǎng)橋、中繼器或者集線器)就沒必要一定實現(xiàn)IP或TCP的功能。

2.3.1 IP

IP是跨越網(wǎng)絡(luò)傳送數(shù)據(jù)包,使整個互聯(lián)網(wǎng)都能收到數(shù)據(jù)的協(xié)議。IP協(xié)議使數(shù)據(jù)能夠發(fā)送到地球的另一端,這期間它使用IP地址作為主機(jī)的標(biāo)識。
IP還隱藏著數(shù)據(jù)鏈路層的功能。通過IP,相互通信的主機(jī)之間不論經(jīng)過怎樣的低層數(shù)據(jù)鏈路都能夠?qū)崿F(xiàn)通信。
雖然IP也是分組交換的一種協(xié)議,但是它不具有重發(fā)機(jī)制。即使分組數(shù)據(jù)包未能到達(dá)對端主機(jī)也不會重發(fā)。因此,屬于非可靠性傳輸協(xié)議。

2.3.2 ICMP

IP數(shù)據(jù)包在發(fā)送途中一旦發(fā)生異常導(dǎo)致無法到達(dá)對端目標(biāo)地址時,需要給發(fā)送端發(fā)送一個發(fā)生異常的通知。ICMP就是為這一功能制定的。它有時也被用來診斷網(wǎng)絡(luò)的健康狀況。

2.3.3 ARP

從分組數(shù)據(jù)包的IP地址中解析出物理地址(MAC地址)的一種協(xié)議。

2.4 傳輸層

傳輸層最主要的功能就是能夠讓應(yīng)用程序之間實現(xiàn)通信。計算機(jī)內(nèi)部,通常同一時間運行多個程序。為此,必須分清是哪些程序與哪些程序在進(jìn)行通信。識別這些應(yīng)用程序的是端口號。該層的功能本身與OSI參考模型的傳輸層類似。

2.4.1 TCP

TCP是一種面向有連接的傳輸層協(xié)議。它可以保證兩端通信主機(jī)之間的通信可達(dá)。TCP能夠正確處理在傳輸過程中丟包、傳輸順序亂掉等異常情況。此外,TCP還能夠有效利用帶寬,緩解網(wǎng)絡(luò)擁堵。
然而,為了建立與斷開連接,有時它需要至少7次的發(fā)包收包,導(dǎo)致網(wǎng)絡(luò)資源的浪費。此外,未了提高網(wǎng)絡(luò)的利用率,TCP協(xié)議中定義了各種各樣復(fù)雜的規(guī)范,因而不利于視頻會議等場合使用。

2.4.2 UDP

UDP是一種面向無連接的傳輸層協(xié)議。UDP不會關(guān)注對端是否真的收到了傳送過去的數(shù)據(jù),如果需要檢查對端是否收到分組數(shù)據(jù)包,或者對端是否連接到網(wǎng)絡(luò),則需要在應(yīng)用程序中實現(xiàn)。
UDP常用于分組數(shù)據(jù)較少或多播、廣播通信以及視頻通信等多媒體領(lǐng)域。

2.5 應(yīng)用層

TCP/IP的分層中,將OSI參考模型中的會話層、表示層、應(yīng)用層的功能都集中到了應(yīng)用程序中實現(xiàn)。

2.5.1 WWW

瀏覽器與服務(wù)端之間的通信所用的協(xié)議是HTTP,所傳輸數(shù)據(jù)的主要格式是HTML。
HTTP是屬于OSI應(yīng)用層的協(xié)議,而HTML是屬于表示層的協(xié)議。

2.5.2 電子郵件

發(fā)送電子郵件時用到的協(xié)議叫做SMTP。
起初只能發(fā)送文本格式的郵件,后來經(jīng)由MIME協(xié)議進(jìn)行拓展,郵件內(nèi)容可以支持視頻、音頻、圖像等信息。MIME屬于OSI模型中的表示層

2.5.3 文本傳輸

文本傳輸協(xié)議FTP。
在FTP中進(jìn)行文件傳輸時會建立兩個TCP連接,分別是發(fā)出傳輸請求時所要用到的控制連接與實際傳輸數(shù)據(jù)時所要用到的數(shù)據(jù)連接。

2.5.4 遠(yuǎn)程登錄

遠(yuǎn)程登錄是指登錄到遠(yuǎn)程的計算機(jī)上,使那臺計算機(jī)上的程序得以運行的一種功能。TCP/IP網(wǎng)絡(luò)中遠(yuǎn)程登錄常用TELNET和SSH兩種協(xié)議。

2.5.5 網(wǎng)絡(luò)管理

在TCP/IP中進(jìn)行網(wǎng)絡(luò)管理時,采用SNMP(Simple Network Management Protocol)協(xié)議。使用SNMP管理的主機(jī)、網(wǎng)橋、路由器等稱作SNMP代理(Agent),而進(jìn)行管理的那一段叫做管理器(Manager)。SNMP正是這個Manager和Agent所要用到的協(xié)議。
在SNMP的代理端,保存著網(wǎng)絡(luò)接口的信息、通信數(shù)據(jù)量、異常數(shù)據(jù)量以及設(shè)備溫度等信息。這些信息可以通過MIB(Management Information Base)訪問。因此,在TCP/IP的網(wǎng)絡(luò)管理中,SNMP屬于應(yīng)用層協(xié)議,MIB屬于表示層協(xié)議。
一個網(wǎng)絡(luò)范圍越大,結(jié)構(gòu)越復(fù)雜,就越需要對其進(jìn)行有效的管理。而SNMP可以讓管理員即使檢查網(wǎng)絡(luò)擁堵情況,及早發(fā)現(xiàn)故障,也可以為以后擴(kuò)大網(wǎng)絡(luò)收集必要的信息。

3. 延伸

包、幀、數(shù)據(jù)報、段、消息
以上五個術(shù)語都是用來表述數(shù)據(jù)的單位,大致區(qū)分如下:

  • 包是全能性術(shù)語。
  • 幀用于表示數(shù)據(jù)鏈路層中包的單位。
  • 數(shù)據(jù)報時IP和UDP等網(wǎng)絡(luò)層以上的分層中包的單位。
  • 段則表示TCP數(shù)據(jù)流中的信息。
  • 消息是指應(yīng)用協(xié)議中數(shù)據(jù)的單位。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 協(xié)議基礎(chǔ) 協(xié)議就是計算機(jī)之間通過網(wǎng)絡(luò)實現(xiàn)通信時實現(xiàn)所達(dá)成的一種“約定”,這種約定使得那些由不同廠商的設(shè)備,不同的C...
    d9fc24a0c9a9閱讀 2,536評論 0 6
  • 一、網(wǎng)絡(luò)基礎(chǔ)知識 1. OSI 參考模型 OSI 模型中,每個分層都接受由它下一層所提供的特定服務(wù),并且負(fù)責(zé)為自己...
    SeanCST閱讀 1,746評論 0 6
  • 定義 網(wǎng)絡(luò)協(xié)議為計算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定的集合。網(wǎng)絡(luò)協(xié)議主要由三個要素組成:語義、語法及時...
    FlyAndroid閱讀 1,113評論 0 10
  • 同樣的,本文篇幅也比較長,先來一張思維導(dǎo)圖,帶大家過一遍。 一、 計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分層 二、 TCP/IP 基礎(chǔ)...
    滌生_Woo閱讀 66,158評論 38 1,037
  • 個人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,195評論 0 8

友情鏈接更多精彩內(nèi)容