首页 > 其他分享 >计算机网络--Ch5.传输层(三)

计算机网络--Ch5.传输层(三)

时间:2023-05-20 10:01:05浏览次数:37  
标签:窗口 -- IP 报文 MSS TCP 发送 Ch5 传输层

六.流量控制

流量控制:让发送方慢点,要让接收方来得及接收。 TCP利用滑动窗口机制实现流量控制。

计算机网络--Ch5.传输层(三)_TCP

A向B发送数据,连接建立时,B告诉A:“我的rwnd=400(字节)”,设每一个报文段100B,报文段序号初始值为1。

计算机网络--Ch5.传输层(三)_IP_02

TCP为每一个连接设有一个持续 计时器,只要TCP连接的一方收 到对方的零窗口通知,就启动 持续计时器。

若持续计时器设置的时间到期, 就发送一个零窗口探测报文段。 接收方收到探测报文段时给出 现在的窗口值。

若窗口仍然是0,那么发送方就 重新设置持续计时器。

七.拥塞控制

计算机网络--Ch5.传输层(三)_IP_03

1.拥塞控制四种算法

计算机网络--Ch5.传输层(三)_IP_04

2.慢开始和拥塞避免

计算机网络--Ch5.传输层(三)_IP_05

一个最大报文段长度MSS

一个传输轮次: 发送了一批报文段 并收到它们的确认 的时间。 一个往返时延RTT。 开始发送一批拥塞 窗口内的报文段到 开始发送下一批拥 塞窗口内的报文段 的时间。

3.快重传和快恢复

计算机网络--Ch5.传输层(三)_IP_06

Ch5.疑难总结

1.MSS设置得太大或太小会有什么影响?

规定最大报文段M$S的大小并不是考虑到接收方的缓存可能放不下TCP报文段。实际上,MSS与接收窗口没有关系。TCP的报文段的数据部分,至少要加上40B的首部(TCP首部至少20B和IP首部至少20B),才能组装成一个IP数据报。若选择较小的MSS值,网络的利用率就很低。设想在极端情况下,当TCP报文段中只含有1B的数据时,在IP层传输的数据报的开销至少有40B。这样,网络的利用率就不会超过1/41。到了数据链路层还要加上一些开销,网络的利用率进一步降低。但反过来,若TCP报文段很长,那么在IP层传输时有可能要分解成多个短数据报片,在终端还要把收到的各数据报片装配成原来的TCP报文段。传输有差错时,还要进行重传。这些都会使开销增大。 因此,MSS应尽量大一些,只要在IP层传输时不要再分片就行。由于IP数据报所经历的路径是动态变化的,在一条路径上确定的不需要分片的MSS如果改走另一条路径,就可能需要进行分片。因此,最佳的MSS是很难确定的。MSS的默认值为536B,因此在因特网上的所有主机都能接收的报文段长度是536+20×TCP固定首部长度=556B。

2.为何不采用“三次握手”释放连接,且发送最后一次握手报文后要等待2MSL的时间呢?

原因有两个: 1)保证A发送的最后一个确认报文段能够到达B。如果A不等待2MSL,若A返回的最后确认报文段丢失,则B不能进入正常关闭状态,而A此时已经关闭,也不可能再重传。 2)防止出现“已失效的连接请求报文段”。A在发送最后一个确认报文段后,再经过2MSL可保证本连接持续的时间内所产生的所有报文段从网络中消失。造成错误的情形与下文(疑难点6)不采用“两次握手”建立连接所述的情形相同。 注意:服务器结束TCP连接的时间要比客户机早一些,因为客户机最后要等待2MSL后才可进入CLOSED状态。

标签:窗口,--,IP,报文,MSS,TCP,发送,Ch5,传输层
From: https://blog.51cto.com/u_15915681/6317191

相关文章

  • Fiddler抓包工具安装HTTPS证书
    安装好之后,打开Fiddler根目录,打开CMD执行以下内容makecert.exe-r-ssmy-n"CN=DO_NOT_TRUST_FiddlerRoot,O=DO_NOT_TRUST,OU=Createdbyhttp://www.fiddler2.com"-skysignature-eku1.3.6.1.5.5.7.3.1-h1-cyauthority-asha1-m120-b09/11/2022注意上面命令中,最后......
  • 关键词有重复部分
    Python判断多个列表中是否有重复的元素https://blog.csdn.net/CHQC388/article/details/114777266seri=df_0.iloc[2].str.replace(r'/','')#公式list_seri=seri.tolist()#公式list_spli=[i.split('+')foriinlist_seri]#+拆分'''......
  • TheForces Round #13 (Boombastic-Forces) G. Permutation Removal
    感觉好久没有写过这样单独一篇题目的博客了的说昨天上大物课的时候ztc问了我这道题,然后我口胡了下感觉还挺有趣的不过其它题目就没啥时间看了,正巧最近在练DP专题,就顺手记录一下吧这题的数据范围和问题一眼区间DP的形式,直接设\(f_{l,r}\)表示区间\([l,r]\)的答案刚开始naive地......
  • ABAP-MD11计划订单创建
    1DATA:ls_returnTYPEbapireturn1,2ls_plafTYPEplaf,3ls_headerdataTYPEbapiplaf_i1.45ls_headerdata-pldord_profile=ls_plaf-paart.6ls_headerdata-plan_plant=ls_plaf-plwrk.7ls_headerdata-prod_plant=ls_plaf-pwwr......
  • docker-compose
    Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目(project)一安装:用于一次性部署多个容器,通过一个yml文件来启动 1.curl-L"https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname-s)-......
  • 使用ssm框架出现数据库连接问题
    java.sql.SQLException:Accessdeniedforuser'jdbc:mysql://localhost:3306/oa?useSSL=false&allo'@'localhost'(usingpassword:YES)或者是PublicKeyRetrievalisnotallowed查阅资料发现当publicKeyRetrievalisnotAllowed错误解决或依然会出现数据连接失败问......
  • 数论——组合数学入门
    排列组合排列就是指从给定个数的元素中取出指定个数的元素进行排序;组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。--------OIWiki乘法原理和加法原理加法原理,就好比一个工作,有\(n\)个解决的方案,第\(i\)项方案有\(a_{i}\)种不同的实现方式,所以这个工......
  • 【爬虫数据集】李子柒YouTube频道TOP10热门视频的TOP2000热门评论,共计2W条
    目录一、背景二、爬取目标三、结果展示四、演示视频五、附完整数据一、背景这段时间,有超多小伙伴找我要YouTube数据,做数据分析、情感分析之类的研究工作,但很多人并不是计算机软件相关专业,不具备爬虫开发技术,但又有数据需求,可能是新闻传播学、社会学等相关学科,旨在分析社会热点现......
  • 开发日记todo
    深度学习模型初探blender+ue动捕面捕前端flet:python编写flutter语言,通用跑各大系统后端:安卓投屏scrcpy+蓝牙+otg无人机地图扫描,斜面测量......
  • 【若依框架】定时任务调用异步服务,实现每天定时发送钉钉消息通知
     https://blog.csdn.net/MS_SONG/article/details/129141498【若依框架】定时任务调用异步服务,实现每天定时发送钉钉消息通知后端实现思路实现步骤1.添加依赖2.配置DingTalkUtils工具类3.设置定时任务4.异步任务-发送钉钉消息5.配置白名单代码 后端实......