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

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

文章分类

全部博文(193)

文章存档

2024年(9)

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-05 20:22:04

第9章 准备连接请求
    本章从客户端socket程序出发,沿着第二路线分析客户端与服务器的连接过程
    connect(client_fd, (struct sockaddr *)&server_address, server_len)
    其中server_address是服务器地址.
9.1 内核的连接函数
      ......前一篇
9.2 分配数据包结构和数据块空间
        struct skb_shared_info {
            ......
        };
        struct skb_frag_struct {
            ......
        };
        struct tcp_skb_cb {
            ......
        };
        struct sk_buff {
            ......
        };

        sys_socketcall()-->sys_connect()-->inet_stream_connect()-->tcp_v4_connect()-->tcp_connect()-->alloc_skb_fclone()-->__alloc_skb()-->kmem_cache_alloc_node()
                                                                                                                                                                                                                           -->kmalloc_node_track_caller()


        alloc_skb_fclone()为数据包申请空间. 通过__alloc_skb()完成.
        ......几种结构之间的关系待进一步理解

9.3 构建/发送TCP数据包
9.4 进化成IP数据包
9.5 进化成以太网数据包
9.6 发送以太网数据包
阅读(437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~