一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲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愛好者 ? 來源:極客重生 ? 作者: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:通過路由表后目的地為本機(jī)

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

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

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

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

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

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

filter表:用來過濾報(bào)文

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

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

主要功能

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

有狀態(tài)的數(shù)據(jù)包過濾(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),無線wifi,令牌環(huán)等)

Packt Type

Protocol handler

Packet_type list

主要功能

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

Traffic control

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

class :用來表示控制策略

filter :用來將數(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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IPv6
    +關(guān)注

    關(guān)注

    6

    文章

    714

    瀏覽量

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

    關(guān)注

    0

    文章

    10

    瀏覽量

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

    關(guān)注

    0

    文章

    7

    瀏覽量

    1555

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RDMA簡介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

    以太網(wǎng)和TCP/IP的關(guān)系解析

    在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,以太網(wǎng)和TCP/IP協(xié)議是構(gòu)建網(wǎng)絡(luò)通信的基礎(chǔ)。以太網(wǎng)定義了局域網(wǎng)(LAN)
    的頭像 發(fā)表于 11-08 09:21 ?2390次閱讀

    什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系

    基于TCP/IP協(xié)議族,這是一組用于網(wǎng)絡(luò)通信的協(xié)議,包括傳輸控制協(xié)議
    的頭像 發(fā)表于 11-01 16:01 ?1209次閱讀

    芯驛電子 ALINX 推出全新 IP 核產(chǎn)品線,覆蓋 TCP/UDP/NVMe AXI IP

    10GBe/40GBe UDP 協(xié)議 IP 核、10GbE TCP/IP 協(xié)議
    的頭像 發(fā)表于 10-30 17:39 ?902次閱讀
     芯驛電子 ALINX 推出全新 <b class='flag-5'>IP</b> 核產(chǎn)品線,覆蓋 <b class='flag-5'>TCP</b>/UDP/NVMe AXI <b class='flag-5'>IP</b> 核

    TCP協(xié)議是什么

    網(wǎng)絡(luò)通信的廣闊領(lǐng)域中,TCP(Transmission Control Protocol,傳輸控制協(xié)議)扮演著舉足輕重的角色。作為TCP/IP
    的頭像 發(fā)表于 10-09 13:54 ?1809次閱讀

    EtherNet/IP主站轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)

    捷米特JM-EIPM-TCP網(wǎng)關(guān)實(shí)現(xiàn)連接EtherNet/IP設(shè)備和網(wǎng)絡(luò)到Modbus TCP網(wǎng)絡(luò)系統(tǒng)。該網(wǎng)關(guān)可實(shí)現(xiàn)雙向數(shù)據(jù)交換,既允許現(xiàn)有
    的頭像 發(fā)表于 09-25 11:49 ?514次閱讀
    EtherNet/<b class='flag-5'>IP</b>主站轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)

    Linux網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)

    網(wǎng)絡(luò)協(xié)議是操作系統(tǒng)核心的一個(gè)重要組成部分,負(fù)責(zé)管理網(wǎng)絡(luò)通信中的數(shù)據(jù)包處理。在
    的頭像 發(fā)表于 09-10 09:51 ?709次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的實(shí)現(xiàn)

    EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

    在工業(yè)自動(dòng)化領(lǐng)域中,EtherNet/IP轉(zhuǎn)Modbus-TCP這兩種網(wǎng)絡(luò)協(xié)議的互通互聯(lián)非常重要。有一款優(yōu)秀的設(shè)備——遠(yuǎn)創(chuàng)智控YC-EIP-TCP
    的頭像 發(fā)表于 09-06 16:54 ?565次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)換網(wǎng)關(guān)

    EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)(EtherNet/IP轉(zhuǎn)Modbus-TCP

    /IP轉(zhuǎn)Modbus TCP從站協(xié)議網(wǎng)關(guān),可以實(shí)現(xiàn)對(duì)這些設(shè)備的集中管理和控制。 二,典型應(yīng)用拓?fù)鋱D 三,設(shè)備技術(shù)參數(shù) 捷米特JM-EIP-TCP
    的頭像 發(fā)表于 09-04 11:09 ?868次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b>)

    EtherNet/IP轉(zhuǎn)Modbus-TCP協(xié)議網(wǎng)關(guān)(JM-EIP-TCP

    一,設(shè)備主要功能 捷米特JM-EIP-TCP型網(wǎng)關(guān)實(shí)現(xiàn)EtherNet/IP網(wǎng)絡(luò)與Modbus TCP網(wǎng)絡(luò)之間的數(shù)據(jù)通訊,可支持Modbus
    的頭像 發(fā)表于 08-26 14:39 ?607次閱讀
    EtherNet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)(JM-EIP-<b class='flag-5'>TCP</b>)

    串口服務(wù)器和TCP/IP協(xié)議是什么關(guān)系

    串口服務(wù)器與TCP/IP協(xié)議之間存在著緊密而復(fù)雜的關(guān)系。這種關(guān)系主要體現(xiàn)在串口服務(wù)器如何利用TCP/I
    的頭像 發(fā)表于 08-25 17:35 ?2132次閱讀

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議。TCP/
    的頭像 發(fā)表于 08-07 15:38 ?3546次閱讀
    一文了解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>協(xié)議</b>

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢(shì)

    如何被組織、傳輸和路由。TCP/IP協(xié)議集包含了許多協(xié)議,每個(gè)協(xié)議負(fù)責(zé)網(wǎng)絡(luò)通信過程中的不同方面。
    的頭像 發(fā)表于 07-25 16:49 ?849次閱讀

    TCP IP協(xié)議屬性設(shè)置中的IP配置

    在現(xiàn)代網(wǎng)絡(luò)中,TCP/IP協(xié)議是基礎(chǔ)架構(gòu)的重要組成部分。掌握TCP/
    的頭像 發(fā)表于 07-23 10:10 ?1035次閱讀