当前位置: 首页 > news >正文

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

前言

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

一.传输层的作用

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

二.UDP协议

1.UDP协议的特点

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

2.UDP数据报结构

在这里插入图片描述
UDP数据报 = UDP报头 + UDP载荷
UDP报头由源/目的端口号,UDP长度,UDP校验和组成。每个部分都是16位比特位,所以UDP报头一共占8字节

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

三.TCP协议

1.TCP协议的特点

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

2.TCP数据报结构

在这里插入图片描述
这里的端口号,校验和跟UDP中的功能一样,不再赘述

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

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

小结

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

相关文章:

  • C语言程序设计第四版-课本习题(第六章-循环控制结构)
  • 星越L_陡坡缓降使用讲解
  • 双系统下Linux挂载Windows硬盘失败
  • centos 7 部署ftp 基于匿名用户
  • 详解“二分”系列算法
  • 织梦DedeCMS让CKeditor编辑模板文件的方法(默认源码模式编辑)
  • Java-servlet(七)详细讲解Servlet注解
  • 音视频框架详解
  • 第十四次CCF-CSP认证(含C++源码)
  • Python——MySQL数据库编程
  • DeepSeek API keys本地调用 [python]
  • 【AI知识】在 PyTorch 中设计和实现一个完整的模型训练和优化流程
  • C语言 数据结构【动态顺序表】详解
  • 表格标题竖直
  • IP地址结构体与字符串转换函数详解
  • 基于RT-thread使用STM32F407驱动LCD屏幕
  • 【HCIA-晴天老师】15-VLAN的Hybrid配置笔记
  • Camera2 API拍照失败问题实录:从错误码到格式转换的排坑之旅
  • Python实现生产者消费者模型-多进程与多线程处理
  • 基于Redis分布锁+事务补偿解决数据不一致性问题
  • 第一集丨《亲爱的仇敌》和《姜颂》,都有耐人寻味的“她”
  • 体坛联播|穆勒主场完成拜仁谢幕战,山西车队再登环塔拉力赛
  • 习近平结束对俄罗斯国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典回到北京
  • 视频丨习近平同普京在主观礼台出席红场阅兵式
  • 王受文已任全国工商联党组成员
  • 习近平出席俄罗斯纪念苏联伟大卫国战争胜利80周年庆典