计算机网络选择重传协议实验报告_第1页
计算机网络选择重传协议实验报告_第2页
计算机网络选择重传协议实验报告_第3页
计算机网络选择重传协议实验报告_第4页
计算机网络选择重传协议实验报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络计算机网络 选择重传协议选择重传协议 实验报告实验报告 1 实验内容和实验环境描述实验内容和实验环境描述 实验内容 实验内容 利用所学数据链路层原理 设计一个滑动窗口协议 在仿真环境下编程实现有噪音信 道环境下两站点之间无差错双工通信 信道模型为8000bps 全双工卫星信道 信道传播时 延270毫秒 信道误码率为10 5 信道提供字节流传输服务 网络层分组长度固定为256字 节 实验环境 实验环境 Windows7 64 位操作系统 PC 机 VC 6 0 2 协议设计协议设计 数据结构 数据结构 数据帧数据帧 KIND 1 SEQ 1 ACK 1 DATA 240 256 CRC 4 确认帧确认帧 KIND 1 ACK 1 CRC 4 否定确认帧否定确认帧 KIND 1 ACK 1 CRC 4 KINDKIND 表示帧的类别 ACKACK ACK序列号 SEQSEQ 帧序列号 CRCCRC 校验和 模块结构 模块结构 static inc Uchar a 作用作用 使一个字节在 0 MAX SEQ 的范围内循环自增 参数参数 a 字节类型 static between Uchar a Uchar b Uchar c 作用作用 判断当前帧是否落在发送 接收窗口内 参数参数 a b c 均为字节类型 其中两个分别为窗口的上 下界 一个为帧的编号 其中 发送窗口的上界和下界分别为 next to send 和 ack expected 接收窗口的上界和下界分别 为 too far 和 frame expected 均定义在 main 函数中 static void put frame unsigned char frame int len 作用作用 为一个帧做 CRC 校验 填充至帧的尾部并将其递交给网络层发送 参数参数 frame 字节数组 由除 padding 域之外的帧内容转换而来 len 整型 为帧的当前 长度 static send frame Uchar fk Uchar next frame Uchar frame expected Packet out buf 作用作用 构造一个帧 并将其发送 参数参数 fk 字节类型 为帧的内容 next frame 字节类型 为帧的编号 frame expected 字节类型 为希望收到的帧的编号 out buf 二维字节数组 为缓冲区 int main int argc char argv 作用作用 主程式 包含选择重传协议的算法流程 参数参数 argc 整型 表示命令行参数的个数 argv 二维字符数组 表示参数内容 算法流程 算法流程 Y NY N YY Y N N Start Swctih Phy layer ready Network layer ready Data comingData timeout Ack timeout Get packet Count csc Find frame end Reset ack numMake ack frame Send data Get num 0 Csc 0 Next send ack expected Send this frame Phy ready Send frame S seq frame Expect Phy ready break Sent frame Phy ready 1 Put packet Send frame BreakbreakGet num nbuff ered a 物理层 物理层 为数据链路层提供的服务为 8000bps 270ms 传播延时 10 5 误码率的字节 流传输通道 为了仿真实现上述服务质量的信道 利用在同一台计算机上 TCP Socket 完成 两个站点之间的通信 由于同一台计算机上 TCP 通信传播时延短 传播速度快 没有误码 物理层仿真程序在发送端利用 令牌桶 算法限制发送速率以仿真 8000bps 线路 在接收 端误码插入模块利用一个伪随机数 随机地 篡改从 TCP 收到的数据 使得所接收到的每 个比特出现差错的概率为 10 5 接收到的数据缓冲后延时 270ms 才提交给数据链路层程序 以仿真信道的传播时延特性 为了简化程序 省略了成帧功能 数据链路层利用接口函数 send frame 和 recv frame 发送和接收一帧 b 数据链路层 数据链路层 发送方和接收方都维持一个窗口 窗口内部为可以接受的序列号 接收 到的数据包被缓存起来 当按正确的顺序接收完毕后再提交给网络层 ACK 信息通过数据 帧捎带确认的方式传递 若遇到长时间无数据帧发送 则产生 ACK 超时事件 ACK TIMEOUT 主动发送空的 ACK 帧 若长时间未收到 ACK 信息 则产生数据帧超时 事件 DATA TIMEOUT 发送方自动重传未确认帧 当出现帧丢失或校验错误时 接收方 会主动发送 NAK 帧提示发送方立即重传 数据链路层通过物理层提供的函数来利用物理层提供的服务 通过 get packet 函数从网络 层得到一个分组 当数据链路层成功接收到一个分组后 通过 put packet 函数提交给网络 层 c 网络层 网络层 利用数据链路层提供的 可靠的分组传输 服务 在站点 A 与站点 B 之间交 换长度固定为 256 字节的数据分组 网络层把产生的分组交付数据链路层 并接受数据链 路层提交来的数据分组 3 结果分析结果分析 1 描述你所实现的协议软件是否实现了有误码信道环境中无差错传输功能 我们的协议成功实现了有误码信道环境中无差错传输功能 如果收到一个损坏帧 在 尚未发送否认确定的情况下 则捎带发送否定确认 并打印错误报告 如果已发送否定确 认 则只打印错误报告 不重复发送否定确认 2 程序的健壮性如何 能否可靠地长时间运行 Deal with ack number In len 1 break Nbuffered max seq Enable network Disable network 我们的程序成功连续运行半小时以上 并取得预定效果 具有足够的健壮性 3 协议参数的选取 滑动窗口的大小 重传定时器的时限 ACK 搭载定时器的时限 这 些参数是 怎样确定的 根据信道特性数据 分组层分组的大小 以及你的滑动窗口机制 给出定量分析 详细列 举出选择这些参数值的具体原因 我们物理层提供的是字节流传输服务 使用字节填充技术成帧 分组长度为 256 字节 为了避免在有出错帧接收方要求重传时产生二义性 我们定义窗口大小为 2 n 1 并且双 方的窗口大小均为 MAX SEQ 1 2 这样的大小足够使用又不会有过于富余的空间浪费 滑动窗口的大小直接涉及到信道利用率和数据拥塞问题 若太大 数据发送过快将产生拥 塞导致数据丢失 出错率增加 若太小则信道利用率降低 通过实验测试合适的窗口大小 为 16 重传定时器时限涉及到重传的响应时间 太小会导致频繁重传 太大则重传等待时间 太久 经过我们的试验测试 选取重传定时器时限定为 3000 毫秒 ACK 搭载定时器的时 限为 1000 毫秒最合适 4 理论分析 根据所设计的滑动窗口工作机制 Go Back N 或者选择重传 推导出在无差错 信道环境下分组层能获得的最大信道利用率 推导出在有误码条件下重传操作及时发生等 理想情况下分组层能 获得的最大信道利用率 给出理论推导过程 理论推导的目的是得到 信道利用率的极限数据 为了简化 有误码条件下的最大利用率推导过程 可以对问题模型 进行简化 比如 假定超时重传的数据帧的回馈 ACK 帧可以 100 正确传输 但是简化问 题分析的这些假设必须不会对整个结论产生较大的误差 由于需要携带帧信息 所以最大信息利用率为 由96 24 100 244256 256 于数据链路层提供的服务为 8000bps 所以每传输一个字节耗时 1ms 每帧的附加信息固 定为 10 耗时 10ms 若出现转义字符还将增加时间 简化模型 假设信道上始终有数据需要传输 则在误码率为的信道上 100000 个 5 10 比特可发送个数据包 即每传送 48 个数据包将有 1 个出错 假设在限定时48 8 260 100000 间内可以重传的该帧为正确帧 则每传送 48 个数据包需传送 48 1 1 50 次 所以信道利用 率为而由于程序设计原因 当一个数据包超时后 常常92 24 100 10260 50 250 48 需要重传多次造成信道浪费 若重传 k 次 则信道利用率为若 100 10260 49 250 48 k 重传 10 次 信道利用率为 78 18 若信道误码率为 则 即大约每 5 4 104 8 8 260 10000 个帧就有一个出错 此时在 ESC FLAG 模式下平均 250 个字符需要两倍的传输空间即极限值 510 若平均每个错帧重传 10 次信道利用率的极值为40 71 100 10510 6 250 5 5 实验结果分析 你的程序运行实际达到了什么样的效率 比对理论推导给出的结论 有没有差 距 给出原因 有没有改进的办法 如果没有时间把这些方法付诸编程实施 介 绍你的方案 由实验结果可以看出 窗口大小是 16 时信道利用率最高 与理论最大值最接近 与理 论窗口最佳值一致 在洪泛模式下 信道利用率与理论值接近 而在其他情况下负载有时较轻 所以信道 利用率相比理论值较低 6 存在的问题 在 表 3 性能测试记录表 中给出了几种测试方案 在测试中你的程序有 没有失 败 或者 虽未失败 但表现出来的性能仍有差距 你的程序中还存在哪些问题 实验顺利进行 每次测试得到的数据都比较接近 但和理论值相比信道利用率较低 这与信道的负载有关 实验结果 实验结果 测试最佳窗口尺寸 测试最佳窗口尺寸 窗口大小为窗口大小为 16 16 DATA TIMERDATA TIMER 3000 3000 ACK TIMERACK TIMER 10001000 Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3059 396 9 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 30 56 895 0 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 896 4 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3091 393 6 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 30 73 275 5 窗口大小为窗口大小为 8 8 DATA TIMERDATA TIMER 3000 3000 ACK TIMERACK TIMER 10001000 Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3057 796 9 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 30 55 694 8 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 30 96 996 9 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3095 595 0 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 30 75 073 2 窗口大小为窗口大小为 32 32 DATA TIMERDATA TIMER 3000 3000 ACK TIMERACK TIMER 10001000 Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3096 996 9 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 3054 893 6 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 997 0 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3090 690 2 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 3050 052 3 从测试结果比较得出 从测试结果比较得出 窗口最佳尺寸为窗口最佳尺寸为 16 ACKACK 搭载定时器的时限定为搭载定时器的时限定为 10001000 毫秒毫秒 窗口大小为窗口大小为 1616 测试重传定时器时限 测试重传定时器时限 DATA TIMERDATA TIMER 2800 2800 窗口大小为窗口大小为 16 16 ACK TIMERACK TIMER 10001000 测试最佳测试最佳 DATA TIMERDATA TIMER 取值取值 Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au无误码信道数据传输3055 393 9 datalink bu 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 30 49 688 7 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 996 9 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3086 188 2 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 30 69 670 1 DATA TIMERDATA TIMER 3000 3000 窗口大小为窗口大小为 16 16 ACK TIMERACK TIMER 10001000 Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3059 396 9 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 30 56 895 0 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 896 4 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3091 393 6 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 30 73 275 5 DATA TIMERDATA TIMER 3200 3200 窗口大小为窗口大小为 16 16 ACK TIMERACK TIMER 10001000 Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3058 096 8 2datalink a站点 A 分组层平缓方式发30 datalink b出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 55 890 3 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 996 9 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3089 390 6 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 30 63 468 9 DATA TIMERDATA TIMER 3400 3400 窗口大小为窗口大小为 16 16 ACK TIMERACK TIMER 10001000 Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3056 996 8 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 30 54 889 9 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 896 8 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3087 789 8 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 30 68 170 3 从测试结果比较得出 从测试结果比较得出 DATA TIMER 3000DATA TIMER 3000 为最佳取值为最佳取值 重传定时器时限定为重传定时器时限定为 30003000 毫秒毫秒 窗口大小为窗口大小为 1616 测试 测试 ACKACK 搭载定时器的时限搭载定时器的时限 ACK 1000msACK 1000ms Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3059 396 9 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 30 56 895 0 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 3096 996 4 生分组 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3095 195 4 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 30 73 275 5 ACK 1100ms Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3068 496 9 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 3067 695 6 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 996 9 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3095 195 0 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 3072 576 3 ACK 1200ms Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3055 996 9 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 3057 194 9 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3096 996 9 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3095 295 1 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 3074 573 3 为 10 4 ACK 1300ms Selective 算法线路 利用率 序号命令说明运行时间 分钟 AB 1datalink au datalink bu 无误码信道数据传输3057 094 8 2datalink a datalink b 站点 A 分组层平缓方式发 出数据 站点 B 周期性交 替发送 100 秒停发 100 秒 3055 894 9 3datalink afu datalink bfu 无误码信道 站点 A 和站 点 B 的分组层都洪水式产 生分组 3097 096 8 4datalink af datalink bf 站点 A B 的分组层都洪水 式产生分组 3095 195 0 5datalink af ber 1e 4 datalink bf ber 1e 4 站点 A B 的分组层都洪水 式产生分组 线路误码率 为 10 4 3071 474 4 从测试结果比较得出 最佳从测试结果比较得出 最佳 ACKACK 搭载定时器的时限为搭载定时器的时限为 1100ms1100ms 实验截图 最佳参数 实验截图 最佳参数 DATA TIMERDATA TIMER 3000 3000 窗口大小为窗口大小为 16 16 ACK TIMERACK TIMER 11001100 datalink au datalink bu datalink a datalink b datalink afu datalink bfu datalink af datalink bf datalink af ber 1e 4 datalink bf ber 1e 4 4 研究和探索的问题研究和探索的问题 1 CRC1 CRC 校验能力校验能力 CRC校验码的检错能力很强 它除了能检查出离散错外 还能检查出突发 错 CRC校验码具有以下检错能力 CRC校验码能检查出全部单个错 CRC校验码能检查出全 部离散的二位错 CRC校验码能检查出全部奇数个错 CRC校验码能检查出全部长度小于或 等于K位的突发错 CRC校验码能以 1 1 2 K 1 的概率检查出长度为 K 1 位的突发错 2 2 由于本次试验过程的误码信道是一个比较固定的误码率 而在实际生活当中的误码率不 是稳定的 可能会因为传输环境的不同 使得他的误码率波动比较大的 例如 下雨天和 晴天 高噪声和低噪声的情况 传输的距离也是影响因素 对于这种动态的误码率的通信 过程 可能需要其他的一些参数来控制基本参数值 窗口大小 重传时间等等 来完成 3 get ms 如何实现如何实现 C 语言的 time h 当中提供了一些关于时间操作的函数可以实现 get ms 函数 可以利用的函数有 clock 函数原型为 clock t clock 该函数返回程序开始执行后占用的处理器时间 如果无法获得占用时间则返回 1 因为我们计时的起点并不是程序开始之时 而是开始通信之时 所以需要一个静态变量 start time 来记录通信起始的时间 然后在每次调用 get ms 后 获取当前的时间 current time 然后再返回 start time current time 即可 4 4 对等协议实体之间的流量控制对等协议实体之间的流量控制 在我们设计的协议当中 流量的控制主要通过接收窗口 发送窗口还有确认机制来实现 因为有窗口大小的限制 发送方不会一次性发送过多信息 导致接收方被信息洪流所淹没 导致信息丢失 这样可能会导致信道的利用率降低 但是 如果合理的设计窗口大小 依然可以达到较高的信号利用率 5 实验总结和心得体会实验总结和心得体会 1 完成本次实验的实际上机调试时间是多少 由于其他课业任务较多 日程安排紧张 完成本次试验代码的编写大约用了一周 每天晚 上大约抽出1 2小时的时间 其中很大一部分时间是在程序框架的确定和debug 在这之后又 花了5天 每晚1 2小时的时间用于测试协议参数的选取等问题 2 编程工具方面遇到了哪些问题 包括Windows环境和VC软件的安装问题 这方面进展十分顺利 3 编程语言方面遇到了哪些问题 包括C语言使用和对C语言操控能力上的问题 由于我们学习使用C语言时间较长 运用起来并没有什么阻碍 4 协议方面遇到了哪些问题 包括协议机制的设计错误 发现协议死锁 或者不能正确 工作 协议参数的调整等问题 由于我们缓冲区判断满溢的条件存在问题 缓冲区溢出时网络层依然没有被关闭 导致运 行程序时发现数据帧 丢失 在协议参数的选择上也花了较长时间 5 开发库方面遇到了哪些问题 包括库程序中的BUG 库函数文档不够清楚导致误解 库函数在所提供的功能结构上的缺憾导致编程效率低下 这些问题或建议影响不同模块之 间功能界限的划分 无法看到库函数的实现部分的代码 对各个参数的作用也没有详细清晰的说明 所以掌握 这些函数花了较长时间 使用时也出现过很多错误 6 总结本次实验 你在C 语言方面 协议软件方面 理论学习方面 软件工程方面等哪 些方面上有所提高 通过这次试验 我们对数据链路层的选择重传协议的机制有了很深刻的了解 很多书 本上不是很懂的讲义 在我们进行试验的过程中 通过对模拟结果的分析与思考都一点点 的理解了 而且这次试验是我们第一次模拟通信 让我们学会了 windows 下观察网络收发 数据包模拟环境的搭建 6 源程序清单源程序清单 include include include protocol h define DATA 1 define NAK 2 define ACK 3 define DATA TIMER 3000 define ACK TIMER 1000 define MAX SEQ 63 define NR BUFS MAX SEQ 1 2 int no nak 1 static int phl ready 0 struct FRAME unsigned char kind 数据 确认 否定确认 unsigned char ack unsigned char seq unsigned char data PKT LEN unsigned int padding static int between unsigned char a unsigned char b unsigned char c 如果满足 a b c 或其循环则返回真 否则返回假 return a b static void put frame unsigned char frame int len 发送捎带确认帧的数据帧 unsigned int frame len crc32 frame len send frame frame len 4 phl ready 0 static void send data frame unsigned char fk unsigned char frame nr unsigned char frame expected unsigned char buffer NR BUFS PKT LEN 构造并发送数据 确认 否定确认帧 struct FRAME s s kind fk s seq frame nr s ack frame expected MAX SEQ MAX SEQ 1 if fk DATA memcpy s data buffer frame nr NR BUFS PKT LEN dbg frame Send DATA d d ID d n s seq s ack short s data put frame unsigned char start timer frame nr NR BUFS DATA TIMER if fk NAK no nak 0 dbg frame Send NAK d n s ack put frame unsigned char if fk ACK dbg frame Send ACK d n s ack put frame unsigned char phl ready 0 stop ack timer void main int argc char argv int event arg struct FRAME f int len 0 int i static unsigned char ack expected 0 static unsigned char next frame to send 0 static unsigned char frame expected 0 static unsigned char too far NR BUFS static unsigned char nbuffered 0 int arrived NR BUFS static unsigned char out buf NR BUFS PKT LEN static unsigned char in buf NR BUFS PKT LEN protocol init argc argv 初始化协议 lprintf Designed by CK build DATE TIME n for i 0 i NR BUFS i arrived i 0 没有帧到达接收方 enable network layer 初始化 while 1 event wait for event 等待下一事件 switch event case NETWORK LAYER READY 允许网络层发送数据帧 nbuffered 缓冲区数据帧数加一 get packet out buf next frame to send NR BUFS 从网络层接收数据 帧 send data frame DATA next frame to send frame expected out buf 发 送数据帧 next frame to send next frame to send 1 MAX SEQ 1 发送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论