一、TCP/UDP协议原理与区别
1、作用
tcp和udp都是工作在传输层,用于程序之间传输数据的。数据一般包含:文件类型,视频类型,jpg图片等。
2、区别
CP是基于连接的,而UDP是基于非连接的。
tcp传输数据稳定可靠,适用于对网络通讯质量要求较高的场景,需要准确无误的传输给对方,比如,传输文件,发送邮件,浏览网页等等
udp的优点是速度快,但是可能产生丢包,所以适用于对实时性要求较高但是对少量丢包并没有太大要求的场景。比如:域名查询,语音通话,视频直播等。udp还有一个非常重要的应用场景就是隧道网络,比如:VXLAN
以人与人之间的通信为例:UDP协议就相当于是写信给对方,寄出去信件之后不能知道对方是否收到信件,信件内容是否完整,也不能得到及时反馈,而TCP协议就像是打电话通信,在这一系列流程都能得到及时反馈,并能确保对方及时接收到。
二、TCP三次握手与四次挥手
1.为什么是三次握手和四次挥手
三次握手的原因:因为二次握手不能够建立连接而四次握手复杂化了过程,三次握手刚好满足建立连接也没有复杂过程。例如PC1向PC2发送请求连接时,PC2在回复确认连接时可以一起将PC2的请求连接发送给PC1,这样PC1只需要再回复一次确认连接就完成了建立连接的过程。
四次挥手的原因:因为断开连接有一个半连接状态的过程,这个过程指发送方完成数据传输但是接收方不一定完成数据传输,所以要等待接收方也完成数据传输,接收方再发起断开连接请求,完成断开连接的过程。例如PC1向PC2传输数据完成向PC2发送断开连接的请求,PC2只