0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP/IP協(xié)議是什么?TCP/IP參考模型的結(jié)構(gòu)是怎樣的?

冬至子 ? 來源:老李物語 ? 作者:李廣山 ? 2023-08-11 15:26 ? 次閱讀

4.0 TCP/IP協(xié)議組

TCP/IP協(xié)議組在OSI模型之前流行。最初的TCP/IP有四層,顯然與OSI模型的層不匹配。當(dāng)OSI模型被引入時(shí),人們相信它將在商業(yè)上壓倒TCP/IP,但并未如愿。

4.1 介紹

TCP/IP是在七層OSI模型引入之前由美國(guó)防部開發(fā)的。它實(shí)際上是互聯(lián)網(wǎng)的全球標(biāo)準(zhǔn)?;ヂ?lián)網(wǎng)(早期稱為ARPANET)是美國(guó)高級(jí)研究計(jì)劃局(ARPA)軍事計(jì)劃的一部分,基于此的通信模型稱為ARPA模型。美國(guó)開發(fā)的ARPA早于歐洲ISO組織開發(fā)的OSI模型。雖然OSI模型確切地規(guī)定了每一層必須執(zhí)行的功能,但TCP/IP由幾個(gè)相對(duì)獨(dú)立的協(xié)議組成,可以以多種方式組合。

并非必須使用TCP/IP模型中的所有層,例如,某些應(yīng)用層協(xié)議直接在IP之上運(yùn)行。TCP/IP不包括底層網(wǎng)絡(luò)接口,但它依賴于底層網(wǎng)絡(luò)接口來訪問媒介。TCP/IP是層次化的協(xié)議,就是說每個(gè)上層協(xié)議總是由一個(gè)/多個(gè)下層協(xié)議支持。

4.2. 協(xié)議體系結(jié)構(gòu)

五層TCP/IP參考模型如下表所示:

1.jpg

應(yīng)用層對(duì)應(yīng)于OSI模型的上面三層,即應(yīng)用程序?qū)?、表示層和?huì)話層。位于傳輸層的TCP確保數(shù)據(jù)傳遞到適當(dāng)?shù)倪M(jìn)程。網(wǎng)絡(luò)層在IP地址的幫助下,通過一個(gè)或多個(gè)網(wǎng)絡(luò)將數(shù)據(jù)從主機(jī)路由到目標(biāo)節(jié)點(diǎn)。數(shù)據(jù)鏈路層將終端系統(tǒng)與網(wǎng)絡(luò)連接起來,而最低層或物理層則負(fù)責(zé)信號(hào)速率、信號(hào)編碼等。

下圖,顯示了TCP/IP協(xié)議套件中不同層可用的協(xié)議。

圖片

在不同的層上,可以使用不同的協(xié)議。其中, TCP和UDP屬于傳輸層,而網(wǎng)絡(luò)層中的IP是構(gòu)成數(shù)據(jù)從位于地球一端的一臺(tái)計(jì)算機(jī)向位于另一端的另一臺(tái)計(jì)算機(jī)傳遞的基礎(chǔ)。

4.2.1 TCP

TCP是一種面向連接的傳輸層協(xié)議。功能包括可靠的數(shù)據(jù)傳輸、擁塞控制、重復(fù)數(shù)據(jù)抑制、流量控制等。大多數(shù)用戶應(yīng)用協(xié)議,如FTP和Telnet,都使用TCP。在傳輸層,TCP/IP使用3種協(xié)議:TCP、UDP和SCTP (stream control transmission protocol,流控制傳輸協(xié)議)。兩個(gè)進(jìn)程可以借助IP數(shù)據(jù)報(bào),通過TCP連接相互通信。結(jié)果如下圖所示。

圖片

TCP在發(fā)起傳輸之前,在發(fā)送進(jìn)程和接收進(jìn)程之間建立會(huì)話。有一些工具可以檢查所有數(shù)據(jù)包是否已被接收,并在數(shù)據(jù)包丟失的情況下安排重新傳輸。這涉及到額外的開銷,并導(dǎo)致更高的處理時(shí)間和報(bào)頭大小,但同時(shí)使系統(tǒng)更可靠。

