91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux網(wǎng)絡(luò)技術(shù)中最核心的部分--TCP/IP協(xié)議棧

Linux愛(ài)好者 ? 來(lái)源:極客重生 ? 作者:Alex碼農(nóng)的藝術(shù) ? 2021-06-29 15:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天給大家介紹Linux網(wǎng)絡(luò)技術(shù)中最核心的部分--TCP/IP協(xié)議棧 。

我們先看一下抽象的網(wǎng)絡(luò)協(xié)議棧模型

再按分層思想看Linux內(nèi)核協(xié)議棧實(shí)現(xiàn)框架

1. socket layer

socket對(duì)象層次結(jié)構(gòu)

socket系統(tǒng)調(diào)用(socket,bind,listen,accept,send,recv等)

BSD socket API

協(xié)議棧sock抽象適配層

tcp/udp/icmp/raw/packet/netlink/。。. socket管理

socket選項(xiàng)

2. tcp/udp layer

TCP報(bào)文收發(fā)

TCP Socket連接管理

TCP協(xié)議狀態(tài)機(jī),定時(shí)器處理

TCP滑動(dòng)窗口,擁塞控制框架

1. IP handle

報(bào)文分片和重組

IP協(xié)議字段處理,IP選項(xiàng),Qos,TTL,校驗(yàn)等處理

