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)。
2. HTTP 網(wǎng)絡(luò)通訊過(guò)程
示例:簡(jiǎn)單的網(wǎng)絡(luò)拓?fù)淠P?/p>
詳解:當(dāng)鍵入網(wǎng)址到網(wǎng)頁(yè)顯示的通訊過(guò)程
客戶(hù)端(發(fā)送方組包)
1)HTTP
瀏覽器解析 URL(協(xié)議、域名、資源路徑)
生成HTTP 請(qǐng)求報(bào)文
2)DNS(真實(shí)地址查詢(xún))
向 DNS 服務(wù)器查詢(xún)服務(wù)器域名對(duì)應(yīng)的IP 地址
域名中越靠右的位置表示其層級(jí)越高
3)協(xié)議棧(指南幫手)
獲取 IP 后,將之后的 HTTP 傳輸工作交給操作系統(tǒng)內(nèi)核中的協(xié)議棧處理
TCP/UDP:負(fù)責(zé)收發(fā)數(shù)據(jù)
IP:負(fù)責(zé)將網(wǎng)絡(luò)包送達(dá)給對(duì)方
4)TCP(可靠傳輸)
報(bào)文頭部包含源端口號(hào)、目標(biāo)端口號(hào)、序號(hào)、確認(rèn)號(hào)等
TCP傳輸數(shù)據(jù)之前,要先三次握手建立連接(三次握手的目的是保證雙方都有發(fā)送和接收的能力)
TCP 報(bào)文生成:TCP 頭部 + HTTP 報(bào)文
5)IP(遠(yuǎn)程定位)
將數(shù)據(jù)封裝稱(chēng)網(wǎng)絡(luò)包發(fā)送給通信對(duì)象
IP 報(bào)文生成:IP 頭部 + TCP 頭部 + HTTP 報(bào)文
6)MAC(兩點(diǎn)傳輸)
還需要加上 MAC 頭部(發(fā)送方和接收方的 MAC 地址等信息),MAC 頭部是以太網(wǎng)的頭部
MAC 作用:MAC 地址用來(lái)唯一標(biāo)識(shí)設(shè)備,再通過(guò) ARP 協(xié)議找到下一站路由器的 MAC 地址,實(shí)現(xiàn)兩點(diǎn)之間的傳輸
至此,網(wǎng)絡(luò)包報(bào)文(MAC 頭部 + IP 頭部 + TCP 頭部 + HTTP 報(bào)文)如下圖所示:
7)網(wǎng)卡(出口)
真正的數(shù)據(jù)發(fā)送過(guò)程:將數(shù)字信息(IP 網(wǎng)絡(luò)包)轉(zhuǎn)換為電信號(hào),才能在網(wǎng)線(xiàn)上傳輸
控制網(wǎng)卡需要靠網(wǎng)卡驅(qū)動(dòng)程序
網(wǎng)卡本身具有 MAC 地址,且會(huì)核對(duì)數(shù)據(jù)包的接收方 MAC 地址與自身 MAC 地址是否相同,不是則丟棄
8)交換機(jī)(送別)
交換機(jī)的設(shè)計(jì):將網(wǎng)絡(luò)包原樣轉(zhuǎn)發(fā)到目的地
交換機(jī)工作在 MAC 層,也稱(chēng)為二層(數(shù)據(jù)鏈路層)網(wǎng)絡(luò)設(shè)備
交換機(jī)接收到達(dá)網(wǎng)線(xiàn)接口的電信號(hào),并轉(zhuǎn)換為數(shù)字信息
二層交換機(jī)本身具有一個(gè) MAC 地址(標(biāo)識(shí)自身硬件設(shè)備),但其各端口不具有 MAC 地址(三層交換機(jī)則每個(gè)端口都有 MAC 地址)
交換機(jī)根據(jù)交換機(jī)根據(jù)MAC 地址表查找 MAC 地址,然后將信號(hào)發(fā)送到相應(yīng)的網(wǎng)線(xiàn)端口。交換機(jī)的 MAC 地址表包含兩個(gè)信息:
設(shè)備的 MAC 地址
該設(shè)備連接在交換機(jī)的哪個(gè)端口上
9)路由器(出境)
路由器基本原理:
與交換機(jī)類(lèi)似,通過(guò)查表判斷包的(下一個(gè)路由器或目標(biāo)設(shè)備)轉(zhuǎn)發(fā)目標(biāo)
路由器基于 IP 設(shè)計(jì),俗稱(chēng)三層(網(wǎng)絡(luò)層)網(wǎng)絡(luò)設(shè)備,其各端口具有 MAC 地址和 IP 地址(和計(jì)算機(jī)網(wǎng)卡一樣);而交換機(jī)基于以太網(wǎng)設(shè)計(jì),俗稱(chēng)二層(數(shù)據(jù)鏈路層)網(wǎng)絡(luò)設(shè)備,其端口不具有 MAC 地址(也有三層交換機(jī),具有部分的路由器功能)
MAC 頭部的作用就是將包送達(dá)路由器,其中的接收方 MAC 地址就是路由器端口的 MAC 地址
包接收操作:將網(wǎng)線(xiàn)接口的電信號(hào)轉(zhuǎn)成數(shù)字信號(hào),并核對(duì) MAC 地址
完成包接收操作之后,路由器就會(huì)去掉包開(kāi)頭的 MAC 頭部
接下來(lái)會(huì)根據(jù) MAC 頭部后方的 IP 頭部中的內(nèi)容進(jìn)行包的轉(zhuǎn)發(fā)操作
包發(fā)送操作:將網(wǎng)絡(luò)包的數(shù)字信號(hào)轉(zhuǎn)成電信號(hào)并通過(guò)端口發(fā)送出去,經(jīng)過(guò)層層轉(zhuǎn)發(fā)之后,到達(dá)最終目標(biāo)設(shè)備
首先是查詢(xún)路由表判斷轉(zhuǎn)發(fā)目標(biāo)
通過(guò) ARP 協(xié)議根據(jù)對(duì)方的 IP 地址查詢(xún) MAC 地址,并將查詢(xún)結(jié)果作為接收方 MAC 地址
以太網(wǎng)(傳輸)
在網(wǎng)絡(luò)包(跨網(wǎng)段)傳輸過(guò)程中,源 IP 和目標(biāo) IP 始終是不會(huì)變的,一直變化的是 MAC 地址,因?yàn)樾枰?MAC 地址在以太網(wǎng)內(nèi)進(jìn)行兩個(gè)設(shè)備之間的包傳輸。
(對(duì)于同網(wǎng)段的二層轉(zhuǎn)發(fā),MAC 地址則不變。)
服務(wù)器端(接收方解包)
1)路由器(入境)
2)交換機(jī)(境內(nèi))
3)服務(wù)器(終點(diǎn))
服務(wù)器層層扒開(kāi)數(shù)據(jù)包頭部,最后通過(guò) TCP 頭部的端口號(hào)確認(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)過(guò)層層轉(zhuǎn)發(fā),最后到達(dá)客戶(hù)端
客戶(hù)端扒剩 HTTP 響應(yīng)報(bào)文后,交給瀏覽器去渲染頁(yè)面并顯示資源
最后客戶(hù)端要離開(kāi)時(shí),向服務(wù)器發(fā)起TCP 四次揮手,至此雙方連接斷開(kāi)
示例:服務(wù)器和客戶(hù)端相互扒皮
鏈接:https://www.cnblogs.com/juno3550/p/14385367.html
-
HTTP
+關(guān)注
關(guān)注
0文章
525瀏覽量
33555 -
OSI
+關(guān)注
關(guān)注
0文章
85瀏覽量
15654 -
網(wǎng)絡(luò)通訊
+關(guān)注
關(guān)注
0文章
78瀏覽量
11609
原文標(biāo)題:2. HTTP 網(wǎng)絡(luò)通訊過(guò)程
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
虹科車(chē)輛網(wǎng)絡(luò)通訊測(cè)試主板:雙系統(tǒng)適配 × 工業(yè)級(jí)穩(wěn)定 × 零門(mén)檻部署

C#上位機(jī)與運(yùn)動(dòng)控制卡網(wǎng)絡(luò)通訊的周期上報(bào)

關(guān)于三菱PLC的網(wǎng)絡(luò)通訊時(shí)的‘生存確認(rèn)’參數(shù)
stm32cubeide生成的lwip網(wǎng)絡(luò)通訊任務(wù)跑起來(lái)都很正常,為什么一旦加獨(dú)立看門(mén)狗之后就會(huì)卡死呢?
屏蔽雙絞線(xiàn)和屏蔽網(wǎng)絡(luò)通訊線(xiàn)的區(qū)別有哪些
APM8系列網(wǎng)絡(luò)電力儀表

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

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

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

PN通訊電表-可與西門(mén)子PLC通訊

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

評(píng)論