www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > 小林coding
[導讀]之前寫了那么多網(wǎng)絡(luò)的文章,竟然發(fā)現(xiàn)對「網(wǎng)絡(luò)協(xié)議分層」做詳細介紹,這次就把這一塊補上。

之前寫了那么多網(wǎng)絡(luò)的文章,竟然發(fā)現(xiàn)對「網(wǎng)絡(luò)協(xié)議分層」做詳細介紹,這次就把這一塊補上。

要摸清網(wǎng)絡(luò),那么第一步肯定是要清楚網(wǎng)絡(luò)協(xié)議的分結(jié)構(gòu),看分層結(jié)構(gòu)相當于從上帝視角來看網(wǎng)絡(luò),這樣后續(xù)針對每一個層深入學習就不會摸不著頭腦。

對于同一臺設(shè)備上的進程間通信,有很多種方式,比如有管道、消息隊列、共享內(nèi)存、信號等方式,而對于不同設(shè)備上的進程間通信,就需要網(wǎng)絡(luò)通信,而設(shè)備是多樣性的,所以要兼容多種多樣的設(shè)備,就協(xié)商出了一套通用的網(wǎng)絡(luò)協(xié)議

這個網(wǎng)絡(luò)協(xié)議是分層的,每一層都有各自的作用和職責,接下來就分別對每一層進行介紹。



應(yīng)用層

最上層的,也是我們能直接接觸到的就是應(yīng)用層Application Layer),我們電腦或手機使用的應(yīng)用軟件都是在應(yīng)用層實現(xiàn)。那么,當兩個不同設(shè)備的應(yīng)用需要通信的時候,應(yīng)用就把應(yīng)用數(shù)據(jù)傳給下一層,也就是傳輸層。

所以,應(yīng)用層只需要專注于為用戶提供應(yīng)用功能,不用去關(guān)心數(shù)據(jù)是如何傳輸?shù)模皖愃朴?,我們寄快遞的時候,只需要把包裹交給快遞員,由他負責運輸快遞,我們不需要關(guān)心快速是如何被運輸?shù)摹?/span>

而且應(yīng)用層是工作在操作系統(tǒng)中的用戶態(tài),傳輸層及以下則工作在內(nèi)核態(tài)。


傳輸層

應(yīng)用層的數(shù)據(jù)包會傳給傳輸層,傳輸層Transport Layer)是為應(yīng)用層提供網(wǎng)絡(luò)支持的。



在傳輸層會有兩個傳輸協(xié)議,分別是 TCP 和 UDP。

TCP 的全稱叫傳輸層控制協(xié)議(Transmission Control Protocol),大部分應(yīng)用使用的正是 TCP 傳輸層協(xié)議,比如 HTTP 應(yīng)用層協(xié)議。TCP 相比 UDP 多了很多特性,比如流量控制、超時重傳、擁塞控制等,這些都是為了保證數(shù)據(jù)包能可靠地傳輸給對方。

UDP 就相對很簡單,簡單到只負責發(fā)送數(shù)據(jù)包,不保證數(shù)據(jù)包是否能抵達對方,但它實時性相對更好,傳輸效率也高。當然,UDP 也可以實現(xiàn)可靠傳輸,把 TCP 的特性在應(yīng)用層上實現(xiàn)就可以,不過要實現(xiàn)一個商用的可靠 UDP 傳輸協(xié)議,也不是一件簡單的事情。

應(yīng)用需要傳輸?shù)臄?shù)據(jù)可能會非常大,如果直接傳輸就不好控制,因此當傳輸層的數(shù)據(jù)包大小超過 MSS(TCP 最大報文段長度) ,就要將數(shù)據(jù)包分塊,這樣即使中途有一個分塊丟失或損壞了,只需要重新這一個分塊,而不用重新發(fā)送整個數(shù)據(jù)包。在 TCP 協(xié)議中,我們把每個分塊稱為一個 TCP 段TCP Segment)。


當設(shè)備作為接收方時,傳輸層則要負責把數(shù)據(jù)包傳給應(yīng)用,但是一臺設(shè)備上可能會有很多應(yīng)用在接收或者傳輸數(shù)據(jù),因此需要用一個編號將應(yīng)用區(qū)分開來,這個編號就是端口

比如 80 端口通常是 Web 服務(wù)器用的,22 端口通常是遠程登錄服務(wù)器用的。而對于瀏覽器(客戶端)中的每個標簽欄都是一個獨立的進程,操作系統(tǒng)會為這些進程分配臨時的端口號。

由于傳輸層的報文中會攜帶端口號,因此接收方可以識別出該報文是發(fā)送給哪個應(yīng)用。


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

傳輸層可能大家剛接觸的時候,會認為它負責將數(shù)據(jù)從一個設(shè)備傳輸?shù)搅硪粋€設(shè)備,事實上它并不負責。

