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

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

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

網(wǎng)絡(luò)通信協(xié)議概念及TCP/IP的分層結(jié)構(gòu)

jf_78858299 ? 來源:京東科技技術(shù)說 ? 作者: 宋國(guó)偉 ? 2023-03-23 14:36 ? 次閱讀

網(wǎng) 絡(luò) 通 信 協(xié) 議 概 述

網(wǎng)絡(luò)通信協(xié)議本質(zhì)上是由一組協(xié)議組成的,而協(xié)議的本質(zhì)則是一組規(guī)則和規(guī)范的組合體。舉個(gè)例子:兩個(gè)物流業(yè)務(wù)點(diǎn)在地域角度看是兩個(gè)獨(dú)立的整體,那么要何如對(duì)接才能把貨物從一點(diǎn)輸出到另一點(diǎn)呢?首先他們需要商定一個(gè)暗號(hào),這個(gè)暗號(hào)的作用是可以證明貨物是輸出地發(fā)出來的,當(dāng)前的站點(diǎn)可以進(jìn)行接收,這個(gè)暗號(hào)可以任何形式:工牌、工服等,接下來還需要考慮用什么交通工具,可以是電車,也可以無人機(jī)等。

其中工服、工牌、電動(dòng)車屬于一個(gè)一個(gè)規(guī)則和規(guī)范,而他們結(jié)合起來就形成了配送的協(xié)議,而站點(diǎn)按照這個(gè)協(xié)議最終就可以完成貨物的運(yùn)輸和配送。

OSI七層模型、TCP/IP四層模型

隨著技術(shù)的發(fā)展,計(jì)算機(jī)的應(yīng)用越來越廣泛,計(jì)算機(jī)之間的通信開始了百花齊放的狀態(tài),每個(gè)具有獨(dú)立計(jì)算服務(wù)體系的信息技術(shù)公司都會(huì)建立自己的計(jì)算機(jī)通信規(guī)則,而這種情況會(huì)導(dǎo)致異構(gòu)計(jì)算機(jī)之間無法通信,極大的阻礙了網(wǎng)絡(luò)通信的發(fā)展,至此為了解決這個(gè)問題,國(guó)際標(biāo)準(zhǔn)化組織(ISO)制定了OSI模型,該模型定義了不同計(jì)算機(jī)互聯(lián)的標(biāo)準(zhǔn),OSI模型把網(wǎng)絡(luò)通信的工作分為7層,分別是 物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層 。

這七層模型是設(shè)計(jì)層面的概念,每一層都有固定要完成的職責(zé)和功能,分層的好處在于清晰和功能獨(dú)立性,但分層過多會(huì)使層次變的更加復(fù)雜,雖然不需要實(shí)現(xiàn)本層的功能,但是也需要構(gòu)造本層的上下文,空耗系統(tǒng)資源,所以在落地實(shí)施網(wǎng)絡(luò)通信模型的時(shí)候?qū)⑦@七層模型簡(jiǎn)化合并為四層模型分別是 應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口 (各層之間的模型、協(xié)議統(tǒng)稱為:TCP/IP協(xié)議簇)。

圖片

TCP/IP 分 層 解 析

一、網(wǎng)絡(luò)接口層:

TCP/IP的網(wǎng)絡(luò)接口層承接OSI七層模型中物理層和數(shù)據(jù)鏈路層的功能,對(duì)標(biāo)物理層的部分完成的是將高低電壓轉(zhuǎn)換成傳輸信號(hào)(電信號(hào)、無線信號(hào)等)傳遞給目標(biāo)方;對(duì)標(biāo)數(shù)據(jù)鏈路層的部分則是規(guī)定了輸出信號(hào)組的規(guī)則及格式,統(tǒng)一標(biāo)準(zhǔn)后則為我們所知的以太網(wǎng)協(xié)議(ethernet),協(xié)議規(guī)定網(wǎng)絡(luò)接口層每一個(gè)信號(hào)數(shù)據(jù)包稱為一個(gè)數(shù)據(jù)幀,數(shù)據(jù)分為head和data兩部分,其中head部分包括:

  • 發(fā)送者地址---6字節(jié)(mac地址)
  • 目標(biāo)地址---6字節(jié)(mac地址)
  • 數(shù)據(jù)類型---6字節(jié)

