Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1396062
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: LINUX

2014-11-07 09:53:35

         (1)套接字缓冲区和socket的接收skb队列有何关系?
             经常说的socket发送和接收缓冲区的大小,实际上应该是说socket的队列中的skb的个数限制,这个接收缓冲区和发送缓冲区并不是实际的内存,也没有分配,只是一种参数配置,阀值而已
        (2)数据的发送是谁做的?
             同样是交给了socket的skb队列,然后由tasklet的软中断来完成的
        (3)socket层属于协议栈?
            sockt层不属于协议栈,它是和VFS很好的融合的一个层次,并且提供一些系统调用,send/recv/poll/epoll/select等
            实际上tcp_rcv将skb挂到socket的队列中,需要通知socket层有数据可以读了,这个实际上是sock_def_readable,
            poll/epoll/select都是去检查这个标志,并且它们都是面向fd的。
            一个fd就是一个连接,也就是描述一个(src_ip,src_port,dest_ip,dst_port)的组合关系
        (4)连接的状态机在哪个层次维护?
             这个不是在socket层维护的,直接在传输层维护的状态机
             
阅读(2457) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~