精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux網絡棧總體架構

麥辣雞腿堡 ? 來源:技術簡說 ? 作者:技術簡說 ? 2023-07-24 10:59 ? 次閱讀

網絡棧總體架構

總體結構

網絡棧指的是為了進行網絡數據包的收發,由內核實現的一套函數集合。網絡棧安裝預先設置的一套規則對用戶數據進行封裝從而達到網絡上主機之間數據交換的目的。

最初按照這種分層設計的思想,網絡棧被分為了4層,從上到下依次為應用層、傳輸層、網絡層、鏈路層,而且在每個層次都定義了數據的封裝方式,隨著網絡協議的發展,四層分層架構滿足不了新的需求,OSI七層網絡棧出現,在原先的應用層進行了更細致的劃分,將應用層劃為:應用層、表示層、會話層。

以OSI七層模式為依據,學習Linux1.2內核網絡棧實現中的文件對應關系:

圖片

應用層:

該層定義了一套用戶調用接口函數,即socket套接字接口函數,如socket、bind、accept等,這套接口函數由Linux操作系統的glicbc庫提供,網絡棧實現不涉及這套函數。

表示層、會話層:

相應的功能實現對于BSD Socket或INET Socket層。

傳輸層:

如常見的TCP、UDP協議,對于傳輸層的實現集中在TCP協議和UDP協議上

該層涉及的文件主要有:tcp.c udp.c igmp.c snmp.h

網絡層:

數據包路由功能實現在網絡層,這一層也是IP協議所在的層次,RAW套接字也劃分在這一層,用戶必須自己創建IP首部和傳輸層協議首部。

該層涉及的文件主要有:ip.c route.c ip_fw.c raw.c packet.c

鏈路層:

鏈路層實現是作為網絡棧與底層硬件驅動的一個接口層存在的。

該層涉及的文件主要有:dev.c p8022.c panap.c p8023.c eth.c arp.c

“驅動層”:

OSI七層模式沒有這一層,將驅動層序所在層次定義為“驅動層”,該層與鏈路層進行交互,完成數據包的收發公工作。

該層涉及的文件定義在dricers子目錄下的一些網絡設備的驅動程序。

物理層:

網絡棧實現不涉及物理層

Linux網絡棧層次命名

網絡棧分層如下:BSD socket層、INET層、傳輸層(L4)、網絡層(L3)、鏈路層(L2)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11229

    瀏覽量

    208927
  • 網絡
    +關注

    關注

    14

    文章

    7517

    瀏覽量

    88628
收藏 人收藏

    評論

    相關推薦

    結合pppoe協議分析Linux網絡的實現方式

    這個標題起得比較糾結,之前熟知的PPPOE是作為PPP協議的底層載體,而實際上它也是一個完整的協議,不過它的實現比較簡單,由它出發,可以很容易理清楚Linux網絡的實現方式。 1.總述 Li
    的頭像 發表于 10-26 15:21 ?2632次閱讀
    結合pppoe協議分析<b class='flag-5'>Linux</b><b class='flag-5'>網絡</b><b class='flag-5'>棧</b>的實現方式

    深度解析Linux網絡路徑及sk_buff struct 數據結構

    理解 Linux 網絡(1):Linux 網絡協議簡單總結 本系列文章總結
    的頭像 發表于 10-22 15:04 ?5563次閱讀
    深度解析<b class='flag-5'>Linux</b><b class='flag-5'>網絡</b>路徑及sk_buff struct 數據結構

    Linux網絡原理與實現

    本文嘗試從技術研發與工程實踐(而非純理論學習)角度,在原理與實現、監控告警、 配置調優三方面介紹內核5.10 網絡。由于內容非常多,因此分為了幾篇系列文章。
    發表于 08-10 08:58 ?3707次閱讀

    linux網絡驅動

    目前正在學習linux下飛思卡爾imx6q_sabre的ARM A9開發板的網絡驅動,學的云里霧里的,哪位高手幫忙指點一下,最好從代碼的角度來說。上層用戶發送數據通建立socket、經過協議、經過網卡發送到
    發表于 08-22 15:23

    UE側協議架構

    UE側協議架構
    發表于 09-18 15:25 ?1333次閱讀

    LINUX網絡協議實現分析-SKBUFF的實現

    了解網絡協議的人都知道,網絡協議是一個有層次的軟件結構,層與層之間通過預定的接口傳遞網絡報文。網絡
    發表于 04-07 22:32 ?26次下載

    嵌入式LINUX內核網絡(源代碼)

    本文選擇 LINUX-1.2.13 內核所包含的網絡部分代碼分析(注意網絡部分代碼與內核代碼的演變是分離的,如LINUX1.2.8 網絡代碼
    發表于 05-12 10:39 ?57次下載
    嵌入式<b class='flag-5'>LINUX</b>內核<b class='flag-5'>網絡</b><b class='flag-5'>棧</b>(源代碼)

    Linux平臺雙協議主機網絡管控系統設計與實現

    Linux平臺雙協議主機網絡管控系統設計與實現_賈銳
    發表于 01-07 19:00 ?2次下載

    Linux網絡技術中最核心的部分--TCP/IP協議

    今天給大家介紹Linux網絡技術中最核心的部分--TCP/IP協議 。 我們先看一下抽象的網絡協議模型 再按分層思想看
    的頭像 發表于 06-29 15:14 ?2322次閱讀

    是什么?有什么作用?

    大多數的處理器架構,都有實現硬件。有專門的指針寄存器,以及特定的硬件指令來完成 入/出 的操作。例如在 ARM
    的頭像 發表于 06-17 11:19 ?1.2w次閱讀

    【RT-Thread學習筆記】基于Linux的反匯編和追溯

    【經驗分享】基于Linux命令行編程環境的追溯和反匯編技術實踐分享
    的頭像 發表于 07-30 13:44 ?1335次閱讀
    【RT-Thread學習筆記】基于<b class='flag-5'>Linux</b>的反匯編和<b class='flag-5'>棧</b>追溯

    linux網絡監控及調優:數據接收

    linux 網絡的監控及調優上沒有捷徑可言,如果你想做有效的調優,就必須搞清楚各個系統之間是怎么交互的。
    的頭像 發表于 03-25 16:44 ?1214次閱讀

    linux中的進程,線程,內核的區別

    大多數的處理器架構,都有實現硬件。有專門的指針寄存器,以及特定的硬件指令來完成 入/出 的操作。例如在 ARM
    發表于 08-18 10:57 ?457次閱讀
    <b class='flag-5'>linux</b>中的進程<b class='flag-5'>棧</b>,線程<b class='flag-5'>棧</b>,內核<b class='flag-5'>棧</b>的區別

    Linux網絡技術的相關知識

    網絡是一個很復雜的協議,今天網絡這么發達,網絡協議起到關鍵性作用。 這里就給大家詳細描述一下:Linux
    的頭像 發表于 08-24 10:33 ?643次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網絡</b>技術<b class='flag-5'>棧</b>的相關知識

    Linux網絡協議的實現

    請求并與底層的網絡硬件進行交互。本文將深入探討 Linux 網絡協議架構與實現,涵蓋數據包處理流程、關鍵模塊、協議
    的頭像 發表于 09-10 09:51 ?260次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網絡</b>協議<b class='flag-5'>棧</b>的實現