为什么可靠 udp_js面试之TCP和UDP的区别

  • TCP和UDP分别指的是什么?

    • UDP:全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的;

    • TCP:全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构。

  • TCP通过哪些方式来保证可靠性?

    • 应用数据被分割成TCP认为最适合发送的数据块

    • 确认机制,发送报文后,等待确认

    • 重发机制,没有收到确认,将重发数据报

    • 保持它的首部和数据校验,确认数据的准确性

    • 排序,将重复数据丢掉,进行流量控制

  • TCP和UDP的区别是什么?

    • 2a22aadbe099ed401a39c1ee10b33594.png

  • TCP和UDP的使用场景

    • TCP应用场景:效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确认、重发、排序等操作,相比之下效率没有UDP高。例如:文件传输(准确高要求高、但是速度可以相对慢)、接受邮件、远程登录。

    • UDP应用场景:效率要求相对高,对准确性要求相对低的场景。例如:QQ聊天、在线视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。

  • TCP协议为什么更安全,更可靠?

    • 确认和重传机制:建立连接时三次握手同步双方的“序列号 + 确认号 + 窗口大小信息”,是确认重传、流控的基础。传输过程中,如果Checksum校验失败、丢包或延时,发送端重传

    • 数据排序:TCP有专门的序列号SN字段,可提供数据re-order

    • 流量控制:窗口和计时器的使用。TCP窗口中会指明双方能够发送接收的最大数据量

    • 拥塞控制

  • UDP协议为什么不安全,不可靠?

    • 不保证消息交付:不确认,不重传,无超时

    • 不保证交付顺序:不设置包序号,不重排,不会发生队首阻塞

    • 不跟踪连接状态:不必建立连接或重启状态机

    • 不进行拥塞控制:不内置客户端或网络反馈机制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值