用户态和和心态,TCP流量控制和TCP拥塞控制

什么是用户态?什么是核心态?用户态切换到内核态的3种方式?

操作系统需要两种CPU状态:
• 内核态(Kernel Mode):运行操作系统程序
• 用户态(User Mode):运行用户程序
特权级别:
特权环:R0、R1、R2和R3
R0相当于内核态,R3相当于用户态;
不同级别能够运行不同的指令集合;
主要差别:
当程序运行在3级特权级上时,就可以称之为运行在用户态,因为这是最低特权级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在用户态;反之,当程序运行在特权级(0级)上时,就可以称之为运行在内核态。
用户态切换到内核态

  1. 系统调用:这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如Linux的int 80h中断。
  2. 异常:当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常。
  3. 外围设备的中断:当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态的切换。比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。

什么是TCP的流量控制?

接收端处理数据的速度是有限的,如果发送方的速度太快,就会把接收端的缓冲区打满。这个时候如果继续发送数据,就会导致丢包等一系列连锁反应。
所以TCP支持根据接收端能力来决定发送端的发送速度。这个机制叫做流量控制。

TCP流量控制是怎么实现的?

rwnd—接受方根据自己的缓存大小,动态地调整发送方发送窗口大小,这就是接受窗口的rwnd,即TCP报文首部的“窗口”字段值。

什么是TCP的拥塞控制

拥塞控制是防止过多的数据注入网络,使得网络中的路由器或者链路过载。流量控制是点对点的通信量控制,而拥塞控制是全局的网络流量整体性的控制。发送方有一个拥塞控制窗口——cwnd。该窗口值反映了网络的当前容量。

TCP的拥塞控制是怎么实现的?

  1. 慢开始和拥塞避免
    在这里插入图片描述
  1. 慢开始
    最开始发送方的拥塞窗口为1,由小到大逐渐增大发送窗口和拥塞窗口。每经过一个RTT(即一个往返时间),拥塞窗口cwnd加倍。当cwnd增大到规定的慢开始门限(ssthresh),则使用拥塞避免算法,避免cwnd增长过大。

  2. 拥塞避免
    cwnd>ssthresh后,停止慢开始算法而使用拥塞避免算法。
    在该阶段,每经过一个RTT,cwnd就增长1(加法增大)。

在慢开始和拥塞避免的过程中,一旦发现网络拥塞(即发送方没有按时收到确认),就把ssthresh设为当前值的一半(乘法减小),并且重新设置cwnd为1,重新慢启动。

  1. 快重传与快恢复
    TCP连接有时会因为等待重传计时的超时而空闲较长时间,慢开始和拥塞避免无法解决这类问题,因此提出了快重传。
    当网络拥塞时,慢开始和拥塞避免算法会将cwnd重新置为1,发送速率降低太多,因此提出了快恢复算法。
    快重传与快恢复是对慢开始和拥塞避免算法的改进。
    在这里插入图片描述
  1. 快重传
    接收方每次收到一个失序的报文段(如报文M1,M2,M4,M5,M6中,由于没有M3,后面的M4,M5,M6均为失序报文)后就立即发出对M2(注意不是M3)的重复确认,发送方只要连续收到三个重复确认就立即重传M3(不用等待重传计时器)。
    注:如果发送方收到了4次M2报文的确认,后三次为重复确认。也就是说总共要收到4次确认报文才重传。
  2. 快恢复
    当发送方连续收到了三个重复确认,就乘法减半(慢开始门限减半),将当前的cwnd设置为慢开始门限,并且采用拥塞避免算法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值