TCP/IP 基礎(chǔ)知識(二)

TCP/IP 系列文章

網(wǎng)絡(luò)基礎(chǔ)知識(一)
TCP/IP基礎(chǔ)知識(二)
物理層(三)
數(shù)據(jù)鏈路層(四)
IP 協(xié)議(五)
IP 協(xié)議相關(guān)技術(shù)(六)
TCP與UDP(七)

一、TCP/IP 是什么?

字面上來看,有人認(rèn)為 TCP/I 是指 TCP 和 IP 這兩種協(xié)議。實(shí)際生活中偶爾確實(shí)是指這兩種協(xié)議。但是在大多數(shù)情況下,意思并不單單是如此狹窄,是指利用 IP 進(jìn)行通信時(shí)所必須用到的協(xié)議群的統(tǒng)稱。IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP 以及 HTTP 等都屬于 TCP/IP 協(xié)議,TCP/IP 一詞泛指這些協(xié)議。

TCP/IP 協(xié)議群

二、互聯(lián)網(wǎng)和TCP/IP的關(guān)系

互聯(lián)網(wǎng)原意是網(wǎng)際網(wǎng),就是連接一個(gè)又一個(gè)網(wǎng)絡(luò)的意思。互聯(lián)網(wǎng)通信時(shí),需要相應(yīng)的網(wǎng)絡(luò)協(xié)議,而TCP/IP原本就是為使用互聯(lián)網(wǎng)而開發(fā)定制的協(xié)議族。所以互聯(lián)網(wǎng)的協(xié)議就是 TCP/IP, TCP/IP就是互聯(lián)網(wǎng)的協(xié)議。

三、TCP/IP 與 OSI 參考模型

TCP/IP 與 OSI 參考模型

通過上圖可以看出:

  • TCP/IP 參考模型分為五層:物理層、數(shù)據(jù)鏈路層、互聯(lián)網(wǎng)層、傳輸層、應(yīng)用層。
  • OSI 參考模型更注重“通信協(xié)議必要的功能是什么”;TCP/IP 更強(qiáng)調(diào)“在計(jì)算機(jī)上實(shí)現(xiàn)協(xié)議應(yīng)該開發(fā)哪種應(yīng)用程序”。

3.1 硬件(物理層)

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

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

網(wǎng)絡(luò)接口層是利用以太網(wǎng)的數(shù)據(jù)鏈路層進(jìn)行通信,因此屬于接口層。把它當(dāng)做讓 NIC 起作用的驅(qū)動(dòng)程序。驅(qū)動(dòng)程序是在操作系統(tǒng)與硬件之間起到橋梁作用的軟件。更換一個(gè)新的 NIC 網(wǎng)卡不僅需要硬件,還需要軟件的配合才能使用。因此,嘗嘗需要在操作系統(tǒng)的基礎(chǔ)上安裝一些驅(qū)動(dòng)軟件以便使用一些附加硬件。

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

互聯(lián)網(wǎng)層使用 IP 協(xié)議,IP 協(xié)議基于 IP 地址轉(zhuǎn)發(fā)分包數(shù)據(jù)。TCP/IP 分層中的互聯(lián)網(wǎng)層和傳輸層的功能通常有操作系統(tǒng)提供。
路由器必須實(shí)現(xiàn)轉(zhuǎn)發(fā)分組數(shù)據(jù)包的功能。連接互聯(lián)忘得所有主機(jī)和路由器都必須實(shí)現(xiàn) IP 的功能。而網(wǎng)橋、中繼器或集線器等就沒有必要實(shí)現(xiàn) IP 或 TCP 的功能。

  • IP
    IP 協(xié)議可以跨越網(wǎng)絡(luò)傳送數(shù)據(jù)包,使整個(gè)互聯(lián)網(wǎng)都能收到數(shù)據(jù),傳送期間使用 IP 地址作為主機(jī)的標(biāo)識。雖然 IP 也是分組交換的一種協(xié)議,但是不具備重發(fā)機(jī)制。即使分組數(shù)據(jù)包未能到達(dá)接收端主機(jī),也不會(huì)重發(fā),因此 IP 協(xié)議屬于非可靠傳輸協(xié)議。
  • ICMP
    IP 數(shù)據(jù)包在發(fā)送圖中一旦發(fā)生異常,將導(dǎo)致無法到達(dá)對端目標(biāo)地址,此時(shí)需要給發(fā)送端一個(gè)發(fā)生異常的通知。 ICMP 就是謂詞定制的。利用這點(diǎn),通常 ICMP 可以用來診斷網(wǎng)絡(luò)的健康狀況。
  • ARP
    ARP 協(xié)議的主要職責(zé)是從分鐘數(shù)據(jù)包的 IP 地址中解析出物理地址( MAC 地址)。

