网工工作中经常会遇到很多应用协议,比如https、DNS、FTP等。知道这些协议,但是否有深究这些协议是通过TCP还是UDP传输的吗?阿祥后面会一一介绍,整理出来,希望能帮助大家了解这些协议。
在整理这些协议前,我们先来了解网络协议中TCP和UDP的区别以及它们各自的作用,方便对网络协议有更深的了解。
TCP 和 UDP 各自的作用
TCP 就像一个谨慎可靠的送货员。它确保每一个数据包都准确无误、按顺序地到达目的地。通过三次握手建立连接、数据包确认、超时重传、流量控制和拥塞控制等机制,TCP为应用程序提供了一条可靠的、有序的字节流通道。这非常适合那些对数据完整性和准确性要求高的应用,比如网页浏览(HTTP/S)、文件传输(FTP)、电子邮件(SMTP/POP3)等。
UDP 则像一个追求效率的投递手。它不建立连接,直接将数据报发送出去,不保证它们一定能到达、按序到达或不重复。这种方式开销小、延迟低、传输效率高。它非常适合那些对实时性要求高,可以容忍少量数据丢失的应用,比如在线视频/语音通话、实时游戏、域名解析(DNS)、动态主机配置(DHCP)等。
为什么TCP和UDP都需要?
既然TCP如此可靠,为什么还需要UDP呢?反过来,UDP如此高效,为什么TCP不学学呢?
这恰恰体现了计算机网络设计中的权衡思想。不同的应用场景有不同的核心需求:
追求可靠 vs. 追求实时:发送一份重要文件时,你希望一个字节都不错(TCP)。而在视频通话时,偶尔丢几帧画面远比卡顿等待重传要能接受(UDP)。
连接开销 vs. 简单快速:TCP建立和维护连接需要额外的时间和资源。对于DNS查询这种“一问一答”式的简单交互,如果每次都要握手,效率就太低了。
网络资源占用:TCP的拥塞控制机制会在网络不好时主动降低发送速率。而UDP没有这种限制,适合音视频广播等需要恒定速率发送数据的场景。
因此,TCP和UDP是互补关系,而非替代关系。它们共同满足了互联网应用多样化的需求。
应用协议整理
了解了TCP和UDP两种协议的原理和适用的场景,我们这下就好整理对应的应用协议了,如下表:
用于浏览网页。HTTP 传输明文,HTTPS 在 HTTP 基础上通过 SSL/TLS 提供加密。