TCP在必要時(shí)將一大塊數(shù)據(jù)分割成更小的段,對(duì)段進(jìn)行編號(hào),重新組裝整個(gè)消息,在失敗時(shí)檢測(cè)并安排重傳,對(duì)收到的數(shù)據(jù)發(fā)出確認(rèn),為到遠(yuǎn)程主機(jī)端口的多個(gè)連接提供套接字服務(wù)。分段后的消息在接收端接收時(shí)可能是亂序的,而TCP則會(huì)按照正確的順序重新組裝這些消息。

每一個(gè)TCP段都有一個(gè)報(bào)頭,它包含了正確的數(shù)據(jù)傳遞和檢索所需的所有信息。

4.2.2 UDP

UDP是一種無連接協(xié)議。它不需要在數(shù)據(jù)傳輸之前建立任何連接。UDP不需要任何序列號(hào)、計(jì)時(shí)器、同步參數(shù)、重傳數(shù)據(jù)包和優(yōu)先級(jí)選項(xiàng)。因此,它的開銷更少。它的主要缺點(diǎn)是不能保證送達(dá)。UDP通常用于廣播、一般網(wǎng)絡(luò)公告、實(shí)時(shí)數(shù)據(jù)等。

UDP頭如下圖所示。它只有四個(gè)字段。

圖片

源端口為可選端口。當(dāng)它被使用時(shí),它表示發(fā)送進(jìn)程的端口地址。當(dāng)不使用時(shí),將為該字段插入一個(gè)零值。目的端口表示數(shù)據(jù)要傳送到的進(jìn)程。長(zhǎng)度是以字節(jié)為單位的所用數(shù)據(jù)報(bào)的長(zhǎng)度,包括報(bào)頭。校驗(yàn)和是一個(gè)可選的16位字段,用于驗(yàn)證目的。

4.2.3 IP

在TCP/IP的網(wǎng)絡(luò)層中有一些非常重要的協(xié)議:網(wǎng)絡(luò)協(xié)議(IP)、因特網(wǎng)控制報(bào)文協(xié)議(ICMP)、地址解析協(xié)議(ARP)和DHCP。它們一起執(zhí)行數(shù)據(jù)報(bào)尋址、路由、交付、動(dòng)態(tài)地址配置,并在網(wǎng)絡(luò)層地址和網(wǎng)絡(luò)接口層地址之間進(jìn)行解析。IP以分組的形式發(fā)送數(shù)據(jù),稱為數(shù)據(jù)報(bào)。分組(或數(shù)據(jù)報(bào))可以沿著不同的路徑(路由)傳輸,并且可能不按順序到達(dá)。IP不具備在接收端重新排列分組的能力。

IP是一種不可靠的、無連接的、盡力而為的分組傳輸協(xié)議。盡力而為交付意味著通過IP發(fā)送的數(shù)據(jù)包可能丟失,可能亂序,甚至可能重復(fù)。處理這些問題是高層的責(zé)任。無連接網(wǎng)絡(luò)協(xié)議用于減少對(duì)使用分層連接網(wǎng)絡(luò)的特定計(jì)算中心的依賴。

IP尋址是在互聯(lián)網(wǎng)上識(shí)別主機(jī)所必須的。因此,每臺(tái)主機(jī)都分配了一個(gè)IP地址或互聯(lián)網(wǎng)地址。主機(jī)由這個(gè)IP地址識(shí)別。一臺(tái)主機(jī)可能連接到多個(gè)網(wǎng)絡(luò),稱為多宿主(multihomed),在這種情況下,主機(jī)必須為每個(gè)網(wǎng)絡(luò)接口有一個(gè)單獨(dú)的地址。

IP地址由32位無符號(hào)二進(jìn)制值表示,并以點(diǎn)分十進(jìn)制格式表示。每個(gè)IP地址由一個(gè)網(wǎng)絡(luò)號(hào)和一個(gè)主機(jī)號(hào)組成。網(wǎng)絡(luò)號(hào)碼由三個(gè)地區(qū)性互聯(lián)網(wǎng)注冊(cè)中心(RIR)之一管理:美國(guó)互聯(lián)網(wǎng)號(hào)碼注冊(cè)中心(ARIN)、歐洲IP研究所(mature)和亞太網(wǎng)絡(luò)信息中心(APNIC)。例如:128.3.7.8,128.3是IP地址,128.3表示網(wǎng)絡(luò)號(hào),7.8表示主機(jī)號(hào)。有時(shí),用網(wǎng)絡(luò)地址或netID來代替網(wǎng)絡(luò)號(hào),用主機(jī)地址或hosteID來代替主機(jī)號(hào)。

