图5 接收方的滑动窗口
当一个具有顺序号SeqNum帧到达时,接收方会采取如下行动:当SeqNum≤LFR或SeqNum> LAF时,帧不在接收窗口内,于是被丢弃;当LFR<SeqNum≤LAF时,帧在接收窗口内,于是被接收。现在接收方需判定是否发送一个ACK。设SeqNum To ACK表示未被确认帧的最大序号,那么序号小于或等于SeqNum To ACK的帧都已收到。即使已经收到更高序号的分组,接收方仍确认SeqNum To ACK的接收。这种确认被称为累积的(cumulative)。然后它设置LFA = SeqNum To ACK,并作出调整满足公式:LFA = LFR + RWS。
因此窗口协议算法具有三个功能:
(1)、在不可靠链路上可靠地传输帧;
(2)、保持帧的传输顺序;
(3) 、支持流量控制。
3 开发设计环境
3.1 Microsoft Visual Studio 2010
Microsoft Visual Studio 2010是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Microsoft Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Microsoft Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持IBM、DB2和Oracle数据库。