Linux tcp/ip 网路协议栈学习-00 前言

Linux tcp/ip 网路协议栈学习-00 前言

目录

Linux  tcp/ip 网路协议栈学习-00 前言

(1)预备知识 

(2)前置知识

(3)学习目标

(4)总结    


(1)预备知识 

好工具事半功倍,做任何事情都需要有方法和工具,同样,阅读 Linux 内核源码也是如此。由于当前内核源码非常庞大,学习上,不能一上来全面铺开,而是要按照模块一个一个去攻克,例如内存管理,网络通信模块,安全模块等等。


工作多年一直想深入底层学习一些底层的知识,"知其然知其所以然"。好在偶然阅读到这本书《Linux 内核源码剖析-TCP/IP 实现》介绍的方法所以想静下心来学习学习内核网络子系统,这一模块。当前,自己还不知道能不能坚持下去,读完这套(上下册的经典书籍)。

本专栏目的就是指导和帮助读者学习Linux 内核网络模块,结合当前各种网络工具,例如kgdb,wireshark,tcpdump工具去分析,参照《Linux 内核源码剖析-TCP/IP 实现》章节,每一节去学习,记录实验过程

要想比较顺利地阅读内核网络源码,能够基本上对Linux源码的知识背景有一定的了
解。学习完后,可以学习内核其他模块的内容。能做到信手拈来。本专栏,将会带在大家将厚书读博,去粗取精。教会你快速掌握linux 网路
模块工作原理。

(2)前置知识


对于内核网络码来讲,基本要求如下。

  •     熟悉C语言,了解GNU对标准C的扩展;
  •     熟悉GCC编译器以及使用方法;
  •     熟悉操作系统的基本知识;
  •     熟悉Linux内核通用技术:包括内存管理、下半部、锁等;
  •     熟悉TCP/IP的原理


本专栏基于老版本的sdk ,为啥选择老版本的?因为这块资源多,书籍介绍多(《Linux 内核源码剖析-TCP/IP 实现》书籍使用的版本),包括大家所熟知的内核开发书籍,内核驱动课程书籍都很多。
虽然书籍所使用的版本不一样,但是 2.6.X 版本之间比较起来,介绍内容改动还是比较少的,所以本专栏使用linux 内核版本: 2.6.20

我相信使用好的工具和方法会大大增加你的学习效率,提升知识掌握程度,更能快速深入理解内核网路模块机理。


(3)学习目标

  •     对内核里网路模块,里面的函数调用有一个基本的认识,
  •     知道网路从应用层怎么经过网络设备到达另外一台设备的应用层,从应用层-->内核-->网卡-->另外一台设备,整个流程进行梳理。
(4)总结    

后面,我会参考《Linux 内核源码剖析-TCP/IP 实现》,每阅读一章,记录核心知识点,以及实验过程。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ExcelVBA把当前工作表导出为PDF文档

我们先问问Kimi Excel导出为PDF的方法有多种,以下是一些常见的方法: 1 使用Excel软件的内置功能: 打开Excel文件,点击“文件”菜单。选择“另存为”,在“保存类型”中选择“PDF”。设置保存路径和文件名,点…

【机器学习】重塑汽车设计与制造:实例与代码探索

机器学习重塑汽车设计与制造 一、机器学习在汽车设计中的应用二、机器学习在智能制造与生产中的应用 在数字化浪潮的推动下,机器学习技术正逐步成为汽车行业的创新引擎。从概念设计到智能制造,机器学习正以其独特的优势助力汽车产业的革新与发展。本文将…

数据挖掘实验(Apriori,fpgrowth)

Apriori:这里做了个小优化,比如abcde和adcef自连接出的新项集abcdef,可以用abcde的位置和f的位置取交集,这样第n项集的计算可以用n-1项集的信息和数字本身的位置信息计算出来,只需要保存第n-1项集的位置信息就可以提速…

day06 51单片机-点阵led

1 点阵LED 1.1 需求描述 本案例介绍如何使用点阵LED显示一排由左上到右下的斜线。 1.2 硬件设计 1.2.1 硬件原理图 点阵内部的原理图: 点阵LED的原理也非常简单,就是LED点灯。例如,我们想要让13列(阳极端)9行(阴极端)的LED点亮,需要13为高电平,9为低电平。注意对于…

【Git】git revert 命令(撤销 commit 改动)

基本语法 Git revert命令用于通过创建一个新的commit来撤销一个或多个之前的commit。这样做的好处是保持了项目历史的完整性,并且可以将撤销的改动应用到其他分支。 撤销单个commit:如果你只想撤销一个commit,你可以使用以下命令 git revert…

Oracle进阶(3)——索引、权限、角色管理、分区表

一、索引 在 Oracle 数据库中,索引是一种数据结构,用于加快数据库表的数据检索速度。索引存储着表中一个或多个列的值以及对应的行的物理地址或指针。通过使用索引,数据库可以更快地定位到符合特定条件的行,而不必扫描整个表。索引…

