追踪Linux TCP/IP代码运行

追踪Linux TCP/IP代码运行
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2010-04
版次: 1
ISBN: 9787512400481
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 578页
字数: 829千字
正文语种: 简体中文
82人买过
  •   《追踪LinuxTCP/IP代码运行·基于2.6内核》以应用程序为线索,详细描述了数据包在协议栈的分段、重组、发送、接收过程,同时分析了路由的初始化和设置过程,主要包括socket应用程序、TCP/IP协议、路由、通知链、邻居子系统等内容。全书涵盖了协议栈的全部知识点,对于广大的读者来说这是一本极其难得的技术资料。同时,书中论述了网络设备的工作原理,解释了RTL8169和嵌入式CS8900、DM9000网卡设备的核心过程。
      《追踪LinuxTCP/IP代码运行·基于2.6内核》可作为3G网络开发人员、嵌入式通信产品开发人员、网络应用开发人员、网络管理人员及网络爱好者、从事网络方向的本科生、研究生的参考书。   秦健,嵌入式研发工程师。精通Linux内核,多年从事嵌入式软硬件开发,使用Linux平台设计电子产品。已经三十四岁的他凭借一颗热爱技术、永不放弃的心,十年如一地坚持技术研发的人生道路,推翻了“三十岁是技术员坟墓”的谬论,为年轻工程师树立了榜样。 第1章本书的计划
    1.1基本路线和要求
    技术要点:分析路线服务器程序学习要求
    1.2TCP/IP协议层的划分与基本知识
    技术要点:协议层知识服务器与客户端的通信路线
    1.3函数到系统调用的过程
    技术要点:库函数的真实定义系统调用的总入口及传值
    1.4网络文件系统
    技术要点:网络文件系统的特点initcall机制网络文件系统的安装

    第2章socket的创建
    2.1本章几个重要数据结构
    技术要点:socket结构、sock结构、sk_buff结构、tcp_sock结构的定义
    2.2分配并初始化socket结构
    技术要点:分配socket结构空间分配文件节点
    2.3使用协议族的函数表初始化socket
    技术要点:登记函数表定义、注册及初始化协议族结构
    2.4分配并初始化sock结构
    技术要点:分配结构空间初始化sock结构及数据包队列头
    2.5TCP协议对sock结构初始化
    技术要点:TCP协议的初始化函数tcp_sock等结构的关联
    2.6socket与文件系统的关联
    技术要点:分配文件指针和文件号指定文件操作表

    第3章socket地址设置
    3.1地址设置接口
    技术要点:地址设置过程查找socket和文件指针复制数据到内核
    3.2地址结构定义
    技术要点:结构的定义及赋值协议族的设置函数网络空间结构
    3.3地址类型
    技术要点:地址类型的概念查验地址类型获取路由函数表
    3.4设置地址和端口
    技术要点:地址与端口的队列结构地址与端口的查找与建立
    3.5网络空间总管initernet
    技术要点:init_net结构的初始化队列头的初始化

    第4章路由
    4.1路由函数表结构及关系图
    技术要点:fib_table结构、fn_zone结构、fib_node结构及fib_info结构的关系
    4.2路由函数表的初始化
    技术要点:路由表队列、路由函数表队列的初始化路由规则结构、路由函数表结构、路由区结构的定义子网掩码的作用
    4.3通过路由函数表查找路由信息
    技术要点:路由区及路由节点的匹配和查找路由信息、路由跳转结构的查找
    4.4路由的设置及相关结构的初如化
    技术要点:设置路由的三条路线路由配置结构的定义路由区的建立路由信息的创建和调整队列节点的链入与摘除路由跳转结构的初始化路由函数表的查找
    路由别名结构的建立路由表的冲刷与释放
    4.5基于输出方向的路由表查找与创建
    技术要点:路由键值结构的定义路由表结构的定义路由表队列的轮询路由表的创建与查找
    4.6基于输入方向的路由表查找与创建
    技术要点:为数据包查找路由表创建转发的路由表

    第5章通知链
    5.1设备通知链节点的挂入
    技术要点:通知链节点结构的定义设备配置结构的定义设备通知链的建立
    5.2地址通知链节点的挂入
    技术要点:地址通知链的定义和链入
    5.3通知链的调用和执行
    技术要点:网络设备结构的登记注册通知节点函数的调用

    第6章netlink概述
    6.1netlink的创建
    技术要点:netlink的sock结构定义及初始化
    6.2注册路由的netlink
    技术要点:路由的netlink结构定义及注册
    6.3通过netlink通信
    技术要点:netlink的信息结构、消息头结构、路由消息结构的定义及初始化netlink数据包的建立及发送

    第7章监听连接请求
    7.1内核的监听函数
    技术要点:协议族监听函数的调用连接数的控制监听结构的建立及定义连接请求结构及队列
    7.2内核的监听队列
    技术要点:监听队列的链入过程监听队列的睡眠等待和唤醒

    第8章接收连接请求
    8.1接收连接函数
    技术要点:协议族接收函数的调用定时等待连接请求
    8.2异步接收方式
    技术要点:异步接收实例异步唤醒路线查询客户端sock结构和连接请求结构
    8.3获取连接请求
    技术要点:客户端socket、sock结构的对接获取客户端的地址INET协议族结构的定义

    第9章准备连接请求
    9.1内核的连接函数
    技术要点:客户端程序及服务器程序的通信效果协议族连接函数的调用源路由的分类和查找TCP协议的socket结构定义端口的查找与复用SYN数据包的建立路由项结构的定义MTU、MSS的作用及设置滑动窗口的初始化
    9.2分配数据包结构和数据块空间
    技术要点:创建并初始化数据包共享结构的定义及数据块的分类TCP的控制结构发送队列的链入和计数数据包的结构示意图
    9.3构建、发送TCP数据包
    技术要点:TCP头部的定义TCP层的发送过程克隆数据包的建立重发数据包的依据拥塞报告的建立
    9.4进化成IP数据包
    技术要点:IP层的发送过程IP选项的定义IP头部的定义及初始化ID编号的生成和设置链路层头部缓存结构的定义邻居子系统的发送函数
    9.5进化成以太网数据包
    技术要点:链路层头部及其缓存结构的初始化以太网头部结构的定义及初始化
    9.6发送以太网数据包
    技术要点:分段发送的检测网卡驱动程序的发送过程

    第10章邻居子系统
    10.1邻居子系统的初始化
    技术要点:ARP的邻居表结构、邻居结构的定义邻居表的链入查找、创建ARP的邻居函数表
    10.2查找邻居结构
    技术要点:邻居结构的查找过程
    10.3邻居子系统的发送事件
    技术要点:邻居结构的状态类型及检测邻居结构的定时器、定时函数ARP包的建立及初始化ARP头部的定义ARP包的发送
    10.4邻居子系统的接收处理
    技术要点:ARP数据包类型结构ARP数据包的接收和处理解包获取客户端地址更新邻居结构

    第11章流量控制
    11.1排队规则的初始化
    技术要点:排队规则的定义网卡设备结构的登记与注册排队规则的创建及初始化排队规则函数表的定义
    11.2排队规则的入队和发送
    技术要点:排队规则的入队操作排队规则对数据包的流量控制和发送过程

    第12章建立连接的过程
    12.1驱动程序接收并建立数据包
    技术要点:网卡驱动程序的接收过程构建数据包软中断数据结构的运用软中断函数的接收过程
    12.2查找数据包类型且调用其处理函数
    技术要点:数据包类型结构的定义IP数据包类型及数据包类型队列IP层的接收过程
    12.3接收或转发IP数据包
    技术要点:IP选项的检查源路由的执行路由表的转发和接收过程
    12.4TCP数据包的处理
    技术要点:传输层函数表结构的定义TCP协议的函数表注册TCP层的接收过程查找与唤醒服务器进程
    12.53次握手过程
    技术要点:查找、创建客户端sock结构建立连接请求结构创建并发送ACK包连接请求的转接

    第13章Internet控制信息的传输
    13.1发送ICMP信息
    技术要点:ICMP的作用ICMP的发送函数ICMP信息结构、头部结构、缓存结构的定义ICMP控制结构数组ICMP发送速率的设置
    13.2接收ICMP信息
    技术要点:ICMP协议的函数表ICMP协议的接收过程

    第14章数据包的分段与重组
    14.1数据包的分段发送
    技术要点:数据包的分段示意图IP层的分段函数快发送、慢发送过程分段数据的复制
    14.2数据包的分段接收和重组
    技术要点:IP层的重组函数整理、合并分段数据包过程
    14.3分段数据包的接收队列
    技术要点:IP分段队列结构INET协议族的分段队列头结构网络空间、INET协议族的分段管理结构
    14.4查找与创建分段队列
    技术要点:IPv4分段信息结构查找、创建INET分段队列头初始化IP分段队列结构
    14.5释放和销毁分段队列
    技术要点:清除分段队列释放分段数据包和队列头

    第15章发送和接收数据包
    15.1内核的发送、接收函数
    技术要点:3种发送、接收的系统调用过程网络文件系统的发送、接收函数
    15.2客户端发送数据包
    技术要点:消息结构、缓冲区结构的定义与初始化构建发送数据包TCP层的发送过程TCP层的分段发送阻塞的检测
    15.3服务器接收数据包
    技术要点:TCP层的接收过程预处理队列的链入和处理预处理进程的接收过程复制数据到程序的缓冲区处理后备队列的数据包

    第16章socket的关闭
    16.1内核的关闭函数
    技术要点:网络文件系统的关闭函数删除、释放异步结构释放接收队列的数据包释放、销毁sock结构、连接请求结构
    16.2服务器与客户端的共同关闭
    技术要点:服务器与客户端FIN、ACK、RST包的交互过程状态改变与强制关闭
    索引
    参考文献
  • 内容简介:
      《追踪LinuxTCP/IP代码运行·基于2.6内核》以应用程序为线索,详细描述了数据包在协议栈的分段、重组、发送、接收过程,同时分析了路由的初始化和设置过程,主要包括socket应用程序、TCP/IP协议、路由、通知链、邻居子系统等内容。全书涵盖了协议栈的全部知识点,对于广大的读者来说这是一本极其难得的技术资料。同时,书中论述了网络设备的工作原理,解释了RTL8169和嵌入式CS8900、DM9000网卡设备的核心过程。
      《追踪LinuxTCP/IP代码运行·基于2.6内核》可作为3G网络开发人员、嵌入式通信产品开发人员、网络应用开发人员、网络管理人员及网络爱好者、从事网络方向的本科生、研究生的参考书。
  • 作者简介:
      秦健,嵌入式研发工程师。精通Linux内核,多年从事嵌入式软硬件开发,使用Linux平台设计电子产品。已经三十四岁的他凭借一颗热爱技术、永不放弃的心,十年如一地坚持技术研发的人生道路,推翻了“三十岁是技术员坟墓”的谬论,为年轻工程师树立了榜样。
  • 目录:
    第1章本书的计划
    1.1基本路线和要求
    技术要点:分析路线服务器程序学习要求
    1.2TCP/IP协议层的划分与基本知识
    技术要点:协议层知识服务器与客户端的通信路线
    1.3函数到系统调用的过程
    技术要点:库函数的真实定义系统调用的总入口及传值
    1.4网络文件系统
    技术要点:网络文件系统的特点initcall机制网络文件系统的安装

    第2章socket的创建
    2.1本章几个重要数据结构
    技术要点:socket结构、sock结构、sk_buff结构、tcp_sock结构的定义
    2.2分配并初始化socket结构
    技术要点:分配socket结构空间分配文件节点
    2.3使用协议族的函数表初始化socket
    技术要点:登记函数表定义、注册及初始化协议族结构
    2.4分配并初始化sock结构
    技术要点:分配结构空间初始化sock结构及数据包队列头
    2.5TCP协议对sock结构初始化
    技术要点:TCP协议的初始化函数tcp_sock等结构的关联
    2.6socket与文件系统的关联
    技术要点:分配文件指针和文件号指定文件操作表

    第3章socket地址设置
    3.1地址设置接口
    技术要点:地址设置过程查找socket和文件指针复制数据到内核
    3.2地址结构定义
    技术要点:结构的定义及赋值协议族的设置函数网络空间结构
    3.3地址类型
    技术要点:地址类型的概念查验地址类型获取路由函数表
    3.4设置地址和端口
    技术要点:地址与端口的队列结构地址与端口的查找与建立
    3.5网络空间总管initernet
    技术要点:init_net结构的初始化队列头的初始化

    第4章路由
    4.1路由函数表结构及关系图
    技术要点:fib_table结构、fn_zone结构、fib_node结构及fib_info结构的关系
    4.2路由函数表的初始化
    技术要点:路由表队列、路由函数表队列的初始化路由规则结构、路由函数表结构、路由区结构的定义子网掩码的作用
    4.3通过路由函数表查找路由信息
    技术要点:路由区及路由节点的匹配和查找路由信息、路由跳转结构的查找
    4.4路由的设置及相关结构的初如化
    技术要点:设置路由的三条路线路由配置结构的定义路由区的建立路由信息的创建和调整队列节点的链入与摘除路由跳转结构的初始化路由函数表的查找
    路由别名结构的建立路由表的冲刷与释放
    4.5基于输出方向的路由表查找与创建
    技术要点:路由键值结构的定义路由表结构的定义路由表队列的轮询路由表的创建与查找
    4.6基于输入方向的路由表查找与创建
    技术要点:为数据包查找路由表创建转发的路由表

    第5章通知链
    5.1设备通知链节点的挂入
    技术要点:通知链节点结构的定义设备配置结构的定义设备通知链的建立
    5.2地址通知链节点的挂入
    技术要点:地址通知链的定义和链入
    5.3通知链的调用和执行
    技术要点:网络设备结构的登记注册通知节点函数的调用

    第6章netlink概述
    6.1netlink的创建
    技术要点:netlink的sock结构定义及初始化
    6.2注册路由的netlink
    技术要点:路由的netlink结构定义及注册
    6.3通过netlink通信
    技术要点:netlink的信息结构、消息头结构、路由消息结构的定义及初始化netlink数据包的建立及发送

    第7章监听连接请求
    7.1内核的监听函数
    技术要点:协议族监听函数的调用连接数的控制监听结构的建立及定义连接请求结构及队列
    7.2内核的监听队列
    技术要点:监听队列的链入过程监听队列的睡眠等待和唤醒

    第8章接收连接请求
    8.1接收连接函数
    技术要点:协议族接收函数的调用定时等待连接请求
    8.2异步接收方式
    技术要点:异步接收实例异步唤醒路线查询客户端sock结构和连接请求结构
    8.3获取连接请求
    技术要点:客户端socket、sock结构的对接获取客户端的地址INET协议族结构的定义

    第9章准备连接请求
    9.1内核的连接函数
    技术要点:客户端程序及服务器程序的通信效果协议族连接函数的调用源路由的分类和查找TCP协议的socket结构定义端口的查找与复用SYN数据包的建立路由项结构的定义MTU、MSS的作用及设置滑动窗口的初始化
    9.2分配数据包结构和数据块空间
    技术要点:创建并初始化数据包共享结构的定义及数据块的分类TCP的控制结构发送队列的链入和计数数据包的结构示意图
    9.3构建、发送TCP数据包
    技术要点:TCP头部的定义TCP层的发送过程克隆数据包的建立重发数据包的依据拥塞报告的建立
    9.4进化成IP数据包
    技术要点:IP层的发送过程IP选项的定义IP头部的定义及初始化ID编号的生成和设置链路层头部缓存结构的定义邻居子系统的发送函数
    9.5进化成以太网数据包
    技术要点:链路层头部及其缓存结构的初始化以太网头部结构的定义及初始化
    9.6发送以太网数据包
    技术要点:分段发送的检测网卡驱动程序的发送过程

    第10章邻居子系统
    10.1邻居子系统的初始化
    技术要点:ARP的邻居表结构、邻居结构的定义邻居表的链入查找、创建ARP的邻居函数表
    10.2查找邻居结构
    技术要点:邻居结构的查找过程
    10.3邻居子系统的发送事件
    技术要点:邻居结构的状态类型及检测邻居结构的定时器、定时函数ARP包的建立及初始化ARP头部的定义ARP包的发送
    10.4邻居子系统的接收处理
    技术要点:ARP数据包类型结构ARP数据包的接收和处理解包获取客户端地址更新邻居结构

    第11章流量控制
    11.1排队规则的初始化
    技术要点:排队规则的定义网卡设备结构的登记与注册排队规则的创建及初始化排队规则函数表的定义
    11.2排队规则的入队和发送
    技术要点:排队规则的入队操作排队规则对数据包的流量控制和发送过程

    第12章建立连接的过程
    12.1驱动程序接收并建立数据包
    技术要点:网卡驱动程序的接收过程构建数据包软中断数据结构的运用软中断函数的接收过程
    12.2查找数据包类型且调用其处理函数
    技术要点:数据包类型结构的定义IP数据包类型及数据包类型队列IP层的接收过程
    12.3接收或转发IP数据包
    技术要点:IP选项的检查源路由的执行路由表的转发和接收过程
    12.4TCP数据包的处理
    技术要点:传输层函数表结构的定义TCP协议的函数表注册TCP层的接收过程查找与唤醒服务器进程
    12.53次握手过程
    技术要点:查找、创建客户端sock结构建立连接请求结构创建并发送ACK包连接请求的转接

    第13章Internet控制信息的传输
    13.1发送ICMP信息
    技术要点:ICMP的作用ICMP的发送函数ICMP信息结构、头部结构、缓存结构的定义ICMP控制结构数组ICMP发送速率的设置
    13.2接收ICMP信息
    技术要点:ICMP协议的函数表ICMP协议的接收过程

    第14章数据包的分段与重组
    14.1数据包的分段发送
    技术要点:数据包的分段示意图IP层的分段函数快发送、慢发送过程分段数据的复制
    14.2数据包的分段接收和重组
    技术要点:IP层的重组函数整理、合并分段数据包过程
    14.3分段数据包的接收队列
    技术要点:IP分段队列结构INET协议族的分段队列头结构网络空间、INET协议族的分段管理结构
    14.4查找与创建分段队列
    技术要点:IPv4分段信息结构查找、创建INET分段队列头初始化IP分段队列结构
    14.5释放和销毁分段队列
    技术要点:清除分段队列释放分段数据包和队列头

    第15章发送和接收数据包
    15.1内核的发送、接收函数
    技术要点:3种发送、接收的系统调用过程网络文件系统的发送、接收函数
    15.2客户端发送数据包
    技术要点:消息结构、缓冲区结构的定义与初始化构建发送数据包TCP层的发送过程TCP层的分段发送阻塞的检测
    15.3服务器接收数据包
    技术要点:TCP层的接收过程预处理队列的链入和处理预处理进程的接收过程复制数据到程序的缓冲区处理后备队列的数据包

    第16章socket的关闭
    16.1内核的关闭函数
    技术要点:网络文件系统的关闭函数删除、释放异步结构释放接收队列的数据包释放、销毁sock结构、连接请求结构
    16.2服务器与客户端的共同关闭
    技术要点:服务器与客户端FIN、ACK、RST包的交互过程状态改变与强制关闭
    索引
    参考文献
