吴忠市网站建设_网站建设公司_原型设计_seo优化
2026/1/6 9:06:39 网站建设 项目流程

各类资料学习下载合集
链接:https://pan.quark.cn/s/7c8c391011eb

在网络世界里,“协议”(Protocol)的本质就是一份通信双方共同遵守的约定。这就好比两个人对话,必须约定好都讲普通话,才能互相理解。

在计算机中,这份“约定”体现为数据在内存中的排列格式。发送方把数据按格式“打包”,接收方按格式“拆包”。如果格式对不上(比如你发了 TCP 包,我却按 UDP 规则去读),通信就会失败。

一、 协议的“样貌”:C 语言结构体

笔记中提到了 TCP、UDP 和 IP 的报文结构,这些结构在操作系统内核源码中,通常是用 C 语言的struct(结构体)来定义的。让我们把笔记中的文字描述转化为代码:

1. TCP 报头 (20 字节 + 选项)

TCP 是面向连接的可靠传输协议。它的头部非常复杂,因为它要管的事情很多(排序、确认、流控)。

// Linux 内核风格的 TCP 头部定义示意structtcp_header{unsignedshortsource_port;// 16位源端口unsignedshortdest_port;// 16位目的端口unsignedintseq_num;// 32位序号unsignedintack_num;// 32位确认序号// 4位首部长度 + 保留位 + 标志位 (共16位)// 这里用位域表示unsignedshortheader_len:4,reserved:6,flags:6;unsignedshortwindow;// 16位窗口大小unsignedshortchecksum;// 16位校验和unsignedshorturg_ptr;// 16位紧急指针};

2. UDP 报头 (仅 8 字节)

UDP 是无连接的,主打一个“快”字。它的头部极其精简,只有 4 个字段。

structudp_header{unsignedshortsource_port;// 16位源端口unsignedshortdest_port;// 16位目的端口unsignedshortlength;// 16位长度 (含头部+数据)unsignedshortchecksum;// 16位校验和};

3. IP 报头 (20 字节 + 选项)

IP 负责寻址和路由。它包含了源 IP 和目的 IP,就像快递单上的发件人和收件人。

structip_header{unsignedcharver_ihl;// 4位版本 + 4位首部长度unsignedchartos;// 8位服务类型unsignedshorttotal_len

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询