基于linux内核中的tcpip的核心过程分析

基于linux内核中的tcpip的核心过程分析

ID:9607613

大小:1.34 MB

页数:290页

时间:2018-05-03

基于linux内核中的tcpip的核心过程分析_第1页
基于linux内核中的tcpip的核心过程分析_第2页
基于linux内核中的tcpip的核心过程分析_第3页
基于linux内核中的tcpip的核心过程分析_第4页
基于linux内核中的tcpip的核心过程分析_第5页
资源描述:

《基于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,也就是说我

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。