Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1309351
  • 博文数量: 107
  • 博客积分: 10155
  • 博客等级: 上将
  • 技术积分: 2166
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-25 16:57
文章分类

全部博文(107)

文章存档

2010年(1)

2009年(1)

2008年(105)

分类: LINUX

2008-11-20 14:28:46

在我的博客中的《如何从应用程序进入linux内核》日志中我详细分析了Unix的socket的创建、发送、接收、关闭的过程,而你看到下边这些文章是基于IPV4的追踪分析的过程。从围绕着服务器端的socket的建立--监听--接收连接--客户端发送连接请求--与服务器对接--数据接收--数据发送整个过程为主线分析。本文是核心过程分析所以重点对内核的代码进行剖析,在另一篇中《TCP/IP协议内核源码分析》中将完善理论及协议方面的内容,希望大家多提宝贵的意见,使本文成为一部经典的学习材料。
阅读(15132) | 评论(7) | 转发(2) |
给主人留下些什么吧!~~

chinaunix网友2008-12-23 15:20:21

学习了,谢谢楼主分享!

chinaunix网友2008-12-23 11:37:24

麻烦大哥您还是把如何从C库执行到系统调用又好何到达socket系统调用的总入口函数sys_socketcall()的过程写一下好嘛? 小弟我这块很不清楚啊,如果您实在没空,能不能推荐一些关于这方面的 书籍资料或者网站呢? 多谢了多谢了!!!!

chinaunix网友2008-12-14 22:20:04

楼主很牛啊!!! 我是初学者,最近打算把楼主的文章都拜读一下! 不知楼主接下来会写一些什么方面的内容???

jian_g_2008-11-27 18:05:10

你好,问题已解决,原来tcp_v4_do_rcv看到目标socket的状态为TCP_LISTN状态时会继续调用tcp_v4_hnd_req,tcp_v4_hnd_req会继续调用inet_lookup_established用数据包的原始daddr和dport查找已连接状态的套接字,而找到目标套接字。

jian_g_2008-11-27 16:52:18

请教博主:listening套接字与accept产生的新的套接字在内部结构上是怎么关联的?我现在碰到一个这样的问题:在用TPROXY作透明代理时,发现它把所有的数据包(包括SYN包及握手完成以后的所有应用程序通信数据包)均重定向到listening套接字上,但accept套接字依然能够接收应用程序数据包。我对照了TPROXY对内核所作的修改,没有找到它对内核作过这方面的修改。所以我猜想,应该是内核本身按某种方式将listening套接字与在它上面accept派生的新套接字关联起来了。找了很久没找着这种关联关系。