當前位置:首頁(yè) > 資訊動态
資訊動态
摸清網絡的第一步
閱讀次數:552次發布時間:2021-03-15

來源:程序猿


之前寫了那麽多(duō)網絡的文(wén)章,竟然發現對「網絡協議分(fēn)層」做詳細介紹,這次就把這一塊補上。


要摸清網絡,那麽第一步肯定是要清楚網絡協議的分(fēn)層結構,看分(fēn)層結構相當于從上帝視角來看網絡,這樣後續針對每一個層深入學(xué)習就不會摸不着頭腦。


對于同一台設備上的進程間通信,有(yǒu)很(hěn)多(duō)種方式,比如有(yǒu)管道、消息隊列、共享内存、信号等方式,而對于不同設備上的進程間通信,就需要網絡通信,而設備是多(duō)樣性的,所以要兼容多(duō)種多(duō)樣的設備,就協商(shāng)出了一套通用(yòng)的網絡協議

這個網絡協議是分(fēn)層的,每一層都有(yǒu)各自的作(zuò)用(yòng)和職責,接下來就分(fēn)别對每一層進行介紹。



應用(yòng)層

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


所以,應用(yòng)層隻需要專注于為(wèi)用(yòng)戶提供應用(yòng)功能(néng),不用(yòng)去關心數據是如何傳輸的,就類似于,我們寄快遞的時候,隻需要把包裹交給快遞員,由他(tā)負責運輸快遞,我們不需要關心快速是如何被運輸的。


而且應用(yòng)層是工(gōng)作(zuò)在操作(zuò)系統中(zhōng)的用(yòng)戶态,傳輸層及以下則工(gōng)作(zuò)在内核态。


傳輸層

應用(yòng)層的數據包會傳給傳輸層,傳輸層Transport Layer)是為(wèi)應用(yòng)層提供網絡支持的。


在傳輸層會有(yǒu)兩個傳輸協議,分(fēn)别是 TCP 和 UDP。


TCP 的全稱叫傳輸層控制協議(Transmission Control Protocol),大部分(fēn)應用(yòng)使用(yòng)的正是 TCP 傳輸層協議,比如 HTTP 應用(yòng)層協議。TCP 相比 UDP 多(duō)了很(hěn)多(duō)特性,比如流量控制、超時重傳、擁塞控制等,這些都是為(wèi)了保證數據包能(néng)可(kě)靠地傳輸給對方。

 

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


應用(yòng)需要傳輸的數據可(kě)能(néng)會非常大,如果直接傳輸就不好控制,因此當傳輸層的數據包大小(xiǎo)超過 MSS(TCP 最大報文(wén)段長(cháng)度) ,就要将數據包分(fēn)塊,這樣即使中(zhōng)途有(yǒu)一個分(fēn)塊丢失或損壞了,隻需要重新(xīn)這一個分(fēn)塊,而不用(yòng)重新(xīn)發送整個數據包。在 TCP 協議中(zhōng),我們把每個分(fēn)塊稱為(wèi)一個 TCP 段TCP Segment)。


當設備作(zuò)為(wèi)接收方時,傳輸層則要負責把數據包傳給應用(yòng),但是一台設備上可(kě)能(néng)會有(yǒu)很(hěn)多(duō)應用(yòng)在接收或者傳輸數據,因此需要用(yòng)一個編号将應用(yòng)區(qū)分(fēn)開來,這個編号就是端口


比如 80 端口通常是 Web 服務(wù)器用(yòng)的,22 端口通常是遠(yuǎn)程登錄服務(wù)器用(yòng)的。而對于浏覽器(客戶端)中(zhōng)的每個标簽欄都是一個獨立的進程,操作(zuò)系統會為(wèi)這些進程分(fēn)配臨時的端口号。


由于傳輸層的報文(wén)中(zhōng)會攜帶端口号,因此接收方可(kě)以識别出該報文(wén)是發送給哪個應用(yòng)。


網絡層

傳輸層可(kě)能(néng)大家剛接觸的時候,會認為(wèi)它負責将數據從一個設備傳輸到另一個設備,事實上它并不負責。


實際場景中(zhōng)的網絡環節是錯綜複雜的,中(zhōng)間有(yǒu)各種各樣的線(xiàn)路和分(fēn)叉路口,如果一個設備的數據要傳輸給另一個設備,就需要在各種各樣的路徑和節點進行選擇,而傳輸層的設計理(lǐ)念是簡單、高效、專注,如果傳輸層還負責這一塊功能(néng)就有(yǒu)點違背設計原則了。


也就是說,我們不希望傳輸層協議處理(lǐ)太多(duō)的事情,隻需要服務(wù)好應用(yòng)即可(kě),讓其作(zuò)為(wèi)應用(yòng)間數據傳輸的媒介,幫助實現應用(yòng)到應用(yòng)的通信,而實際的傳輸功能(néng)就交給下一層,也就是網絡層Internet Layer)。


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



網絡層負責将數據從一個設備傳輸到另一個設備,世界上那麽多(duō)設備,又(yòu)該如何找到對方呢(ne)?因此,網絡層需要有(yǒu)區(qū)分(fēn)設備的編号。


