![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TCP/IP
文章平均质量分 63
chn89
这个作者很懒,什么都没留下…
展开
-
socket 建立过程分析
本文参考代码是2.6.35.8 当应用程序调用socket函数时,程序会发生系统调用陷入内核态,最终会执行sys_socket函数,那么sys_socket定于在哪儿呢? 答案是SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol) @/net/socket.c 最终会编译成为sys_socket。s原创 2011-12-13 21:27:58 · 3780 阅读 · 0 评论 -
Linux 协议栈中重要数据介绍
重要数据结构strcut proto { int (*close)(struct sock *sk,long timeout); ........... ......... /*some memory pressure infomation*/ ......... }//socket 层到传输层的接口,换句话说就是抽象出统一的接口对s原创 2011-12-14 19:07:02 · 736 阅读 · 0 评论 -
sk_buff 介绍
sk_buff是Linux网络协议栈最重要的数据结构之一,该数据结构贯穿于整个数据包处理的流程。由于协议采用分层结构,上层向下层传递数据时需要增加包头,下层向上层数据时又需要去掉包头。sk_buff中保存了L2,L3,L4层的头指针,这样在层传递时只需要对数据缓冲区改变头部信息,并调整sk_buff中的指针,而不需要拷贝数据,这样大大减少了内存拷贝的需要。struct sk_buff {//介原创 2011-12-14 19:08:10 · 4532 阅读 · 0 评论 -
sock_init函数分析
内核版本为2.6.35.8 static int __init sock_init(void) @net/socket该函数比较简单 1,sk_init()// 初始化sock SLAB cathe 2,skb_init() //初始化skb_buff SLAB cache 3,init_inodecache(),//初始化一个socket_allo原创 2011-12-14 10:04:29 · 3422 阅读 · 0 评论 -
采用socket通信的send分析
内核版本为2.6.35.8 采用socket通信的send分析 1,send函数接收fd作为参数,陷入内核态,调用sys_sendmsg 2,SYSCALL_DEFINE3(sendmsg, int, fd, struct msghdr __user *, msg, unsigned, flags)最终编译为sys_sendmsg sys_sendmsg 分析原创 2011-12-14 11:52:02 · 1297 阅读 · 0 评论 -
inet_init()初始化分析
本文参看代码版本为2.6.35.8 inet_init 分析 1,proto_register():分别注册变量tcp_prot,udp_prot,raw_prot。不负责的听说这里是注册到了私有链表,仅用于/proc。 2,sock_register(inet_family_ops),在全局数组net_family里面注册inet_family_ops。stati原创 2011-12-13 21:36:52 · 5473 阅读 · 0 评论 -
net_device 结构分析
在linux内核中采用一个net_struct的实例来表示一个网络设备,这其中包括了虚拟网络设备和实际网络设备。该数据结构比较复杂,主要任务分为两部分:第一对上层协议屏蔽底层设备的区别,提供统一的操作接口。第二对下层设备,提供实际驱动方法。strcut net_device{//通用区域 char name[]// 名字 struct hlist_node name_h原创 2011-12-15 21:01:06 · 1657 阅读 · 0 评论 -
Linux Networking 有用的网站
iptables tutorial http://www.frozentux.net/iptables-tutorial/iptables-tutorial.htmlpacket-filtering http://netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.htmlebtable http:/原创 2012-01-11 20:14:59 · 980 阅读 · 0 评论