搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Linux内核网络栈源代码情景分析
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115216267
  • 作      者:
    曹桂平编著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2010
收藏
编辑推荐
  剖析核心架构,直击Linux内核网络栈本质
  详细分析300多个核心函数和头文件,代码注释丰富
  两种方式分别讲述Linux1.2.13内核网络栈实现的所有源代码
  方便读者迅速掌握Linux网络协议结构
  学Linux内核网络栈源代码,从这里开始
展开
作者简介
  曹桂平:中国科学技术大学博士,对操作系统和网络技术具有极其深厚的兴趣,精通Linux内核及其网络线,ARM、PowerPC体系结构,曾开发Linux、Vxworks等平台的设备驱动,目前正致力于高速高精度数据采集方面的研究。
展开
内容介绍
  《Linux内核网络栈源代码情景分析》主要对Linux1.2.13内核协议栈的全部源代码做了详细的分析,该版本所有代码都在一个文件夹中,每种协议的实现都只有一个文件与之对应,分析该版本源代码可以方便读者迅速掌握Linux网络协议结构。
  《Linux内核网络栈源代码情景分析》共分为5个部分。具体内容包括网络栈总体架构分析、网络协议头文件分析、BSDsocket层实现分析、INETsocket层实现分析、网络层实现分析、链路层实现分析、网络设备驱动程序分析、系统网络栈初始化等内容。
  《Linux内核网络栈源代码情景分析》适合Linux网络开发人员及Linux内核爱好者阅读。
展开
精彩书摘
  该字段是一个联合类型,表示了数据包在不同处理层次上所到达的处理位置。如在链路层上,eth指针有效,指向以太网首部第一个字节位置;在网络层上,iph指针有效指向IP首部第一个字节位置。raw指针随层次变化而变化,在链路层上时,其等于eth,在网络层上时,其等于iph。seq是针对使用TCP协议的待发送数据包而言的,此时该字段值表示该数据包的,ACK值。ACK值等于数据包中第一个数据的序列号加上数据的长度值。
  iphdr:指向IP首部的指针,此处特别地分出了一个字段用于指向IP首部,主要用于RAW套接字。
  mem-len:该字段表示skbuff结构大小加上数据帧的总长度。
  len:该字段只表示数据帧长度,即len=mem-len-sizeof fraglen、fraglist:这两个字段用于分片数据包。。fraglen表示分片数据包个数,而fraglist指向分片数据包队列。truesize.意义同mem-len。sad&:数据包发送的源端IP地址。daddr:数据包最终目的端IP地址。raddr:数据包下一站IP地址。acked、used、flee、arp:acked=1表示该数据包已得到确认,可以从重发队列中删除。used=l表示该数据包的数据已被应用程序读完,可以进行释放。free=1用于数据包发送,当某个待发送数据包flee标志位等于l,则表示无论该数据包是否发送成功,在进行发送操作后立即释放,无需缓存。arp字段用于待发送数据包,该字段等于1表示此待发送数据包已完成MAC首部的建立。arp=0表示MAC首部中目的端硬件地址尚不知晓,故需使用.ARP协议询问对方,在:MAC首部尚未完全建立之前,该数据包一直处于发送缓冲队列中(device结构中buffs数组元素指向的某个队列以及ARP协议的某个队列中)。
  tries、lock、localroute:。tries字段表示该数据包已进行Pies试发送,如果试发送超出域值,则会放弃该数据包的发送。
展开
目录
第1部分 网络栈总体架构
第0章 网络栈总体架构分析
0.1 网络栈本质及其分层架构
0.2 系统调用接口到内核的请求传递
0.2.1 第一层入口:accept.S文件
0.2.2 第二层入口:socket.S文件
0.2.3 第三层入口:entry.S文件
第2部分 网络协议
第1章 网络协议头文件分析
1.1 etherdevice.h头文件
1.2 icmp.h头文件
1.3 if.h头文件
1.4 if_arp.h头文件
1.5 if_ether.h头文件
1.6 if_plip.h头文件
1.7 if_slip.h头文件
1.8 igmp.h头文件
1.9 in.h头文件
1.10 inet.h头文件
1.11 interrupt.h头文件
1.12 ip.h头文件
1.13 ip_fw.h头文件
1.14 ipx.h头文件
1.15 net.h头文件
1.16 netdevice.h头文件
1.17 notifier.h头文件
1.18 ppp.h头文件
1.19 route.h头文件
1.20 skbuff.h头文件
1.21 socket.h头文件
1.22 sockios.h头文件
1.23 tcp.h头文件
1.24 timer.h头文件
1.25 udp.h头文件
1.26 un.h头文件
1.27 本章小结
第3部分 网络栈实现分析
第2章 BSD socket层实现分析
2.1 protocols.c文件
2.2 socket.c文件
2.2.1 头文件声明、全局变量定义、相关函数声明
2.2.2 move_addr_to_kernel和move_addr_to_user函数
2.2.3 get_fd函数
2.2.4 socki_lookup和sockfd_lookup函数
2.2.5 sock_alloc函数
2.2.6 sock_release_peer、sock_release和sock_close函数
2.2.7 网络套接字普通文件接口函数
2.2.8 sock_awaitconn函数
2.2.9 sock_socket函数
2.2.10 sock_socketpair函数
2.2.11 sock_bind函数
2.2.12 sock_listen函数
2.2.13 sock_accept函数
2.2.14 sock_connect函数
2.2.15 sock_getsockname和sock_getpeername函数
2.2.16 sock_send和sock_sendto函数
2.2.17 sock_recv和sock_recvfrom函数
2.2.18 sock_setsockopt和sock_getsockopt函数
2.2.19 sock_shutdown函数
2.2.20 sock_fcntl函数
2.2.21 sys_socketcall函数
2.2.22 sock_register和sock_unregister函数
2.2.23 proto_init函数
2.2.24 sock_init函数
2.2.25 socket_get_info函数
2.2.26 socket.c文件小结
第3章 INET socket层实现分析
第4章 传输层实现分析
第5章 网络层实现分析
第6章 链路层实现分析
第4部分 网络设备驱动程序
第7章 网络设备驱动程序分析
第5部分 系统网络栈初始化
第8章 系统网络栈初始化
附录A TCP协议可靠性数据传输实现原理分析
主要参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证