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

HCIA---TCP/UDP协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 目录

    文章目录

    一.UDP协议简介

    UDP协议的特点:

       二.TCP协议简介

        TCP协议特点

    三.TCP和UDP的区别

    思维导图


一.UDP协议简介

         UDP(User Datagram Protocol,用户数据报协议)是一种轻量级的传输层协议,在计算机网络中使用。与TCP协议不同,UDP协议不保证数据传输的可靠性和顺序性,但它具有较低的延迟和较少的网络开销。UDP协议通常被用于需要实时性较高的应用程序,如音频、视频、游戏等。

         UDP协议的数据传输采用数据包的形式,每个数据包包含源端口号、目的端口号、数据长度和数据内容等信息。UDP协议没有连接的概念,因此在数据传输过程中,源端和目的端之间没有建立任何状态由于UDP协议不需要维护连接状态和各种控制信息,因此在网络中的开销比TCP协议小。但是,这也意味着UDP协议没有对数据传输的可靠性和顺序性进行保障,因此需要应用程序自行实现相关处理机制。

         UDP协议的优点是速度快、网络开销小,适用于对数据传输实时性要求较高的应用场景;缺点是不保证数据传输的可靠性和顺序性,需要应用程序自行处理相关问题。因此,在选择使用UDP协议时需要根据具体应用场景的需求进行权衡。

UDP协议的特点:

        1. 面向无连接UDP协议是一种非面向连接的协议发送数据之前不需要建立连接,也不需要维护连接的状态。因此,UDP协议的速度比TCP协议更快,但可靠性较低

        2. 简单、轻量级:UDP协议的头部较短,只有8个字节,相比之下TCP协议的头部有20个字节,因此UDP协议的数据包更小,传输效率更高

       3. 不可靠:UDP协议不提供可靠的数据传输机制,数据包可能会丢失、重复、乱序等,因此应用程序需要自己进行错误检测和重传等操作。

       4. 支持广播和多播:UDP协议可以将数据包传输给多个主机,支持广播和多播功能。

       5. 适用于实时应用:由于UDP协议传输数据速度快,数据包较小,因此适用于实时应用,如视频流、音频流等。

       6. 不支持拥塞控制:UDP协议不支持拥塞控制,当网络拥塞时,UDP协议可能会导致数据包丢失或网络负载过高。

   二.TCP协议简介

            TCP(Transmission Control Protocol,传输控制协议),是一种面向连接的、可靠的、基于字节流的传输协议。TCP协议被广泛用于Internet上的通信,它在应用层和IP层之间提供可靠的数据传输服务。

    TCP协议特点

       1.面向连接:为了确保可靠性和有序性,TCP协议在数据传输之前需要建立连接,数据传输完成后需要断开连接。

       2.可靠性:TCP协议可以确保数据的可靠性,它使用确认应答机制,如果发送方的数据没有被接收方正确接收,TCP协议会重新发送数据,直到接收方正确接收为止。

       3.流式传输:TCP协议以字节流的方式传输数据,没有数据记录的界限,可以根据需要动态地调整数据传输的大小。

       4.拥塞控制:TCP协议可以根据网络情况动态地调整数据传输的速率,避免网络拥塞。

       5.数据传输有序:TCP协议可以确保数据按照发送的顺序传输,不会出现乱序的情况。

       6.面向字节流:TCP协议以字节流的方式传输数据,没有数据记录的界限,可以根据需要动态地调整数据传输的大小。

三.TCP和UDP的区别

TCP和UDP的区别
TCP协议UDP协议
面向连接协议无连接协议
传输可靠传输不可靠
可以进行流控不可进行流控
可以分段不可分段
传输速度慢,占用资源大传输速度快,占用资源小

思维导图

http://www.lryc.cn/news/113994.html

相关文章:

  • 数据库索引的使用
  • 校验 GPT-4 真实性的三个经典问题:快速区分 GPT-3.5 与 GPT-4,并提供免费测试网站
  • SpringBoot整合MongoDB连接池(含源码)
  • [oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J
  • Zookeeper+kafka
  • Gpt微信小程序搭建的前后端流程 - 前端小程序部分-1.基础页面框架的静态设计(二)
  • Flask进阶:构建RESTful API和数据库交互
  • 6.9(Java)二叉搜索树
  • 洛谷P2256 一中校运会之百米跑
  • python-opencv对极几何 StereoRectify
  • pom文件---maven
  • 界面控件DevExpress.Drawing图形库早期增强功能分享
  • Semantic Kernel 入门系列:Connector连接器
  • Maven介绍-下载-安装-使用-基础知识
  • Ansible环境搭建,CentOS 系列操作系统搭建Ansible集群环境
  • Django基础
  • HTML,url,unicode编码
  • Hbase-热点问题(数据存储倾斜问题)
  • 一个基于Java线程池管理的开源框架Hippo4j实践
  • 源码解析Flink源节点数据读取是如何与checkpoint串行执行
  • 进阶:Docker容器管理工具——Docker-Compose使用
  • 策略模式(Strategy)
  • webpack基础知识十:与webpack类似的工具还有哪些?区别?
  • 分享kubernetes部署:基于Ansible自动安装kubernetes
  • 【Kubernetes部署篇】基于Ubuntu20.04操作系统搭建K8S1.23版本集群
  • c++--二叉树应用
  • 以太网DHCP协议(十)
  • 企业服务器器中了360后缀勒索病毒怎么解决,勒索病毒解密数据恢复
  • 详解Kafka分区机制原理|Kafka 系列 二
  • CSS学习记录(基础笔记)