mac地址釋義:以太網(wǎng)協(xié)議規(guī)定接入的網(wǎng)絡(luò)設(shè)備必須具備網(wǎng)卡,而網(wǎng)卡的標(biāo)識(shí)就是mac地址,地址為6個(gè)字節(jié),前三個(gè)字節(jié)為標(biāo)準(zhǔn)化組織給廠商分配的編碼,后三個(gè)字節(jié)為廠商生產(chǎn)的序列號(hào),由此保證地址唯一。

數(shù)據(jù)部分為上層需要向外發(fā)送的數(shù)據(jù),如下:

圖片

具有了上述規(guī)則,兩臺(tái)計(jì)算機(jī)就可以進(jìn)行通訊了,而通訊的方式則為廣播,類比為通信的時(shí)候先問所有人”故宮”是誰家的地址,局域網(wǎng)內(nèi)地址是”故宮”的主機(jī)則會(huì)回復(fù)自己的mac地址,這個(gè)模式在小型的局域網(wǎng)主機(jī)數(shù)相對(duì)較少的情況下可以玩轉(zhuǎn),但整個(gè)世界數(shù)以億計(jì)的主機(jī),如果一臺(tái)主機(jī)需要知道目標(biāo)的地址就需要給世界上所有的主機(jī)都發(fā)一個(gè)廣播消息,那就成為災(zāi)難了,故需要下一層設(shè)計(jì)解決這個(gè)問題。

二、網(wǎng)絡(luò)層:

由上層的遺留問題可知,必須找到一種方法,區(qū)分相同局域網(wǎng)內(nèi)的直播域,不是同域內(nèi)的請(qǐng)求需要進(jìn)行轉(zhuǎn)發(fā)廣播,而網(wǎng)絡(luò)層就是解決這種問題而存在,它定義了一套地址稱之為ip地址,有讀者可能會(huì)有疑問:為什么不使用mac地址在上一層完成這個(gè)需求呢?這是因?yàn)閙ac地址只跟廠商有關(guān),不能標(biāo)識(shí)局域網(wǎng)內(nèi)網(wǎng)規(guī)則,就類比筆者雖然身份證是黑龍江人但是人卻在北京飄,身份證類比mac地址,身份證是無法證明本人到底在哪也就無法做下一步驟了,這個(gè)網(wǎng)絡(luò)層的協(xié)議目前通常使用的是IPV4,協(xié)議規(guī)定地址為32位表示,通常大家看到ip地址都是以十進(jìn)制展示,每8位以 . 號(hào)分割,例如:192.168.1.1,IP數(shù)據(jù)包同樣分為head和data兩部分:

圖片

接下來我們通過抓包的形式來看一下ip頭的主要字段:

圖片

至此網(wǎng)絡(luò)層幫我們定位目標(biāo)網(wǎng)路,網(wǎng)絡(luò)接口層幫助我們鎖定目標(biāo)主機(jī),我們之間距離天涯海角的兩臺(tái)主機(jī)已經(jīng)可以完成通訊,但是每一臺(tái)機(jī)器上有好多服務(wù),比如郵件服務(wù)、微信、咚咚,如何定位是哪個(gè)應(yīng)用的數(shù)據(jù)包呢,這需要下層設(shè)計(jì)給予解決。

三、傳輸層:

