TCP:面向连接的可靠传输
tcp规定了:传输服务必须建立连接
传输结束必须断开连接
传输数据必须保证可靠
数据的可靠性:无重复、无丢失、无失序、无差错。
建立连接(三次握手):
1、客户端向服务端器发送连接请求
2、服务器端接收到请求后告知客户端可以连接
3、客户端再次告知服务器已经收到回复,下面要开始发送具体消息
断开连接(四次挥手):
1、主动方发送标志告知被动方要断开连接
2、被动方返回相应的标识信息,告知主动方已经接收到请求
3、被动方再次发送标志位信息表示已准备就绪可以断开连接
4、主动方断开连接告知被动方。
使用情况:
1、tcp:对传输质量要求较高,需要可靠的传输。传输的数据量较大(如传输文件),不需要频繁的断开连接(eg:qq消息、邮件发送、文件上传、账户登录。。。)
2、udp:对实时要求较高,网络情况不佳的情况下对数据的准确性没有严格的要求(eg:广播、组播)
tcp和udp的区别:
1、tcp是有连接的,udp是无连接的
2、tcp有三次握手和四次挥手的过程,udp没有
3、tcp是以数据流传输数据,会有粘包现象,udp是以数据报的形式,没有粘包
4、tcp的连接需要消耗一定的资源,相比之下udp消耗较少
5、tcp保证数据的可靠性,udp不保证
6、tcp需要listen,accept,connect,udp不需要这些操作。