写点什么

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

  • 2023-05-15
    北京
  • 本文字数:930 字

    阅读完需:约 3 分钟

本文分享自天翼云开发者社区《浅谈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 的异同

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 很容易造成丢包导致数据的缺失。

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
浅谈TCP、UDP、ICMP三种常见协议_网络传输协议_天翼云开发者社区_InfoQ写作社区