• 传输控制块


    传输控制块是一个分层的填充结构,每一个层次都增加一些字段,来表示一个通用的控制,它们都是结构中的第一个结构,可以直接从头部直接转换成对应的控制块;如:tcp控制块的tcp_sock的使用slab分配,其大小为整个tcp_sock结构的大小,在下层用不到上层tcp相关属性的时候,只取其中的某个部分即可,如 (struct inet_sock *)sk 即可取得inet_sock ipv4传输控制块;

     1  struct tcp_sock { //tcp传输控制块
     2     struct inet_connection_sock { //面向连接的传输控制块
     3         struct inet_sock { //ipv4传输控制块
     4             struct sock { //协议无关的传输控制块
     5                 struct sock_common { //传输控制块公共部分
     6                     //struct sock, struct request_sock, struct inet_timewait_sock的公共部分
     7                 }
     8                 
     9                 //增加了其他非sock_common的公共信息
    10             }
    11             
    12             //增加了ipv4协议专有的一些属性,如TTL,组播列表,ip地址,端口等;
    13         }
    14         
    15         //所有面向连接传输控制块,增加了连接,确认,重传等;
    16     }
    17     
    18     //tcp协议的控制块,增加了滑动窗口,拥塞控制算法等tcp专有属性;
    19  }
  • 相关阅读:
    bootstrap-treeview 实现级联选择
    MockMvc
    TCP的三次握手与四次挥手的理解
    多线程之按序打印
    java后端学习流程
    nginx安装配置
    今天给大家分享个玩具——树莓派
    nginx启动报错
    springboot自定义注解
    初探企业级应用开发主流前沿技术
  • 原文地址:https://www.cnblogs.com/wanpengcoder/p/11749378.html
Copyright © 2020-2023  润新知