TCP和UDP的概念、区别以及优缺点(针对面试题回答)

TCP和UDP的概念、区别以及优缺点

TCP是传输控制协议,是面向连接的通讯协议,通过三次握手建立连接,四次握手断开连接,一般应用在对安全性和完整性有严格要求的场景。

优点:TCP具有高可靠性,确保数据传输的准确性,不会出现丢失或乱序的情况。

缺点:相比UDP,TCP速度较慢,效率低,要求系统资源较多,每次连接都会占用系统CPU,内存等硬件资源。

UDP是数据报协议,是面向无连接的通讯协议

优点:速度快,操作简单,占用系统资源较少。

缺点:不可靠,可能出现丢包或乱序,数据不完整的情况。

区别:

  1. TCP是面向连接的传输控制协议,UDP是面向无连接,提供数据报协议。
  2. TCP具有高可靠性,UDP可能丢包,乱序等情况。
  3. UDP具有较好的实时性,工作效率比TCP高。
  4. 每一条TCP连接只能是一对一,而UDP连接可以一对一,一对多,多对一,多对多的交互通信。
  5. TCP对系统资源要求较多,UDP对系统资源要求较少。

TCP协议的三次握手与四次挥手

三次握手是建立连接时使用的。

        第一次握手:客户端向服务器发送SYN请求连接信号。

        第二次握手:服务器收到客户端的信号后,回复ACK应答信号和SYN请求连接信号。

        第三次握手:客户端接收到信号后,回复发送ACK应答信号,此时表示连接成功。

四次挥手是断开连接时使用的。

        第一次挥手:客户端向服务器发送FIN断开连接信号。

        第二次挥手:服务器收到客户端的信号后,回复ACK应答信号。

        第三次握手:服务器在发送ACK应答信号后延迟一会,向客户端发送FIN断开信号。

        第四次挥手:客户端接受服务器所有信号后,回复ACK应答信号,此时正式断开连接。

扩展:

TCP协议的三次握手为什么是三次?

  1. 二次握手只能保证单向连接是通畅的,TCP是一个双向运输协议,只有经过三次握手才能保证双方都能接受到对方的数据。
  2. 为了防止已经失效的连接请求报文突然又传给服务器,从而导致不必要的错误与资源的浪费。

TCP结束时为什么要四次挥手?

        因为TCP有一种连接方式叫做半关协议,指的是客户端发送FIN信号表明客户端不再发送数据,但可以接收数据,此时服务器也未必把数据全都发送完毕,此时服务器可以选择立即发送FIN信号,也可以选择等数据发送完毕之后再发送FIN信号表示关闭,所以服务器的ACK和FIN信号一般分为两次发送,故比三次握手多一次。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值