您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 实验报告-IP分段与重组
实验四课程名称:TCP/IP协议栈分析与实现实验项目名称:IP报文分段与重组模拟学生姓名:专业:学号:同组学生姓名:指导老师:实验地点:实验日期:年月日一、实验目的学习Linux内核IP报文分段和重组的原理,掌握IP报文分段重组模拟程序的关键实现方法。二、实验内容1、联调Forward而和Host程序,观察基于消息分段和重组的文件传输过程。2、完成IP报文分段和重组程序中用户退出登录的功能实现。三、实验要求1、选定4台PC工作站,其中一台作为转发服务器Forwarder,两台作为文件传输的发送方Host,另外一台作为接收方Host。2、每3人一组,参考教材《网络编程与分层协议设计—基于Linux平台实现》第9.10一节的说明,完成IP报文分段与重组模拟程序的编译,并将Forwarder和Host正确部署在上述4台工作站上,以实现不同Host之间的文件传输。3、仔细阅读Host.c和Forwarder.c源文件中关于消息分段、再分段和分段重组函数的实现代码。4、完成Host.c中app_do_exit函数的实现,要求当某个已登录Host退出后,其他仍在线用户的的在线用户列表中能去除该退出登录的用户名。四、实现原理1.IP报文分段和重组模拟程序功能描述IP报文分段和重组模拟程序的核心功能是通过UDP编程,完成基于应用层消息分段和重组下的文件传输。整个模拟程序主要由两个独立的角色构成,即Forwarder和Host,如下图所示:HostBHostDHostAHostCForwarder其中Forwarder主要作为数据传输的中间转发单元,其主要功能是模拟IP网络中的路由器对IP分组进行再分段处理,此外Forwarder还兼作业务服务器,完成各个用户(Host)的登陆处理。Host的主要作用是作为文件传输的源用户和目标用户,并且可以按照一对一或多对一方式,从源Host向目标Host发起文件传输活动。2.协议分层在IP报文分段和重组模拟程序中,工作于Forwarder和Host中的分层协议分为三层,一是业务逻辑层,负责应用的业务处理,如登陆Forwarder和文件传输;二是分段重组层,其功能是根据当前程序设定的UDP消息长度阈值的大小,对来自上层的业务逻辑消息进行必要的分段后,将消息分段交给消息发送与接收层进行发送,或者将从网络上收到的消息分段进行重组后,再交给业务逻辑层进行业务处理。协议分层如下所示:3.协议设计请仔细阅读教材《网络编程与分层协议设计—基于Linux平台实现》第6.5.3一节的内容,准确掌握IP报文分段与重组模拟程序的分层协议定义。五、实验任务1、实现退出登录业务功能请完成某个登录用户退出的功能实现,要求所有其他在线用户通过刷新用户登录列表,可以看到该退出登录用户已经下线。2、程序运行截图业务逻辑层消息分段重组层消息发送与接收层业务逻辑层消息分段重组层消息发送与接收层源Host目的HostForwarder业务逻辑层消息分段重组层消息发送与接收层
本文标题:实验报告-IP分段与重组
链接地址:https://www.777doc.com/doc-2460404 .html