久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

為什么網(wǎng)絡(luò)要分層,?每一層的職責(zé)、包含哪些協(xié)議,?”

 新用戶16501297 2022-03-17

這篇文章我會(huì)首先介紹 「“為什么網(wǎng)絡(luò)要分層”,?」 ,隨后我會(huì)介紹 「“OSI 7 層模型”」 以及 「“ TCP/IP 4層模型 ”」,。我會(huì)詳細(xì)介紹目前廣泛使用的 「“ TCP/IP 4層模型 ”」 包括每一層做的事情以及相關(guān)的協(xié)議介紹,。

01 為什么網(wǎng)絡(luò)要分層?

說(shuō)到分層,,我們先從我們平時(shí)使用框架開發(fā)一個(gè)后臺(tái)程序來(lái)說(shuō),,我們往往會(huì)按照每一層做不同的事情的原則將系統(tǒng)分為 三層(復(fù)雜的系統(tǒng)分層可能會(huì)更多):

  1. Repository(數(shù)據(jù)庫(kù)操作)

  2. Service(業(yè)務(wù)操作)

  3. Controller(前后端數(shù)據(jù)交互)

「復(fù)雜的系統(tǒng)需要分層,因?yàn)槊恳粚佣夹枰獙W⒂谝活愂虑?。我們的網(wǎng)絡(luò)分層的原因也是一樣,,每一層只專注于做一類事情?!?/p>

「為什么計(jì)算機(jī)網(wǎng)絡(luò)要分層呢,?」 ,我們?cè)賮?lái)較為系統(tǒng)的說(shuō)一說(shuō):

  1. 「各層之間相互獨(dú)立」:各層之間相互獨(dú)立,各層之間不需要關(guān)心其他層是如何實(shí)現(xiàn)的,,只需要知道自己如何調(diào)用下層提供好的功能就可以了(可以簡(jiǎn)單理解為接口調(diào)用)「,。這個(gè)和我們對(duì)開發(fā)時(shí)系統(tǒng)進(jìn)行分層是一個(gè)道理?!?/p>

  2. 「提高了整體靈活性」 :每一層都可以使用最適合的技術(shù)來(lái)實(shí)現(xiàn),,你只需要保證你提供的功能以及暴露的接口的規(guī)則沒有改變就行了?!高@個(gè)和我們平時(shí)開發(fā)系統(tǒng)的時(shí)候要求的高內(nèi)聚,、低耦合的原則也是可以對(duì)應(yīng)上的,。」

  3. 「大問題化小」 :分層可以將復(fù)雜的網(wǎng)絡(luò)間題分解為許多比較小的,、界線比較清晰簡(jiǎn)單的小問題來(lái)處理和解決,。這樣使得復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)變得易于設(shè)計(jì),實(shí)現(xiàn)和標(biāo)準(zhǔn)化,。 「這個(gè)和我們平時(shí)開發(fā)的時(shí)候,,一般會(huì)將系統(tǒng)功能分解,然后將復(fù)雜的問題分解為容易理解的更小的問題是相對(duì)應(yīng)的,,這些較小的問題具有更好的邊界(目標(biāo)和接口)定義,。」

說(shuō)到計(jì)算機(jī)網(wǎng)絡(luò)分層,,我想到了計(jì)算機(jī)世界非常非常有名的一句話,,這里分享一下:

「計(jì)算機(jī)科學(xué)領(lǐng)域的任何問題都可以通過增加一個(gè)間接的中間層來(lái)解決,計(jì)算機(jī)整個(gè)體系從上到下都是按照嚴(yán)格的層次結(jié)構(gòu)設(shè)計(jì)的,?!?/p>

大白:如果一層不夠那就加兩層吧!

「為了更好地去了解網(wǎng)絡(luò)分層,,我們先來(lái)看一個(gè)雖然失敗,,但是卻提供了很多不錯(cuò)的理論基礎(chǔ)的OSI七層模型?!?/p>

02 OSI七層模型

OSI七層模型的大體結(jié)構(gòu)以及每一層提供的功能如下,。「每一層都專注做一件事情,,并且每一層都需要使用下一層提供的功能比如傳輸層需要使用網(wǎng)絡(luò)層提供的路有和尋址功能,,這樣傳輸層才知道把數(shù)據(jù)傳輸?shù)侥睦锶??!?/p>

圖片

OSI七層模型

