本篇主要提供精通Linux内核网络罗森北方城电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
图书基本信息 | |
图书名称 | 精通Linux内核网络(图灵出品) |
作者 | 【以色列】罗森(Rami Rosen) |
定价 | 99元 |
出版社 | 人民邮电出版社 |
ISBN | 9787115392930 |
出版日期 | 2015-06-01 |
字数 | 827 |
页码 | 546 |
版次 | |
装帧 | 平装 |
开本 | 16开 |
商品重量 |
内容提要 | |
《精通Linux内核网络》讨论Linux 内核网络栈的实现及其原理,深入而详尽地分析网络子系统及其架构,主要内容包括:内核网络基础知识、Netlink 套接字、ARP、邻居发现和ICMP 等重要协议的实现、IPv4 和IPv6 的深入探索、Linux 路由选择、Netfilter 和IPsec 的实现、Linux 无线网络、InfiniBand 等。 《精通Linux内核网络》不仅适合从事网络相关项目的专业人员参考,也能为相关研究人员和学生提供极大帮助。 |
目录 | |
目录 章 绪论t1 1.1 Linux网络栈t2 1.2 网络设备t4 1.2.1 网络设备中的NAPIt5 1.2.2 数据包的收发t5 1.2.3 套接字缓冲区t7 1.3 Linux内核网络开发模型t10 1.4 总结t12 第2章 Netlink套接字t13 2.1 Netlink簇t13 2.1.1 Netlink套接字库t15 2.1.2 结构sockaddr_nlt15 2.1.3 用于控制TCP/IP联网的用户 空间包t15 2.1.4 内核Netlink套接字t16 2.1.5 Netlink消息报头t20 2.1.6 NETLINK_ROUTE消息t22 2.1.7 在路由选择表中添加和删除 路由选择条目t24 2.2 通用Netlink协议t25 2.2.1 创建和发送通用Netlink消息t29 2.2.2 套接字监视接口t31 2.3 总结t32 2.4 快速参考t32 第3章 Inter控制消息协议(ICMP)t36 3.1 ICMPv4t36 3.1.1 ICMPv4的初始化t37 3.1.2 ICMPv4报头t38 3.1.3 接收ICMPv4消息t42 3.1.4 发送ICMPv4消息:目的地 不可达t43 3.2 ICMPv6t47 3.2.1 ICMPv6初始化t47 3.2.2 ICMPv6报头t48 3.2.3 接收ICMPv6消息t49 3.2.4 发送ICMPv6消息t52 3.3 ICMP套接字(ping套接字)t55 3.4 总结t56 3.5 快速参考t56 3.5.1 方法t56 3.5.2 表格t57 3.5.3 procfs条目t58 3.5.4 使用iptables创建“目的地 不可达”消息t59 第4章 IPv4t61 4.1 IPv4报头t62 4.2 IPv4的初始化t63 4.3 接收IPv4数据包t64 4.4 接收IPv4组播数据包t67 4.5 IP选项t69 4.5.1 时间戳选项t71 4.5.2 记录路由选项t74 4.5.3 IP选项和分段t82 4.5.4 创建IP选项t84 4.6 发送IPv4数据包t85 4.7 分段t89 4.7.1 快速路径t90 4.7.2 慢速路径t93 4.8 重组t94 4.9 转发t99 4.10 总结t101 4.11 快速参考t101 4.11.1 方法t102 4.11.2 宏t104 第5章 IPv4路由选择子系统t105 5.1 转发和FIBt105 5.2 在路由选择子系统中进行查找t107 5.3 FIB表t110 5.3.1 FIB信息t110 5.3.2 缓存t115 5.3.3 下一跳t115 5.3.4 策略路由选择t117 5.3.5 FIB别名t118 5.4 ICMPv4重定向消息t121 5.4.1 生成ICMPv4重定向消息t122 5.4.2 接收ICMPv4重定向消息t123 5.4.3 IPv4路由选择缓存t125 5.5 总结t126 5.6 快速参考t126 5.6.1 方法t127 5.6.2 宏t128 5.6.3 表t128 5.6.4 路由标志t129 第6章 高级路由选择t131 6.1 组播路由选择t131 6.1.1 IGMPt132 6.1.2 组播路由选择表t133 6.1.3 组播转发缓存(MFC)t134 6.1.4 组播路由器t136 6.1.5 vif设备t137 6.1.6 IPv4组播接收路径t138 6.1.7 方法ip_mr_forwardt141 6.1.8 方法ipmr_queue_xmitt143 6.1.9 方法ipmr_forward_finisht145 6.1.10 组播流量中的TTLt146 6.2 策略路由选择t146 6.2.1 策略路由选择的管理t147 6.2.2 策略路由选择的实现t147 6.3 多路径路由选择t148 6.4 总结t149 6.5 快速参考t149 6.5.1 方法t149 6.5.2 宏t151 6.5.3 procfs组播条目t152 6.5.4 表t152 第7章 Linux邻接子系统t153 7.1 邻接子系统的核心t153 7.1.1 创建和释放邻居t160 7.1.2 用户空间和邻接子系统之间 的交互t161 7.1.3 处理网络事件t163 7.2 ARP协议(IPv4)t163 7.2.1 ARP:发送请求t165 7.2.2 ARP:接收请求和应答t168 7.3 NDISC协议(IPv6)t174 7.3.1 重复地址检测(DAD)t174 7.3.2 NIDSC:发送请求t176 7.3.3 NDISC:接收邻居请求和 通告t179 7.4 总结t185 7.5 快速参考t186 7.5.1 方法t186 7.5.2 宏t189 7.5.3 结构neigh_statisticst190 7.5.4 表t191 第8章 IPv6t192 8.1 IPv6简介t192 8.2 IPv6地址t193 8.2.1 特殊地址t193 8.2.2 组播地址t194 8.3 IPv6报头t195 8.4 扩展报头t197 8.5 IPv6初始化t199 8.6 自动配置t200 8.7 接收IPv6数据包t201 8.7.1 本地投递t204 8.7.2 转发t206 8.8 接收IPv6组播流量t210 8.9 组播侦听者发现(MLD)t211 8.9.1 加入和退出组播组t212 8.9.2 MLDv2组播侦听者报告t215 8.9.3 组播源过滤t215 8.10 发送IPv6数据包t220 8.11 IPv6路由选择t221 8.12 总结t221 8.13 快速参考t221 8.13.1 方法t221 8.13.2 宏t224 8.13.3 表t224 8.13.4 特殊地址t225 8.13.5 IPv6路由选择表的管理t226 第9章 Netfiltert227 9.1 Netfilter框架t227 9.2 Netfilter挂接点t228 注册Netfilter钩子回调函数t229 9.3 连接跟踪t230 9.3.1 连接跟踪的初始化t231 9.3.2 连接跟踪条目t234 9.3.3 连接跟踪辅助方法和期望 连接t238 9.3.4 iptablest241 9.3.5 投递到当前主机t243 9.3.6 转发数据包t245 9.3.7 网络地址转换(NAT)t245 9.3.8 NAT钩子回调函数和连接 跟踪钩子回调函数t247 9.3.9 NAT钩子回调函数t250 9.3.10 连接跟踪扩展t252 9.4 总结t253 9.5 快速参考t253 9.5.1 方法t253 9.5.2 宏t255 9.5.3 表t255 9.5.4 工具和库t256 0章 IPsect257 10.1 概述t257 10.2 Inter密钥交换(IKE)t257 10.3 IPsec和加密t259 10.4 XFRM框架t259 10.4.1 XFRM的初始化t260 10.4.2 XFRM策略t260 10.4.3 XFRM状态(安全关联)t263 10.5 IPv4 ESP的实现t266 10.6 接收IPsec数据包(传输模式)t268 10.7 发送IPsec数据包(传输模式)t271 10.8 XFRM查找t272 10.9 IPsec的NAT穿越功能t275 10.10 总结t276 10.11 快速参考t276 10.11.1 方法t276 10.11.2 表t278 1章 第4层协议t280 11.1 套接字t280 11.2 创建套接字t281 11.3 用户数据包协议(UDP)t285 11.3.1 UDP的初始化t286 11.3.2 发送UDP数据包t287 11.3.3 接收来自网络层(L3)的 UDP数据包t290 11.4 传输控制协议(TCP)t293 11.4.1 TCP报头t293 11.4.2 TCP的初始化t295 11.4.3 TCP定时器t296 11.4.4 TCP套接字的初始化t297 11.4.5 TCP连接的建立t297 11.4.6 接收来自网络层(L3)的 TCP数据包t298 11.4.7 发送TCP数据包t299 11.5 流控制传输协议(SCTP)t300 11.5.1 SCTP数据包和数据块t301 11.5.2 SCTP块头t302 11.5.3 SCTP块t302 11.5.4 SCTP关联t303 11.5.5 建立SCTP关联t305 11.5.6 接收SCTP数据包t305 11.5.7 发送SCTP数据包t306 11.5.8 SCTP心跳t306 11.5.9 SCTP多流t306 11.5.10 SCTP多宿主t307 11.6 数据报拥塞控制协议(DCCP)t307 11.6.1 DCCP报头t307 11.6.2 DCCP的初始化t3 |
作者介绍 | |
Rami Rosen 资深软件工程师,Linux内核网络专家。从业十余年间,参与过多个尖端Linux内核项目,曾就Linux内核网络和虚拟化发表过多篇文章,并做过多次演讲。博客地址:ramirose.wix./ramirosen。 袁国忠 自由译者;2000年起专事翻译,主译图书,偶译新闻稿、软文;出版译著40余部,其中包括《C++ Prime Plus中文版》《CA学习指南》《CP ROUTE学习指南》《面向模式的软件架构:模式系统》《Android应用UI设计模式》《风投的选择:谁是下一个十亿美元级公司》等,总计700余万字;专事翻译前,从事过三年化工产品分析和开发,做过两年杂志和图书编辑。 |
编辑推荐 | |
★专注于各网络协议实现技术的精髓及其遵循的指导方针和原则。 ★重点讲解数据包在Linux内核网络栈中的传输过程,阐述其与网络各层及各子系统之间的交互。 ★从网络开发者视角,配合清晰图表,深入剖析Linux内核网络子系统的内部细节及核心实现。 |