報(bào)文接收(解封裝)和發(fā)送(IP協(xié)議封裝,提供給上層接口

組播,ICMP協(xié)議處理等

2. netlfilter框架

5個(gè)HOOK點(diǎn):

PREROUTING:數(shù)據(jù)包進(jìn)入路由表之前

INPUT:通過(guò)路由表后目的地為本機(jī)

FORWARD:通過(guò)路由表后,目的地不為本機(jī)

OUTPUT:由本機(jī)產(chǎn)生,向外發(fā)送

POSTROUTIONG:發(fā)送到網(wǎng)卡接口之前。

每個(gè)HOOK點(diǎn)都會(huì)執(zhí)行一些函數(shù),大致分為下面幾個(gè)表:

NAT表: 用于實(shí)現(xiàn)nat功能,端口映射,地址映射等

mangle表: 用來(lái)修改報(bào)文,例如更改IP標(biāo)頭的TOS / DSCP / ECN位

filter表:用來(lái)過(guò)濾報(bào)文

raw表:用來(lái)提前標(biāo)記報(bào)文不走一些流程(比如不需要建會(huì)話)

conntrack表:連接跟蹤表,跟蹤連接會(huì)話,用來(lái)實(shí)現(xiàn)狀態(tài)防火墻,NAT功能的基礎(chǔ),可擴(kuò)展更多功能。

主要功能

無(wú)狀態(tài)數(shù)據(jù)包過(guò)濾(IPv4和IPv6)

有狀態(tài)的數(shù)據(jù)包過(guò)濾(IPv4和IPv6)

各種網(wǎng)絡(luò)地址和端口轉(zhuǎn)換,例如NAT / NAPT(IPv4和IPv6)

靈活可擴(kuò)展的基礎(chǔ)架構(gòu)

第三方擴(kuò)展的API

3. 路由系統(tǒng)

FIB(The Forwarding Information Base )

策略路由 Policies

路由匹配HASH,LC-tries等

主要功能

三層路由轉(zhuǎn)發(fā)

4. 鄰居系統(tǒng)

ARP協(xié)議(IPV4),NDP協(xié)議(IPV6)

鄰居表新建,更新,老化機(jī)制,狀態(tài)轉(zhuǎn)化等

API接口

主要功能

獲取mac地址

1. Link layer

FDB(macforwarding database)管理

port,bridge對(duì)象管理和報(bào)文接收,轉(zhuǎn)發(fā)

STP,vlan協(xié)議相關(guān)處理

主要功能

實(shí)現(xiàn)二層mac轉(zhuǎn)發(fā)

鏈路協(xié)議

IEEE 802協(xié)議族(STP,VLAN,以太網(wǎng),無(wú)線wifi,令牌環(huán)等)

Packt Type

Protocol handler

Packet_type list

主要功能

鏈路層報(bào)文協(xié)議分發(fā)

Traffic control

qdisc :通過(guò)隊(duì)列將數(shù)據(jù)包緩存起來(lái),用來(lái)控制網(wǎng)絡(luò)收發(fā)的速度

class :用來(lái)表示控制策略

filter :用來(lái)將數(shù)據(jù)包劃分到具體的控制策略主要功能

提供的流量限速、整形和策略控制機(jī)制(Qos)

2. hardware driver layer

網(wǎng)絡(luò)設(shè)備管理

RPS,RFS,XPS,GRO,GSO,TSO等優(yōu)化特性

網(wǎng)卡軟中斷收發(fā),NAPI,DMA

支持各種網(wǎng)卡驅(qū)動(dòng)實(shí)現(xiàn)

協(xié)議棧文件系統(tǒng)

Proc FileSystem

/proc/net

/proc/sys/net

ipv4

core

Sys FileSystem

/sys/class/net/ethx

主要功能

提供協(xié)議棧相關(guān)配置查詢和設(shè)置

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IPv6
    +關(guān)注

    關(guān)注

    6

    文章

    735

    瀏覽量

    62653
  • ARP協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    7120
  • NDP
    NDP
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    1651

原文標(biāo)題:Linux 網(wǎng)絡(luò)硬核系列:TCP/IP 協(xié)議棧

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TCP/IP(Socket)協(xié)議深度剖析

    TCP/IP協(xié)議作為互聯(lián)網(wǎng)通信的基礎(chǔ)架構(gòu),其核心機(jī)制Socket編程承載著全球數(shù)據(jù)交換的使命。本文將深入剖析這一協(xié)議的七層架構(gòu)、三次握手與四
    的頭像 發(fā)表于 03-03 17:06 ?459次閱讀

    工業(yè)級(jí)4G路由器:TCP/IP與UDP協(xié)議,解鎖工業(yè)物聯(lián)網(wǎng)高效傳輸新范式

    /以太網(wǎng)能力,正重新定義工業(yè)數(shù)據(jù)傳輸?shù)倪吔纭F?b class='flag-5'>核心優(yōu)勢(shì),在于對(duì)TCP/IP與UDP協(xié)議的深度適配,為不同場(chǎng)景提供精準(zhǔn)的通信解決方案。 ?? ?TCP
    的頭像 發(fā)表于 01-19 18:25 ?183次閱讀
    工業(yè)級(jí)4G路由器:<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>與UDP<b class='flag-5'>協(xié)議</b>,解鎖工業(yè)物聯(lián)網(wǎng)高效傳輸新范式

    疆鴻智能ETHERCAT轉(zhuǎn)MODBUS TCP/IP,破解化工設(shè)備異構(gòu)通信難題

    型化工企業(yè)生產(chǎn)線控制系統(tǒng)核心采用倍福(Beckhoff)PLC,其基于高性能ETHERCAT總線連接各類實(shí)時(shí)I/O模塊與伺服驅(qū)動(dòng)器。與此同時(shí),生產(chǎn)線中廣泛分布的數(shù)十臺(tái)智能馬達(dá)保護(hù)器,則普遍支持MODBUS TCP/IP
    的頭像 發(fā)表于 01-06 15:22 ?207次閱讀
    疆鴻智能ETHERCAT轉(zhuǎn)MODBUS <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>,破解化工設(shè)備異構(gòu)通信難題

    華為IP Club滬之行上海金融網(wǎng)絡(luò)技術(shù)沙龍圓滿落幕

    以“品智聯(lián)接 數(shù)智金融”為主題的華為IP Club滬之行-上海金融網(wǎng)絡(luò)技術(shù)沙龍成功舉辦。眾多金融行業(yè)代表、產(chǎn)業(yè)學(xué)者齊聚一堂,圍繞行業(yè)面臨的挑戰(zhàn)與演進(jìn)方向,共同探討在技術(shù)變革與業(yè)務(wù)高要求的雙重驅(qū)動(dòng)下,如何構(gòu)建面向未來(lái)的金融
    的頭像 發(fā)表于 12-25 15:18 ?585次閱讀

    為什么會(huì)有TCP/IP協(xié)議?

    見(jiàn)了面,完全不能交流信息。因而他們需要定義一些共通的東西來(lái)進(jìn)行交流,TCP/IP就是為此而生。TCP/IP不是一個(gè)協(xié)議,而是一個(gè)
    發(fā)表于 12-03 06:28

    飛凌嵌入式ElfBoard-Linux系統(tǒng)基礎(chǔ)入門-網(wǎng)絡(luò)相關(guān)shell命令之網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    參考模型中的網(wǎng)絡(luò)層,是TCP/IP協(xié)議核心,將數(shù)據(jù)包進(jìn)行分組并發(fā)往目的主機(jī)。主要解決主機(jī)到主
    發(fā)表于 10-09 09:30

    rtthread網(wǎng)絡(luò)接口設(shè)備 輕量級(jí)tcp/ip 堆棧 這兩個(gè)沖突嗎?

    需要使用 lwip 上圖中 網(wǎng)絡(luò)接口設(shè)備 需要使能么? 上圖中 網(wǎng)絡(luò)接口設(shè)備 是干嘛用的?是一個(gè)比lwip 功能弱的tcp/ip 協(xié)議
    發(fā)表于 09-18 06:16

    GraniStudio : TCP/IP(Socket)協(xié)議深度剖析

    在工業(yè)自動(dòng)化與物聯(lián)網(wǎng)領(lǐng)域,TCP/IP(Socket)協(xié)議作為應(yīng)用最廣泛的網(wǎng)絡(luò)通信標(biāo)準(zhǔn),是實(shí)現(xiàn)設(shè)備間數(shù)據(jù)交互的核心技術(shù)。GraniStudi
    的頭像 發(fā)表于 08-03 22:20 ?1187次閱讀
    GraniStudio : <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>(Socket)<b class='flag-5'>協(xié)議</b>深度剖析

    什么是Modbus TCP協(xié)議

    TCP/IP協(xié)議,通過(guò)以太網(wǎng)進(jìn)行通信,并支持多個(gè)設(shè)備同時(shí)訪問(wèn)同一個(gè)Modbus TCP服務(wù)器。 一、
    的頭像 發(fā)表于 07-23 17:18 ?4261次閱讀
    什么是Modbus <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>

    Linux網(wǎng)絡(luò)管理的關(guān)鍵技術(shù)和最佳實(shí)踐

    在大型互聯(lián)網(wǎng)企業(yè)中,Linux網(wǎng)絡(luò)管理是運(yùn)維工程師的核心技能之一。面對(duì)海量服務(wù)器、復(fù)雜網(wǎng)絡(luò)拓?fù)?、高并發(fā)流量,運(yùn)維人員需要掌握從基礎(chǔ)網(wǎng)絡(luò)配置到
    的頭像 發(fā)表于 07-09 09:53 ?945次閱讀

    CC\\-Link IE轉(zhuǎn)Modbus TCP:風(fēng)電設(shè)備通信的“雙語(yǔ)模式”

    ; 3. 地址綁定:通過(guò)配置工具將CC-Link IE的軟元件地址(如D1000)與Modbus TCP寄存器地址(如40001)一一對(duì)應(yīng)。 這種轉(zhuǎn)換無(wú)需修改原有設(shè)備協(xié)議,僅需在網(wǎng)關(guān)中設(shè)置
    發(fā)表于 07-07 14:45

    RDMA簡(jiǎn)介2之A技術(shù)優(yōu)勢(shì)分析

    數(shù)據(jù)包時(shí),應(yīng)用程序?qū)⒁獋鬏數(shù)臄?shù)據(jù)拷貝到TCP/IP協(xié)議的BUFFER中,TCP/IP
    發(fā)表于 06-04 11:35

    51+單片機(jī)TCP-IP+協(xié)議ZLIP源碼

    概述 單片機(jī)上網(wǎng)技術(shù),是當(dāng)前的一個(gè)熱門技術(shù)。單片機(jī)上網(wǎng)技術(shù)中的一個(gè)重要部分是在單片上實(shí)現(xiàn) TCP/IP
    發(fā)表于 04-22 15:11

    Modbus TCP轉(zhuǎn)Profibus DP主站網(wǎng)關(guān):跨協(xié)議集成的核心樞紐

    一、產(chǎn)品定位:主站級(jí)協(xié)議融合 在工業(yè)自動(dòng)化系統(tǒng)中,如何實(shí)現(xiàn)不同通信協(xié)議設(shè)備的高效協(xié)同一直是技術(shù)難點(diǎn)。三格電子推出的Modbus TCP轉(zhuǎn)Profibus DP主站網(wǎng)關(guān),以強(qiáng)大的
    的頭像 發(fā)表于 04-17 16:04 ?839次閱讀
    Modbus <b class='flag-5'>TCP</b>轉(zhuǎn)Profibus DP主站網(wǎng)關(guān):跨<b class='flag-5'>協(xié)議</b>集成的<b class='flag-5'>核心</b>樞紐

    RT-Thread Ethernet/IP 協(xié)議技術(shù)實(shí)踐|技術(shù)集結(jié)

    Ethernet/IP(以太網(wǎng)工業(yè)協(xié)議)是一種基于標(biāo)準(zhǔn)以太網(wǎng)架構(gòu)的工業(yè)通信協(xié)議,廣泛應(yīng)用于自動(dòng)化和控制系統(tǒng)中。它結(jié)合了TCP/IP
    的頭像 發(fā)表于 04-08 18:47 ?2103次閱讀
    RT-Thread Ethernet/<b class='flag-5'>IP</b> <b class='flag-5'>協(xié)議</b><b class='flag-5'>技術(shù)</b>實(shí)踐|<b class='flag-5'>技術(shù)</b>集結(jié)