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

网站模板是指网站内容的总体结构和页面格式总体规划音乐网站手机模板

网站模板是指网站内容的总体结构和页面格式总体规划,音乐网站手机模板,微信app下载最新版本,网站手机验证码如何做华为OD面试真题精选 专栏:华为OD面试真题精选 目录: 2024华为OD面试手撕代码真题目录以及八股文真题目录 介绍下TCP/UDP TCP(传输控制协议)和 UDP(用户数据报协议) TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)是两种常见的传输层协议,主要…

华为OD面试真题精选

专栏:华为OD面试真题精选
目录: 2024华为OD面试手撕代码真题目录以及八股文真题目录

封面

介绍下TCP/UDP

TCP(传输控制协议)和 UDP(用户数据报协议)

TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)是两种常见的传输层协议,主要用于不同类型的网络通信。它们各自有不同的特性、应用场景以及优缺点。下面是对这两种协议的详细介绍:

1. TCP(传输控制协议)

TCP 是一种面向连接的协议,它确保数据包的可靠传输。它使用的是连接建立和断开机制,这意味着在数据传输开始之前,发送方和接收方之间需要先建立连接。TCP 协议适用于那些对可靠性要求高的场景。

特性:
  • 面向连接:在数据传输之前,发送端和接收端需要建立一个连接,使用三次握手(3-way handshake)过程来完成连接的建立。
  • 可靠性:TCP 确保数据按顺序到达接收方,并且通过校验和、确认应答、重传机制来保证数据的完整性。
  • 流量控制:TCP 使用滑动窗口协议来控制数据的流量,防止发送过快导致接收方无法处理。
  • 拥塞控制:TCP 还通过算法(如慢开始、拥塞避免)来避免网络拥塞,确保数据传输的高效性。
  • 顺序保证:TCP 确保数据包按发送顺序到达接收方。如果数据包丢失或顺序错乱,会进行重传,确保顺序一致。
工作原理:
  • 三次握手:建立连接时,发送方和接收方通过三次握手的过程来同步各自的初始序列号,确保连接的可靠性。
  • 数据传输:数据按字节流的形式传输,接收方会对每一个收到的数据包进行确认,发送方根据接收方的确认应答进行重传,确保数据的完整性。
  • 四次挥手:连接结束时,发送方和接收方通过四次挥手过程来关闭连接,释放资源。
应用场景:
  • Web 浏览(HTTP/HTTPS)
  • 文件传输(FTP)
  • 电子邮件(SMTP, IMAP, POP3)
  • 远程登录(SSH, Telnet)
优点:
  • 可靠性高,数据传输保证无误。
  • 数据按顺序到达。
缺点:
  • 建立连接需要时间(3次握手),增加延迟。
  • 流量和拥塞控制带来额外的开销。
  • 不适合实时应用,因为延迟较高。

2. UDP(用户数据报协议)

UDP 是一种无连接的协议,相较于 TCP,它提供较低的开销和更少的延迟。UDP 不保证数据的可靠性,数据包可能丢失、重复或无序到达。因此,它适用于对传输速度要求较高,但对可靠性要求不那么严格的应用。

特性:
  • 无连接:UDP 不需要在发送数据之前建立连接,因此减少了建立和断开连接的时间。
  • 不可靠性:UDP 不保证数据包的到达和顺序,不进行任何重传或确认。
  • 无流量控制和拥塞控制:UDP 不会控制发送的速率,因此没有流量控制和拥塞控制机制。
  • 轻量级:UDP 的头部开销非常小,相比 TCP 它传输数据更高效。
工作原理:
  • 数据传输:发送方直接发送数据包给接收方,没有建立连接,也没有确认机制。如果数据丢失或顺序错误,接收方也不会请求重传。
  • 数据报文:UDP 每次发送的数据是一个独立的“数据报”,即使数据包丢失或错乱,UDP 也不进行任何补救。
应用场景:
  • 流媒体(视频、音频传输)
  • 实时通讯(VoIP、在线游戏)
  • DNS 查询
  • SNMP(简单网络管理协议)
  • DHCP(动态主机配置协议)
优点:
  • 速度快,延迟低,适合实时应用。
  • 传输开销小,没有连接建立和维护的过程。
  • 无连接,适合广播、单播等场景。
缺点:
  • 不保证数据的可靠性、顺序和完整性。
  • 不适合需要高可靠性的应用。

3. TCP 和 UDP 的对比

特性TCPUDP
连接性面向连接,需要建立连接(3次握手)无连接,数据包独立发送
可靠性保证数据按顺序到达,丢失数据会重传不保证数据到达,也不保证顺序,不重传丢失数据
流量控制有流量控制和拥塞控制无流量控制
传输速度相对较慢,因有重传和确认过程较快,无重传和确认过程
头部开销大,通常是20字节以上小,通常是8字节
适用场景需要可靠性保证的应用,如 HTTP、FTP、SSH 等对速度要求高、可容忍丢包的应用,如视频、音频流等

TCP为什么可靠

TCP(Transmission Control Protocol)被设计为一个可靠的传输协议,提供可靠的数据传输服务。它通过一系列机制来确保数据从发送方到接收方的可靠性,以下是 TCP 保证可靠性的几个关键特性:

1. 数据完整性

  • TCP 在发送数据时会计算数据的校验和(Checksum)。在接收方,TCP 会使用相同的算法重新计算接收到的数据的校验和。如果校验和不匹配,数据就被认为是损坏的,接收方会丢弃该数据包并要求重传。

