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

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

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

HTTP網(wǎng)絡(luò)通訊過程

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 2025-01-20 09:07 ? 次閱讀

1. 網(wǎng)絡(luò)模型概覽

OSI(Open System Interconnection)先有模型,后有協(xié)議,先有標(biāo)準(zhǔn),后進(jìn)行實(shí)踐;而TCP/IP則相反,先有協(xié)議和應(yīng)用再提出了模型,且是參照的 OSI 模型。

OSI是一種理論下的模型,而TCP/IP已被廣泛使用,成為網(wǎng)絡(luò)互聯(lián)事實(shí)上的標(biāo)準(zhǔn)。

29697206-d4b6-11ef-9310-92fbcf53809c.png

2. HTTP 網(wǎng)絡(luò)通訊過程

示例:簡單的網(wǎng)絡(luò)拓?fù)淠P?/p>

299f77ac-d4b6-11ef-9310-92fbcf53809c.png

29c05378-d4b6-11ef-9310-92fbcf53809c.png

詳解:當(dāng)鍵入網(wǎng)址到網(wǎng)頁顯示的通訊過程

客戶端(發(fā)送方組包)

1)HTTP

瀏覽器解析 URL(協(xié)議、域名、資源路徑)

生成HTTP 請求報(bào)文

2)DNS(真實(shí)地址查詢)

向 DNS 服務(wù)器查詢服務(wù)器域名對應(yīng)的IP 地址

域名中越靠右的位置表示其層級越高

3)協(xié)議棧(指南幫手)

獲取 IP 后,將之后的 HTTP 傳輸工作交給操作系統(tǒng)內(nèi)核中的協(xié)議棧處理

TCP/UDP:負(fù)責(zé)收發(fā)數(shù)據(jù)

IP:負(fù)責(zé)將網(wǎng)絡(luò)包送達(dá)給對方

4)TCP(可靠傳輸)

報(bào)文頭部包含端口號、目標(biāo)端口號、序號、確認(rèn)號等

TCP傳輸數(shù)據(jù)之前,要先三次握手建立連接(三次握手的目的是保證雙方都有發(fā)送和接收的能力

TCP 報(bào)文生成:TCP 頭部 + HTTP 報(bào)文

5)IP(遠(yuǎn)程定位)

將數(shù)據(jù)封裝稱網(wǎng)絡(luò)包發(fā)送給通信對象

IP 報(bào)文生成:IP 頭部 + TCP 頭部 + HTTP 報(bào)文

6)MAC(兩點(diǎn)傳輸)

還需要加上 MAC 頭部(發(fā)送方和接收方的 MAC 地址等信息),MAC 頭部是以太網(wǎng)的頭部

MAC 作用:MAC 地址用來唯一標(biāo)識(shí)設(shè)備,再通過 ARP 協(xié)議找到下一站路由器的 MAC 地址,實(shí)現(xiàn)兩點(diǎn)之間的傳輸

至此,網(wǎng)絡(luò)包報(bào)文(MAC 頭部 + IP 頭部 + TCP 頭部 + HTTP 報(bào)文)如下圖所示

29ea0c18-d4b6-11ef-9310-92fbcf53809c.png

7)網(wǎng)卡(出口)

真正的數(shù)據(jù)發(fā)送過程:將數(shù)字信息(IP 網(wǎng)絡(luò)包)轉(zhuǎn)換為電信號,才能在網(wǎng)線上傳輸

控制網(wǎng)卡需要靠網(wǎng)卡驅(qū)動(dòng)程序

網(wǎng)卡本身具有 MAC 地址,且會(huì)核對數(shù)據(jù)包的接收方 MAC 地址與自身 MAC 地址是否相同,不是則丟棄

8)交換機(jī)(送別)

交換機(jī)的設(shè)計(jì):將網(wǎng)絡(luò)包原樣轉(zhuǎn)發(fā)到目的地

交換機(jī)工作在 MAC 層,也稱為二層(數(shù)據(jù)鏈路層)網(wǎng)絡(luò)設(shè)備

交換機(jī)接收到達(dá)網(wǎng)線接口的電信號,并轉(zhuǎn)換為數(shù)字信息

