TCP和UDP优缺点以及使用场景

TCP

TCP全称为Transmission Control Protocol(传输控制协议),是一种可靠的面向连接传输协议,同时它也是一种client-server模式的协议,因为是可靠的传输协议,所以它比UDP要复杂的多

TCP的主要特点:
  • TCP是面向连接的传输协议;
  • 每一条TCP有且只有两个端点,为一对一关系;
  • TCP提供可靠交互的服务;
  • TCP提供全双工通信,全双工为即可传输又可接收;
  • TCP是面向字节流的。
优点:可靠、稳定

TCP的可靠体现在TCP在传输数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完之后,还会断开连接用来节约系统资源

缺点:慢,效率低,占用系统资源高,易被攻击

在传递数据之前要先建立连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞机制等都会消耗大量时间,而且要在每台设备上维护所有的传输连接。然而,每个链接都会占用系统的CPU、内存等硬件资源。因为TCP有确认机制、三次握手机制,这些也导致TCP容易被利用,实现DOS、DDOS、CC等攻击

UDP

UDP的全称是User Date Protocal,翻译成中文是用户数据包协议,它是一种不可靠的传输协议,一般情况下一个数据包(大概64K)能完成的数据通讯使用UDP协议,比如请求DNS解析IP地址使用的就是UDP协议,因为解析IP一个数据包完全足够。还有就是文字聊天一般用的也是UDP,通常一段文字消息一个数据包就足够了,如果发送失败就再次发送,反正就一个数据包。还有一种传递大量数据包使用UDP协议的场景,就是广播,类似对讲机之类的,接收方并不一定能接收到所有的数据包。所以说UDP是一种不可靠的传输协议

UDP的主要特点:
  • UDP是无连接的,即发送数据之前是不需要建立连接的;
  • UDP使用尽最大努力交付,不保证可靠交付,同时不使用阻塞控制;
  • UDP是面向报文的,UDP没有拥塞控制,很适合多媒体通信的要求;
  • UDP支持一对一、一对多、多对一、多对多的交互通信;
  • UDP的首部开销小,只需要8个字节。
优点:快,比TCP稍安全

UDP没有TCP拥有的各种机制,是一个无状态的传输协议,所以传递数据非常快,没有TCP的这些机制,被攻击利用的机制就少一些,但是也无法避免被攻击

缺点:不可靠,不稳定

因为没有TCP的那些机制,UDP在传输数据时,如果网络质量不好,就会很容易丢包,造成数据的缺失

适用场景:

TCP:当对网络通讯质量有要求时,比如HTTP、HTTPS、FTP等传输文件的协议, POP、SMTP等邮件传输的协议

UDP:对网络通讯质量要求不高时,要求网络通讯速度要快的场景

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值