「OSI的七層體系結(jié)構(gòu)概念清楚,理論也很完整,,但是它比較復(fù)雜而且不實(shí)用,,而且有些功能在多個(gè)層中重復(fù)出現(xiàn)?!?/p>

上面這種圖可能比較抽象,,再來(lái)一個(gè)比較生動(dòng)的圖片。下面這個(gè)圖片是我在國(guó)外的一個(gè)網(wǎng)站上看到的,,非常贊,!

圖片

在這里順帶提一下:「為什么最開始的時(shí)候一直被一些大公司甚至一些國(guó)家政府支持的OSI七層模型會(huì)失敗呢?」

  1. OSI的專家缺乏實(shí)際經(jīng)驗(yàn),,他們?cè)谕瓿蒓SI標(biāo)準(zhǔn)時(shí)缺乏商業(yè)驅(qū)動(dòng)力

  2. OSI的協(xié)議實(shí)現(xiàn)起來(lái)過分復(fù)雜,,而且運(yùn)行效率很低

  3. OSI制定標(biāo)準(zhǔn)的周期太長(zhǎng),,因而使得按OSI標(biāo)準(zhǔn)生產(chǎn)的設(shè)備無(wú)法及時(shí)進(jìn)入市場(chǎng)(20世紀(jì)90年代初期,雖然整套的OSI國(guó)際標(biāo)準(zhǔn)都已經(jīng)制定出來(lái),,但基于TCP/IP的互聯(lián)網(wǎng)已經(jīng)搶先在全球相當(dāng)大的范圍成功運(yùn)行了)

  4. OSI的層次劃分不太合理,,有些功能在多個(gè)層次中重復(fù)出現(xiàn)。

03 TCP/IP 4層模型

這是目前被廣泛采用的一種模型,我們可以將 TCP / IP 模型看作是 OSI 7層模型的精簡(jiǎn)版本,,由以下4層組成:

  1. 應(yīng)用層

  2. 傳輸層

  3. 網(wǎng)絡(luò)層

  4. 網(wǎng)絡(luò)接口層

需要注意的是,,我們并不能將 TCP/IP4層模型 和OSI7層模型完全精確地匹配起來(lái),不過可以簡(jiǎn)單將兩者對(duì)應(yīng)起來(lái),,如下圖所示:

圖片

TCP-IP-4-model

04 TCP/IP 4層模型網(wǎng)絡(luò)協(xié)議概覽

圖片

network-protocol-overview

「應(yīng)用層協(xié)議」 :

  • HTTP 協(xié)議(超文本傳輸協(xié)議,,網(wǎng)頁(yè)瀏覽常用的協(xié)議)

  • DHCP 協(xié)議(動(dòng)態(tài)主機(jī)配置)

  • DNS 系統(tǒng)原理(域名系統(tǒng))

  • FTP 協(xié)議(文件傳輸協(xié)議)

  • Telnet協(xié)議(遠(yuǎn)程登陸協(xié)議)

  • 電子郵件協(xié)議等(SMTP、POP3,、IMAP)

  • ......

「?jìng)鬏攲訁f(xié)議」 :

  • TCP 協(xié)議

    • 報(bào)文段結(jié)構(gòu)

    • 可靠數(shù)據(jù)傳輸

    • 流量控制

    • 擁塞控制

  • UDP 協(xié)議

    • 報(bào)文段結(jié)構(gòu)

    • RDT(可靠數(shù)據(jù)傳輸協(xié)議)

「網(wǎng)絡(luò)層協(xié)議」 :

  • IP 協(xié)議(TCP/IP 協(xié)議的基礎(chǔ),,分為 IPv4 和 IPv6)

  • ARP 協(xié)議(地址解析協(xié)議,用于解析 IP 地址和 MAC 地址之間的映射)

  • ICMP 協(xié)議(控制報(bào)文協(xié)議,,用于發(fā)送控制消息)

  • NAT 協(xié)議(網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議)

  • RIP 協(xié)議,、OSPF 協(xié)議、BGP 協(xié)議(路由選擇協(xié)議)

  • ......

「網(wǎng)絡(luò)接口層」 :

  • 差錯(cuò)檢測(cè)技術(shù)

  • 多路訪問協(xié)議(信道復(fù)用技術(shù))

  • CSMA/CD 協(xié)議

  • MAC 協(xié)議

  • 以太網(wǎng)技術(shù)

  • ......