logback添加日志行号

logback打印行号 全量配置如下 在包名后面添加\(%F:%L\\)这样打印的日志是带类名加行号,支持 ide 点击跳转(xxx.main.java:18)精简配置如下 打印全量类占用显示位置去掉主类名直接打印行号%clr(%4.4L{4})这样打印的日志只是加行号解释:%4:这…

【源码】Spring validation参数校验之分组序列校验@GroupSequenceProvider、@GroupSequence的实现原理

Spring validation参数校验系列 1、Spring validation参数校验基本使用 2、Spring validation参数校验之自定义校验规则及编程式校验等进阶篇 3、Spring validation参数校验原理解析之Controller控制器参数校验中RequestBody参数校验实现原理 4、Spring validation参数校验…

苍穹外卖day8(2)用户下单、微信支付

文章目录 前言一、用户下单1. 业务流程2. 接口设计3. 数据库设计3.1 订单表orders3.2 订单明细表 order_detail 4. 代码实现 二、订单支付 前言 用户下单 因为订单信息中包含了其他业务中的数据,在逻辑处理中涉及了多个其他业务,比如要判断地址簿、购物…

描述一下PHP与HTML和CSS的关系

描述一下PHP与HTML和CSS的关系 PHP、HTML和CSS在Web开发中各自扮演着不同的角色,它们之间的关系密切而互补,共同构建了一个完整且富有动态性的Web应用程序。下面我将详细阐述PHP与HTML和CSS之间的关系。 首先,HTML(HyperText Ma…

面试复习基础题目-c#相关

面试复习基础题目 c#相关问题 delegate和event的区别是什么? Delegate用来声明委托类型,event用来声明委托对象; 事件是委托的一种应用,事件是带有event关键词的委托对象,对委托对象进行了封装,本质就是委…

聚类与分类的区别

聚类和分类是机器学习中的两个基本概念,两者的主要区别在于用于分类的数据已经预先标记好类别,而用于聚类的数据则没有预先标记的类别。以下是详细介绍: 目的不同。聚类的目的是发现数据中的自然分组,将相似或相关的对象组织在一…

基于SSM+Vue的护工预约服务小程序和后台管理系统

1、系统演示视频(演示视频) 2、需要请联系

虚拟化+Docker基本管理

一、虚拟化简介 1、云端 华为云、谷歌云、腾讯云、阿里云、亚马逊、百度云、移动云、天翼云、西部数码云等 1.国内云 华为云、阿里云、腾讯云、天翼云(私有云) 2.国外云 谷歌云、亚马逊 2、云计算的服务模式是分层的 IaaS:Infrastructure(基础设…

计算机网络【CN】Ch3 数据链路层

目录 数据链路层的功能 【※】VLAN 三种划分VLAN的方法: 【※】MAC帧格式 【※】三种可靠传输机制 ​编辑 【※】介质访问控制 信道划分介质访问控制 随机介质访问控制 CSMA CSMA/CD【有线】 CSMA/CA【无线】 信道利用率技巧 循环冗余校验CRC 以太网[802.3] 以太网…

项目实战 | 责任链模式 (下)

案例二:工作流,费用报销审核流程 同事小贾最近刚出差回来,她迫不及待的就提交了费用报销的流程。根据金额不同,分为以下几种审核流程。报销金额低于1000元,三级部门管理者审批即可,1000到5000元除了三级部…

【k8s】(五)kubernetes1.29.4离线部署之-初始化第一个控制平面

备注: 完整版请参阅 【k8s】Kubernetes 1.29.4离线安装部署(总) 执行命令初始化第一个控制平面节点 在上节的安装过程中,实际以及包含了初始化第一个控制平面的脚本,由于其重要性,这里单独提出来详细说明。…

RK平台HDMI和喇叭同时出声

多屏时,未接入hdmi默认speaker音频输出,检测到接入hdmi时切换到hdmi音频输出。此时有个问题,如果接入hdmi的屏没有speaker会就导致没有声音输出了,所以需要默认hdmi和speaker同时出声。 /frameworks/base/services/core/java/com…

智己汽车数据驱动中心PMO高级经理张晶女士受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 智己汽车科技有限公司数据驱动中心PMO高级经理张晶女士受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“规模化敏捷落地实践”。大会将于5月25-26日在北京举办,敬请关注! 议题简要: 2…

【Java学习笔记】9.5 Java中的Lambda表达式

Lambda表达式是从Java8版本开始增加的语法。Lambda表达式有利于实现函数式编程,简化开发。 9.5.1 Lambda表达式入门 Lambda表达式由三部分组成:参数列表、箭头(->),及一个表达式或语句块。其完整的语法格式如下: (Type 1 param1 , Type…