tcp的滑动窗口

今天阅读了TCP中滑动窗口部分的内容,总结如下:

滑动窗口:又叫缓冲区,是两台主机间传送数据时的缓冲区。每台TCP/IP主机支持两个滑动窗口:一个用于接收数据,另一个用于发送数据。
窗口尺寸表示计算机可能缓冲的数据量大小。 

为什么要有滑动窗口
a)每次只发送出一个数据包。
b)为什么不一次发送完所有数据包?
在Internet中,可能同时存在着数百万条TCP连接。如果这些连接同时无节制的发送数据包,那么整个网络都会被堵死,没有数据包能到达目的地。
因此TCP需要根据网络状况,每次发送若干数据包。

1、滑动窗口的意义:

       因特网中有数以万计的TCP连接,它们需要共享带宽,缓存等网络资源。 TCP希望能最大效率的利用网络资源,

       并将资源公平的分配到每条TCP连接上,还要尽量保证不让网络超负荷。滑动窗口机制有效的解决了这些问题。

2、滑动窗口的作用:
        滑动窗口机制是TCP用来控制发送数据包速率的。 发送方每次只能发送滑动窗口内部的数据包。


3、滑动窗口的运行方式:
        每收到一个新的确认(ack),滑动窗口的位置就向右移动一格。
        滑动窗口大小,受拥塞窗口(cwnd)和通告窗口(awnd)的制约。swnd = min [ cwnd , awnd ]。
        拥塞窗口是为了不造成阻塞,网络对发送方发包数量的限制。
        通告窗口是接收方TCP缓存当前的大小。它阻止由于发包数量过多,超出接收方缓存的容量。


滑动窗口设计的原则:
1.滑动窗口过大:带宽利用率较高,容易产生丢包现象的网络,则需要多次发送重复的数据,会造成重传太多,也同样耗费了网络带宽,通信效率严重下降
2.滑动窗口过小:则需要在网络上频繁的传输确认信息,占用了大量的网络带宽;也会造成通信效率下降

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式行业那些坑与出路

嵌入式的坑烧钱嵌入式的学习十分烧钱,这就让人有点望而却步。我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业。在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比如网页、手机应用、数据库等。…

入行后第二份工作的一些感悟

这是我毕业后进入的第二家公司。也是我工作的第二个年头。转眼之间在新公司已经度过半年的时间了。内心还是有些许的感慨。 工作的内容和上家公司是差不多的,主要是做windows方面的基础架构和应用的维护,例如AD、exchange、lync、ISA、虚拟化等等&a…

poj2631

求一棵树的直径,所谓直径就是树上距离最远的两个点! 树形动归,每个点的为根的子树的最长向下链和次长链的和! 当然也可以二次深搜! ————————————————————————————————————————…

原来做的一个语义搜索软件的界面

今天得知NGW(New Generation Web,关于语义网络方面的)课程及实验作业成绩已公布,急去查看,但与想象中相去甚远。 罢了,凡事但求尽力而为,末了问心无愧即可,其它种种皆是虚幻。 附&am…

tcp为什么需要3次握手和3次握手的过程

网络上关于tcp连接时的3次握手相关的文章很多,在此不再重复,个人总结如下,如有不正确之处请给予指正。 tcp“三次握手”的目的是: 为了防止已经失效的请求报文段突然又传送到了服务器端,因而产生错误。 tcp的3次握手过程: (1)、…

C使用FILE指针文件操作

文件 文件的基本概念 所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作…

java 守护线程 run_java守护线程(后台线程)

/*1.让各个对象或类相互灵活交流2.两个线程都冻结了,就不能唤醒了,因为根据代码要一个线程活着才能执行唤醒操作,就像玩木游戏3.中断状态就是冻结状态4.当主线程退出的时候,里面的两个线程都处于冻结状态,这样就卡住了…

2年质保期刚过就翘辫子,这是什么骚设计?

1.终于又坏了一件自从开始写聊聊身边的嵌入式这个系列,便常常有一个邪恶的想法在脑袋里盘旋,总盼着家里哪件电器赶紧出点毛病。你知道,如果不把一个东西拆的七零八落,覆水难收,那是不能满足咱们的好奇心的。都说念念不…

剑指offer---用两个栈实现队列

题目:用两个栈实现队列 要求:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 1 class Solution2 {3 public:4 void push(int node) {5 6 }7 8 int pop() {9 10 } 11 12 priva…

Java内存泄露原因详解

一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的&#xff0…

java时间戳版本号_maven 自动编译版本号 buildnumber-maven-plugin 1.4

最近新项目要需要更新发布版本号,用于标识发布的版本,网上找了下插件:buildnumber-maven-plugin 1.4 。记录下自己使用成功过程中遇到的各种问题,以供需要的朋友参考:插件官方网站:http://www.mojohaus.org…

如何分割合并ISO文件

今天打算在电脑上装Androd系统,谷歌考虑到了这方面的需求,特意制作了liveandroidv0.3.iso操作系统的镜象文件供开发人员下载。没有人愿意为了装这个系统而把原先的系统换掉,许多人也只是想玩票一下。这样就只能用虚拟机安装了,虚拟…

推荐Linux内核书籍

大家好,挺久没推荐内核相关的书籍了,今天给大家推荐一本我觉得不错的书,这本书籍的作者叫做李云华,书籍名字叫《独辟蹊径品内核》,他的写作思路非常不错,他会引用内核代码中的内容,给大家剖析讲…

3个Gmail 邀请,先进先出!!

3个Gmail 邀请,先进先出!!转载于:https://www.cnblogs.com/zhangqh/archive/2005/01/27/98222.html

互联网公司的项目经理:客户伤不起

互联网公司的项目经理:客户伤不起 前面《互联网公司的项目经理:大同与大不同》谈到了互联网公司的项目经理面对的客户和传统软件公司的不同,主要表现在客户与项目经理是同一组织内的、是和你一个战壕共同战斗的,很多情况甚至荣辱与…

java照片墙_基于jQuery实现照片墙自动播放特效

一个动态展示图片的页面:功能:定时从后台取数据,进行页面图片追加。对已经在页面中的图片,进行放大缩小动画展示。目前我们用于微信新关注用户头像展示。抽奖body{background-color:#000;text-transform:uppercase;color:#fff;pos…

位运算实现四则运算(C++实现)

前言 Leetcode中有一道这样的题:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。 如果正常的四则运算符号不允许使用,呢这道题的考点我觉得应…

使用croc命令在Linux系统电脑之间传输文件和文件夹

‍在两台或多台计算机之间传输文件的方法有很多。‍你可以使用基于服务器的文件共享工具,点对点文件共享app,U盘,外部硬盘驱动器,SCP,NFS,FTP,HTTP,云存储平台等等。本文将介绍一个名…

Lady Bird

La Ballade of Lady Bird[Lady Bird]Bird : Lady? Lady : Yes Bird? Bird : Its cold Lady : I know Lady : Bird... I cannot see a thing Bird : Its all in your mind Lady : Im worried Bird : No one will come to see us Lady : Maybe they come but we just dont see …

redhat oracle 开机自启动

一:修改 /etc/oratab N 改为Y 二:修改dbstart dbshut su - oracle cd $ORACLE_HOME/bin vi dbstart 找到 ORACLE_HOME_LISTNER/ade/vikrkuma_new/oracle ###########9i下没有,不用修改 改为 ORACLE_HOME_LISTNER$ORACLE_HOME 同样道理修改d…