應(yīng)用層(Application layer)

應(yīng)用層的任務(wù)是通過應(yīng)用進(jìn)程間的交互來(lái)完成特定網(wǎng)絡(luò)應(yīng)用,,我們把應(yīng)用層交互的數(shù)據(jù)單元稱為報(bào)文,。「應(yīng)用層協(xié)議定義的是應(yīng)用進(jìn)程(進(jìn)程:主機(jī)中正在運(yùn)行的程序,比如微信,、QQ)間的通信和交互的規(guī)則,。對(duì)于不同的網(wǎng)絡(luò)應(yīng)用需要不同的應(yīng)用層協(xié)議?!?nbsp;在互聯(lián)網(wǎng)中應(yīng)用層協(xié)議很多,,如域名系統(tǒng)DNS,支持Web應(yīng)用的HTTP協(xié)議,,支持電子郵件的SMTP協(xié)議等等,。

簡(jiǎn)單總結(jié)一下當(dāng)今使用的一些最常見的應(yīng)用層協(xié)議:

HTTP:超文本傳輸協(xié)議

「超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol)主要是為 Web 瀏覽器與 Web 服務(wù)器之間的通信而設(shè)計(jì)的,?!?/p>

當(dāng)我們使用瀏覽器瀏覽網(wǎng)頁(yè)的時(shí)候,我們網(wǎng)頁(yè)就是通過 HTTP 請(qǐng)求進(jìn)行加載的,,整個(gè)過程如下圖所示,。

圖片

HTTP請(qǐng)求過程

「HTTP 協(xié)議是基于 TCP協(xié)議的」,發(fā)送 HTTP 請(qǐng)求之前首先要建立 TCP 連接也就是要經(jīng)歷 3 次握手,。目前使用的 HTTP 協(xié)議大部分都是 1.1,。在 1.1 的協(xié)議里面,默認(rèn)是開啟了 Keep-Alive 的,這樣的話建立的連接就可以在多次請(qǐng)求中被復(fù)用了,。

另外,, 「HTTP 協(xié)議是”無(wú)狀態(tài)”的協(xié)議,它無(wú)法記錄客戶端用戶的狀態(tài)」 一般我們都是通過 Session 來(lái)記錄客戶端用戶的狀態(tài),。

SMTP:簡(jiǎn)單郵件傳輸(發(fā)送)協(xié)議

「簡(jiǎn)單郵件傳輸協(xié)議(SMTP,,Simple Mail Transfer Protocol)的縮寫,基于 TCP 協(xié)議,,用來(lái)發(fā)送電子郵件,。」

注意??:「接受郵件的協(xié)議不是 SMTP 而是POP3協(xié)議,?!?/p>

SMTP 協(xié)議這塊后面不會(huì)花費(fèi)太多篇幅來(lái)講解,直接提一下兩個(gè)比較重要的問題:

  1. 電子郵件的發(fā)送過程

  2. 如何判斷郵箱是真正存在的,?

「電子郵件的發(fā)送過程,?」

比如我的郵箱是“[email protected]”,我要向“[email protected]”發(fā)送郵件,,整個(gè)過程可以簡(jiǎn)單分為下面幾步:

  1. 通過 「SMTP」 協(xié)議,,我將我寫好的郵件交給163郵箱服務(wù)器(郵局)。

  2. 163郵箱服務(wù)器發(fā)現(xiàn)我發(fā)送的郵箱是qq郵箱,,然后它使用 SMTP協(xié)議將我的郵件轉(zhuǎn)發(fā)到 qq郵箱服務(wù)器,。

  3. qq郵箱服務(wù)器接收郵件之后就通知郵箱為“[email protected]”的用戶來(lái)收郵件,然后用戶就通過 「POP3/IMAP」 協(xié)議將郵件取出,。

圖片
一個(gè)電子郵件被發(fā)送的過程

「如何判斷郵箱是真正存在的,?」

很多場(chǎng)景(比如郵件營(yíng)銷)下面我們需要判斷我們要發(fā)送的郵箱地址是否真的存在,這個(gè)時(shí)候我們可以利用 SMTP 協(xié)議來(lái)檢測(cè),。這里就不多扯,,再扯的話,估計(jì)這篇文章的內(nèi)容會(huì)很多,,這并不是我的一貫風(fēng)格,。推薦幾個(gè)在線郵箱是否有效檢測(cè)工具:

  1. https:///

  2. http://tool./mailverify

  3. https://www./

