欢迎来到天天文库
浏览记录
ID:9607613
大小:1.34 MB
页数:290页
时间:2018-05-03
《基于linux内核中的tcpip的核心过程分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、已完成--基于LINUX内核中的TCP/IP的核心过程分析在我的博客中的《如何从应用程序进入linux内核》日志中我详细分析了Unix的socket的创建、发送、接收、关闭的过程,而你看到下边这些文章是基于IPV4的追踪分析的过程。从围绕着服务器端的socket的建立--监听--接收连接--客户端发送连接请求--与服务器对接--数据接收--数据发送整个过程为主线分析。本文是核心过程分析所以重点对内核的代码进行剖析,在另一篇中《TCP/IP协议内核源码分析》中将完善理论及协议方面的内容,希望大家多提宝贵的意见,使本文成为一部经典的学习材料。·内核中的TCP的追踪分析-1-追踪TC
2、P(IPV4)的socket的初始化·内核中的TCP的追踪分析-2-追踪TCP(IPV4)的socket的创建·内核中的TCP的追踪分析-3-TCP(IPV4)的socket的地址绑定·内核中的TCP的追踪分析-4-TCP(IPV4)的socket的地址绑定-续·内核中的TCP的追踪分析-5-再谈TCP(IPV4)的socket的地址绑定·内核中的TCP的追踪分析-6-TCP(IPV4)的socket的监听·内核中的TCP的追踪分析-7-TCP(IPV4)的socket接收连接·内核中的TCP的追踪分析-8-TCP(IPV4)的socket连接·内核中的TCP的追踪分析-9-T
3、CP(IPV4)的socket连接-续1·内核中的TCP的追踪分析-10-TCP(IPV4)的socket连接-续2·内核中的TCP的追踪分析-11-TCP(IPV4)的socket连接-续3·内核中的TCP的追踪分析-12-TCP(IPV4)的socket连接-续4·内核中的TCP的追踪分析-13-TCP(IPV4)的socket连接-续5·内核中的TCP的追踪分析-14-TCP(IPV4)的客户端与服务器端socket连接过程-1·内核中的TCP的追踪分析-15-TCP(IPV4)的客户端与服务器端socket连接过程-2·内核中的TCP的追踪分析-16-TCP(IPV4)
4、的客户端与服务器端socket连接过程-3·内核中的TCP的追踪分析-17-TCP(IPV4)的客户端与服务器端socket连接过程-4·内核中的TCP的追踪分析-18-TCP(IPV4)的客户端与服务器端socket连接过程-5·内核中的TCP的追踪分析-19-TCP(IPV4)的服务器端数据的接收·内核中的TCP的追踪分析-20-TCP(IPV4)的服务器端数据的接收-续·内核中的TCP的追踪分析-21-TCP(IPV4)的客户端数据的发送·内核中的TCP的追踪分析-22-TCP(IPV4)的客户端数据的发送-续内核中的TCP的追踪分析-1-追踪TCP(IPV4)的sock
5、et的初始化在我的博客中的-如何从实践引领进入linux内核类别日志中我详细分析了Unix的socket的创建、发送、接收、关闭的过程,这节开始进入探讨IPV4的TCP的socket的创建,我们在linux/unix的socket从实践到内核分析部分 http://blog.chinaunix.net/u2/64681/showart.php?id=1287300中看到了关于socket的系统调用的总入口函数sys_socketcall()然后根据 caseSYS_SOCKET: err=sys_socket(a0,a1,a[2]);进入sys_socket
6、()函数asmlinkagelongsys_socket(intfamily,inttype,intprotocol){。。。。。。 retval=sock_create(family,type,protocol,&sock);。。。。。。 }再进入sock_create()最后进入__sock_create(),然后在那里执行err=pf->create(net,sock,protocol);这个过程我们在socket的实践到内核开始都追踪过了,不再细说了,我们这里直接从ipv4的socket的创建开始说起,我们回忆一下在有关的重要记忆点首先是net_families这
7、个管理所有的网络协议的数组,我们说过在__sock_create()会在支持动态安装模块的前提下首先调用 if(net_families[family]==NULL) request_module("net-pf-%d",family);也就是检查相应的协议有没有安装,我们在实践练习中曾经在创建socket用过这句server_sockfd=socket(AF_INET,SOCK_STREAM,0);由些传递下来的family参数则是AF_INET,这个值是2,也就是说我
此文档下载收益归作者所有