1.UDP协议
UDP协议提供了无连接的、不可靠的数据包服务。无连接服务意味着两个交换机报文的在终端之间没有逻辑连接。每个报文都是独立的实体,他被封装在一个称为数据报的分组中。UDP看不到来自同一个源端并去往同一个目的端的数据报之间的关系(连接)
UDP是不可靠协议。尽管它可能在传输中检查数据是否被破坏,但是它并不要求发送端重传被破坏或丢失的数据。对于某些应用,UDP有一个优势,即它是面向报文的,它保留报文边界。
要理解UDP,可以将无连接、不可靠的服务与邮局提供的常规服务进行对比。两个实体可以在它们之间交换信件,但是邮局并没有看见这些信件之间的任何连接,对于邮局,每个新建都是带有它自己的发送者和接收者的独立实体,如果一个邮件在发送过程中丢失或被损坏,邮局不负责
- 无连接:协议不知道报文之间的相互联系
- 不可靠:即使会检查数据是否会破坏,但是不会要求重传被破坏或丢失的数据
2.TCP协议
TCP协议提供面向连接的可靠的字节流传输。步骤如下:
- TCP要求两个终端首先通过交换一些连接建立分组来建立一个逻辑连接,这个阶段有时称为握手,它设定了两个终端间的某些参数,这些参数包括要交换的数据分组的大小、用于保存数据直到整个报文全部到达的缓冲区大小等
- 在握手后,两个终端可以向着彼此的方向以报文段形式发送数据块,通过计算交换字节数,可以检测字节的连续性
我们可以将TCP提供的面向连接的可靠的服务与电话公司的服务进行比较。如果两方决定通过电话而不是邮局通信,他们可以创建一次连接,进行一段时间的通话。电话服务在某种程度上是可靠的,因为如果一个人没听明白或听不清另一方说什么,他可以要求对方再说一遍
3.SCTP协议
SCTP提供了前面两个协议组合的功能。就像TCP一样,SCTO提供了面向连接的可靠的服务,但它不是面向字节流。它是UDP一样面向报文