POP3/IMAP:郵件接收的協(xié)議

這兩個(gè)協(xié)議不多做闡述,只需要了解 「POP3 和 IMAP 兩者都是負(fù)責(zé)郵件接收的協(xié)議」即可,。另外,,需要注意不要將這兩者和 SMTP 協(xié)議搞混淆了,?!窼MTP 協(xié)議只負(fù)責(zé)郵件的發(fā)送,真正負(fù)責(zé)接收的協(xié)議是POP3/IMAP,?!?/p>

IMAP 協(xié)議相比于POP3更新一點(diǎn),為用戶提供的可選功能也更多一點(diǎn),幾乎所有現(xiàn)代電子郵件客戶端和服務(wù)器都支持IMAP。大部分網(wǎng)絡(luò)郵件服務(wù)提供商都支持POP3和IMAP,。

FTP:文件傳輸協(xié)議

「文件傳輸協(xié)議 FTP(File Transfer Protocol),,提供文件傳輸服務(wù),基于 TCP 實(shí)現(xiàn)可靠的傳輸,。使用 FTP 傳輸文件的好處是可以屏蔽操作系統(tǒng)和文件存儲(chǔ)方式,。」

FTP 是基于客戶—服務(wù)器(C/S)模型而設(shè)計(jì)的,,在客戶端與 FTP 服務(wù)器之間建立兩個(gè)連接,。如果我們要基于 FTP 協(xié)議開發(fā)一個(gè)文件傳輸?shù)能浖脑挘紫刃枰闱宄?FTP 的原理,。關(guān)于 FTP 的原理,,很多書籍上已經(jīng)描述的非常詳細(xì)了:

FTP 的獨(dú)特的優(yōu)勢(shì)同時(shí)也是與其它客戶服務(wù)器程序最大的不同點(diǎn)就在于它在兩臺(tái)通信的主機(jī)之間使用了兩條 TCP 連接(其它客戶服務(wù)器應(yīng)用程序一般只有一條 TCP 連接):

  1. 控制連接:用于傳送控制信息(命令和響應(yīng))

  2. 數(shù)據(jù)連接:用于數(shù)據(jù)傳送;

這種將命令和數(shù)據(jù)分開傳送的思想大大提高了 FTP 的效率,。

圖片
FTP工作過程

DNS:域名系統(tǒng)

「域名系統(tǒng)(DNS,,Domain Name System)將人類可讀的域名 (例如,www.baidu.com) 轉(zhuǎn)換為機(jī)器可讀的 IP 地址 (例如,,220.181.38.148),。」 我們可以將其理解為專為互聯(lián)網(wǎng)設(shè)計(jì)的電話薄,。

圖片

dns-overview

IP 地址是一個(gè)網(wǎng)卡再網(wǎng)絡(luò)世界中的通訊地址,,我們可以把它理解為我們現(xiàn)實(shí)世界中的家庭地址。

「DNS 解析的完整流程是怎樣的呢,?」 (這個(gè)會(huì)在后面的文章中詳細(xì)介紹到)

圖片

DNS 解析的完整流程

Telnet:遠(yuǎn)程登陸協(xié)議

遠(yuǎn)程登陸協(xié)議,,通過一個(gè)終端登陸到其他服務(wù)器,建立在可靠的傳輸協(xié)議 TCP 之上,。

「Telnet協(xié)議的最大缺點(diǎn)之一是所有數(shù)據(jù)(包括用戶名和密碼)均以明文形式發(fā)送,,這有潛在的安全風(fēng)險(xiǎn)。這就是為什么如今很少使用Telnet并被一種稱為SSH的非常安全的協(xié)議所取代的主要原因,?!?/p>

SSH:安全的網(wǎng)絡(luò)傳輸協(xié)議

SSH( Secure Shell)是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議,。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題,。SSH 建立在可靠的傳輸協(xié)議 TCP 之上。

「Telnet 和 SSH 之間的主要區(qū)別在于 SSH 協(xié)議會(huì)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密保證數(shù)據(jù)安全性,?!?/p>

傳輸層(Transport layer)

