鄙人学习笔记
文章目录
传输层服务面向连接的传输服务(基于TCP协议的数据传输)传输特征实现手段适用情况面向无连接的传输服务(基于UDP协议的数据传输)传输特点适用情况传输层服务
面向连接的传输服务(基于TCP协议的数据传输)
传输特征
提供了可靠的数据传输(3次握手,4次挥手),可靠性指数据传输过程中无丢失,无失序,无差错,无重复。
实现手段
在通信前需要建立数据连接,通信结束要正常断开连接。
①三次握手(建立连接)
第1次握手:客户端向服务器发送消息报文,请求连接.第2次握手:服务器收到请求后,回复报文,同意建立连接(若不同意,则不会返回报文,则没有第2次和第3次握手).第3次握手:客户端收到回复,发送最终报文,连接建立.
②四次挥手(断开连接)
第1次挥手:主动方发送报文,请求断开连接第2次挥手:被动方收到请求后,立即回复,表示准备断开第3次挥手:被动方准备就绪,再次发送报文,表示可以断开第4次挥手:主动方收到确定,发送最终报文,完成断开
备注:断开连接,谁先断开?是客户端还是服务端呢?其实是两段都可以主动断开。所以,这里我们就写主动方和被动方。
适用情况
对数据传输准确性有明确要求,传数文件较大,需要确保可靠性的情况。比如:网页获取,文件下载,邮件收发。
面向无连接的传输服务(基于UDP协议的数据传输)
传输特点
不保证传输的可靠性,传输过程没有连接和断开,数据收发自由随意。
适用情况
网络较差,对传输可靠性要求不高。比如:网络视频,群聊,广播。
例如,在视频聊天时,我们的清晰度不是很高。如果要求清晰度很高,则需要在很短的时间内需要传递很多数据。但是,当我们网速不够时,这些数据在很短的时间内是传输不过去的,这时,视频聊天就会很卡,甚至会断开连接。所以,这时就会以视频不清晰(丢失数据)为代价,来保证连接的流畅性。故,此时就允许有数据的丢失,所以就不能用基于TCP协议的数据传输,而用基于UDP的数据传输.
备注:UDP传输效率比TCP高,因为TCP为了保证数据传输的可靠性,有3次握手(建立连接)和4次挥手(断开连接).
如果觉得《网络编程(part8)--传输层服务之TCP和UDP》对你有帮助,请点赞、收藏,并留下你的观点哦!