1.简介
TCP和UDP都是传输层协议
TCP UDP区别
UDP: 无连接的 不可靠的 、
TCP 1.面向连接的 3次握手 4次挥手 客户端向服务器发请求,服务器接收请求,服务器接收请求之后发送一个连接标志,客户端接收连接标志之后也向服务器发送一个连接标志
2.可靠传输的 无差错 超市重传 确认丢失 确认迟到
3.面向字节流的
4.流量控制 滑动窗口协议 比如发送方是4G 接收方2G 接收方就会告诉他的状态 然后发送方就会控制发送的大小
5.拥塞控制
2.是否了解UDP协议 (用户数据报协议)
特点 1.无连接。不需要建立连接
2.尽最大努力交付。不保证可靠传输
3.面向报文 既不合并也不拆分。一次性发送给对面
功能:1.复用 分用
2.差错检测
如何检测呢?
12字节伪首部。 8字节UDP首部。7字节数据
以16位字为一个单元。按照二进制反码计算出这些16位字的和 将和的二进制反码写入到检测和位
3.TCP 传输控制协议
特点 :面向连接 可靠传输 面向字节流 流量控制。拥塞控制
建立连接 3次握手。4次挥手
为什么要进行3次握手
为了安全
4.TCP 可靠传输。 停止等待协议
1.TCP提供可靠的交付。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。
2.可靠传输的工作原理
停止等待协议
全双工通信的双发即使发送方也是接收方。
无差错情况
超时重传 使用确认和重传机制,可实现在不可靠的传输网络上实现可靠的通信。
确认丢失
确认迟到
确认到达
5.面向字节流
分多次发送给对方
6.TCP的流量控制 保证按序到达
流量控制(flow control)就是让发送方的发送率不要太快,要让接受方来得及接收。利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。发送方的发送窗口不能超过接收方给出的接收窗口的数值。TCP的窗口单位是字节,不是报文段。
滑动窗口机制
1.实现流量控制
由接受方来控制发送方的数据的多少。通过TCP首部报文数据
发送的字节是有编号的。当保证有序的时候 才可以给上层使用数据
当我们需要继续发送数据的时候。接受窗口可能很小 这时候通过TCP首部报文数据 来调整发送方的发送数据的大小
7.TCP的拥塞控制
拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路器不致过载。拥塞控制多要做的都有一个前提,就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、多有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制旺旺指点对点通信量的控制,是个端到端的问题。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收
慢开始 拥塞避免
1.慢开始和拥塞避免
发送方维持一个叫做拥塞窗口(congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。
慢开始算法的思路是:先探测一下,由小到大逐渐增大发送窗口,也就是说由小到大逐渐增大拥塞窗口数值。使用慢开始算法后,没经过一个传输轮次(transmission round),拥塞窗口cwnd就加倍。
拥塞避免算法的思路是让拥塞窗口cwnd缓慢地增加,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍。这样,拥塞窗口cwnd按现行规律缓慢增长,比慢开始算法的拥塞窗口增长速率缓慢得多。
2.快重传和快恢复
快重传算法首先要求接受方每收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等待自己发送数据时才进行确认。
快恢复算法:
(1)当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把满开始门限ssthresh减半。这是为了预防网络发生拥塞。
(2)由于发送方现在认为网络很可能没有发生拥塞,因此与慢开始不同之处是现在不执行慢开始算法,而是把cwnd值设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
在采用块回复算法时,慢开始算法只是在TCP连接建立时和网络出现超时时才能使用。发送方的发送窗口一定不能超过对方给出的接收窗口值rwnd.
快恢复 快重传
就是把 慢开始的数值提高
8.请简单描述TCP的慢启动的特点
计算机网络
网友评论