struct sock结构的简单注释

struct sock是Linux内核中INET socket层的核心结构,它连接了BSD socket层和数据链路层。该结构包含了如IP地址、端口、连接状态等关键信息,并通过prot指针处理各种操作。本文提供了struct sock结构的注释,阐述其在内核网络通信中的重要角色。
摘要由CSDN通过智能技术生成

内核网络四层结构:BSD socket层、INET socket层、IP层、数据链路层

sock结构工作在INET socket层,所有BSD socket层的操作都通过struct sock
及其域字段prot指针转化为prot锁指向的函数处理,所以sock结构是维系
BSD socket层和INET socket层的纽带,其重要性是不言而喻的。

下面是对sock结构的简单注释,有些没有的待我弄懂后再来修改,^_^

struct sock {
 /* Socket demultiplex comparisons on incoming packets. */
 __u32   daddr;  /* 外部IP地址   */
 __u32   rcv_saddr; /* 绑定的本地IP地址  */
 __u16   dport;  /* 目标端口   */
 unsigned short  num;  /* 本地端口    */
 int   bound_dev_if; /* 绑定网卡接口的索引 不为0  */

 /* 用于各种协议查找表的哈希链表 */
 struct sock  *next;
 struct sock  **pprev;
 struct sock  *bind_next;
 struct sock  **bind_pprev;

 volatile unsigned char state,  /* 连接状态   */
    zapped;  /* In ax25 & ipx means not linked */
 __u16   sport;  /* 源端口    */

 unsigned short  family;  /* 地址簇   */
 unsigned char  reuse;  /* SO_REUSEADDR设置,表示地址重用 */
 unsigned char  shutdown; /* 半关闭标志 SEND_SHUTDOWN和RCV_SHUTDOWN掩码 */
 atomic_t  refcnt;  /* 引用计数   */

 socket_lock_t  lock;  /* 同步锁.   */
 int   rcvbuf;  /* 接受缓冲区长度(单位:字节) */

 wait_queue_head_t *sleep;  /* 等待队列,通常指向socket的wait域 */
 struct dst_entry *dst_cache; /* 目的地缓存,用于路由查找结果  */
 r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值