浅谈TCP、UDP、ICMP三种常见协议

天翼云开发者社区
• 阅读 180

本文分享自天翼云开发者社区《浅谈TCP、UDP、ICMP三种常见协议》 作者:杨****豪

TCP TCP是位于传输层的协议,它是面向链接的,提供全双工的服务,数据流可以双向传输。TCP是一种可靠的传输,它拥有三次握手机制保证数据传输的可靠性,如果对方没有接收到数据则会一直尝试重新传输。像FTP文件传输,远程登陆,HTTP,SMTP,HTTPS等等需要保证传输完整性的都是基于TCP协议。

UDP UDP也是位于传输层的协议,它是无连接的,面向报文的协议。UDP只能使用尽最大努力交付,并不能保证数据100%的可靠传输,即便有丢包依然会继续传输。因此,UDP更加注重实时性,像语音,电话,视频都是通过UDP传输的,因为偶尔丢几个包并不影响通信。

ICMP ICMP是网络层协议。它是TCP/IP协议簇的一个子协议,并不承载数据,也不是用来传输数据的。ICMP是用来传递控制消息的,也就是我们经常说的:网络通不通,主机是否可达。常用的ping命令就是基于ICMP。

浅谈TCP、UDP、ICMP三种常见协议

TCP与UDP的异同 1.链接:TCP是面向连接的传输层协议,即传输数据之前必须建立好链接。UDP无连接 2.服务对象:TCP点对点两点间服务,即一条TCP链接只能有两个端点。UDP支持一对一,一对多,多对一,多对多的相互通信。 3.可靠性:TCP可靠交付。UDP尽最大努力交付。 4.拥塞控制/流量控制:TCP拥有拥塞控制和流量控制来保证数据传输的安全性。UDP则没有。 5.适用场景:TCP适用于数据完整性优先于通信实时性的场景。如果要求通信实时性则使用UDP。

TCP与UDP的优缺点 TCP优点:可靠,稳定 因为TCP有三次握手来建立连接,而且再数据传输的过程中拥有确认,窗口,重传,拥塞控制等机制,再数据传输完成之后还会断开连接来节约资源。

TCP缺点:效率低下,容易被攻击 每一次传输都需要先建立连接,而且传输过程中的各种机制都会消耗大量的时间。又因为TCP是面向链接的协议,拥有三次握手机制,确认机制,这些也导致TCP容易被利用,实现DOS,DDOS,CC等攻击。

UDP优点:效率高,较为安全 由于UDP是无状态,无连接的传输协议,所以它的传输速度非常快,而且UDP没有各种控制机制,所以被攻击利用的机会就少一些。但并不意味着能避免被攻击。

UDP缺点:不可靠,不稳定 由于UDP是无连接的协议,而且没有TCP拥有的那些机制,所以在网络质量不好的情况下,UDP很容易造成丢包导致数据的缺失。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
TCP、UDP和HTTP关系
先来一个讲TCP、UDP和HTTP关系的http:是用于www浏览的一个协议。tcp:是机器之间建立连接用的到的一个协议。1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTT
Wesley13 Wesley13
2年前
TCP、UDP和HTTP简述整理
http:是用于www浏览的一个协议。tcp:是机器之间建立连接用的到的一个协议。1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协
Wesley13 Wesley13
2年前
TCP面试题之滑动窗口原理
TCP滑动窗口作用:1.提供TCP可靠性:对发送的数据进行确认2.流量控制:窗口大小随链路变化一、TCP窗口机制TCP中窗口大小是指tcp协议一次传输多少个数据。因为TCP是一个面向连接的可靠的传输协议,既然是可靠的就需要传输的数据进行确认。TCP窗口机制有两种,一种是
Wesley13 Wesley13
2年前
TCP UDP有什么区别
前言计算机分层中的传输层,主要是负责计算机之间的数据传输,TCP和UDP都属于传输层协议。在实际开发过程中,需要根据实际需求的来选择适当的传输协议。在这里我们简单总结下TCP、UDP的特点和区别以及实际开发中如何选择。TCP和UDP的定义TCP是面向有连接,可靠的流协议。保证两端通讯主机之间
Wesley13 Wesley13
2年前
TCP、UDP和HTTP区别详解
http:是用于www浏览的一个协议。tcp:是机器之间建立连接用的到的一个协议。1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
Wesley13 Wesley13
2年前
TCP的三次握手与四次挥手
TCP的三次握手与四次挥手一、TCP(TransmissionControlProtocol传输控制协议)TCP是面向对连接,可靠的进程到进程通信的协议TCP是提供全双工服务,即数据可在同一时间双向传输二、TCP报文段(封装在IP数据报
Wesley13 Wesley13
2年前
TCP与UDP与HTTP协议
http:是用于www浏览的一个协议。tcp:是机器之间建立连接用的到的一个协议。1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
Stella981 Stella981
2年前
C++基于Smtp协议发送邮件
SMTP协议的定义:  SMTP是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议;  SMTP是建立在TCP上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知;  SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持;  SMTP重要特性之一是其能跨越网络传
Wesley13 Wesley13
2年前
TCP三次握手和四次挥手
TCP建立连接为什么是三次握手,而不是两次或四次?TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。举个日常例子,打电话时我们对话如下:对应为客户端与服务器之间的通信:!(https://oscimg.oschina.net/oscnet
浅说TCP状态机制
TCP(TransmissionControlProtocol)是一种面向连接的、可靠的传输协议,常用于互联网中应用层的数据传输。在协议栈中,TCP处于传输层,负责数据的分段、传输和重组等工作,同时采用状态机制来维护连接的状态。下面我们就来详细介绍一下TCP协议栈链接跟踪的工作原理。
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
494
粉丝
8
获赞
37