3.4 傳輸層

傳輸層的主要功能是讓應(yīng)用程序之間實(shí)現(xiàn)通信。通常計(jì)算機(jī)內(nèi)部運(yùn)行著多個(gè)程序,識別不同的應(yīng)用程序要根據(jù)應(yīng)用程序的端口號做依據(jù)。TCP/IP 傳輸層有兩個(gè)具有代表行的協(xié)議。即 TCP 和 UDP。

  • TCP
    是面向有連接的傳輸協(xié)議。關(guān)于面向連接型和面向無連接型的區(qū)分,筆者在第一節(jié)有講到。TCP 能夠正確處理丟包、順序錯(cuò)亂等異常情況。此外黑能狗有效利用寬帶,環(huán)節(jié)網(wǎng)絡(luò)擁堵。
  • UDP
    是面向無連接的傳輸協(xié)議。UDP 不會(huì)關(guān)注接收端是否階段是否接收到自己傳輸過去的數(shù)據(jù)。如果需要檢查對端是否接收到分組數(shù)據(jù)包,則需要在應(yīng)用程序中實(shí)現(xiàn)(如:收到消息后主動(dòng)給發(fā)送方會(huì)消息)。UDP 常用語分組數(shù)據(jù)較少、多播、廣播以及視頻通信等多媒體領(lǐng)域。

3.5 應(yīng)用層(會(huì)話層以上的分層)

TCP/IP 的分層中,將 OSI 參考模型中的會(huì)話層、表示層和應(yīng)用層的功能都幾種到了應(yīng)用程序中實(shí)現(xiàn)。這些功能優(yōu)勢由一個(gè)單一的程序?qū)崿F(xiàn),有時(shí)也可能會(huì)有多個(gè)程序?qū)崿F(xiàn)。

四、對協(xié)議的理解以及協(xié)議分層的意義

協(xié)議可以理解為人與人之間的對話。有三個(gè)人A、B、C, A會(huì)漢語,B會(huì)英語,C即會(huì)漢語又會(huì)英語。其中漢語和英語可以看做是協(xié)議,聊天當(dāng)做是通信,說話內(nèi)容當(dāng)做是數(shù)據(jù)。A和B之間語言不同,無法溝通。A和C之間協(xié)議一致,通信自如。


協(xié)議的分層如同軟件開發(fā)中的模塊化。分層可以使每個(gè)模塊獨(dú)立,即使系統(tǒng)中某些分層發(fā)生變化,也不會(huì)波及整個(gè)系統(tǒng)。因此可以構(gòu)造一個(gè)擴(kuò)展性和靈活性都較強(qiáng)的系統(tǒng)。分層的劣勢,可能就在于過分模塊化,使處理變的更加沉重以及每個(gè)模塊都不得不實(shí)現(xiàn)相似的處理邏輯問題。

還是通過上述對話的例子理解分層的意義。A和C通話,通話的方式可以是無線電通話,也可以是電話機(jī)通話。且兩人可以是都使用漢語或都使用英語通話,都是行的通的。其中語言可以看做是語言層,通訊方式可以看做是通信設(shè)備層。如下圖:


五、分層模型通信過程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 個(gè)人認(rèn)為,Goodboy1881先生的TCP /IP 協(xié)議詳解學(xué)習(xí)博客系列博客是一部非常精彩的學(xué)習(xí)筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,096評論 0 8
  • 1.這篇文章不是本人原創(chuàng)的,只是個(gè)人為了對這部分知識做一個(gè)整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,136評論 6 174
  • 版本記錄 前言 在互聯(lián)網(wǎng)行業(yè)中,不管你是客戶端前端還是后臺,只要是與網(wǎng)絡(luò)相關(guān),你就必須了解一些基礎(chǔ)知識,包括這里的...
    刀客傳奇閱讀 1,913評論 0 16
  • 同樣的,本文篇幅也比較長,先來一張思維導(dǎo)圖,帶大家過一遍。 一、 計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分層 二、 TCP/IP 基礎(chǔ)...
    滌生_Woo閱讀 65,273評論 38 1,037
  • 我的班級共58名學(xué)生,他們各有特色,今天就和大家說說班里最調(diào)皮的孩子。 他叫令博,是個(gè)男生,今年8歲了,有著超乎年...
    素素如水閱讀 213評論 0 1