二層交換機(jī)本身具有一個(gè) MAC 地址(標(biāo)識(shí)自身硬件設(shè)備),但其各端口不具有 MAC 地址(三層交換機(jī)則每個(gè)端口都有 MAC 地址)

交換機(jī)根據(jù)交換機(jī)根據(jù)MAC 地址表查找 MAC 地址,然后將信號發(fā)送到相應(yīng)的網(wǎng)線端口。交換機(jī)的 MAC 地址表包含兩個(gè)信息:

設(shè)備的 MAC 地址

該設(shè)備連接在交換機(jī)的哪個(gè)端口上

2a39ebd4-d4b6-11ef-9310-92fbcf53809c.png

9)路由器(出境)

路由器基本原理:

與交換機(jī)類似,通過查表判斷包的(下一個(gè)路由器或目標(biāo)設(shè)備)轉(zhuǎn)發(fā)目標(biāo)

路由器基于 IP 設(shè)計(jì),俗稱三層(網(wǎng)絡(luò)層)網(wǎng)絡(luò)設(shè)備,其各端口具有 MAC 地址和 IP 地址(和計(jì)算機(jī)網(wǎng)卡一樣);而交換機(jī)基于以太網(wǎng)設(shè)計(jì),俗稱二層(數(shù)據(jù)鏈路層)網(wǎng)絡(luò)設(shè)備,其端口不具有 MAC 地址(也有三層交換機(jī),具有部分的路由器功能)

MAC 頭部的作用就是將包送達(dá)路由器,其中的接收方 MAC 地址就是路由器端口的 MAC 地址

包接收操作:將網(wǎng)線接口的電信號轉(zhuǎn)成數(shù)字信號,并核對 MAC 地址

完成包接收操作之后,路由器就會(huì)去掉包開頭的 MAC 頭部

接下來會(huì)根據(jù) MAC 頭部后方的 IP 頭部中的內(nèi)容進(jìn)行包的轉(zhuǎn)發(fā)操作

包發(fā)送操作:將網(wǎng)絡(luò)包的數(shù)字信號轉(zhuǎn)成電信號并通過端口發(fā)送出去,經(jīng)過層層轉(zhuǎn)發(fā)之后,到達(dá)最終目標(biāo)設(shè)備

首先是查詢路由表判斷轉(zhuǎn)發(fā)目標(biāo)

過 ARP 協(xié)議根據(jù)對方的 IP 地址查詢 MAC 地址,并將查詢結(jié)果作為接收方 MAC 地址

2a69d254-d4b6-11ef-9310-92fbcf53809c.png

以太網(wǎng)(傳輸)

在網(wǎng)絡(luò)包(跨網(wǎng)段)傳輸過程中,源 IP 和目標(biāo) IP 始終是不會(huì)變的,一直變化的是 MAC 地址,因?yàn)樾枰?MAC 地址在以太網(wǎng)內(nèi)進(jìn)行兩個(gè)設(shè)備之間的包傳輸。

(對于同網(wǎng)段的二層轉(zhuǎn)發(fā),MAC 地址則不變。)

服務(wù)器端(接收方解包)

1)路由器(入境)

2)交換機(jī)(境內(nèi))

3)服務(wù)器(終點(diǎn))

服務(wù)器層層扒開數(shù)據(jù)包頭部,最后通過 TCP 頭部的端口號確認(rèn)是 HTTP 進(jìn)程想要的這個(gè)包

HTTP 進(jìn)程將資源封裝在HTTP 響應(yīng)報(bào)文中,也依次穿上 TCP、IP、MAC 頭部,從網(wǎng)卡出去,交由交換機(jī)轉(zhuǎn)發(fā)到路由器,經(jīng)過層層轉(zhuǎn)發(fā),最后到達(dá)客戶端

客戶端扒剩 HTTP 響應(yīng)報(bào)文后,交給瀏覽器去渲染頁面并顯示資源

最后客戶端要離開時(shí),向服務(wù)器發(fā)起TCP 四次揮手,至此雙方連接斷開

示例:服務(wù)器和客戶端相互扒皮

