北京大学计算机CP网络实习第二次实习报告.pdfVIP

北京大学计算机CP网络实习第二次实习报告.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机 网络实习 协议收发实验 李舜阳 实实实习习习概概概述述述 本次实习重点在于对于分组头部结构的处理 ,只需要实现发送 、接收个函数 。 具体 实习流程在 实验讲义中写得 比较详细,这里就不 罗嗦 了。 重重重难难难 点点点 需要理解和掌握的概念有 : 数据报头部结构 、组成 内容 、意义等信息 分组校验和的计算 分组的拆分和封装 实实实习习习内内内容容容 虽然有个测试 ,但是本质上分为类 :接收 、发送 。建议先完成发送功能,之后的接收功能就是顺水推 舟的事情 。 做完此次实习之后对于下面这 图即使没有背下来估计也差不多了,有必要再看一眼 : 分分分组组组发发发送送送 实现如下函数 : 相相相 关关关数数数据据据结结结构构构 :指 向分组头 内容 ,由于实验 约定分组头没有可选部分 ,因此所有的收发分组头的长度都是固定 的个字节 。 流流流程程程 图图图 主主主要要要逻逻逻辑辑辑介介介绍绍绍 流程非常简单 ,没啥好说的 。如何布置代码 结构使得构 显得 简洁而优雅是一个值得琢磨的 问题 。但是鉴于时间有限,没花 多于的精力在代码优化上面 。 代码 中大量用到 了位操作 ,这是不可避 免的 ,这里 需要注意的是 ,最好在每个填充语 句处都 用一 个与操作将其他不相干的部分屏蔽掉 ,避免一些不必要的麻烦 。因为我发现有时候会 自动扩展符 号位 ,比如一个 变量的值 最高位为 ,那 么如果用一个 类型指针操作该 变量时会 自动把~位都 填充为 ,如果不幸此后还有后续操作就会 出错 。 对于校验和的计算绝对是本次实习的重中之重,对我来说超过一半的时间花在这上面 。由于实验讲 义和课本 上都 没有详 细说 明这部分的计算 ,因此只好 求助于 网络 资源 。 (相 关文档参见报告的附件部 分) 这里只简单描述一下构 过程 ,照例给 出一个流程 图比较清晰 : 首先将分组头部的全部个字节以个字节 (位)为单位 累加在 变量 中,这里的加 法运算 是补码加 法运算 ,也就是通常的加 法运算 。 然后 检 查 的~位 , 因为 可 能产 生 了进 位 。如 果 高为 非 ,则把 高位 也 累加到 低位上,如此迭代直到高位为 ,这里的加 法也是补码加 法 。 最后将计算得到的按位全部取反 。计算结束,可以将填充进分组 了。 由于操作粒度是 (个字节), 因此 需要特别注意字节序 的问题 ,我就在这里纠结 了很 久 ,后 来采用的一个偷懒的方法是一次处理 (个字节), 因为这样恰好可以放进一个 类型的变量 中, 就不存在 字节序 的的 问题 了 。举例 来说 ,可 以用一个 变量先取~位 内容 ,左移位 ,再加 上剩下 的位 (~位),这样就等价于一次取 了~位 。具体 实现参见下方的代码 。 代代代码码码

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档