成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 網絡硬核系列:TCP/IP 協議棧

系統 Linux
今天給大家介紹Linux網絡技術中最核心的部分--TCP/IP協議棧 。

 

今天給大家介紹Linux網絡技術中最核心的部分--TCP/IP協議棧 。       

我們先看一下抽象的網絡協議棧模型

TCP/IP四層(參考)模型

再按分層思想看Linux內核協議棧實現框架

自頂向下

Socket/ L4 TCP layer

1. socket layer

socket對象層次結構

socket框架

  •  socket系統調用(socket,bind,listen,accept,send,recv等)
  •  BSD socket API
  •  協議棧sock抽象適配層
  •  tcp/udp/icmp/raw/packet/netlink/... socket管理
  •  socket選項

2. tcp/udp layer

  •  TCP報文收發
  •  TCP Socket連接管理
  •  TCP協議狀態機,定時器處理
  •  TCP滑動窗口,擁塞控制框架

L3 IP layer

1. IP handle

  •  報文分片和重組
  •  IP協議字段處理,IP選項,Qos,TTL,校驗等處理
  •  報文接收(解封裝)和發送(IP協議封裝,提供給上層接口)
  •  組播,ICMP協議處理等

2. netlfilter框架

5個HOOK點:

PREROUTING:數據包進入路由表之前

INPUT:通過路由表后目的地為本機

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

OUTPUT:由本機產生,向外發送

POSTROUTIONG:發送到網卡接口之前。

每個HOOK點都會執行一些函數,大致分為下面幾個表:

NAT表: 用于實現nat功能,端口映射,地址映射等

mangle表: 用來修改報文,例如更改IP標頭的TOS / DSCP / ECN位

filter表:用來過濾報文

raw表:用來提前標記報文不走一些流程(比如不需要建會話)

conntrack表:連接跟蹤表,跟蹤連接會話,用來實現狀態防火墻,NAT功能的基礎,可擴展更多功能。

核心處理流程

主要功能

  •  無狀態數據包過濾(IPv4和IPv6)
  •  有狀態的數據包過濾(IPv4和IPv6)
  •  各種網絡地址和端口轉換,例如NAT / NAPT(IPv4和IPv6)
  •  靈活可擴展的基礎架構
  •  第三方擴展的API

3. 路由系統

協議棧處理位置

路由子系統架構

  •  FIB(The Forwarding Information Base )
  •  策略路由 Policies
  •  路由匹配HASH,LC-tries等

主要功能

    三層路由轉發

4. 鄰居系統

  •  ARP協議(IPV4),NDP協議(IPV6)
  •  鄰居表新建,更新,老化機制,狀態轉化等
  •  API接口

主要功能

  •  獲取mac地址

L2 link layer(driver)

1. Link layer

Bridge

  •  FDB(macforwarding database)管理
  •  port,bridge對象管理和報文接收,轉發
  •  STP,vlan協議相關處理

主要功能

  •  實現二層mac轉發

鏈路協議

  •  IEEE 802協議族(STP,VLAN,以太網,無線wifi,令牌環等)

Packt Type

  •  Protocol handler
  •  Packet_type list

主要功能

  •  鏈路層報文協議分發

Traffic control

  •   qdisc :通過隊列將數據包緩存起來,用來控制網絡收發的速度
  •  class :用來表示控制策略
  •  filter :用來將數據包劃分到具體的控制策略

主要功能

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

2. hardware driver layer

  •  網絡設備管理
  •  RPS,RFS,XPS,GRO,GSO,TSO等優化特性
  •  網卡軟中斷收發,NAPI,DMA
  •  支持各種網卡驅動實現

協議棧文件系統

Proc FileSystem

  •  /proc/net
  •  /proc/sys/net

           ipv4

           core

Sys FileSystem

  •  /sys/class/net/ethx

主要功能

  •  提供協議棧相關配置查詢和設置

最后

整體架構圖

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2010-06-13 14:54:40

TCP IP協議棧linux

2021-07-06 21:29:16

TCPIP協議棧

2010-09-08 15:11:36

TCP IP協議棧

2019-09-30 09:28:26

LinuxTCPIP

2014-10-15 09:14:24

IP

2010-09-08 15:15:12

TCP IP協議棧

2010-09-27 13:25:58

TCP IP協議棧

2010-09-08 15:24:28

TCP IP協議棧

2010-09-08 15:34:27

TCP IP協議棧

2010-06-13 13:39:46

TCP IP協議棧

2019-09-18 20:07:06

AndroidTCP協議

2010-06-12 15:54:09

TCP IP協議

2011-01-24 13:58:24

TCPIP協議棧

2019-07-01 08:51:49

TCPIPLinux

2019-10-22 08:41:09

TCPIPLinux

2010-09-09 14:43:08

TCP IP協議棧

2020-07-09 08:14:43

TCPIP協議棧

2010-09-09 16:28:19

2019-08-21 05:48:06

TCPIP協議棧

2010-09-08 15:18:54

單片機TCP IP協議棧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美日韩精品久久亚洲区 | 久久婷婷麻豆国产91天堂 | 老司机久久 | 亚洲一区二区三区免费在线观看 | 欧美1区 | 精品国产免费人成在线观看 | 国产精品一区二区三区久久久 | 国产精品mv在线观看 | 91精品国产一区二区三区 | 午夜精品久久久久久久久久久久久 | 精品欧美一区二区三区久久久 | 91精品国产综合久久久久久丝袜 | 青青久久 | 久久久久91 | 91久久 | 日本久久精 | 欧美激情一区二区三区 | 久热免费| 日韩精品成人免费观看视频 | 亚洲精品一区二区网址 | 中文字幕视频在线观看 | 国产免费一二三区 | 成人欧美一区二区三区黑人孕妇 | 激情国产视频 | 看羞羞视频 | 天天操夜夜爽 | 国产高清在线精品一区二区三区 | 欧美久久久久久久久 | 黄色精品| 国产精品污www一区二区三区 | 99免费在线视频 | 久久综合久久久 | 日韩一区二区在线视频 | 黑色丝袜三级在线播放 | 99视频免费| 国产精品视频久久久 | 午夜在线视频 | 国产一区久久 | 黄色网址大全在线观看 | 懂色tv | 波多野吉衣久久 |