Chinaunix首页 | 论坛 | 博客
  • 博客访问: 657995
  • 博文数量: 185
  • 博客积分: 1875
  • 博客等级: 上尉
  • 技术积分: 2107
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-23 23:21
个人简介

有时候,就是想窥视一下不知道的东东,因为好奇!

文章分类

全部博文(185)

文章存档

2024年(1)

2023年(3)

2020年(1)

2019年(1)

2018年(1)

2017年(2)

2016年(69)

2015年(53)

2014年(14)

2013年(1)

2012年(5)

2011年(25)

2010年(9)

分类: LINUX

2015-08-17 21:57:47

第十二章 建立连接的过程
        分析服务器, 如何为数据块建立数据包, 并从底层向上层传递到服务程序的过程.
12.1 驱动程序接收并建立数据包
12.3 接收或转发IP数据包
12.4 TCP数据包的处理
        ......上一章

12.5 3次握手过程
        do_softirq()-->net_rx_action()-->process_backlog()-->netif_receive_skb()-->deliver_skb()-->ip_rcv()-->ip_rcv_finish()-->dst_input()-->ip_local_deliver()-->ip_local_deliver_finish()-->tcp_v4_rcv()-->...
        ...-->tcp_v4_rcv()-->tcp_v4_do_rcv()-->tcp_v4_hnd_req()-->inet_csk_search_req()
                                                                                                   -->tcp_check_req()-->tcp_v4_syn_recv_sock()-->tcp_create_openreq_child()
                                                                                                                                 -->inet_csk_reqsk_queue_add()
                                                                                                   -->inet_lookup_established()
                                                                  -->tcp_rcv_state_process()
                                                                  -->tcp_child_process()-->tcp_rcv_state_process()-->tcp_ack()
        tcp_v4_hnd_req()查找或者创建客户端的sock结构
        inet_csk_search_req()查找连接请求结构
        tcp_check_req()创建代表客户端的sock结构, 将连接请求链入到这个sock结构的接收队列中
        inet_lookup_established()在已经连接的sock队列中查找sock结构
        tcp_rcv_state_process()根据服务器sock状态对数据包进行处理
        tcp_v4_syn_recv_sock()复制服务器的sock结构用于客户端的连接操作
        tcp_create_openreq_child()克隆服务器的sock结构, 创建客户端的sock
        tcp_child_process()唤醒服务器进程处理连接请求.
        tcp_rcv_state_process()根据客户端sock状态处理数据包
阅读(410) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~