由上層協(xié)議遺留問題可知,我們需要定位是哪個(gè)服務(wù)程序的數(shù)據(jù)包,不然會(huì)造成數(shù)據(jù)錯(cuò)亂,而傳輸層正是解決此類問題,傳輸層依靠端口來唯一定位一個(gè)服務(wù),而發(fā)送端端口+接收端端口組成一組鏈接,傳輸層的作用總結(jié)為提供端口到端口的通信,傳輸層通常是指tcp(udp)協(xié)議,TCP協(xié)議提供可靠性傳輸能力、分包傳輸能力。tcp層數(shù)據(jù)包也分為head和data部分:

圖片

接下來讓我們通過抓包的方式來看一下tcp頭信息的主要字段:

圖片

至此兩臺(tái)主機(jī)已經(jīng)有可以完成指定服務(wù)信息傳輸?shù)哪芰Γ遣煌瑧?yīng)用程序所要應(yīng)用的場(chǎng)景不同,需要數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)也不盡相同,截止目前的能力無法為豐富多彩的應(yīng)用程序提供規(guī)范的數(shù)據(jù)信息,此問題需要由下層設(shè)計(jì)給予解決。

四、應(yīng)用層:

由上層協(xié)議遺留的問題可知,我們需要為豐富多彩的應(yīng)用程序?qū)?yīng)不同場(chǎng)景設(shè)計(jì)不同的數(shù)據(jù)結(jié)構(gòu)。而應(yīng)用層正是為了解決此問題而存在,所以需要應(yīng)用層定義豐富多彩的協(xié)議來對(duì)應(yīng)適配復(fù)雜場(chǎng)景所需的數(shù)據(jù)結(jié)構(gòu),故應(yīng)用層定義為規(guī)范了應(yīng)用層的數(shù)據(jù)結(jié)構(gòu),目前大家常用的應(yīng)用層協(xié)議有http、https、ssl、ftp等。

圖片

接下來讓我們通過抓包的形式,來看看應(yīng)用層(http)協(xié)議數(shù)據(jù)信息:

圖片

至此兩臺(tái)主機(jī)對(duì)等應(yīng)用程序信息傳輸?shù)臈l件都已具備,可以愉快的開始通信了。

