日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

摘要

  1. 網絡模型
  2. 網絡協議棧
  3. 網絡包接收流程
  4. 網絡包發送流程

網絡模型

網絡模型按照標準有幾類劃分?

  • OSI模型
  • TCP/IP模型

OSI模型的劃分層次?

  • 應用層:負責給應用程序提供統一的接口
  • 表示層:負責把數據轉換成兼容另一個系統能識別的格式
  • 會話層:負責建立、管理和終止表示層實體之間的通信會話
  • 傳輸層:負責端到端的數據傳輸
  • 網絡層:負責數據的路由、轉發、分片
  • 數據鏈路層:負責數據的封幀和差錯檢測,以及mac尋址
  • 物理層:負責在物理鏈路中傳輸數據幀

為什么出現了TCP/IP模型?

OSI模型過于復雜,只是概念理論上的分層,沒有具體的實現方案。

TCP/IP模型的分層?

  • 應用層:負責向用戶提供一組應用程序,比如HTTP、DNS、FTP等
  • 傳輸層:負責端到端的數據傳輸,比如TCP、UDP等
  • 網絡層:負責網路包封裝、分片、路由、轉發,比如IP、ICMP等
  • 網絡接口層:負責網絡包在物理網絡中的傳輸,比如網絡包的封幀、MAC尋址、差錯檢測以及通過網卡傳輸網絡幀等

OSI模型和TCP/IP模型的層次對應關系如下圖:

一個網絡包的心路歷程

 

網絡協議棧

網絡通信的主機間必須要遵從一定的網絡協議。我們的網絡包每經過一層,都會被當前層進行一定的包裝,當到達目的主機時,也會進行拆包裝操作。

每一層給數據包做了哪些包裝?

一個網絡包的心路歷程

 

  • 傳輸層:在數據包前面增加了TCP頭
  • 網絡層:在傳輸層數據包的基礎上增加了IP頭
  • 網絡接口層:在網絡層數據包的基礎上增加了幀頭幀尾

物理鏈路中的最大傳輸大小是?

在以太網中規定,最大傳輸單元(MTU)是1500字節,即網絡層IP包的最大值。當IP數據包超過MTU時,就需要在網絡層對其進行分片傳輸。

linux中網絡協議棧大體組成

一個網絡包的心路歷程

 

  • 應用程序需要通過系統調用,來跟Socket層交互
  • Socket層的下面就是傳輸層、網絡層和網絡接口層
  • 最下面的一層則是網卡驅動程序和網卡硬件設備

網絡包接收

主機中網絡包的門神是?

網卡,專門負責接收和發送網絡包,網卡接收到一個網絡包以后,會通過DMA技術,將網絡包放入到Ring Buffer(環形緩沖區)。

操作系統是如何判斷一個網絡包到達?

  • 中斷:如果網絡包過多,CPU會被頻繁中斷,影響系統效率
  • NAPI機制

NAPI機制是什么?

混合中斷和輪詢的方式來接收網絡包,核心就是首先采用中斷喚醒數據接收的服務程序,然后通過poll方法來輪詢數據。

網絡包到達時,網卡發起硬件中斷,執行網卡驅動程序中的中斷處理函數,中斷處理函數完成以后需要暫時屏蔽中斷,然后通過喚醒軟中斷來輪詢處理數據,直到沒有新數據時才恢復中斷,這樣一次中斷可以處理若干個網絡包。

軟中斷如何處理網絡包?

  1. 從Ring Buffer中拷貝數據到內核緩沖區中,從而把網絡包交給網絡協議棧處理
  2. 網絡包首先進入網絡接口層,在這一層會檢查報文的合法性,如果不合法則丟棄,合法則會找出該網絡包的上層協議類型,比如是IPv4還是IPv6,接著去掉幀頭幀尾,交給網絡層
  3. 在網絡層,會取出IP包,判斷網絡包下一步走向,比如交給上層處理還是轉發出去。當確認這個網絡包是要發送給本機以后,就會從IP頭分析上一層的協議是TCP還是UDP,接著去掉IP頭,然后交給傳輸層。
  4. 傳輸層會取出TCP頭或UDP頭,根據四元組(源IP、源端口、目的IP、目的端口)作為標識,找出對應的Socket,并把數據拷貝到Socket的接收緩沖區
  5. 最后,應用層程序調用Sokcet接口,從內核的Socket接收緩沖區讀取新的數據到應用層。
一個網絡包的心路歷程

 

網絡包的發送

發送流程和接收流程相反。

網絡層在給數據包增加IP頭時,會通過查詢路由表確認下一跳的IP,并按照MTU進行分片。

分片后的網絡包,在到達網絡接口層后,會通過ARP協議獲取下一跳的MAC地址,然后增加幀頭幀尾,放到發包隊列中。

一切準備好以后,會觸發軟中斷告訴網卡驅動程序需要發送網絡包,驅動程序通過DMA從發包隊列中讀取網絡包,將其放到網卡的隊列中,隨后網卡將網絡包發出去。

分享到:
標簽:網絡
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定