第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) |