IP數(shù)據(jù)報(bào)(主機(jī)之間交換的基本數(shù)據(jù)包)包含一個(gè)源IP地址和一個(gè)目的IP地址。要將數(shù)據(jù)報(bào)發(fā)送到目的IP地址,必須將其轉(zhuǎn)換或映射為物理地址。例如,在局域網(wǎng)中,通過ARP (address resolution protocol)將IP地址轉(zhuǎn)換為物理MAC地址。

有五類IP地址:A、B、C、D和E,這取決于主機(jī)數(shù)量和網(wǎng)絡(luò)大小。使用IP地址交付的數(shù)據(jù)報(bào)可以是以下任何一種類型:單播、廣播、多播或任播,如下圖所示:

圖片

IPv4負(fù)責(zé)在發(fā)送主機(jī)和接收主機(jī)之間傳遞數(shù)據(jù)包(數(shù)據(jù)報(bào))。以太網(wǎng)可以處理1500字節(jié),而X.25可以處理576字節(jié)。由于幀長(zhǎng)度的限制,消息被分解為稱為數(shù)據(jù)報(bào)(datagram)的片段。每個(gè)數(shù)據(jù)報(bào)都有一個(gè)IP首部,然后由發(fā)送主機(jī)發(fā)送。接收主機(jī)根據(jù)收到的數(shù)據(jù)報(bào)重建消息。IPv4首部至少由5個(gè)32位長(zhǎng)字組成,總共20字節(jié)。這個(gè)IP頭附加到它從高層協(xié)議接收到的信息。

4.3. 操作

TCP/IP協(xié)議套件有助于將消息從與駐留在一臺(tái)主機(jī)上的端口相關(guān)聯(lián)的進(jìn)程發(fā)送到與另一臺(tái)主機(jī)上的端口相關(guān)聯(lián)的另一個(gè)進(jìn)程。接收主機(jī)可能位于同一網(wǎng)絡(luò)或另一個(gè)網(wǎng)絡(luò)上。對(duì)于后一種情況,消息在到達(dá)最終目的地的過程中必須經(jīng)過幾個(gè)路由器。需要注意的是,IP在所有端系統(tǒng)和路由器中都實(shí)現(xiàn),而TCP只在端系統(tǒng)中實(shí)現(xiàn)。

如前文所述,要將一臺(tái)主機(jī)上的進(jìn)程數(shù)據(jù)發(fā)送到另一臺(tái)主機(jī)上的另一個(gè)進(jìn)程,需要兩級(jí)尋址。接收端需要一個(gè)本地端口地址來保證數(shù)據(jù)的正確傳輸。同樣,需要一個(gè)網(wǎng)絡(luò)地址,使消息能夠傳遞到接收主機(jī)。

比方說,駐留在屬于某個(gè)主機(jī)的端口上的進(jìn)程數(shù)據(jù)將被交付給另一個(gè)擁有自己端口地址且屬于另一個(gè)主機(jī)的進(jìn)程。發(fā)送端進(jìn)程將消息傳遞給TCP。它有指令將其發(fā)送到特定端口的第二個(gè)主機(jī)。TCP將消息傳遞給IP,并指示將消息傳遞給另一臺(tái)主機(jī)。IP對(duì)于目標(biāo)主機(jī)的端口地址是完全透明的。所有這些都是通過在TCP/IP協(xié)議組的每一層附加到消息的控制信息來管理的。

4.4 協(xié)議數(shù)據(jù)單元(PDU)

控制信息以頭部和尾部的形式在不同層附加到消息中,以確保在適當(dāng)?shù)哪康牡匾宰畲蟮目煽啃越桓哆m當(dāng)?shù)臄?shù)據(jù)。下圖,給出了TCP/IP體系結(jié)構(gòu)中的數(shù)據(jù)封裝和PDU。