2ab36e64-d4b6-11ef-9310-92fbcf53809c.png

鏈接:https://www.cnblogs.com/juno3550/p/14385367.html


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

    關(guān)注

    0

    文章

    511

    瀏覽量

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

    關(guān)注

    0

    文章

    83

    瀏覽量

    15442
  • 網(wǎng)絡(luò)通訊
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    11283

原文標(biāo)題:2. HTTP 網(wǎng)絡(luò)通訊過程

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的心跳檢測之C#上位機(jī)編程

    使用C#上位機(jī)編程實(shí)現(xiàn)運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的心跳檢測功能
    的頭像 發(fā)表于 12-24 10:54 ?199次閱讀
    運(yùn)動(dòng)控制卡<b class='flag-5'>網(wǎng)絡(luò)通訊</b>的心跳檢測之C#上位機(jī)編程

    安科瑞APM830電能質(zhì)量型網(wǎng)絡(luò)電表 支持Profibus通訊 帶CPA認(rèn)證

    安科瑞Profibus通訊電能質(zhì)量型網(wǎng)絡(luò)電表具有全電量測量、電能統(tǒng)計(jì)、電能質(zhì)量分析、錄波功能、事件記錄功能(包括電壓暫升暫降中斷、沖擊電流等記錄)及網(wǎng)絡(luò)通訊等功能,主要用于電網(wǎng)供電質(zhì)量的綜合監(jiān)控。
    的頭像 發(fā)表于 12-19 10:02 ?136次閱讀
    安科瑞APM830電能質(zhì)量型<b class='flag-5'>網(wǎng)絡(luò)</b>電表 支持Profibus<b class='flag-5'>通訊</b> 帶CPA認(rèn)證

    安科瑞profibus通訊三相智能電能表APM810/MCP

    1、產(chǎn)品概述 安科瑞電氣APM系列網(wǎng)絡(luò)電力儀表是按IEC標(biāo)準(zhǔn)設(shè)計(jì),與國際先進(jìn)技術(shù)同步的網(wǎng)絡(luò)電力儀表。具有全電量測量,電能統(tǒng)計(jì),電能質(zhì)量分析及網(wǎng)絡(luò)通訊等功能,主要用于對電網(wǎng)供電質(zhì)量的綜合監(jiān)控。該系
    的頭像 發(fā)表于 11-27 15:13 ?177次閱讀
    安科瑞profibus<b class='flag-5'>通訊</b>三相智能電能表APM810/MCP

    PN通訊電表-可與西門子PLC通訊

    APM系列網(wǎng)絡(luò)電力電測儀表 ? ? ?安科瑞電氣APM系列網(wǎng)絡(luò)電力儀表是按IEC標(biāo)準(zhǔn)設(shè)計(jì),與技術(shù)同步的網(wǎng)絡(luò)電力儀表。具有全電量測量,電能統(tǒng)計(jì),電能質(zhì)量分析及網(wǎng)絡(luò)通訊等功能,主要用于對電
    的頭像 發(fā)表于 10-28 17:06 ?239次閱讀
    PN<b class='flag-5'>通訊</b>電表-可與西門子PLC<b class='flag-5'>通訊</b>

    百兆以太網(wǎng)通訊的電表有哪些?

    APM系列網(wǎng)絡(luò)電力電測儀表 技術(shù)支持18701998775 安科瑞電氣APM系列網(wǎng)絡(luò)電力儀表是按IEC標(biāo)準(zhǔn)設(shè)計(jì),與技術(shù)同步的網(wǎng)絡(luò)電力儀表。具有全電量測量,電能統(tǒng)計(jì),電能質(zhì)量分析及網(wǎng)絡(luò)通訊
    的頭像 發(fā)表于 10-28 16:51 ?243次閱讀
    百兆以太網(wǎng)<b class='flag-5'>通訊</b>的電表有哪些?

    HTTP海外訪問優(yōu)化:提升跨國網(wǎng)絡(luò)性能的秘訣

    HTTP海外訪問優(yōu)化是提升跨國網(wǎng)絡(luò)性能的關(guān)鍵,涉及多個(gè)方面的技術(shù)和策略。
    的頭像 發(fā)表于 10-15 08:04 ?363次閱讀

    HTTP海外趨勢洞察:未來網(wǎng)絡(luò)發(fā)展的風(fēng)向標(biāo)

    HTTP海外趨勢洞察為我們揭示了未來網(wǎng)絡(luò)發(fā)展的風(fēng)向標(biāo)。
    的頭像 發(fā)表于 10-15 07:50 ?283次閱讀

    【飛凌嵌入式OK3576-C開發(fā)板體驗(yàn)】SSH遠(yuǎn)程登錄網(wǎng)絡(luò)配置及CAN通訊

    一、串口登錄 根據(jù)手冊描述串口登錄微1500000波特率和125000波特率,因?yàn)橛袃蓚€(gè)鏡像系統(tǒng)分別對應(yīng)不同的波特率。 當(dāng)前使用的系統(tǒng),Debug通訊 波特率1500000 二、網(wǎng)絡(luò)通訊配置 鏡像
    發(fā)表于 10-10 09:25

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP通訊協(xié)議

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP通訊協(xié)議,簡單方便,包含歷史記憶功能,體積小,服務(wù)器調(diào)試最合適
    發(fā)表于 09-05 11:51 ?0次下載

    講解HTTP代理類別,使用設(shè)置,測試HTTP代理方法

    HTTP
    jf_62215197
    發(fā)布于 :2024年07月19日 07:03:46

    電信網(wǎng)絡(luò)通訊接口浪涌保護(hù)器綜合方案

    在現(xiàn)代社會(huì),電信網(wǎng)絡(luò)通訊系統(tǒng)已成為信息傳遞和日常生活的重要組成部分。然而,由于雷擊、開關(guān)操作、電源故障等因素,電信設(shè)備時(shí)常面臨浪涌電壓的威脅。浪涌電壓可能對設(shè)備造成損壞,導(dǎo)致系統(tǒng)故障甚至癱瘓。因此
    的頭像 發(fā)表于 06-13 10:55 ?431次閱讀
    電信<b class='flag-5'>網(wǎng)絡(luò)通訊</b>接口浪涌保護(hù)器綜合方案

    工業(yè)網(wǎng)絡(luò)通訊協(xié)議有哪些

    隨著工業(yè)自動(dòng)化的不斷發(fā)展,設(shè)備之間的互聯(lián)互通和數(shù)據(jù)交換變得越來越重要。工業(yè)網(wǎng)絡(luò)通訊協(xié)議作為實(shí)現(xiàn)這一功能的關(guān)鍵技術(shù),其在工業(yè)自動(dòng)化系統(tǒng)中扮演著至關(guān)重要的角色。本文將對工業(yè)網(wǎng)絡(luò)通訊協(xié)議進(jìn)行綜述,重點(diǎn)介紹幾種常見的工業(yè)網(wǎng)絡(luò)通訊協(xié)議及其
    的頭像 發(fā)表于 06-06 18:02 ?1768次閱讀

    鴻蒙網(wǎng)絡(luò)開發(fā)學(xué)習(xí):【ylong_http

    ylong_http 構(gòu)建了完整的 HTTP 能力,支持用戶使用 HTTP 能力完成通信場景的需求。 ylong_http 使用 Rust 編寫,為 OpenHarmony 的
    的頭像 發(fā)表于 03-25 16:36 ?748次閱讀
    鴻蒙<b class='flag-5'>網(wǎng)絡(luò)</b>開發(fā)學(xué)習(xí):【ylong_<b class='flag-5'>http</b>】

    使用STM32F103R8T6+ENC28J60+LWIP作網(wǎng)絡(luò)通訊,CAN發(fā)送失敗了怎么解決?

    你好:使用STM32F103R8T6+ENC28J60+LWIP作網(wǎng)絡(luò)通訊,現(xiàn)在遇到一個(gè)問題:使用CUDE建立的MDK工程,在調(diào)試網(wǎng)絡(luò)部分之前,CAN收發(fā)正常。在移植完LWIP 2.1.3之后,網(wǎng)絡(luò)
    發(fā)表于 03-13 06:52