IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTP基于TCP吗?详解UDP数据报头部格式、特点、应用、UDP 用户数据报的首部十六进制表示是:0632 0045 001C E217,试求源端口、目的端口、 用户数据报的总长度、数据部分长度。 -> 正文阅读

[网络协议]HTTP基于TCP吗?详解UDP数据报头部格式、特点、应用、UDP 用户数据报的首部十六进制表示是:0632 0045 001C E217,试求源端口、目的端口、 用户数据报的总长度、数据部分长度。

HTTP基于TCP吗?

  • 回答1:
    在这里插入图片描述
  • 回答2:
    看 HTTP 版本呀,HTTP/1.1 和 HTTP/2 都是基于 TCP 传输协议的,而 HTTP/3 是基于 UDP 传输协议的。
    在这里插入图片描述

一、UDP协议概述

用户数据报协议(User Datagram Protocol)简称UDP协议,它是在IP的数据报服务上增加了端口和简单的差错检测来实现进程到进程之间的数据传输。
U D P 头 部 \color{red}{UDP头部} UDP很简单,包括源端口目的端口UDP总长度校验和,各占16位/2字节,共8字节。

最后例题中UDP数据报首部:
在这里插入图片描述

  • 源端口:发送方所使用的端口号,若不需要对方回发消息,则可全置为0。
  • 目的端口:目的端口号,在终点交付报文的时候需要用到。
  • UDP总长度:长度16位,指定了UDP数据报的总长度。
  • 校验和:检测UDP数据报在传输中是否有错,有错则丢弃。【长度16位,用于UDP的差错检测,防止UDP报文出错,同时伪首部参与计算,避免UDP用户数据报传送到错误的目的地。UDP的首部,数据部分,伪首部都会参与检验和的计算,各字段是按照16比特为单位进行计算的,因此数据部分是要保证是16比特的倍数,不够用0填充。】

二、UDP协议有如下几个特点:

  • 无连接。UDP是无连接的协议,数据传输之前不需要建立数据连接,也没有超时重传等机制,拥塞控制以及流量控制,但是传输速度快,灵活。
  • 不可靠,尽最大努力交付。报文有可能存在重复,失序,丢失。
  • 面向报文。TCP(面向连接的传输控制协议)是面向字节传输,而UDP是面向报文传输,对于应用层交下来的报文段不进行拆分合并,直接保留原有报文段的边界然后添加UDP的首部就交付给网络层。不论报文的长短,UDP都不会进行处理。因此为了避免报文段过短降低传输效率以及报文段过长导致网络层对IP数据进行分片操作,应用层应该选择合适长度的报文交付给运输层的UDP。
  • 支持一对一,一对多,多对一,多对多的交互通信,组播以及广播功能。这点弥补了TCP的不足.
  • UDP首部只有8字节(源端口号,目的端口号,UDP总长度,检验和,各16位/2字节)。TCP首部固定20字节。

须知:UDP的应用:

某些实时应用要求以稳定的速度发送,能容 忍一些数据的丢失,但是不能允许有较大的时延(比如实时视频,直播等)。
在这里插入图片描述

  • 应用层协议DNS(域名服务)、DHCP动态主机配置协议)、TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、RIP(路由信息协议)传输层协议都是采用的UDP协议
  • 应用层协议FTP(文件传输协议)、Telnet(远程终端协议)、SMTP(简单邮件传输协议)、HTTP(超文本传输协议)、BGP(边界网关协议)传输层协议采用的是TCP协议

DNS如果运行在TCP之上而不是UDP,那么DNS的速度将会慢很多。
HTTP使用TCP而不是UDP,是因为对于基于文本数据的Web网页来说,可靠性很重要。

习题解析:UDP 用户数据报的首部十六进制表示是:0632 0045 001C E217,试求源端口、目的端口、 用户数据报的总长度、数据部分长度等。

题目描述:UDP 用户数据报的首部十六进制表示是:0632 0045 001C E217,试求源端口、目的端口、 用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户?使用 UDP 的这个服务器程序是什么?

  • 源端口:1586(前4个字节0632)
  • 目的端口:69(00 45)
  • 用户数据报总长度:28 字节(00 1C,其中UDP首部占8字节
  • 数据部分长度:以上求出的长度为UDP数据报的总长度28字节,由于UDP数据报的首部占8字节,所以数据字段长度占28-8=20字节

因为目的端口号 69 < 1023,是常用的服务端口,所以这个数据报是发往服务器端的20 字节

须知:

  • 0~1023:常用的服务端口
  • 1024~49151是被注册的端口,也成为“用户端口”
  • 其中 1024~5000为临时端口

因为端口号为69,
在这里插入图片描述

所以使用 UDP 的这个服务器程序是TFTP【简单文件传输协议】

  • TFTP:是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

这个用户数据报是:从客户发送给服务器
服务器程序:TFTP。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:26:03  更:2022-06-29 19:26:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/20 2:16:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码