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

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

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

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

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2022-07-20 18:09 ? 次閱讀

TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議)是指能夠在多個(gè)不同網(wǎng)絡(luò)間實(shí)現(xiàn)信息傳輸?shù)膮f(xié)議簇。

460d2fd8-05d3-11ed-9ade-dac502259ad0.jpg

TCP/IP協(xié)議不僅僅指的是TCP和IP兩個(gè)協(xié)議,而是指一個(gè)由FTP、SMTP、TCP、UDP、IP等協(xié)議構(gòu)成的協(xié)議簇, 只是因?yàn)樵赥CP/IP協(xié)議中TCP協(xié)議和IP協(xié)議最具代表性,所以被稱之為TCP/IP協(xié)議。

4626fe04-05d3-11ed-9ade-dac502259ad0.png

計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)分層

463986b4-05d3-11ed-9ade-dac502259ad0.jpg

包、幀、數(shù)據(jù)包、段、消息

以上五個(gè)術(shù)語都用來表述數(shù)據(jù)的單位,大致區(qū)分如下:

① 包可以說是全能性術(shù)語;

② 幀用于表示數(shù)據(jù)鏈路層中包的單位;

③ 數(shù)據(jù)包是 IP 和 UDP 等網(wǎng)絡(luò)層以上的分層中包的單位;

④ 段則表示 TCP 數(shù)據(jù)流中的信息;

⑤ 消息是指應(yīng)用協(xié)議中數(shù)據(jù)的單位。

每個(gè)分層中,都會(huì)對所發(fā)送的數(shù)據(jù)附加一個(gè)首部,在這個(gè)首部中包含了該層必要的信息,如發(fā)送的目標(biāo)地址以及協(xié)議相關(guān)信息。通常,為協(xié)議提供的信息為包首部,所要發(fā)送的內(nèi)容為數(shù)據(jù)。在下一層的角度看,從上一層收到的包全部都被認(rèn)為是本層的數(shù)據(jù)。

46480c2a-05d3-11ed-9ade-dac502259ad0.png

此外,還需了解IP、MAC、端口

IP 地址:用來識(shí)別 TCP/IP 網(wǎng)絡(luò)中互連的主機(jī)和路由器。

MAC:識(shí)別同一鏈路中不同的計(jì)算機(jī)。

端口:端口號(hào)用來識(shí)別同一臺(tái)計(jì)算機(jī)中進(jìn)行通信的不同應(yīng)用程序。因此,它也被稱為程序地址。

4652ff04-05d3-11ed-9ade-dac502259ad0.jpg

協(xié)議棧中數(shù)據(jù)傳輸?shù)倪^程:

466b683c-05d3-11ed-9ade-dac502259ad0.png

① 應(yīng)用程序處理

首先應(yīng)用程序會(huì)進(jìn)行編碼處理,這些編碼相當(dāng)于 OSI 的表示層功能;編碼轉(zhuǎn)化后,郵件不一定馬上被發(fā)送出去,這種何時(shí)建立通信連接何時(shí)發(fā)送數(shù)據(jù)的管理功能,相當(dāng)于 OSI 的會(huì)話層功能。

② TCP 模塊的處理

TCP 根據(jù)應(yīng)用的指示,負(fù)責(zé)建立連接、發(fā)送數(shù)據(jù)以及斷開連接。TCP 提供將應(yīng)用層發(fā)來的數(shù)據(jù)順利發(fā)送至對端的可靠傳輸。為了實(shí)現(xiàn)這一功能,需要在應(yīng)用層數(shù)據(jù)的前端附加一個(gè) TCP 首部。

③IP 模塊的處理

IP 將 TCP 傳過來的 TCP 首部和 TCP 數(shù)據(jù)合起來當(dāng)做自己的數(shù)據(jù),并在 TCP 首部的前端加上自己的 IP 首部。IP 包生成后,參考路由控制表決定接受此 IP 包的路由或主機(jī)。

④網(wǎng)絡(luò)接口以太網(wǎng)驅(qū)動(dòng))的處理

從 IP 傳過來的 IP 包對于以太網(wǎng)來說就是數(shù)據(jù)。給這些數(shù)據(jù)附加上以太網(wǎng)首部并進(jìn)行發(fā)送處理,生成的以太網(wǎng)數(shù)據(jù)包將通過物理層傳輸給接收端。

⑤ 網(wǎng)絡(luò)接口(以太網(wǎng)驅(qū)動(dòng))的處理

