7.29笔记(TCP和UDP)
TCP和UDP协议
-
TCP:即传输控制协议,是一种面向连接的,可靠的,基于字节流的传输层的通信协议
-
UDP:即用户数据报协议,是一种面向报文的传输层的协议
OSI七层模型与TCP/IP五层模型:

- 应用层:为计算机用户提供接口和各种网络服务
- 表示层:提供对应用层的数据的编码和转换
- 会话层:负责管理各层之间的会话
- 传输层:为上层协议提供可靠透明的数据传输的服务
- 网络层:负责把地址传送给目标传输层
- 数据链路层:把比特组合成字节,再把字节组合成帧,使用数据链路层来访问介质
- 物理层:通过物理介质传输比特流
TCP和UDP的区别:
-
TCP是面向连接的;UDP是面向无连接的,即传输前不需要建立连接
-
TCP提供的是可靠的服务,TCP可以达到不重复,不乱序,不丢失,不重复的传输效果;UDP会尽最大努力交付,不能保证可靠交付
-
TCP是面向字节流;UDP是面向报文的,UDP没有拥塞控制
-
TCP的首部开销20个字节;UDP首部开销小,占了8个字节
-
TCP需要三次握手;UDP则不需要,所以说UDP的实时性要比TCP要强,因为UDP不需要握手,因此就不易受到攻击,安全性要比TCP要好。
-
由于用户在传输文件时追求的是准确可靠的传输,所以TCP适用于文件传输等准确传输;
在视频通话或者语音通话时,用户不会太在意准确性,更多的追求的时实时性,减少网络不佳所带来的不利影响,因此UDP大多适用于视频通话等音频传输
三次握手和四次握手
-
三次握手:TCP进行建立连接
过程:
- 第一次握手:客户端给服务端发送一个SYN,服务端就知道了客户端有发送能力,服务端的接受能力也正常。
- 第二次握手:服务端收到了SYN后,会回复SYN+ACK给客户端,客户端就知道了服务端的接收能力和发送能力正常。
- 第三次握手:客户端收到SYN+ACK后,会回应一个ACK报文给服务端端。服务端就知道了客户端的接收能力正常。之后建立连接
作用:
- 确认双方的接受和发送能力
- 指定初始化的序列号,为可靠性传输做准备
-
四次握手:TCP断开连接、
- 客户端向服务端发送断开连接的请求,并进入等待状态
- 服务端回复客户端收到断开连接的请求,并进入等待关闭状态
- 隔了一段时间后,服务端向客户端发送请求,表示可以断开连接,保持等待关闭状态
- 客户端回复服务端收到了确认的请求,然后客户端经过两个报文寿命后,客户端CLOSE;当服务端收到了客户端的确认之后立即进入CLOSE。
TCP的粘包和拆包
TCP是流的形式进行数据传输,传输的最小单位是一个报文段
粘包:
客户端发出的两个数据包首尾相连了,服务端就不知道两个数据包都是在哪开始在哪结束的了。

拆包:
就是把一条完整的消息拆分成两个数据包,服务器无法处理这种逻辑

产生粘包和拆包的原因:
TCP是以流的方式进行数据传输,传输的最小单位是一个报文段,连接层每此传输都有一个最大限制(1500比特),如果超过这个最大限制就会发生拆包的现象。
TCP为了提高性能,会把要发送的数据先发送到缓冲区,等待缓冲区满了,才一起发送,所以当写入程序大于这个缓冲区的大小,也会发生拆包。反之,如果写入程序小于这个缓冲区,就会发生粘的现象
解决方案:
- 使用带消息头的协议,头部存储存储开始的标志和消息的长度。在解析的时候就从这个头部开始向后读取该长度的内容即可
- 设置定长消息,服务端每次读取定长内容都作为一个完整消息
- 设置消息边界,即从网络流中分离出消息内容
TCP的拥塞控制机制
-
拥塞的概念:
在某一时刻,对网络资源的需求量大于可用资源时,网络的性能就会变坏,整个网络的吞吐量随之负荷增大而下降
-
拥塞控制:
就是防止过多的数据注入到网络中,这样可以使网络的路由器或者链路不过载。拥塞控制使一种全局的控制,涉及到主机。路由器,以及影响网络传输性能的所有因素。
-
流量控制:
是点对点通信流量控制,主要就是抑制发送端发送数据的速率,一边接收端来得及接收
-
拥塞控制的代价:
首先要获取网络内部流量的信息,还要选择控制的策略的实施控制。这就产生了额外的开销。拥塞控制还需要将一些资源分配给各个用户单独使用,使网络资源不能更好的实现共享。
拥塞控制的机制:
-
慢开始
在发送方设置一个拥塞窗口,而这个拥塞窗口的大小取决于网阔的拥塞程度。
当主机开始发送数据时,如果立刻把所有的数据全都注入到网络,那么就很可能发生拥塞。所以要先探测一下具体的网络情况,然后在再对这个拥塞窗口进行逐步调整(以2倍的形式进行扩容)。
-
拥塞避免
就是缓慢的让拥塞窗口增大,就是每经过一个往返时间就会把拥塞窗口加一而不是加倍。所以再拥塞避免算法中,拥塞窗口是以线性规律缓慢增长。
-
快重传
就是当收到了三个重复的ACK时,就会判定下一个报文已经丢失,然后就进入快传阶段
-
快恢复
快重传之后就是快恢复状态,就是把慢启动的与之修改到原理啊的一半
-

浙公网安备 33010602011771号