一 、 TCP
TCP三次握手、四次挥手时序图1)TCP三次握手,建立连接(使用标志位SYN区分)
2)四次挥手,断开连接(使用标志位FIN区分)
3)11种状态名称解释
注:TCP连接是全双工通信
二、TCP与UDP的区别
TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是运输层的两个主要协议,均是互联网的正式标准。
TCP:
优点:可靠,稳定TCP的可靠提现在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。
缺点:慢,效率低,占用系统资源高,易被攻击,TCP在传递数据之前,要先建连接,会消耗时间,在数据传递时,确认机制、重传机制、拥塞控制机制都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。而且TCP有确认机制、三次握手机制,这些容易被人利用
UDP:
优点:快,比TCP稍安全,UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的机制,被利用的漏洞就会少一点
缺点:不可靠,不稳定 因为UDP没有TCP那些可靠的机制,如果网络质量不好,就和容易丢包。
它们的主要区别如下:
TCP是面向连接的,UDP是无连接的。TCP通信前需要建立连接,类似于平时打电话时需要先拨号接通;而UDP就比如你异地恋的对象偷偷的给你寄了个礼物,事先没告诉你。
TCP提供可靠的服务,UDP尽最大努力交付。因此TCP传送的数据,无差错,不丢失,不重复,且按序到达;而UDP传送的数据是有小小偏差的。
TCP只能是点到点的,UDP支持一对一,一对多,多对一和多对多的交互通信。
TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流,UDP是面向报文的。
TCP的开销大于UDP。TCP既要建立连接又要传输准确,必然增加许多相应开销,所以TCP有滑动窗口、流量控制和拥塞控制等问题要考虑(故优先考虑UDP)。
TCP的逻辑通信信道相当于是一条全双工的可靠信道,UDP的是一条不可靠信道。
参考
网友评论