传输控制块

Posted wanpengcoder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传输控制块相关的知识,希望对你有一定的参考价值。

传输控制块是一个分层的填充结构,每一个层次都增加一些字段,来表示一个通用的控制,它们都是结构中的第一个结构,可以直接从头部直接转换成对应的控制块;如: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  }

 

以上是关于传输控制块的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django Summernote 中显示编程片段的代码块?

Sphinx - 在代码块片段中使用省略号 (...)

Xcode 快速开发 代码块

Xcode 快速开发 代码块 快捷键

<code> vs <pre> vs <samp> 用于内联和块代码片段

将用户数据分成一个个数据块传输的优点不包括( )