「?jìng)鬏攲拥闹饕蝿?wù)就是負(fù)責(zé)向兩臺(tái)主機(jī)進(jìn)程之間的通信提供通用的數(shù)據(jù)傳輸服務(wù)」。應(yīng)用進(jìn)程利用該服務(wù)傳送應(yīng)用層報(bào)文,?!巴ㄓ玫摹笔侵覆⒉会槍?duì)某一個(gè)特定的網(wǎng)絡(luò)應(yīng)用,而是多種應(yīng)用可以使用同一個(gè)運(yùn)輸層服務(wù)。

「運(yùn)輸層主要使用以下兩種協(xié)議:」

  1. 「?jìng)鬏斂刂茀f(xié)議TCP」(Transmisson Control Protocol)--提供「面向連接」的,,「可靠的」數(shù)據(jù)傳輸服務(wù),。

  2. 「用戶數(shù)據(jù)協(xié)議UDP」(User Datagram Protocol)--提供「無(wú)連接」的,盡最大努力的數(shù)據(jù)傳輸服務(wù)(「不保證數(shù)據(jù)傳輸?shù)目煽啃浴梗?/p>

關(guān)于 TCP 和 UDP 的詳細(xì)介紹會(huì)在后面的文章中介紹到,。

網(wǎng)絡(luò)層(Network layer)

網(wǎng)絡(luò)層負(fù)責(zé)為分組交換網(wǎng)上的不同主機(jī)提供通信服務(wù),。在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)層把運(yùn)輸層產(chǎn)生的報(bào)文段或用戶數(shù)據(jù)報(bào)封裝成分組和包進(jìn)行傳送,。在TCP/IP體系結(jié)構(gòu)中,,由于網(wǎng)絡(luò)層使用IP協(xié)議,因此分組也叫IP數(shù)據(jù)報(bào),,簡(jiǎn)稱數(shù)據(jù)報(bào),。

注意??:「不要把運(yùn)輸層的“用戶數(shù)據(jù)報(bào)UDP”和網(wǎng)絡(luò)層的“IP數(shù)據(jù)報(bào)”弄混」。

「網(wǎng)絡(luò)層的還有一個(gè)任務(wù)就是選擇合適的路由,,使源主機(jī)運(yùn)輸層所傳下來(lái)的分株,,能通過網(wǎng)絡(luò)層中的路由器找到目的主機(jī)?!?/p>

這里強(qiáng)調(diào)指出,,網(wǎng)絡(luò)層中的“網(wǎng)絡(luò)”二字已經(jīng)不是我們通常談到的具體網(wǎng)絡(luò),而是指計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)模型中第三層的名稱.

互聯(lián)網(wǎng)是由大量的異構(gòu)(heterogeneous)網(wǎng)絡(luò)通過路由器(router)相互連接起來(lái)的,?;ヂ?lián)網(wǎng)使用的網(wǎng)絡(luò)層協(xié)議是無(wú)連接的網(wǎng)際協(xié)議(Intert Prococol)和許多路由選擇協(xié)議,因此互聯(lián)網(wǎng)的網(wǎng)絡(luò)層也叫做「網(wǎng)際層」或「IP層」,。

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

我們可以把網(wǎng)絡(luò)接口層看作是數(shù)據(jù)鏈路層和物理層的合體,。

  1. 數(shù)據(jù)鏈路層(data link layer)通常簡(jiǎn)稱為鏈路層( 兩臺(tái)主機(jī)之間的數(shù)據(jù)傳輸,總是在一段一段的鏈路上傳送的),?!笖?shù)據(jù)鏈路層的作用是將網(wǎng)絡(luò)層交下來(lái)的 IP 數(shù)據(jù)報(bào)組裝成幀,在兩個(gè)相鄰節(jié)點(diǎn)間的鏈路上傳送幀,。每一幀包括數(shù)據(jù)和必要的控制信息(如同步信息,,地址信息,差錯(cuò)控制等),?!?/p>

  2. 「物理層的作用是實(shí)現(xiàn)相鄰計(jì)算機(jī)節(jié)點(diǎn)之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質(zhì)和物理設(shè)備的差異」

最后再分享一個(gè)關(guān)于OSI 七層模型非常不錯(cuò)的總結(jié)圖片,!

圖片

Reference

  1. https:///@james_aka_yale/the-4-layer-internet-model-network-engineers-need-to-know-e78432614a4f 

  2. https://www./tcp-ip-model.html

  3. https://www./study-guides/ccna/ch1/1-4-tcpip-model/

  4. OSI 七層模型與 TCP/IP 四層模型— https://wsgzao./post/osi/

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多