76-TCP协议,UDP协议以及区别

news/2024/5/18 15:59:58 标签: tcp/ip, udp, 网络

TCP协议,UDP协议,SCTP协议

  • 一.TCP协议
    • 1.什么是TCP协议
    • 2.TCP协议的特点
    • 3.TCP头部结构
    • 4.TCP状态转移
    • 5.TCP超时重传
  • 二.UDP协议
    • 1.什么是UDP协议
    • 2.UDP协议的特点
  • 三.TCP和UDP的区别

一.TCP协议

1.什么是TCP协议

TCP(Transmission Control Protocol)协议即为传输控制协议,是一种面向连接的,可靠的,基于字节流的传输层通信协议

2.TCP协议的特点

  • TCP 协议(传输控制协议)为应用层提供可靠的、面向连接的和基于流的服务。
  • TCP 协议使用超时重传、确认应答等方式来确保数据包被正确的发送至目的端,因此TCP 服务是可靠的。
  • 使用 TCP 协议通信的双方必须先建立 TCP 连接,并在内核中为该连接维持一些必要的数据结构,比如连接状态,读写缓冲区等。当通信结束时,双方必须关闭连接以释放这些内核数据。
  • TCP 服务是基于流的,基于流的数据没有边界(长度)限制,它源源不断地从通信地一端流入另一端。发送端可以逐个字节地向数据流中写入数据,接收端可以逐个字节地将它们读出。
  • TCP协议的这种连接是一对一的,所以基于广播和多播(目标是多个主机地址)的应用程序不能使用TCP服务,而无连接协议的UDP则非常适合广播和多播

3.TCP头部结构

在这里插入图片描述
16位端口号:告知主机该报文段是来自哪里(源端口)以及传给那个上层协议或应用程序(目的端口)的。进行TCP通信时,客户端通常使用系统自动选择的临时端口号,而服务器则使用知名服务端口号。
32序列号:一次TCP通信过程中某一的传输方向上的字节流的每个字节的编号。

4.TCP状态转移

在这里插入图片描述

5.TCP超时重传

TCP服务必须能噶偶重传超过时间内收到确认的TCP报文段。为此,TCP模块为每个TCP报文段都维护一个重传定时器,该定时器在TCP报文段第一次被发送时启动。如果超时时间内未收到接收方的应答,TCP模块将重传TCP报文段并充值定时器。

二.UDP协议

1.什么是UDP协议

UDP协议就是用户数据报协议,,它为应用层提供不可靠、无连接、基于数据报地服务。“不可靠”意味着 UDP 协议无法保证数据从发送端正确地传送到目的端.

2.UDP协议的特点

UDP 协议(用户数据报协议)则与 TCP 协议完全相反,它为应用层提供不可靠、无连接、基于数据报地服务。“不可靠”意味着 UDP 协议无法保证数据从发送端正确地传送到目的端。如果数据在中途丢失,或者目的端通过数据校验发现数据错误而将其丢弃,则 UDP协议只是简单地通知应用程序发送失败。因此,如果要使 UDP 协议可靠,那么应用程序通常要自己处理数据确认、超时重传等逻辑。 UDP 是无连接的,即通信双发不保持一个长久的联系,因此应用程序每次发送数据都要明确指定 接收端的地址。基于数据报的服务,是相对基于流的服务而言的。每次 UDP 数据报都有一个长度,接收端必须以该长度为最小单位将其所有内容一次性读出,否则数据将被截断。

三.TCP和UDP的区别

  1. TCP 协议为应用层提供可靠的、面向连接的和基于流的服务,而UDP为应用层提供不可靠、无连接、基于数据报地服务。
  2. TCP协议的这种连接是一对一的.而UDPUDP 是无连接的,即通信双发不保持一个长久的联系.
  3. TCP接收端收到收到一个或多个TCP报文后,TCP模块将他们鞋带儿应用程序数据按照TCP报文段的序号依次放入缓冲区,并通知应用程序读取数据,接收端一次性将数据TCP接收缓冲区中的数据全部读出,也可以分多次读出,而UDP发送端发送一次接收端就要读取一次.
    在这里插入图片描述
    在这里插入图片描述

http://www.niftyadmin.cn/n/215106.html

相关文章

Servlet/Web开发概述/Http响应

一、web开发概述 学习web开发,需要先安装一台web服务器,将开发好的web项目部署在web服务器中供外界访问. Web服务器是指驻留于因特网上某种类型计算机的程序,可以放置资源文件,别人可以访问、服务器可以做出响应: 可…

分库分表介绍以及shardingjdbc实现分库分表

分库分表概念 一、什么是分库分表 分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。 分库分表是由分库和分表这两个独立概念组成的,只不过通常分库与分表的操作会同时进行&…

【Unityc#专题篇】之c#实践出真知(基础篇)

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

数据传输控制方式

数据传输控制方式一、程序控制方式二、程序中断方式三、DMA方式四、通道五、输入输出处理机一、程序控制方式 在数据传输控制方式中的程序控制方式中,数据传输是由CPU控制的。在这种方式下,CPU负责从外设读取数据,然后将数据写入内存&#x…

RabbitMQ消息队列实战(4)—— spring-boot-starter-amqp中消息的可靠性传输和确认机制

在上一篇文章中,笔者整理了从消息生产出来到消费结束的整个生命周期过程中,为了确保消息能够可靠到达或者消费,我们需要在哪些环节进行哪些处理,同时也展示了使用Java原生代码怎么样在这些环节进行处理。本文主要介绍使用spring b…

SpringMVC02注解与Rest风格

SpringMVC02 SpringMVC的注解 一、RequestParam 1、RequestParam注解介绍 位置:在方法入参位置作用:指定参数名称,将该请求参数 绑定到注解参数的位置属性 name:指定要绑定的请求参数名称; name属性和value属性互为…

物理服务器通过U盘安装CentOS 7操作系统

一、制作U盘启动盘 1、使用UltraISO工具打开需要安装的操作系统iso镜像文件(我安装的是CentOS-7-x86_64-Minimal-2009.iso),如下图所示 镜像下载地址:centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 2、将该系统镜像…

JAVAWeb04-DOM

1. DOM 1.1 概述 1.1.1 官方文档 地址: https://www.w3school.com.cn/js/js_htmldom.asp 1.1.2 DOM 介绍 DOM 全称是 Document Object Model 文档对象模型就是把文档中的标签,属性,文本,转换成为对象来管理 1.2 HTML DOM(文档…