我們一般用(yòng) IP 地址給設備進行編号,對于 IPv4 協議, IP 地址共 32 位,分(fēn)成了四段,每段是 8 位。隻有(yǒu)一個單純的 IP 地址雖然做到了區(qū)分(fēn)設備,但是尋址起來就特别麻煩,全世界那麽多(duō)台設備,難道一個一個去匹配?這顯然不科(kē)學(xué)。

因此,需要将 IP 地址分(fēn)成兩種意義:

  • 一個是網絡号,負責标識該 IP 地址是屬于哪個子網的;

  • 一個是主機号,負責标識同一子網下的不同主機;

怎麽分(fēn)的呢(ne)?這需要配合子網掩碼才能(néng)算出 IP 地址 的網絡号和主機号。那麽在尋址的過程中(zhōng),先匹配到相同的網絡号,才會去找對應的主機。


除了尋址能(néng)力, IP 協議還有(yǒu)另一個重要的能(néng)力就是路由。實際場景中(zhōng),兩台設備并不是用(yòng)一條網線(xiàn)連接起來的,而是通過很(hěn)多(duō)網關、路由器、交換機等衆多(duō)網絡設備連接起來的,那麽就會形成很(hěn)多(duō)條網絡的路徑,因此當數據包到達一個網絡節點,就需要通過算法決定下一步走哪條路徑。


所以,IP 協議的尋址作(zuò)用(yòng)是告訴我們去往下一個目的地該朝哪個方向走,路由則是根據「下一個目的地」選擇路徑。尋址更像在導航,路由更像在操作(zuò)方向盤

數據鏈路層

實際場景中(zhōng),網絡并不是一個整體(tǐ),比如你家和我家就不屬于一個網絡,所以數據不僅可(kě)以在同一個網絡中(zhōng)設備間進行傳輸,也可(kě)以跨網絡進行傳輸。


一旦數據需要跨網絡傳輸,就需要有(yǒu)一個設備同時在兩個網絡當中(zhōng),這個設備一般是路由器,路由器可(kě)以通過路由表計算出下一個要去的 IP 地址。


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


于是,就需要有(yǒu)一個專門的層來标識網絡中(zhōng)的設備,讓數據在一個鏈路中(zhōng)傳輸,這就是數據鏈路層Data Link Layer),它主要為(wèi)網絡層提供鏈路級别傳輸的服務(wù)。


每一台設備的網卡都會有(yǒu)一個 MAC 地址,它就是用(yòng)來唯一标識設備的。路由器計算出了下一個目的地 IP 地址,再通過 ARP 協議找到該目的地的 MAC 地址,這樣就知道這個 IP 地址是哪個設備的了。


物(wù)理(lǐ)層

當數據準備要從設備發送到網絡時,需要把數據包轉換成電(diàn)信号,讓其可(kě)以在物(wù)理(lǐ)介質(zhì)中(zhōng)傳輸,這一層就是物(wù)理(lǐ)層Physical Layer),它主要是為(wèi)數據鏈路層提供二進制傳輸的服務(wù)。


總結

綜上所述,網絡協議通常是由上到下,分(fēn)成 5 層,分(fēn)别是應用(yòng)層、傳輸層、網絡層、數據鏈路層和物(wù)理(lǐ)層。


Copyright © 2020-2025 All Rights Reserved 安(ān)徽長(cháng)天信息技(jì )術有(yǒu)限公(gōng)司 版權所有(yǒu) 備案号京ICP證000000号
丁香花高清电影在线观看完整版 成人性生交大片免费看96 欧美性猛交99久久久久99按摩 农村+肉+屁股+粗+大+岳 被伴郎的内捧猛烈进出H 最好看免费观看高清电影大全 四虎影音 国产熟妇与子伦HD 最近最新MV字幕免费观看 校花被黑人伦流澡H李芷珊 特级毛片片A片AAAAAA 一个好妈妈的D3申字电影 疯狂试爱三 边做饭边被躁高H徐婉婉 大地电影资源第二页 情欲荡乳办公室HD 日韩黄色视频 乱世桃花免费观看完整版高清 无码精品人妻一区二区三刘亦菲 一区二区三区精密机械公司 欧美性做爰又大又粗又长 黑料网今日黑料首页 日本免费三色电费2024年 成全影视大全在线播放 蜜桃成熟时3D 巜生殖按摩1995在线播放 老牛影视文化传媒有限公司官方 真人性做爰试看60分钟 维修工人的绝遇中文播放 天天操夜夜操 十九岁免费观看全集完整版 免费观看又色又爽又黄的崩锅 1—40集电视剧免费观看在线播放 叔叔别撩我免费观看电视剧 17岁中国高清免费完整版 被警察C哭高H野外糙汉男男 麻花传剧原创MV免费观看 女人脱精光直播APP大全 国产做爰又粗又大太疼了 《熟妇的荡欲》无删减电影 高H秘书不许穿内裤1VH 今夜无人入睡免费观看第7集 奶大器好H野战嫁给老男人视频 最美情侣国语版免费高清视频 红尘影院免费观看电视剧 少女大人第一集免费观看 艳妇臀荡乳欲伦岳TXT免费下载 三年片在线观看免费大全爱奇艺 三年在线观看免费完整版中文 亚洲精品字幕