聲明:本文內(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)投訴
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1327

    瀏覽量

    78780
  • OSI
    OSI
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    15378
  • 網(wǎng)絡(luò)通信協(xié)議

    關(guān)注

    0

    文章

    9

    瀏覽量

    6146
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    分享一款不錯(cuò)的基于TCP/IP網(wǎng)絡(luò)協(xié)議設(shè)計(jì)并實(shí)現(xiàn)了浮標(biāo)網(wǎng)絡(luò)通信系統(tǒng)

    本文基于TCP/IP網(wǎng)絡(luò)協(xié)議設(shè)計(jì)并實(shí)現(xiàn)了浮標(biāo)網(wǎng)絡(luò)通信系統(tǒng)。
    發(fā)表于 05-28 06:44

    嵌入式TCP/IP協(xié)議單片機(jī)在網(wǎng)絡(luò)通信中有什么應(yīng)用?

    什么是TCP/IP協(xié)議?CS8900的工作原理是什么?嵌入式TCP/IP協(xié)議單片機(jī)在
    發(fā)表于 06-04 06:49

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

    什么是TCP/IP通信協(xié)議呢?IP地址有何作用?分為哪幾類?
    發(fā)表于 11-01 06:08

    基于TCP/IP網(wǎng)絡(luò)通信應(yīng)用程序的相關(guān)資料分享

    基于TCP/IP網(wǎng)絡(luò)通信應(yīng)用程序(TCP-Client) 不管是嵌入式Linux應(yīng)用程序,還是物聯(lián)網(wǎng)IoT應(yīng)用開發(fā),網(wǎng)絡(luò)通信一定是一個(gè)不可
    發(fā)表于 11-05 09:06

    基于UDP協(xié)議網(wǎng)絡(luò)通信應(yīng)用程序

    基于UDP協(xié)議網(wǎng)絡(luò)通信應(yīng)用程序(UDP-Socket)前兩篇文章介紹了基于TCP/IP協(xié)議網(wǎng)絡(luò)通信
    發(fā)表于 11-05 08:29

    TCP/IP網(wǎng)絡(luò)協(xié)議簡(jiǎn)介

    的本質(zhì)是數(shù)字通信,任何數(shù)字通信都離不開通信協(xié)議的制定,通信設(shè)備只有按照約定的、統(tǒng)一的方式去封裝和解析信息,才能實(shí)現(xiàn)通信?;ヂ?lián)網(wǎng)
    發(fā)表于 11-26 07:08

    基于TCP/IP網(wǎng)絡(luò)通信應(yīng)用程序分享

    基于TCP/IP網(wǎng)絡(luò)通信應(yīng)用程序(TCP-Server)上一篇文章講述了在i.MX6UL開發(fā)板中,以客戶端的角色,使用TCP/
    發(fā)表于 12-23 08:12

    掌握通信協(xié)議的研究方法

    、coap,你就能理解整個(gè)網(wǎng)絡(luò)通信協(xié)議是怎么回事了。這種理解是不但會(huì)用,而且知道為什么是這個(gè)樣子,而不是似懂非懂。
    發(fā)表于 01-13 06:09

    FPGA上實(shí)現(xiàn)網(wǎng)絡(luò)通信用的協(xié)議

    TCP/IP協(xié)議TCP/IP協(xié)議是Internet上使用的主要
    發(fā)表于 03-27 09:01

    最新網(wǎng)絡(luò)通信協(xié)議手冊(cè)

    最新網(wǎng)絡(luò)通信協(xié)議手冊(cè)
    發(fā)表于 03-24 22:08 ?73次下載

    在LabVIEW中利用TCP_IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信_labview程序案例

    程序案例 在LabVIEW 中利用TCP_IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信
    發(fā)表于 01-12 15:45 ?671次下載

    工業(yè)網(wǎng)絡(luò)通信概念及FLEX產(chǎn)品介紹

    工業(yè)網(wǎng)絡(luò)通信概念及FLEX產(chǎn)品介紹
    的頭像 發(fā)表于 03-08 10:57 ?1626次閱讀
    工業(yè)<b class='flag-5'>網(wǎng)絡(luò)通信</b>新<b class='flag-5'>概念及</b>FLEX產(chǎn)品介紹

    網(wǎng)絡(luò)通信協(xié)議有哪些

    網(wǎng)絡(luò)通信協(xié)議有很多種,目前應(yīng)用最廣泛的有 TCP/IP協(xié)議 (Transmission Control Protocol/Internet Protocol,傳輸控制
    的頭像 發(fā)表于 03-23 14:21 ?3041次閱讀
    <b class='flag-5'>網(wǎng)絡(luò)通信協(xié)議</b>有哪些

    網(wǎng)絡(luò)通信OSI協(xié)議TCP/IP協(xié)議

    TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議)是指能夠在多個(gè)不同
    發(fā)表于 05-06 17:06 ?2085次閱讀

    IP地址、端口號(hào)、通信協(xié)議的相關(guān)知識(shí) TCP和UDP通信協(xié)議簡(jiǎn)述

    網(wǎng)絡(luò)編程有三個(gè)要素,分別是IP地址、端口號(hào)和通信協(xié)議。本文主要講述的是TCP與UDP這兩種通信協(xié)議,以及編程的實(shí)現(xiàn)。首先,我們需要了解一下
    的頭像 發(fā)表于 07-18 11:20 ?1740次閱讀
    <b class='flag-5'>IP</b>地址、端口號(hào)、<b class='flag-5'>通信協(xié)議</b>的相關(guān)知識(shí) <b class='flag-5'>TCP</b>和UDP<b class='flag-5'>通信協(xié)議</b>簡(jiǎn)述