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

这篇具有很好参考价值的文章主要介绍了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 实现》,每阅读一章,记录核心知识点,以及实验过程。
 文章来源地址https://www.toymoban.com/news/detail-859029.html

到了这里,关于Linux tcp/ip 网路协议栈学习-00 前言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 网络编程学习笔记——一、TCP/IP 协议族

    数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(以太网、令牌环等)上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。最常用的协议是 ARP(Address Resolve Protocol,地址解析协议)和 RARP(

    2024年02月02日
    浏览(73)
  • 网路原理-传输层UDP,TCP/IP(确认应答,超时重传,连接管理,三次握手,四次挥手,状态转换,流量控制,滑动窗口,拥塞控制,延时应答,捎带应答,异常情况,面向字节流)-网络层(IP协议,地址管理)

    本节重点 • 理解传输层的作⽤,深⼊理解TCP的各项特性和机制 • 对整个TCP/IP协议有系统的理解 • 对TCP/IP协议体系下的其他重要协议和技术有⼀定的了解 我们之前编写完了基本的 java socket ,要知道,我们之前所写的所有代码都在应⽤层,都是为了 完成某项业务,如翻译等。

    2024年04月15日
    浏览(57)
  • Linux高性能服务器编程 学习笔记 第一章 TCP/IP协议族

    现在Internet使用的主流协议族是TCP/IP协议族,它是一个分层、多协议的通信体系。 TCP/IP协议族包含众多协议,我们只详细讨论IP协议和TCP协议,因为它们对编写网络应用程序有最直接的影响。如果想系统学习网络协议,RFC(Request For Comments,评论请求)是首选资料。 TCP/IP协议

    2024年02月09日
    浏览(64)
  • 问:TCP/IP协议栈在内核态的好还是用户态的好

    “TCP/IP协议栈到底是内核态的好还是用户态的好?” 问题的根源在于,干嘛非要这么刻意地去区分什么内核态和用户态。 引子 为了不让本文成为干巴巴的说教,在文章开头,我以一个实例分析开始。 最近一段时间,我几乎每天深夜都在做一件事,对比mtcp,Linux内核协议栈的

    2024年02月07日
    浏览(40)
  • 《TCP IP网路编程》第九章

            我们进行套接字编程时往往只关注数据通信,而忽略了 套接字具有的不同特性 。但是,理解这些特性并根据实际需要进行更改也很重要。下面列出了一些 套接字可选项 。         从表中可以看出,套接字可选项是分层的。 IPPROTO_IP 可选项是IP协议相关事项

    2024年02月16日
    浏览(37)
  • Linux TCP/IP内核参数调优,网络高延迟大吞吐(方案二)。

    方案一:Linux TCP/IP内核参数调优,网络高延迟大吞吐。_net.ipv4.tcp_wmem_liulilittle的博客-CSDN博客 nano /etc/sysctl.conf sysctl -p 另类设置

    2024年02月15日
    浏览(76)
  • Linux内核源码剖析之TCP保活机制(KeepAlive)

    版本信息: Linux内核2.6.24(大部分centos、ubuntu应该都在3.1+。但是2.6的版本比较稳定,后续版本本质变化也不是很大) ipv4 协议 https://blog.csdn.net/ComplexMaze/article/details/124201088 本文使用案例如上地址,感谢案例的分享,本篇文章核心部分还是在Linux内核源码分析~ 为什么写下这

    2024年02月12日
    浏览(51)
  • TCP/IP传输协议学习

    1.发送方源终端设备的应用创建数据。 2.当数据在源终端设备中沿协议栈向下传递,对其分段和封装。 3.在协议栈网络接入层的介质上生成数据。 4.通过由介质和任意中间设备组成的网际层网络传输数据。 5.在目的终端设备中沿协议栈向上传递时对其解封和重组。   1.TCP/IP协

    2024年02月09日
    浏览(38)
  • 如何学习 Linux 内核网络协议栈

    内核显然需要一个数据结构来表示报文,这个结构就是 sk_buff ( socket buffer 的简称),它等同于在TCP/IP详解 卷2中描述的 BSD 内核中的 mbuf。 sk_buff 结构自身并不存储报文内容,它通过多个指针指向真正的报文内存空间:   sk_buff 是一个贯穿整个协议栈层次的结构,在各层间传递时

    2024年02月07日
    浏览(46)
  • TCP/IP协议栈源代码分析:GDB调试环境搭建及源码分析

    Ubuntu 22.04 LTS Linux-5.4.34 busybox-1.36.0 2.1 安装相关工具 axel是一款多线程下载工具,用于下载Linux内核源代码及其他大文件;build-essential软件包里面包含了很多开发必要的软件工具,比如make、gcc等;QEMU是一种通用的开源计算机仿真器和虚拟器,为自己编译构建的Linux系统运行提供

    2024年02月03日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包