网络知识点

网络知识点

一、内核网络栈代码:
BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。
分析socket结构:
在这里插入图片描述

state表示socket所处的状态,是一个枚举变量;
在这里插入图片描述

type是表示socket在特定协议族下的类型如SOCK_STREAM;
flags是一组标志位,用来设置socket是否正在忙碌;
wq是sock的等待队列,在TCP需要等待时就sleep在这个队列上;
file是回指指针;
sk是网络层对于socket的表示,sock是对socket的扩充;socket是inode结构中的一部分,即inode结构内部的一个union用作socket结构,如果把所有的结构成分放到socket结构中,inode结构中的union就会变得很大,对于其他文件会造成很大的浪费,但是在系统中使用inode结构的数量远远超过socket的数量,所以把插口分成两部分,把与文件系统相关的放在socket结构中,与通信相关的放在sock中。
ops协议相关的一组操作集;是依据协议绑定到该socket上的特定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值