1 / 8
文档名称:

可靠的数据传输协议rdt的模拟实现.doc

格式:doc   大小:153KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

可靠的数据传输协议rdt的模拟实现.doc

上传人:bai1968104 2020/10/16 文件大小:153 KB

下载得到文件列表

可靠的数据传输协议rdt的模拟实现.doc

文档介绍

文档介绍:可靠的数据传输协议rdt的模拟实现姓名:陈锋学号:2005一、实验目的:加深对可靠的数据传输协议(包括链路层、传输层和应用层)的理解。二、、功能(1)由一台PC(线程)向另一台PC(线程)发送数据包,界面应显示出双方帧个数变化,帧序号,发送和接受速度,暂停或重传提示等,界面中必须动态显示数据帧的发送情况和接受情况,包括在相应窗口详细显示相应的ACK和其他收发数据帧后发出的消息,以表明模拟协议的正确运作过程。(2)接收方及发送方应具有按序收发帧的能力;(3)接受方应有固定大小的窗口,并对收到信息缓存。当发送方速度过快或帧丢失(超时),接受方应发送消息,要求暂停或重传(停--等协议);(4)发送方发送速度应可以调节,并可以暂停或重发;(5)发送方重传时可仅重传需要的(丢失的)幀;(6)以上几个功能应可视,要求简单界面。、要求(1)Windows或者UNIX环境下,对可靠的数据传输协议的简单实现,程序应在1-2台PC上运行,(2)演示在两台计算机间传输,允许在同一台机器中用两个独立线程来模拟。三、可靠数据传输协议rdt的传输原理下层信道是完美可靠的,没有bit错误,没有分组丢失。对发送方接收方具有独立的FSMs,发送方发送数据到下层信道,接收方从下层信道接收数据。图1、可靠信道上的可靠传输整个协议的工作原理图如下:图2、可靠数据传输协议传输原理示意图四、实验流程图首先,启动服务器,调用Socket()建立一个套接口,然后用bind()将该套接口与本地网络地址绑定,再调用listen()使套接口做好监听的准备,规定请求队列的长度,ept()来接收连接。客户在建立套接口后就可调用connect()和服务器建立连接。连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。最后,待数据传送结束后,调用close()关闭套接口。实验流程图如下页图3所示。ServerSocket()Bind()Listen()Accept()ClientSocket()阻塞,等待建立连接Write()Write()Close()Close()Read()connect()请求数据Read()处理服务请求应答数据图3、Socket编程模拟实现rdt协议的流程图五、—classCRcvSocket和classCSndSocket类classCRcvSocket,用于服务器端的Socket通信。classCRcvSocket:Socket{//Attributespublic://Operationspublic: CRcvSocket(); virtual~CRcvSocket();//Overridespublic: voidSetNotifyWnd(HWNDhNtf); voidSetNotifyMsg(UINTuMsg);private: HWNDhNotifyWnd; UINTuNotifyMsg;};类classCSndSocket,用于客户端的Socket通信classCSndSocket:Socket{//Attributespublic://Operationspublic: CSndSocket(); virtual~CSndSocket();//Overridespubli