Java EE(14)——网络原理——UDP&TCP数据报的结构

前言

本文主要介绍传输层 的两个知名协议------UDP&TCP(想了解其他层协议请移步Java EE(12)------初始网络

一.传输层的作用

传输层主要实现端对端的数据传输,在传输层的数据报中会包含源端口/目的端口的信息。端口的作用就是标识主机中的唯一进程,帮助数据被对应端口的进程接收

二.UDP协议

1.UDP协议的特点

特点 解释
无连接 通信双方不需要建立连接也能进行通信
不可靠传输 无法判断传输的数据是否被对端接收
面向数据报 数据传输以数据报为单位
全双工 通信双方都能同时收发数据

2.UDP数据报结构

UDP数据报 = UDP报头 + UDP载荷

UDP报头由源/目的端口号,UDP长度,UDP校验和组成。每个部分都是16位比特位,所以UDP报头一共占8字节

复制代码
    源端口号:发送方进程绑定的端口号
复制代码
    目的端口号:接收方进程绑定的端口号
复制代码
    UDP长度:一个UDP数据报所能携带的数据(加上报头)最大是2^16字节,即64KB
复制代码
    校验和:用于校验数据传输过程中是否发生了改变

三.TCP协议

1.TCP协议的特点

特点 解释
有连接 通信双方需要建立连接才能进行通信
可靠传输 能够通过相关机制检测信息是否传输到对端(如确认应答机制,后面再说)
面向字节流 数据传输以字节为单位
全双工 通信双方都能同时收发数据

2.TCP数据报结构

这里的端口号,校验和跟UDP中的功能一样,不再赘述

复制代码
    首部长度:表示TCP头部长度。以**4字节**为一个单位,用4个二进制比特位表示,表示的范围是((0~15) * 4)字节。因为TCP头部前20字节是固定的,所以TCP头部的长度范围是20 ~ 60字节
复制代码
    保留:为未来新增功能预留空间(4个比特位)
复制代码
    选项:扩展TCP功能,最大长度是40字节
复制代码
    填充:保证TCP头部的长度是4的整数倍
复制代码
    标志位:URG,ACK,PSH,RST,SYN,FIN(后面再详细介绍)

其他部分等后面我介绍TCP十大特性的时候再详细讲解

小结

这里介绍TCP数据报结构主要是为了后面介绍TCP协议的特性做铺垫,下篇博客开始讲解TCP是如何保证可靠传输 (如确认应答 )以及如何建立连接 (握手)等

相关推荐
mounter6254 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
ACP广源盛139246256737 小时前
破局 Type‑C 切换器痛点@ACP#GSV6155+LH3828/GSV2221+LH3828 黄金方案
c语言·开发语言·网络·人工智能·嵌入式硬件·计算机外设·电脑
嵌入式小企鹅8 小时前
蓝牙学习系列(八):BLE L2CAP 协议详解
网络·学习·蓝牙·ble·协议栈·l2cap
广州灵眸科技有限公司9 小时前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
byoass9 小时前
csdn_upload_005
网络·安全·云计算
IT WorryFree9 小时前
飞塔防火墙与第三方设备进行IPSEC故障诊断期间,用户可能会观察到以下错误:
linux·服务器·网络
不是书本的小明12 小时前
K8S应用优化方向
网络·容器·kubernetes
~plus~12 小时前
.NET 8 C# 委托与事件实战教程
网络·c#·.net·.net 8·委托与事件·c#进阶
w61001046613 小时前
CKA-2026-Service
linux·服务器·网络·service·cka
GTgiantech13 小时前
灵活拓展网络边界:电口光模块的智慧选型与部署指南
网络