TCP, UDP, SCTP都属于计算机网络中的传输层协议。
而TCP和UDP广泛运用于C/S模式中(客户-服务器模式)
TCP
传输控制协议可以用来构建网络安全连接,TCP三次握手构建连接,四次握手解除连接。安全连接表现在:
- 用TCP进行数据传输时,会先确定接收方和发送方是否已经构建了连接。(可靠性)
- 用TCP进行数据传输时,可以控制接收方的流量(利用窗口流量来限制发送的字节数)。这里的流量是字节流。这样的好处是防止发送方发送的流量过多,以至于接收方无法全部接收流量,而导致发送过来的流量丢失。(流量控制)
- TCP协议中含有一个用于动态估算客户和服务器之间的往返时间的算法(RTT算法),这个算法为了避免客户和服务器之间如果长期不传输数据时,造成的资源浪费(服务器一直空等客户,造成服务器资源一直被占)。
- TCP协议可以判断数据是否是重复,它通过对每个字节关联一个序列号对所发送的数据进行排序。
- TCP的连接是全双工的,在一个给定的连接上应用可以同时在进出的两个方向既发送又接收数据。
UDP
面向无连接的数据报协议,它有点像一个广播,像辐射那样将数据发送出去,不求接收方一定能收到。无连接具体体现在:
一个UDP客户可以创建一个套接字并发送一个数据报给一个给定的服务器,然后立即用同一个套接字发送另一个数据报给另一个服务器。同样,一个UDP服务器可以用同一个UDP套接字从许多不同的客户接收数据报,每个客户是一个数据报。
关于SCTP我了解的并不多,到时候会写一篇关于它的文章。另外就是我建了个人博客,但是想想CSDN的博客也很好啊!(博客重在坚持写!),所以会两个博客同步写,之前博客园那个荒废的博客我也会捡起来的~。
之所以同步写,是因为我退出了空间,知乎,微博,朋友圈。现在除了看看书,学学习,其他时间可以更多的分配到写博客上了!