对TCP/UDP协议的初步认识
要认识并理解TCP/UDP协议首先要知晓什么是协议。
协议
协议,顾名思义,意思是共同计议、协商。而在计算机学科概念中,协议,是网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。就好比不同国家的语言不同就无法交流,只有统一了语言,交流才能正常进行,计算机也是如此。只有规定了如何连接,如何识别等一系列指标后,不同的计算机才能彼此传递数据。而协议便是网络通信参与方必须遵守的规则。协议有以下三个要素组成:
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 时序:事件实现顺序的详细说明
OSI 模型
了解完协议后,我们要接着简单认识下OSI模型,OSI是开放系统互联的中文翻译,是由国际标准化组织(ISO)于1984年提出的一种标准参考模型。它将通信处理过程定义为以下七层:
TCP/UDP协议就是属于第四层传输层的协议。
TCP
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。面向对象即指要保证通信双方都在线的情况下进行交流,就像打电话,一方拨出,必须在另一方接通的情况下才能进行交流和信息传递。而可靠则是指信息传递的准确性高,这是因为TCP在传输时会将数据包(TCP/IP协议通信传输中的数据单位)标序,接受端在接收数据包后会发送一个确认给发送端,如果在一个合理的往返延时中没有收到确认信息,发送端会按序重新发送数据包,这样来保证数据传输的准确性。因此一些对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
另外,由于TCP是面向连接的,所以每个TCP连接需要三个过程才能建立,即向对方发送连接请求,对方得到请求并要求同步,以及确认同步。
UDP
与TCP相反,UDP是面向非连接。就像发送短信,只需要知道对方的手机号就能发送,并不需要对方的确认才能发送。因此相比TCP,UDP的速度明显要快。UDP提供了无连接通信,且不对传送数据包进行可靠性保证。所以它适合一次传输少量数据。
总结
TCP | UDP |
---|---|
面向连接 | 面向非连接 |
传输大量数据 | 传输少量数据 |
传输速度较慢 | 传输速度较快 |
TCP对应可靠性要求高的应用,而UDP对应可靠性要求低、传输经济的应用。