主機(jī)收到以太網(wǎng)包后,首先從以太網(wǎng)包首部找到 MAC 地址判斷是否為發(fā)送給自己的包,若不是則丟棄數(shù)據(jù)。如果是發(fā)送給自己的包,則從以太網(wǎng)包首部中的類型確定數(shù)據(jù)類型,再傳給相應(yīng)的模塊,如 IP、ARP 等。這里的例子則是 IP 。

⑥ IP 模塊的處理

IP 模塊接收到數(shù)據(jù)后也做類似的處理。從包首部中判斷此 IP 地址是否與自己的 IP 地址匹配,如果匹配則根據(jù)首部的協(xié)議類型將數(shù)據(jù)發(fā)送給對應(yīng)的模塊,如 TCP、UDP。這里的例子則是 TCP。另外,對于有路由器的情況,接收端地址往往不是自己的地址,此時(shí),需要借助路由控制表,在調(diào)查應(yīng)該送往的主機(jī)或路由器之后再進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)。

⑦ TCP 模塊的處理

在 TCP 模塊中,首先會(huì)計(jì)算一下校驗(yàn)和,判斷數(shù)據(jù)是否被破壞。然后檢查是否在按照序號(hào)接收數(shù)據(jù)。最后檢查端口號(hào),確定具體的應(yīng)用程序。數(shù)據(jù)被完整地接收以后,會(huì)傳給由端口號(hào)識(shí)別的應(yīng)用程序。

⑧ 應(yīng)用程序的處理

接收端應(yīng)用程序會(huì)直接接收發(fā)送端發(fā)送的數(shù)據(jù)。通過解析數(shù)據(jù),展示相應(yīng)的內(nèi)容。

467bbe30-05d3-11ed-9ade-dac502259ad0.jpg

TCP/IP 中有兩個(gè)具有代表性的傳輸層協(xié)議:TCP 和 UDP

TCP 是面向連接的、可靠的流協(xié)議。流就是指不間斷的數(shù)據(jù)結(jié)構(gòu),當(dāng)應(yīng)用程序采用 TCP 發(fā)送消息時(shí),雖然可以保證發(fā)送的順序,但還是猶如沒有任何間隔的數(shù)據(jù)流發(fā)送給接收端。TCP 為提供可靠性傳輸,實(shí)行“順序控制”或“重發(fā)控制”機(jī)制。此外還具備“流控制(流量控制)”、“擁塞控制”、提高網(wǎng)絡(luò)利用率等眾多功能。

UDP 是不具有可靠性的數(shù)據(jù)包協(xié)議。細(xì)微的處理它會(huì)交給上層的應(yīng)用去完成。在 UDP 的情況下,雖然可以確保發(fā)送消息的大小,卻不能保證消息一定會(huì)到達(dá)。因此,應(yīng)用有時(shí)會(huì)根據(jù)自己的需要進(jìn)行重發(fā)處理。

TCP 和 UDP 的優(yōu)缺點(diǎn)無法簡單地、絕對地去做比較:TCP 用于在傳輸層有必要實(shí)現(xiàn)可靠傳輸?shù)那闆r;而在一方面,UDP 主要用于那些對高速傳輸和實(shí)時(shí)性有較高要求的通信或廣播通信。TCP 和 UDP 應(yīng)該根據(jù)應(yīng)用的目的按需使用。

通過 IP 地址、端口號(hào)、協(xié)議號(hào)進(jìn)行通信識(shí)別:

4686d194-05d3-11ed-9ade-dac502259ad0.png

① 和 ② 的通信是在兩臺(tái)計(jì)算機(jī)上進(jìn)行的。它們的目標(biāo)端口號(hào)相同,都是80。這里可以根據(jù)源端口號(hào)加以區(qū)分。

③ 和 ① 的目標(biāo)端口號(hào)和源端口號(hào)完全相同,但它們各自的源 IP 地址不同。

此外,當(dāng) IP 地址和端口號(hào)全都一樣時(shí),我們還可以通過協(xié)議號(hào)來區(qū)分(TCP 和 UDP)。

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

    關(guān)注

    8

    文章

    1335

    瀏覽量

    78861
