精华内容
下载资源
问答
  • 北京大学计算机网络实验Lab1 1 滑动窗口协议实验 1.1 实验目的 计算机网络的数据链路层协议保证通信双方在有差错的通信线路上进 行无差错的数据传输,是计算机网络各层协议中通信控制功能最典型的一种 协议。 本实验...
  • 计算机网络滑动窗口协议GoBackN C程序源码
  • 计算机网络 课程设计 滑动窗口协议模拟 java 小程序实现计算机网络 课程设计 滑动窗口协议模拟 java 小程序实现
  • 【实例简介】计算机网络 课程设计 滑动窗口协议模拟 java 小程序实现计算机网络 课程设计 滑动窗口协议模拟 java 小程序实现【实例截图】【核心代码】滑动窗口协议模拟JAVA版本└── 滑动窗口协议模拟JAVA版本├─...

    【实例简介】

    计算机网络 课程设计 滑动窗口协议模拟 java 小程序实现计算机网络 课程设计 滑动窗口协议模拟 java 小程序实现

    【实例截图】

    【核心代码】

    滑动窗口协议模拟JAVA版本

    └── 滑动窗口协议模拟JAVA版本

    ├── Project_2

    │   ├── bin

    │   │   └── p2

    │   │   ├── Client$1.class

    │   │   ├── Client$2.class

    │   │   ├── Client$3.class

    │   │   ├── Client$4.class

    │   │   ├── Client$5.class

    │   │   ├── Client$6.class

    │   │   ├── Client$ACKThread.class

    │   │   ├── Client$RSThread.class

    │   │   ├── Client$SThread$1.class

    │   │   ├── Client$SThread.class

    │   │   ├── Client.class

    │   │   ├── FileChooser.class

    │   │   ├── Make_Frame.class

    │   │   ├── Server$1.class

    │   │   ├── Server$2.class

    │   │   ├── Server$3.class

    │   │   ├── Server$ClientThread.class

    │   │   ├── Server$ServerThread.class

    │   │   ├── Server.class

    │   │   └── transferm.class

    │   └── src

    │   └── p2

    │   ├── Client.java

    │   ├── FileChooser.java

    │   ├── Make_Frame.java

    │   ├── Server.java

    │   └── transferm.java

    ├── 说明.txt

    └── 计网project2报告.doc

    6 directories, 27 files

    展开全文
  • 计算机网络 滑动窗口协议 selective 选择性重传
  • 北邮的滑动窗口协议 C源代码清单 int tcp mem schedule struct sock sk int size int kind { int amt TCP PAGES size ; sk >forward alloc + amt TCP MEM QUANTUM; atomic add amt &tcp memory ...
  • 滑动窗口算法是计算机网络的经典算法。本文档主要讲述滑动窗口原理,希望给你帮助!
  • 北邮计算机网络实验报告,是数据链路层的滑动窗口协议,采用选择重传协议,报告中内容完整,包含结构说明,代码说明,程序流程图,结果分析(表格),探究分析,源程序等。
  • 北邮 计算机网络课程实验 滑动窗口协议 选择重传协议与go-back-n协议 压缩包内附实验报告与配套代码
  • 【实例简介】北邮 计算机网络课程实验 滑动窗口协议 选择重传协议与go-back-n协议压缩包内附实验报告与配套代码【实例截图】【核心代码】Selective└── Selective├── datalink-A.log├── datalink-B.log├─...

    【实例简介】

    北邮 计算机网络课程实验 滑动窗口协议 选择重传协议与go-back-n协议

    压缩包内附实验报告与配套代码

    【实例截图】

    【核心代码】

    Selective

    └── Selective

    ├── datalink-A.log

    ├── datalink-B.log

    ├── datalink.c

    ├── datalink.dsp

    ├── datalink.dsw

    ├── datalink.exe

    ├── datalink.h

    ├── datalink.ilk

    ├── datalink.ncb

    ├── datalink.o

    ├── datalink.opt

    ├── datalink.pdb

    ├── datalink.plg

    ├── datalink.sdf

    ├── datalink.sln

    ├── datalink.v12.suo

    ├── datalink.vcxproj

    ├── Debug

    │   ├── datalink.log

    │   ├── datalink.obj

    │   ├── datalink.tlog

    │   │   ├── cl.command.1.tlog

    │   │   ├── CL.read.1.tlog

    │   │   ├── CL.write.1.tlog

    │   │   ├── datalink.lastbuildstate

    │   │   ├── link.command.1.tlog

    │   │   ├── link.read.1.tlog

    │   │   └── link.write.1.tlog

    │   ├── vc120.idb

    │   ├── vc120.pdb

    │   ├── vc60.idb

    │   └── vc60.pdb

    ├── jiangTime.swf

    ├── Protocol.dll

    ├── protocol.h

    ├── Protocol.lib

    ├── station a.png

    ├── station b.png

    ├── Thumbs.db

    ├── UpgradeLog.htm

    ├── 协议文本RFC1662.TXT

    ├── 实验报告评语.doc

    ├── 性能测试记录表.doc

    ├── 性能测试记录表-参考数据.pdf

    ├── 源程序清单-样板.DOC

    ├── 计算机网络实验一.pdf

    └── 讲义ch3-Lab.ppt

    3 directories, 45 files

    展开全文
  • 计算机网络——滑动窗口协议的窗口大小

    千次阅读 多人点赞 2019-04-27 11:44:21
    在学习滑动窗口协议的时候,我在链路层的滑动窗口这吃了不少苦头,因为动态的窗口变化真的不适合看老师发的pdf(话说老师为什么不能发PPT非得发PDF?) 虽然后来摸索着看懂了不少,但是到了窗口大小的问题上又蒙圈...

    在学习滑动窗口协议的时候,我在链路层的滑动窗口这吃了不少苦头,因为动态的窗口变化真的不适合看老师发的pdf(话说老师为什么不能发PPT非得发PDF?)

    虽然后来摸索着看懂了不少,但是到了窗口大小的问题上又蒙圈了。在GBN(go back n)和SR(select repeat)中,我迷糊了特别久,最后终于搞明白了两者的区别

    现在开始看问题:假设发送方和接收方约定好,发送的帧的编号总共有n=3位,也就是说,有三个bit可以用来作为帧的编号,那么就意味着,编号的范围是0~7

    一、GBN的发送窗口大小,应该小于等于7,即最大窗口大小<=(2^n)-1

        先看如果大于7,会是什么情况:假设窗口大小等于8:

        发送方给接收方发送了帧编号0A,1A,2A,3A,4A,5A,6A,7A,共计8个帧,接收方均收到,并处理后提交给网络层,并向发送方回馈ACK 0A~7A,并期待下一轮的8个帧0B~7B

    然而回馈电路被雷劈了,所以ACK全部丢失,接收方等了好久,没等到确认,认定自己工作失误,发出去的东西没有到达地点,于是重发了之前的0A~7A号帧

    但是接收方不知道自己的信道被劈了啊!他还以为自己的ACK(A系列)被对方接收到了,还在喜滋滋等着第二波新帧,没想到来的居然还是上一批老人物。但是接收方脸盲啊,不把熟人当兄弟,一看来的还是八位大爷,打头的正好编号和自己需要的一样,也看不出是不是新来的,就还是全部接收并传给了网络层

    这不就出错了吗!

    所以我们得想办法防止这种事出现:

    窗口如果等于7,就不会有这种狗东行为出现:

    发送方发出0A,1A,2A,3A,4A,5A,6A共计7个帧,接收方还是接收并发送A系列的ACK,且依旧全部丢失,发送方超时重传0A~6A

    但是这次情况不同了!

    接收方发现来的人虽然数量没变,但是编号对不上了啊!自己等的带队的是7爷,怎么来的是0爷?来的人不对,混日子的不是我的兄弟,不收!

    于是数据传输断裂,但至少不会出错了……最后黑锅由闪电完美背起,鼓掌

     

    二、选择重传SR的发送窗口大小,应该小于等于4,即最大窗口大小<=2^(n-1)

    为什么同样是滑动窗口,你GBN的就可以比我大,我就得比你小?你说你演的比我好,要不你上来咱们比比?刚刚我来的时候还有小朋友问我……不对,串场了

    问题的关键在于:选择重传是可以“跳着传”的。

    现在我们看,如果SR和GBN的窗口大小一样,会是什么情况

    在同样遇到帧丢失的时候,假设我们发送了0~6号帧,并且倒霉的丢掉了2号帧,GBN协议里,接收方没有收到2号帧,就不会发送2号帧的ACK,发送方直接把2到6号全部重传,接收方也不需要担心会不会有重复数据,因为第一批来的3号到6号帧因为少了2号帧,在接收方看来就是一堆废物,直接给丢了去换新的,充分体现了某资本主义大国的浪费作风,需要点名批评。

    现在看SR的协议

    SR的协议有两个特点

    1.不需要重发错误帧到结尾帧的所有帧,只需要重发错误的2号帧即可,充分体现了社会主义的勤俭节约习惯,点名表扬

    2.如果2号帧没有到,那么3~6号虽然会被保留下来,但也不会被传到网络层。一个帧如果能够被传到网络层,前提是比他小的序号的帧都已经被传输到网络层了,类似“让小孩先走”的道理。

    所以在2号帧丢失这个问题上,SR和GBN似乎都不会出太大问题

    但是还有一种情况:如果和(一)中的问题一样,接收方的ACK全部丢失,会是什么情况?

    GBN中,由于直接丢弃+重传,不会受到影响。

    但是SR似乎没有这么乐观:假设接收方已经将0A到6A号传给了网络层,但是ACK全部丢失,那么发送方只好重传0A到6A了

    但是接收方等待的是7A,0B,1B,2B,3B,4B,5B,一看发送方发来的东西,虽然不是完美贴合我想要的七个葫芦娃们,但是似乎有6个也是编号0到5的……不管来的·是小矮人还是葫芦娃,只要编号对上了,就是我的人……呸,我的帧了。

    于是0A到5A又一次被纳入后宫,数据出错

    但是如果发送方窗口只有四个呢?

    发送方发来了0A到3A,依然没有收到ACK,重发0A~3A

    接收方苦等4到7的编号帧,一看发来的一个都没有符合的,不收不收

    皆大欢喜,完美!

    展开全文
  • 滑动窗口 概念 滑动窗口是两台主机间传送数据时的缓冲区。每台TCP /IP 主机支持两个滑动窗口, 一个用于接收数据, 另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。 工作原理 1. 滑动窗口工作过程 TCP ...

    滑动窗口

    概念

    滑动窗口是两台主机间传送数据时的缓冲区。每台TCP /IP 主机支持两个滑动窗口,

    一个用于接收数据, 另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。

    工作原理

    1. 滑动窗口工作过程

    TCP 协议通过采用滑动窗口的方式控制数据流的传输。在传输层中, 数据按照一定的

    格式打成大小相同的包。每一个滑动窗口中包含一定数目的数据包, 滑动窗口的大小可以

    进行调整。每台网络上的主机维护一个发送窗口和一个接收窗口。发送方一次可发送相当于滑动窗口大小的数据包数目, 并在每个数据包前添加包头信息, 然后等待接收方返回确认信息。由于TCP 是面向连接的协议, 可以保证数据传输的完整性和准确性, 当传输过程中发生丢包时, 接收方会要求发送方从断点处重传数据。

    当TCP 从应用层中接收到数据时, TCP 将一个带序列号的报头加入数据包并将其交给

    IP, 由IP 将它发送到目标主机。

    当每一个数据包传送时, 源主机设置重发计时器, 描述在重新发送数据包前将等待

    ACK 的时间。在一般情况下, 当第一次发送失败后, 重发计时器的重试时间将设置为前一

    次的两倍。在发送窗口中有每一个数据包的备份, 直到收到ACK。

    当数据包到达目的主机接收窗口, 它们按照序列号放置。当目的主机接收到连续的数

    据段时, 就向源主机发送一个关于数据的认可( ACK) 的应答报文, 其中带有当前窗口尺寸。一旦源主机接收到数据包并认可, 发送窗口将进行滑动。如果在重发计时器设定的时

    间内, 源主机没有接收到对现存数据的认可, 数据将重新传送。重发数据包将加重网络和源主机的负担。

    展开全文
  • 计算机通信网络--滑动窗口协议,代码,c语言实现。 vc++.
  • 计算机网络 TCP 滑动窗口协议 详解

    万次阅读 2015-04-01 15:56:15
    滑动窗口机制解析: 1.窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口...
  • A会有一个发送窗口,B有一个接收窗口。  发送窗口表示在没有收到B确认的情况下,A也可以连续把发送窗口的数据发送出去。但是已经发送过的数据在未收到确认之前,它还需要暂时保留,以便于超时...
  • 本资源属于PPT格式,主要讲述了滑动窗口的原理和应用
  • TCP协议作为一个可靠的面向流的传输协议,其可靠性是由流量控制和滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。 一、滑动窗口协议 1 ) . “窗口”对应的是一段可以被发送者发送的字节序列,...
  • 面试官提问,请解释一下TCP的滑动窗口 回答这个问题前,需要弄明白 RTT RTO 是什么 RTT :发送一个数据包到收到对应的ACK,所花费的时间 RTO :重传时间间隔(TCP在发送一个数据包之后会启动一个重传定时器,而...
  • 滑动窗口协议是传输层进行流量控制的一种措施,接收方通过通知发送方自己的窗口大小,从而控制发送方的发送速度,从而达到防止发送方发送速度过快而导致自己被淹没的目的,并且滑动窗口分为接收窗口和发送窗口。...
  • 流水线机制与滑动窗口协议 流水线协议 允许发送方在收到ACK之前连续发送多个分组 更大的序列号范围 发送方和/或接收方需要更大的存储空间以缓存分组 滑动窗口协议 窗口 允许使用的序列号范围 窗口尺寸为N...
  • 计算机网络原理(11)——滑动窗口协议 流水线机制与滑动窗口协议 1、流水线协议 允许发送方在收到ACK之前连续发送多个分组 更大的序列号范围 发送方和/或接收方需要更大的存储空间以缓存分组 2、滑动窗口协议 ...
  • 计算机网络(7)——滑动窗口

    千次阅读 2019-02-25 10:34:11
    一、滑动窗口流量控制基本原理 发送窗口: 在任意时刻,发送发都维持一组连续的允许发送的帧的序号,称为发送窗口。 接收窗口: 发送窗口用来对发送方进行流量控制,而发送窗口的大小 W 代表在还...
  • RTT和RTO RTT : 发送一个数据包到收到对应的ACK所花费的... 操作系统内核为了维护这个滑动窗口, 需要开辟发送缓冲区来记录当前还有哪些数据没有应答 只有ACK确认应答过的数据, 才能从缓冲区删掉. TCP使用滑...
  • 滑动窗口引入窗口概念的原因窗口大小由哪一方决定?发送方的滑动窗口程序是如何表示发送方的四个部分的呢?接收方的滑动窗口接收窗口和发送窗口的大小是相等的吗? 引入窗口概念的原因 我们都知道 TCP 是每发送一个...
  • 滑动窗口机制

    千次阅读 2015-03-12 18:19:24
    计算机网络 滑动窗口机制
  • 计算机网络面试总结-TCP的滑动窗口

    千次阅读 2019-03-07 10:00:14
    5.TCP的滑动窗口 5.1.RTT和RTO: RTT:发送一个数据包收到对应的ACK,所花费的时间(Round Trip Time:一个连接的往返时间) RTO:重传时间间隔(Retransmission Time out) 滑动窗口基于RTO 5.2.TCP使用滑动窗口...
  • 1.滑动窗口解决的是发送方和接收方接收数据速率不一致的问题,通过设置滑动窗口(可以通俗的理解为接收方的缓存)可以缓解这一个问题。具体的操作是接收方会向发送方通知自己可以接受数据的大小,而发送方会根据这个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 720
精华内容 288
关键字:

计算机网络滑动窗口