圖片

在TCP層,以TCP首部的形式附加控制信息,形成一個(gè)TCP段或帶有PDU的TCP段。TCP首部中包含的控制信息有:

目的端口地址、序列號(hào)和校驗(yàn)和。同樣,在在網(wǎng)絡(luò)層,增加一個(gè)IP報(bào)頭,產(chǎn)生帶有PDU的IP。IP報(bào)頭包括目的網(wǎng)絡(luò)地址。它可能包括一些其他控制信息,如數(shù)據(jù)傳輸?shù)膬?yōu)先級(jí)等。

4.5 尋址

通過TCP/IP協(xié)議尋址涉及通過Internet將數(shù)據(jù)從一個(gè)進(jìn)程發(fā)送到另一個(gè)進(jìn)程。尋址包括:“物理或鏈路地址”、“邏輯或IP地址”、“端口”和“特定地址”。

尋址涉及TCP/IP模型中的特定層,如下圖:

圖片

4.5.1 物理地址

物理地址或鏈路地址是最低級(jí)地址。它是局域網(wǎng)或廣域網(wǎng)在其幀中指定的站或節(jié)點(diǎn)的地址。根據(jù)網(wǎng)絡(luò)類型的不同,地址的大小和格式也不同。以太網(wǎng)使用嵌入在其NIC中的6字節(jié)地址。

4.5.2 邏輯地址

邏輯地址對(duì)應(yīng)于TCP/IP模型中的網(wǎng)絡(luò)層。物理地址可能會(huì)有所不同(取決于網(wǎng)絡(luò)的類型)。邏輯地址通過識(shí)別主機(jī)而不考慮物理地址類型來克服這個(gè)困難。目前,32位邏輯地址可以唯一地識(shí)別一臺(tái)連接到互聯(lián)網(wǎng)的主機(jī)。為了區(qū)分和識(shí)別兩臺(tái)不同主機(jī)的邏輯地址,不能有兩個(gè)相同的IP地址。

4.5.3 端口

一臺(tái)計(jì)算機(jī)可以同時(shí)運(yùn)行幾個(gè)進(jìn)程。它可以通過文件傳輸協(xié)議、消息處理服務(wù)或TELNET與另一臺(tái)計(jì)算機(jī)通信。因此,駐留在一臺(tái)計(jì)算機(jī)上的這些進(jìn)程必須有各自的地址,以便同時(shí)從其他計(jì)算機(jī)接收數(shù)據(jù)。這是由端口地址處理的。端口地址長(zhǎng)度為2字節(jié)。計(jì)算機(jī)上的端口地址,有助于特定進(jìn)程在到達(dá)目標(biāo)主機(jī)后準(zhǔn)確地交付數(shù)據(jù)/消息。

4.5.4 特定地址

