网络原理TCP/IP

张开发
2026/6/9 20:15:25 15 分钟阅读
网络原理TCP/IP
一.自定义应用层协议1.明确前后端交互过程中需要传递哪些信息2.明确组织这些信息的格式确保前后端一致格式①xml——通过成对的标签表示键值对信息②json——键值对格式{userId:111,position:e40n60}③yml——强制要求了数据组织的格式④google protobuffer——二进制形式二.传输层1.UDP\TCP端口号是一个整数。同一时刻同一机器同一协议一个端口只能被一个进程绑定一个进程可绑定多个端口。端口号可通过2字节无符号整数表示0~655350不用1~1023已被预定好一般会避开。2.UDP协议1报文格式UDP报头共8B固定长度。报头中的四个字段未指定分隔符通过固定长度进行区分。UDP数据包长度限制太长会导致数据截断解决①把大数据包拆分成多个进行传输不确定性很高②直接使用TCP对长度无限制且自身有可靠传输机制代码修改成本低2检验和算法CRC、MD5、SAH1MD5的本质是“字符串hash算法”key存String通过hash函数把String转换成数组下标特点①定长无论输入的字符串有多长md5定长②分散输入的内容哪怕只有一点点不同得到的md5值相差也会很大③不可逆已知md5值理论上无法还原成原始值3.TCP协议1报文格式4位首部长度TCP报文长度可变6位保留位应对突发状况选项TCP报头变长的主要原因2基本特点有连接可靠传输面向字节流全双工能感知对方是否收到如果发现对方没收到重试3核心机制①确认应答感知对方是否收到对方说一声收到了为何网络中存在先发后至原因正常传输数据时不同的数据包走的路线不同遇到的状况有差别最终到达目标的时序存在差异。解决给传输的数据添加编号来区分先后顺序。TCP面向字节流实际上的编号按照字节进行编排。每个字节有一个独立的编号字节和字节之间编号连续递增称为“TCP的序号”。在应答报文中针对之前收到的数据进行对应的编号称为“TCP的确认序号”。32位序号TCP数据报载荷中第一个字节的序号32位确认序号

更多文章