收藏 人收藏

    評論

    相關(guān)推薦

    TCP協(xié)議是什么

    在網(wǎng)絡(luò)通信的廣闊領(lǐng)域中,TCP(Transmission Control Protocol,傳輸控制協(xié)議)扮演著舉足輕重的角色。作為TCP/IP協(xié)議
    的頭像 發(fā)表于 10-09 13:54 ?204次閱讀

    深入了解 Windows 系統(tǒng) TCP/IP 參數(shù)配置

    ?Windows系統(tǒng)作為廣泛使用的操作系統(tǒng),正確地配置TCP/IP參數(shù)可以優(yōu)化網(wǎng)絡(luò)通信、提高數(shù)據(jù)傳輸效率、增強(qiáng)系統(tǒng)安全性,而錯(cuò)誤的配置則可能導(dǎo)致網(wǎng)絡(luò)故障、性能下降甚至安全漏洞。 ? TCP/I
    的頭像 發(fā)表于 09-04 17:24 ?234次閱讀

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議。TCP/IP
    的頭像 發(fā)表于 08-07 15:38 ?710次閱讀
    一文<b class='flag-5'>了解</b><b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢

    TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是互聯(lián)網(wǎng)和現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)
    的頭像 發(fā)表于 07-25 16:49 ?334次閱讀

    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次閱讀

    了解清楚了嘛-TCP、HTTP、MQTT協(xié)議

    TCP、HTTP 和 MQTT 是三種不同層級(jí)和用途的協(xié)議是進(jìn)行設(shè)備互聯(lián)和傳送數(shù)據(jù)的重要組成部分;TCP適用高可靠性傳送,HTTP適用Web服務(wù)與API打開,MQTT是物聯(lián)網(wǎng)設(shè)備通訊的不二之選。
    的頭像 發(fā)表于 07-11 11:34 ?2216次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b>清楚了嘛-<b class='flag-5'>TCP</b>、HTTP、MQTT<b class='flag-5'>協(xié)議</b>

    TCP/IP協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)_中文

    電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)_中文.pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:28 ?2次下載

    LwIP協(xié)議棧源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《LwIP協(xié)議棧源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:22 ?3次下載

    從表象到本質(zhì):深入探究TCP/IP協(xié)議

    在信息技術(shù)飛速發(fā)展的今天,網(wǎng)絡(luò)已成為人類社會(huì)不可或缺的部分。實(shí)現(xiàn)網(wǎng)絡(luò)中計(jì)算機(jī)相互通信的關(guān)鍵之一便是TCP/IP協(xié)議。作為互聯(lián)網(wǎng)的基礎(chǔ),TCP/IP
    的頭像 發(fā)表于 06-15 09:12 ?447次閱讀
    從表象到本質(zhì):深入探究<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    Microchip TCP/IP 協(xié)議棧應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《Microchip TCP/IP 協(xié)議棧應(yīng)用筆記.pdf》資料免費(fèi)下載
    發(fā)表于 04-17 14:16 ?0次下載

    TCP/IP協(xié)議數(shù)據(jù)的處理流程

    TCP/IP協(xié)議的設(shè)計(jì)目標(biāo)是提供一種通用、靈活且可擴(kuò)展的協(xié)議體系,使得不同種類的設(shè)備和系統(tǒng)能夠互相通信,實(shí)現(xiàn)互聯(lián)網(wǎng)的互聯(lián)互通。
    發(fā)表于 02-03 16:30 ?1294次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>數(shù)據(jù)的處理流程

    tcp/ip協(xié)議包含哪幾層?tcp和udp有什么區(qū)別?

    tcp/ip協(xié)議包含哪幾層?tcp和udp有什么區(qū)別? TCP/IP
    的頭像 發(fā)表于 11-29 17:40 ?988次閱讀

    TCP 協(xié)議深度解析

    從字面上來看,很多人會(huì)認(rèn)為 TCP/IPTCP、IP 這兩種協(xié)議,實(shí)際上TCP/
    的頭像 發(fā)表于 11-09 11:19 ?825次閱讀
    <b class='flag-5'>TCP</b> <b class='flag-5'>協(xié)議</b>深度解析

    TCP協(xié)議詳細(xì)解析

    TCPTCP/IP協(xié)議族中一個(gè)最核心的協(xié)議,它向下使用網(wǎng)絡(luò)層IP
    的頭像 發(fā)表于 11-03 09:14 ?4083次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>詳細(xì)解析

    TCP/IP 協(xié)議通信接口的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《TCP/IP 協(xié)議通信接口的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:21 ?1次下載
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b> <b class='flag-5'>協(xié)議</b>通信接口的實(shí)現(xiàn)