查看详情
相关图书 / 更多
追踪Linux TCP/IP代码运行
追踪金虎 江户川乱步全集·少年侦探团系列
江户川乱步 著;叶荣鼎 译
追踪Linux TCP/IP代码运行
追踪迪迪24小时情境认知游戏书(城市/港口/工地/农庄,德国经典全景认知绘本,推理探秘元素)浪
[德]布丽塔·泰肯特鲁普 著;浪花朵朵 编;张璇 译
追踪Linux TCP/IP代码运行
追踪大熊猫 人类带来的厄运
[美]小西奥多·罗斯福(Theodore Roosevelt)/【美】克米特·罗斯福(Kermit Roosevelt)著 高蕴华 译
追踪Linux TCP/IP代码运行
追踪动物留下的痕迹
马克卡·诺瓦科娃
追踪Linux TCP/IP代码运行
追踪觅迹
陈卫星
追踪Linux TCP/IP代码运行
追踪闪电盗贼/2号侦探社
[挪威]约恩·L.霍斯特 著;[挪威]陈晓飞 译;[挪威]汉斯·J.桑内斯 绘
追踪Linux TCP/IP代码运行
追踪与逃逸的数学问题
[美]保罗·J.纳辛(Paul J.Nahin) 著;杨亚非、于强 译
追踪Linux TCP/IP代码运行
追踪迷失的卫星
简平 著
追踪Linux TCP/IP代码运行
追踪巨兽虎口逃生/探秘恐龙山谷
[英]雷克斯·斯通 著;马洁 译
追踪Linux TCP/IP代码运行
追踪光影 让孩子着迷的光影小实验
李继勇 著
追踪Linux TCP/IP代码运行
追踪非洲五霸
沈梅华 张律
追踪Linux TCP/IP代码运行
追踪大数据(我的未来世界·迷境大冒险科学漫画)
修舰瑜 译;[韩]全判教 著 (韩)崔优斌 绘 (韩)李哲贤 监修