TCP与UDP特点与区别

TCP是一种面向连接、可靠的传输协议,提供全双工通信,具有三次握手和四次挥手的过程,确保数据的可靠性,适用于需要稳定传输的场景。而UDP是无连接的,不可靠的协议,具有较高的传输速度,适用于对实时性要求高但可以容忍数据丢失的场景,如直播、语音通话。两者在建立连接、可靠性、拥塞控制等方面存在显著区别。
摘要由CSDN通过智能技术生成

TCP/IP协议

IP地址(IP Address)
计算机分布在世界各地,要想和它们通信,必须要知道确切的位置。确定计算机位置的方式有多种,IP 地址是最常用的,例如,114.114.114.114 是国内第一个、全球第三个开放的 DNS 服务地址,127.0.0.1 是本机地址。

其实,我们的计算机并不知道 IP 地址对应的地理位置,当要通信时,只是将 IP 地址封装到要发送的数据包中,交给路由器去处理。路由器有非常智能和高效的算法,很快就会找到目标计算机,并将数据包传递给它,完成一次单向通信。

目前大部分软件使用 IPv4 地址,但 IPv6 也正在被人们接受,尤其是在教育网中,已经大量使用。

端口(Port)
有了 IP 地址,虽然可以找到目标计算机,但仍然不能进行通信。一台计算机可以同时提供多种网络服务,例如Web服务、FTP服务(文件传输服务)、SMTP服务(邮箱服务)等,仅有 IP 地址,计算机虽然可以正确接收到数据包,但是却不知道要将数据包交给哪个网络程序来处理,所以通信失败。

为了区分不同的网络程序,计算机会为每个网络程序分配一个独一无二的端口号(Port Number),例如,Web服务的端口号是 80,FTP 服务的端口号是 21,SMTP 服务的端口号是 25。

端口(Port)是一个虚拟的、逻辑上的概念。可以将端口理解为一道门,数据通过这道门流入流出,每道门有不同的编号,就是端口号。

协议(Protocol)
协议(Protocol)就是网络通信的约定,通信的双方必须都遵守才能正常收发数据。协议有很多种,例如 TCP、UDP、IP 等,通信的双方必须使用同一协议才能通信。协议是一种规范,由计算机组织制定,规定了很多细节,例如,如何建立连接,如何相互识别等。
协议仅仅是一种规范,必须由计算机软件来实现。例如 IP 协议规定了如何找到目标计算机,那么各个开发商在开发自己的软件时就必须遵守该协议,不能另起炉灶。

所谓协议族(Protocol Family),就是一组协议(多个协议)的统称。最常用的是 TCP/IP 协议族,它包含了 TCP、IP、UDP、Telnet、FTP、SMTP 等上百个互为关联的协议,由于 TCP、IP 是两种常用的底层协议,所以把它们统称为 TCP/IP 协议族。

TCP UDP 介绍

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

UDP(User Datagram Protocol,用户数据报协议):,是 OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

TCP UDP 特点

TCP特点:
  1、tcp是面向连接的,通信之前需要建立连接,通信结束之后还需释放连接(三次握手,四次挥手)
  2、tcp提供了很可靠的支付服务,可靠也就是说:tcp的数据没有重复、没有丢失、没有错误、并且和发送端的数据是一致的。
  3、tcp是面向字节流的。也就是tcp是以字节为单位,虽然传输的过程中数据被划分为了一个一个数据报文,但是这只是为了方便传输,接收端最终接受到的数据和发送端接收到的数据是一样的。
  4、tcp提供全双工通信:就是tcp的两端即可以作为发送端,也可以作为接收端。
  5、最重要的一点就是一个tcp的连接只能有两个端点,支持一对一通信。
  6、tcp首部含有20个字节。

UDP特点:
  1、首先udp是无连接的,通信结束也不需要释放连接。
  2、upd是一种不可靠的协议,发出去就不管了。
  3、udp是一种面向报文的链接;udp数据传输的单位是报文,而且不会对数据做任何的拆分和拼接操作。在发送端,应用程序给传输层的udp什么样的数据,udp不会对数据进行拆分,最会增加一个udp头并且交给网络层。在接收端,udp收到网络层的数据之后,除去ip(网络层协议)数据报头部后便交给应用层,不会做任何的拼接操作。
  4、udp是不存在拥塞控制的,并且始终就是用恒定的速率发送数据,并不会根据网络拥塞情况对发送速率做调整。这个状况下就会存在优势和弊端;弊端就是:网络拥塞时有些报文就会丢失,所以才说udp是不可靠的协议;他的优点就是有些使用场景允许报文丢失,比如:直播,语音通话,但是对实时性要求比较高。
  5、udp支持一对一,一对多,多对多,多对一通信。
  6、udp首部的开销比较小,只有8个字节。相对于tcp来说,效率还是很高的。

TCP UDP 优缺点

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

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

UDP优点:速度快,比TCP稍安全。UDP没有TCP的握手,确认,窗口,重传,拥塞控制等机制。UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的。比如:UDP Flood攻击。

UDP缺点:不可靠,不稳定。因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会容易丢包。

TCP UDP 区别

TCP基于连接,需要经过三次握手建立可靠连接,可简单类比打电话过程:A打给B(1),B接通电话并向A问好(2),A听到B的问好后向B问好(3),之后开始聊正事,且聊天过程式实时同步有序的。

UDP不基于连接,类似于线上聊天,给对方发消息不经过对方同意,发送的消息对方可能未收到,也可能收到乱序的消息。

UDPTCP
是否连接无连接连接
是否可靠不可靠传输,不使用流量控制和拥塞控制可靠传输,使用流量控制和拥塞控制
占用资源
连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信
传输方式面向报文面向字节流
首部开销首部开销小,仅8字节首部最小20字节,最大60字节
适用场景适用于实时应用(IP电话、视频会议、直播等)适用于要求可靠传输的应用,例如文件传输
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值