2. 数据顺序保证

  • TCP 使用序列号(Sequence Number)来标识每个数据包。当接收方收到数据包时,它会根据序列号对数据进行排序。即使数据包到达的顺序不同,接收方仍能根据序列号按正确的顺序重组数据。

    • 如果一个数据包丢失或乱序,接收方会按顺序等待并请求重传。

3. 确认应答与重传机制

  • 在 TCP 中,发送方会在发送每个数据包后等待接收方的确认应答(ACK)。接收方收到数据包后,会向发送方发送一个确认信号,告知已经收到的数据包的序列号。

    • 如果发送方在一定时间内没有收到确认应答,它会认为数据包丢失,并会重传该数据包。这保证了数据的可靠传输。

4. 流量控制(Flow Control)

  • TCP 使用滑动窗口机制进行流量控制,以避免发送方发送过快,导致接收方处理不过来。

    • 接收方会告知发送方它的缓冲区大小(即窗口大小),发送方会根据这个信息调整发送速度,从而避免缓冲区溢出和数据丢失。

5. 拥塞控制(Congestion Control)

  • 为了防止网络拥塞,TCP 使用拥塞控制算法(如慢开始、拥塞避免、快速重传、快速恢复等)来动态调整数据的发送速度。

    • 这些机制确保了网络中不会因为数据发送过快而导致网络拥塞,从而减少了丢包和延迟。

6. 三次握手(Three-Way Handshake)

  • 在连接建立时,TCP 使用三次握手来确认双方是否都准备好开始数据传输:

    1. SYN:客户端向服务器发送一个连接请求。
    2. SYN-ACK:服务器响应确认请求。
    3. ACK:客户端确认收到服务器的响应。

    这个过程确保了双方的连接建立是可靠的。

7. 四次挥手(Four-Way Handshake)

  • 在连接断开时,TCP 使用四次挥手来确保双方都知道连接已经关闭,数据传输也已完全结束。这确保了没有数据丢失,并且连接能够安全地关闭。

8. 重传机制(Retransmission)

  • 当发送方没有收到接收方的确认应答时,TCP 会定时进行重传。通过超时重传(Timeout Retransmission)机制,保证丢失的数据包能够及时重传并且最终到达接收方。

9. 流控制和拥塞控


文章转载自:

http://CnMuu4YJ.tLdfp.cn
http://ixEdQL03.tLdfp.cn
http://5Wg8RrzP.tLdfp.cn
http://lD8wTfg1.tLdfp.cn
http://pSNBUsv1.tLdfp.cn
http://qgnCbUMa.tLdfp.cn
http://KO0FJQ23.tLdfp.cn
http://xZFofAQU.tLdfp.cn
http://tE1AdaTa.tLdfp.cn
http://CrJX9aHK.tLdfp.cn
http://D5vtml9X.tLdfp.cn
http://K0mznp4S.tLdfp.cn
http://YQQk53sb.tLdfp.cn
http://slLNjf0Y.tLdfp.cn
http://SiXApNdR.tLdfp.cn
http://xAOyvI12.tLdfp.cn
http://yIB283We.tLdfp.cn
http://lLIhyIYK.tLdfp.cn
http://RdDPi9l3.tLdfp.cn
http://1I05oV0p.tLdfp.cn
http://tvG45u2l.tLdfp.cn
http://9J6fKPp5.tLdfp.cn
http://2jHQXjfG.tLdfp.cn
http://t8eJlU6d.tLdfp.cn
http://nvM3Z1za.tLdfp.cn
http://KT7zmbfh.tLdfp.cn
http://b3wriTw2.tLdfp.cn
http://saW5N8zM.tLdfp.cn
http://8MdAdvT1.tLdfp.cn
http://ESe1l60d.tLdfp.cn
http://www.dtcms.com/wzjs/723366.html

相关文章:

  • 百度网站收录链接提交夸克网页版
  • 制作网站的视频教程名片式网站模板
  • 如何开发一个手机网站深圳网站优化价格
  • 海搜网做的网站怎么样用哪个网站做相册视频文件夹
  • 规划网站开发总体方案深圳网站建设大概多少钱
  • 响应式企业网站模板北京网站建设还公司
  • 免费推广网站短视频在线推广企业网站的方法有哪些
  • 有没有做培养基的网站打开百度竞价页面是网站是什么
  • 网站建设手机版模板软件商店安装
  • 能做SEO优化的网站建设个人网站模板flash
  • 济南网站排名优化报价数据采集发布 wordpress
  • 2017手机网站建设方案做网站自己申请域名还是对方
  • 中小企业网网站排名优化培训
  • 个人网站备案 名称顺德网站建设咨询
  • 那个网站教人做冰点深圳手机网站建设服务
  • 网站备案 名称 不一致吗资深网站
  • 网站的优化与推广做网站域名的成本
  • 广州企业网站建设公司哪家好做网站要sql 数据库名字账号密码
  • 学网站建设与维护网站建设个人工作室
  • 安徽海通建设集团网站wordpress 办公
  • 溧阳住房和城乡建设局网站有哪些好的做兼职网站
  • 手机建网站模板疗养院有必要做网站吗
  • 福州移动网站建设外贸推广平台哪家好
  • 天津建设教育培训中心网站网站建设都需要什么资料
  • 南京网站制作公司电话开源课程 视频网站模板
  • 织梦网站怎么上传制作一个网站官网
  • 安阳网站公司哪家好古风网站建设
  • 临沂网站建设吧asp.net网站开发视频
  • vs网站开发源码dynamik wordpress
  • 建网站什么网站好珠海室内设计学校