多圖詳解網(wǎng)絡(luò)基礎(chǔ)知識
網(wǎng)絡(luò)協(xié)議
我們用手機連接上網(wǎng)的時候,會用到許多網(wǎng)絡(luò)協(xié)議。從手機連接 WiFi 開始,使用的是 802.11 (即 WLAN )協(xié)議;手機自動獲取網(wǎng)絡(luò)配置,使用的是 DHCP 協(xié)議。這時手機已經(jīng)連入局域網(wǎng)了,可以訪問局域網(wǎng)內(nèi)的主機和資源,但還不能使用互聯(lián)網(wǎng)應(yīng)用,例如:微信、抖音等。想要訪問互聯(lián)網(wǎng),還需要在手機的上聯(lián)網(wǎng)絡(luò)設(shè)備上進行配置,即在無線路由器上配置 NAT、 PPPOE 等功能,才能把局域網(wǎng)接入到互聯(lián)網(wǎng)中,手機就可以上網(wǎng)玩微信、刷抖音了。
網(wǎng)絡(luò)協(xié)議示意圖局域網(wǎng) :小范圍內(nèi)的私有網(wǎng)絡(luò),一個家庭內(nèi)的網(wǎng)絡(luò)、一個公司內(nèi)的網(wǎng)絡(luò)、一個校園內(nèi)的網(wǎng)絡(luò)都屬于局域網(wǎng)。
廣域網(wǎng):把不同地域的局域網(wǎng)互相連接起來的網(wǎng)絡(luò)。運營商搭建連接遠距離區(qū)域的廣域網(wǎng)。
互聯(lián)網(wǎng):由世界各地的局域網(wǎng)和廣域網(wǎng)連接起來的網(wǎng)絡(luò)。互聯(lián)網(wǎng)是一個開放、互聯(lián)的網(wǎng)絡(luò),不屬于任何個人和任何機構(gòu)。
簡單來說,就是手機、無線路由器等設(shè)備通過網(wǎng)絡(luò)協(xié)議實現(xiàn)通信。網(wǎng)絡(luò)協(xié)議又是誰規(guī)定的呢?ISO 制定了一個 OSI 參考模型,被用于網(wǎng)絡(luò)協(xié)議的制定。
OSI 參考模型
OSI 參考模型將網(wǎng)絡(luò)協(xié)議提供的服務(wù)分成 7 層,并定義每一層的服務(wù)內(nèi)容,實現(xiàn)每一層服務(wù)的是協(xié)議,協(xié)議的具體內(nèi)容是規(guī)范。上下層之間通過接口進行交互,同一層之間通過協(xié)議進行交互。OSI 參考模型只對各層的服務(wù)做了粗略的界定,并沒有對協(xié)議進行詳細的定義。但是許多協(xié)議都對應(yīng)了 7 個分層的某一層。所以要了解網(wǎng)絡(luò),首先要了解 OSI 參考模型。
OSI 參考模型圖應(yīng)用層
OSI參考模型的第 7 層(最高層)。應(yīng)用程序和網(wǎng)絡(luò)之間的接口,直接向用戶提供服務(wù)。應(yīng)用層協(xié)議有電子郵件、遠程登錄等協(xié)議。
應(yīng)用層示例圖表示層
OSI參考模型的第 6 層。負責(zé)數(shù)據(jù)格式的互相轉(zhuǎn)換,如編碼、數(shù)據(jù)格式轉(zhuǎn)換和加密解密等。保證一個系統(tǒng)應(yīng)用層發(fā)出的信息可被另一系統(tǒng)的應(yīng)用層讀出。
表示層示例圖會話層
OSI參考模型的第 5 層。主要是管理和協(xié)調(diào)不同主機上各種進程之間的通信(對話),即負責(zé)建立、管理和終止應(yīng)用程序之間的會話。
傳輸層
OSI參考模型的第 4 層。為上層協(xié)議提供通信主機間的可靠和透明的數(shù)據(jù)傳輸服務(wù),包括處理差錯控制和流量控制等問題。
傳輸層示例圖網(wǎng)絡(luò)層
OSI參考模型的第 3 層。將數(shù)據(jù)傳輸?shù)侥康牡刂?,主要負?zé)尋址和路由選擇。
網(wǎng)絡(luò)層示例圖數(shù)據(jù)鏈路層
OSI參考模型的第 2 層。負責(zé)兩個相鄰主機間的通信傳輸,即數(shù)據(jù)幀的生成與接收。
數(shù)據(jù)鏈路層示例圖物理層
OSI參考模型的第 1 層(最底層)。負責(zé)邏輯信號(比特流)與物理信號(電信號、光信號)之間的互相轉(zhuǎn)換,利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接。
物理層示例圖TCP/IP 參考模型
由于 OSI 參考模型把服務(wù)劃得過于瑣碎,先定義參考模型再定義協(xié)議,有點理想化。TCP/IP 模型則正好相反,通過已有的協(xié)議歸納總結(jié)出來的模型,成為實際的主流網(wǎng)絡(luò)協(xié)議標(biāo)準。
先介紹下 TCP/IP 與 OSI 分層之間的對應(yīng)關(guān)系,以及 TCP/IP 每層的主要協(xié)議。
TCP/IP 參考模型網(wǎng)絡(luò)接入層
在 TCP/IP 分層中,有把物理層和數(shù)據(jù)鏈路層合并稱為網(wǎng)絡(luò)接入層,有把物理層和數(shù)據(jù)鏈路層分別稱為硬件、網(wǎng)絡(luò)接口層。網(wǎng)絡(luò)接入層是對網(wǎng)絡(luò)介質(zhì)的管理,定義如何使用網(wǎng)絡(luò)來傳送數(shù)據(jù),但是對物理層和數(shù)據(jù)鏈路層在通信過程中起到了不一樣的作用。所以 TCP/IP 分為四層或者五層都可以,只要能理解其中的原理就行。
網(wǎng)絡(luò)層
相當(dāng)于 OSI 模型中的第 3 層網(wǎng)絡(luò)層,使用的是IP協(xié)議,作用是將數(shù)據(jù)包從源地址發(fā)送到目的地址。
網(wǎng)絡(luò)層-
IP
IP 是跨越網(wǎng)絡(luò)傳送數(shù)據(jù)包, 使整個互聯(lián)網(wǎng)都能收到數(shù)據(jù)的協(xié)議,它使用 IP 地址作為主機的標(biāo)識。IP 協(xié)議獨立于底層介質(zhì),
實現(xiàn)從源到目的的數(shù)據(jù)轉(zhuǎn)發(fā)。 -
ICMP
用于在 IP 主機、路由器之間傳遞控制消息。被用來診斷網(wǎng)絡(luò)的健康狀況。
-
ARP
從數(shù)據(jù)包的 IP 地址中解析出 MAC 地址的一種協(xié)議。
傳輸層
相當(dāng)于 OSI 模型中的第 4 層傳輸層,主要功能就是讓應(yīng)用程序之間互相通信,通過端口號識別應(yīng)用程序,使用的協(xié)議有面向連接的 TCP 協(xié)議和面向無連接的 UDP 協(xié)議。
傳輸層-
TCP
TCP 是一種面向有連接的傳輸層協(xié)議,能夠?qū)ψ约禾峁┑倪B接實施控制。適用于要求可靠傳輸?shù)膽?yīng)用,例如文件傳輸。
-
UDP
UDP 是一種面向無連接的傳輸層協(xié)議,不會對自己提供的連接實施控制。適用于實時應(yīng)用,例如:IP電話、視頻會議、直播等。
應(yīng)用層
相當(dāng)于 OSI 模型中的第 5 - 7 層的集合,不僅要實現(xiàn) OSI 模型應(yīng)用層的功能,還要實現(xiàn)會話層和表示層的功能。HTTP 、 POP3 、 TELNET 、 SSH 、 FTP 、 SNMP都是應(yīng)用層協(xié)議。
應(yīng)用層-
HTTP
是 WWW 瀏覽器和服務(wù)器之間的應(yīng)用層通信協(xié)議。HTTP 定義高級命令或者方法供瀏覽器用來與Web服務(wù)器通信。
-
POP3
簡單郵件傳輸協(xié)議,郵件客戶端和郵件服務(wù)器使用。
-
TELNET
遠程終端協(xié)議,用于遠程管理網(wǎng)絡(luò)設(shè)備。
-
SSH
安全外殼協(xié)議。通過使用SSH,可以把所有傳輸?shù)臄?shù)據(jù)進行加密。
-
SNMP
簡單網(wǎng)絡(luò)管理協(xié)議,用于網(wǎng)管軟件進行網(wǎng)絡(luò)設(shè)備的監(jiān)控和管理。
封裝與解封裝
數(shù)據(jù)發(fā)送前,按照參考模型從上到下,在數(shù)據(jù)經(jīng)過每一層時,添加協(xié)議頭部信息,這個過程叫封裝。
封裝數(shù)據(jù)接收后,按照參考模型從下到上,在數(shù)據(jù)經(jīng)過每一層時,去掉協(xié)議頭部信息,這個過程叫解封裝。
解封裝經(jīng)過傳輸層協(xié)議封裝后的數(shù)據(jù)稱為段,經(jīng)過網(wǎng)絡(luò)層協(xié)議封裝后的數(shù)據(jù)稱為包,經(jīng)過數(shù)據(jù)鏈路層協(xié)議封裝后的數(shù)據(jù)稱為幀,物理層傳輸?shù)臄?shù)據(jù)為比特。
實際數(shù)據(jù)傳輸舉例
實際生活中,互聯(lián)網(wǎng)是使用的 TCP/IP 協(xié)議進行網(wǎng)絡(luò)連接的。我們以訪問網(wǎng)站為例,看看網(wǎng)絡(luò)是如何進行通信的。
數(shù)據(jù)傳輸舉例發(fā)送數(shù)據(jù)包
訪問 HTTP 網(wǎng)站頁面時,打開瀏覽器,輸入網(wǎng)址,敲下回車鍵就開始進行 TCP/IP 通信了。
應(yīng)用程序處理
首先,應(yīng)用程序中會進行 HTML 格式編碼處理,相當(dāng)于 OSI 的表示層功能。編碼轉(zhuǎn)化后,不一定會馬上發(fā)送出去,相當(dāng)于會話層的功能。在請求發(fā)送的那一刻,建立 TCP 連接,然后在 TCP 連接上發(fā)送數(shù)據(jù)。接下來就是將數(shù)據(jù)發(fā)送給下一層的 TCP 進行處理。
TCP 模塊處理
TCP 會將應(yīng)用層發(fā)來的數(shù)據(jù)順利的發(fā)送至目的地,實現(xiàn)可靠傳輸?shù)墓δ?,需要給數(shù)據(jù)封裝 TCP 頭部信息。TCP 頭部信息包括源端口號和目的端口號(識別主機上應(yīng)用)、序號(確認哪部分是數(shù)據(jù))以及校驗和(判斷數(shù)據(jù)是否被損壞)。隨后封裝了 TCP 頭部信息的段再發(fā)送給 IP 。
IP 模塊處理
IP 將 TCP 傳過來的數(shù)據(jù)段當(dāng)做自己的數(shù)據(jù),并封裝 IP 頭部信息。IP 頭部信息中包含目的 IP 地址和源 IP 地址,以及上層協(xié)議類型信息。
IP 包生成后,根據(jù)主機路由表進行數(shù)據(jù)發(fā)送。
網(wǎng)絡(luò)接口處理
網(wǎng)絡(luò)接口對傳過來的 IP 包封裝上以太網(wǎng)頭部信息并進行發(fā)送處理。以太網(wǎng)頭部信息包含目的 MAC 地址、源 MAC 地址,以及上層協(xié)議類型信息。然后將以太網(wǎng)數(shù)據(jù)幀通過物理層傳輸給接收端。
接收數(shù)據(jù)包
包的接收流程是發(fā)送流程的反向過程。
網(wǎng)絡(luò)接口處理
收到以太網(wǎng)幀后,首先查看頭部信息的目的 MAC 地址是否是發(fā)給自己的幀。如果不是發(fā)送給自己的幀就丟棄。如果是發(fā)送給自己的幀,查看上層協(xié)議類型是 IP 包,以太網(wǎng)幀解封裝成 IP 包,傳給 IP 模塊進行處理。
IP 模塊處理
收到 IP 包后,進行類似處理。根據(jù)頭部信息的目的 IP 地址判斷是否是發(fā)送給自己包,如果是發(fā)送給自己的包,則查看上一層的協(xié)議類型,并把 IP 包解封裝發(fā)送給 TCP 協(xié)議處理。
TCP 模塊處理
收到 TCP 段后,首先查看校驗和,判斷數(shù)據(jù)是否被破壞。然后檢查是否按照序號接收數(shù)據(jù)。最后檢查端口號,確定具體的應(yīng)用程序。
數(shù)據(jù)接收完畢后,發(fā)送一個 “ 確認回執(zhí) ” 給發(fā)送端。
數(shù)據(jù)被完整接收后,會把 TCP 段解封裝發(fā)送給由端口號識別的應(yīng)用程序。
應(yīng)用程序處理
應(yīng)用程序收到數(shù)據(jù)后,通過解析數(shù)據(jù)知道了發(fā)送端請求的網(wǎng)頁內(nèi)容,然后按照 HTTP 協(xié)議進行后續(xù)數(shù)據(jù)交互。
網(wǎng)絡(luò)構(gòu)成
搭建一套網(wǎng)絡(luò)涉及各種線纜和網(wǎng)絡(luò)設(shè)備。下面介紹一些常見的硬件設(shè)備。
網(wǎng)絡(luò)構(gòu)成要素 主要設(shè)備及作用表通信介質(zhì)
主機可以通過有線線纜進行連接。有線線纜有雙絞線、光纖、串口線等。根據(jù)網(wǎng)絡(luò)接口選擇對應(yīng)的線纜。傳輸介質(zhì)還可以被分為電波、微波等不同類型的電磁波。
網(wǎng)卡
主機連接網(wǎng)絡(luò)時,必須要使用網(wǎng)卡??梢允怯芯€網(wǎng)卡,用來連接有線網(wǎng)絡(luò),也可以是無線網(wǎng)卡連接 WiFi 網(wǎng)絡(luò)。每塊網(wǎng)卡都有一個唯一的 MAC 地址,也叫做硬件地址或物理地址。
二層交換機
二層交換機二層交換機位于 OSI 模型的第 2 層(數(shù)據(jù)鏈路層)。它能夠識別數(shù)據(jù)鏈路層中的數(shù)據(jù)幀,并將幀轉(zhuǎn)發(fā)給相連的另一個端口。
數(shù)據(jù)幀中有一個數(shù)據(jù)位叫做 FCS ,用以校驗數(shù)據(jù)是否正確送達目的地。二層交換機通過檢查這個值,將損壞的數(shù)據(jù)丟棄。
二層交換機根據(jù) MAC 地址自學(xué)機制判斷是否需要轉(zhuǎn)發(fā)數(shù)據(jù)幀。這類功能也是數(shù)據(jù)鏈路層所具有的功能。
路由器 / 三層交換機
路由器路由器是在 OSI 模型的第 3 層(網(wǎng)絡(luò)層)上連接兩個網(wǎng)絡(luò)、并對報文進行轉(zhuǎn)發(fā)的設(shè)備。二層交換機是根據(jù) MAC 地址進行處理,而路由器 / 三層交換機則是根據(jù) IP 地址進行處理的。因此 TCP/IP 中網(wǎng)絡(luò)層的地址就成為了 IP 地址。
路由器可以連接不同的數(shù)據(jù)鏈路。比如連接兩個以太網(wǎng),或者連接一個以太網(wǎng)與一個無線網(wǎng)。家庭里面常見的無線路由器也是路由器的一種。
四層及以上交換機
四層及以上交換機負責(zé)處理OSI模型中從傳輸層至應(yīng)用層的數(shù)據(jù)。例如,下載和視頻網(wǎng)站的服務(wù)器會用到的負載均衡設(shè)備,就是四層及以上交換機的一種。還有廣域網(wǎng)加速器、防火墻等。
end
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!