特定地址是用戶友好的地址,如電子郵件地址或URL(通用資源定位符)。電子郵件地址定位世界上任何地方的特定收件人,而URL有助于定位從萬維網(wǎng)上可用的某些文檔/文章/信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 交換機(jī)
    +關(guān)注

    關(guān)注

    20

    文章

    2598

    瀏覽量

    98867
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3679

    瀏覽量

    113268
  • DHCP
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    19632
  • TCPIP協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    11912
  • TCP通信
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    4192
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TCP/IP模型結(jié)構(gòu)怎樣的?TCP/IP協(xié)議有何作用

    TCP/IP模型結(jié)構(gòu)怎樣的?TCP/IP
    發(fā)表于 12-23 06:10

    TCP/IP協(xié)議與子網(wǎng)規(guī)劃

      1.1 TCP/IP協(xié)議與OSI參考模型   與OSI參考模型一樣,TCP(Transfe
    發(fā)表于 08-25 15:51 ?27次下載

    OSI模型TCP/IP協(xié)議的對(duì)應(yīng)關(guān)系OSI模型TCP/I

    OSI模型TCP/IP協(xié)議的對(duì)應(yīng)關(guān)系OSI模型TCP/I
    發(fā)表于 06-09 21:47 ?7071次閱讀
    OSI<b class='flag-5'>模型</b>與<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>的對(duì)應(yīng)關(guān)系OSI<b class='flag-5'>模型</b>與<b class='flag-5'>TCP</b>/I

    TCP/IP協(xié)議簡(jiǎn)介

    TCP/IP協(xié)議簡(jiǎn)介 TCP/IP傳輸層協(xié)議概攬 傳輸控制
    發(fā)表于 06-09 23:07 ?1367次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>簡(jiǎn)介

    TCP/IP協(xié)議,TCP/IP協(xié)議內(nèi)容和作用是什么?

    TCP/IP協(xié)議,TCP/IP協(xié)議內(nèi)容和作用是什么? TC
    發(fā)表于 03-19 13:55 ?5784次閱讀

    tcp ip協(xié)議_什么是tcp ip協(xié)議

    什么是tcp ip協(xié)議,tcp ip協(xié)議詳解,深刻講述了tc
    發(fā)表于 05-14 16:29 ?5949次閱讀
    <b class='flag-5'>tcp</b> <b class='flag-5'>ip</b><b class='flag-5'>協(xié)議</b>_什么是<b class='flag-5'>tcp</b> <b class='flag-5'>ip</b><b class='flag-5'>協(xié)議</b>

    TCP/IP協(xié)議典型的優(yōu)化原則和方法

    嵌入式TCP/IP協(xié)議的實(shí)現(xiàn)通常采用Linux中的TCP/IP網(wǎng)絡(luò)結(jié)構(gòu)層次。
    發(fā)表于 03-13 15:12 ?1978次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>典型的優(yōu)化原則和方法

    tcp ip 協(xié)議講座:介紹tcp ip 協(xié)議的應(yīng)用層

    介紹了tcp_ip協(xié)議的應(yīng)用層
    的頭像 發(fā)表于 07-03 07:05 ?3550次閱讀

    TCP/IP協(xié)議進(jìn)階課程:TCP協(xié)議(2)

    TCP/IP協(xié)議進(jìn)階課程:6、TCP協(xié)議02
    的頭像 發(fā)表于 07-05 00:10 ?4118次閱讀

    TCP/IP十個(gè)問題

    本文整理了一些TCP/IP協(xié)議簇中需要必知必會(huì)的十大問題,既是面試高頻問題,又是程序員必備基礎(chǔ)素養(yǎng)。 TCP/IP十個(gè)問題 一、
    的頭像 發(fā)表于 11-04 14:46 ?2375次閱讀

    TCP-IP協(xié)議講解

    TCP-IP協(xié)議講解(嵌入式開發(fā)要學(xué)習(xí)哪些內(nèi)容)-TCP-IP協(xié)議講解,講解了TCP的三次握手協(xié)議
    發(fā)表于 08-04 12:39 ?46次下載
    <b class='flag-5'>TCP-IP</b><b class='flag-5'>協(xié)議</b>講解

    TCP/IP協(xié)議

    是保證網(wǎng)絡(luò)數(shù)據(jù)信息及時(shí)、完整傳輸?shù)膬蓚€(gè)重要的協(xié)議TCP/IP傳輸協(xié)議是嚴(yán)格來說是一個(gè)四層的體系結(jié)構(gòu),應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層都包
    的頭像 發(fā)表于 11-09 13:31 ?2088次閱讀

    什么是TCP/IP協(xié)議

    `TCP/IP`模型是一個(gè)抽象的分層模型,這個(gè)模型中,所有的`TCP/
    的頭像 發(fā)表于 02-14 10:05 ?2638次閱讀
    什么是<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    你真的了解TCP/IP協(xié)議嗎?

    TCP/IP(TransmissionControlProtocol/InternetProtocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議)是指能夠在多個(gè)不同網(wǎng)絡(luò)間實(shí)現(xiàn)信息傳輸?shù)?/div>
    的頭像 發(fā)表于 07-20 18:09 ?923次閱讀
    你真的了解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>嗎?

    TCP IP協(xié)議屬性設(shè)置中的IP配置

    在現(xiàn)代網(wǎng)絡(luò)中,TCP/IP協(xié)議是基礎(chǔ)架構(gòu)的重要組成部分。掌握TCP/IP協(xié)議屬性設(shè)置中的
    的頭像 發(fā)表于 07-23 10:10 ?376次閱讀