實際場景中的網(wǎng)絡(luò)環(huán)節(jié)是錯綜復雜的,中間有各種各樣的線路和分叉路口,如果一個設(shè)備的數(shù)據(jù)要傳輸給另一個設(shè)備,就需要在各種各樣的路徑和節(jié)點進行選擇,而傳輸層的設(shè)計理念是簡單、高效、專注,如果傳輸層還負責這一塊功能就有點違背設(shè)計原則了。

也就是說,我們不希望傳輸層協(xié)議處理太多的事情,只需要服務(wù)好應(yīng)用即可,讓其作為應(yīng)用間數(shù)據(jù)傳輸?shù)拿浇?,幫助實現(xiàn)應(yīng)用到應(yīng)用的通信,而實際的傳輸功能就交給下一層,也就是網(wǎng)絡(luò)層Internet Layer)。


網(wǎng)絡(luò)層最常使用的是 IP 協(xié)議(Internet Protocol),IP 協(xié)議會將傳輸層的報文作為數(shù)據(jù)部分,再加上 IP 包頭組裝成 IP 報文,如果 IP 報文大小超過 MTU(以太網(wǎng)中一般為 1500 字節(jié))就會再次進行分片,得到一個即將發(fā)送到網(wǎng)絡(luò)的 IP 報文。


網(wǎng)絡(luò)層負責將數(shù)據(jù)從一個設(shè)備傳輸?shù)搅硪粋€設(shè)備,世界上那么多設(shè)備,又該如何找到對方呢?因此,網(wǎng)絡(luò)層需要有區(qū)分設(shè)備的編號。

我們一般用 IP 地址給設(shè)備進行編號,對于 IPv4 協(xié)議, IP 地址共 32 位,分成了四段,每段是 8 位。只有一個單純的 IP 地址雖然做到了區(qū)分設(shè)備,但是尋址起來就特別麻煩,全世界那么多臺設(shè)備,難道一個一個去匹配?這顯然不科學。

因此,需要將 IP 地址分成兩種意義:

  • 一個是網(wǎng)絡(luò)號,負責標識該 IP 地址是屬于哪個子網(wǎng)的;

  • 一個是主機號,負責標識同一子網(wǎng)下的不同主機;

怎么分的呢?這需要配合子網(wǎng)掩碼才能算出 IP 地址 的網(wǎng)絡(luò)號和主機號。那么在尋址的過程中,先匹配到相同的網(wǎng)絡(luò)號,才會去找對應(yīng)的主機。

除了尋址能力, IP 協(xié)議還有另一個重要的能力就是路由。實際場景中,兩臺設(shè)備并不是用一條網(wǎng)線連接起來的,而是通過很多網(wǎng)關(guān)、路由器、交換機等眾多網(wǎng)絡(luò)設(shè)備連接起來的,那么就會形成很多條網(wǎng)絡(luò)的路徑,因此當數(shù)據(jù)包到達一個網(wǎng)絡(luò)節(jié)點,就需要通過算法決定下一步走哪條路徑。

所以,IP 協(xié)議的尋址作用是告訴我們?nèi)ネ乱粋€目的地該朝哪個方向走,路由則是根據(jù)「下一個目的地」選擇路徑。尋址更像在導航,路由更像在操作方向盤。


數(shù)據(jù)鏈路層

實際場景中,網(wǎng)絡(luò)并不是一個整體,比如你家和我家就不屬于一個網(wǎng)絡(luò),所以數(shù)據(jù)不僅可以在同一個網(wǎng)絡(luò)中設(shè)備間進行傳輸,也可以跨網(wǎng)絡(luò)進行傳輸。

一旦數(shù)據(jù)需要跨網(wǎng)絡(luò)傳輸,就需要有一個設(shè)備同時在兩個網(wǎng)絡(luò)當中,這個設(shè)備一般是路由器,路由器可以通過路由表計算出下一個要去的 IP 地址。

那問題來了,路由器怎么知道這個 IP 地址是哪個設(shè)備的呢?

于是,就需要有一個專門的層來標識網(wǎng)絡(luò)中的設(shè)備,讓數(shù)據(jù)在一個鏈路中傳輸,這就是數(shù)據(jù)鏈路層Data Link Layer),它主要為網(wǎng)絡(luò)層提供鏈路級別傳輸?shù)姆?wù)。



每一臺設(shè)備的網(wǎng)卡都會有一個 MAC 地址,它就是用來唯一標識設(shè)備的。路由器計算出了下一個目的地 IP 地址,再通過 ARP 協(xié)議找到該目的地的 MAC 地址,這樣就知道這個 IP 地址是哪個設(shè)備的了。


物理層

當數(shù)據(jù)準備要從設(shè)備發(fā)送到網(wǎng)絡(luò)時,需要把數(shù)據(jù)包轉(zhuǎn)換成電信號,讓其可以在物理介質(zhì)中傳輸,這一層就是物理層Physical Layer),它主要是為數(shù)據(jù)鏈路層提供二進制傳輸?shù)姆?wù)。




總結(jié)

綜上所述,網(wǎng)絡(luò)協(xié)議通常是由上到下,分成 5 層,分別是應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。



免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