




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
李Q 459123240 用TCP IP进行网际互联习题解答 1 4 2为不使用ARP的网络接口构思一份地址绑定软件设计草图 解答 通过直接映射进行转换 考虑proNET令牌环网络 它使用小整数表示物理地址 并且允许用户在把接口板安装到计算机中时自己选择硬件地址 对于这种网络硬件 使其地址转换易于进行的关键是 只要它的IP地址和物理地址可以自由选择 那么总可以让它们中的某些部分是相同的 一般的 分配IP地址的主机号部分为1 2 3等 然后在安装网络接口硬件时 选择与IP地址对应的物理地址 例如 系统管理员为IP地址为192 5 48 3的计算机选择物理地3 因为192 5 48 3是个主机部分等于3的C类地址 对于类似proNET的网络 从IP地址计算出物理地址是很容易的 这种计算是从ID地址中取其主机部分 因为只需要几条机器指令 所以计算效率很高 由于映射可以在不引用外部数据的情况下完成 所以很易于维护 最后 不需要改变现在的分配或重新编译代码就可以在网络中添加新机器 2 从概念上讲 选择一个使地址转换高效的编号方法就是选择一个函数f f把IP地址映射到物理地址 设计人员也可以根据硬件选择一种物理地址编号方法 IP地址IA意味着计算PA f IA 我们要f的计算高效 如果物理地址的集合受到限制 也有可以实现其他高效的映射 例如 在诸如ATM的面向连接的网络上IP 就无法随意选择物理地址 在这种网络中 由一台或多台计算机 服务器 存储地址对 每个地址对中一个Internet地址和对应的物理地址 一般情况下 这样的服务器把地址对存储在主存中的一张表里 以加快搜索速度 在这种情况下 为了迅速转换地址 软件可以用传统的哈希函数搜索地址表 3 4 4设想某网点决定对仅在给定的网络中惟一的地址ARP 不用ARP也可能实现地址绑定 我们的范例程序能在与两个这种网络相连接的一个网关上正确地运行吗 为什么 解答 不可以 仅在给定的网络中惟一的地址 意味着不同的网络地址不一定唯一 可以详细分析 4 4 8因为任何设备都有可能响应一个ARP分组的广播 所以ARP容易上当受骗 通过增加判断以下的语句来修改范例 a 两个或更多个设备响应了某个给定IP地址的请求分组 b 一个设备接收到自己的IP地址的ARP绑定 c 一个设备响应了多个IP地址请求分组 解答提示 在arp in函数中的修改方法 a 有很多种方法 比如 分析判断多个设备的确认分组的mark 从中选出正确的 比较复杂点 或者进行屏蔽 b 直接屏蔽 c 直接屏蔽 5 5 1 0 的反码有两个值 cksum将返回哪一个 解答 注意cksum函数的返回值为short类型 sum为unsignedlong型 0的反码为32个1 强制转换为short类型后为16个1 6 5 3考虑为所有发往IP的数据报使用一个单一的输入队列的实现方案 这种方案的主要缺点是什么 解答 1 一个网络接口由于大量数据造成的溢出将会影响所有其他接口 2 对伪网络接口的判断比较麻烦 3 优先级处理上比较死板 只能是先到先得 7 5 6指出为什么在没有数据报等待被处理的情况下 ipproc也有可能做最后一次循环 提示 考虑IP进程和一个放置数据并向IP发送报文的驱动程序之间的定时处理 解答 当ipgetp选择了一个数据报之后进行发送 若对方未成功接收而等待时间已超 则ipproc会再做一次循环 8 6 2散列表元的数目决定了桶散列方案的有效性 因为它决定了的平均长度 如果希望平均每个不多于3个表项 那么要保存1000条需要多大的内存 解答 由题意算出散列表元的数目为1000 3 334个每个表元大小为4B 每个表项的大小为32B所以需要的内存大小为32B 1000 4B 334 33336B 9 6 3如果过程rtdel调用rtfree而不是使用宏RTFREE 结果怎样 解答 由rtfree函数定义 intrtfree structroute prt if Route ri valid returnSYSERR wait Route ri mutex RTFREE prt signal Route ri mutex returnOK 10 当rtdel调用rtfree函数后 可能会出现如下的死锁情况 wait Route ri mutex wait Route ri mutex Signal Route ri mutex Signal Route ri mutex 11 7 2仔细查看ipputp和ipfhcopy过程 会不会出现ipputp将分片的最大有效长度估计得过小的情况 为什么 解答 Intipputp unsignedifn IPaddrnh structep pep structnetif pni 12 else weneedtofragmentit if pip ip fragoff 将发送数据的长度减去最大可发送数据量 表示已经发送一个分片 13 新偏移量置为最大可发送数据量 当前偏移量 表示下一个分片的数据从这里开始offset maxdlen offindg maxdlen 接下来的代码 处理最后一个分片IpFragOKs IpFragCreates hlen ipfhcopy pep pep offindg 由于是最后一个分片 直接用offindg复制到原来pip structip pep ep data slidetheresidualdown memcpy 14 然后是发送一个数据报片函数 Intipfsend structnetif pni IPaddrnexthop structep pep unsignedoffset unsignedmaxdlen unsignedoffindg structep pepnew structip pip pipnew inthlen len pepnew structep getbuf Npool 分配新缓冲区if pepnew structep SYSERR returnSYSERR pepnew ep order 0 hlen ipfhcopy pepnew pep offindg copytheheaders pip structip pep ep data 复制数据 pipnew structip pepnew ep data 分配数据格式pipnew ip fragoff IP MF offindg 3 pipnew ip len len maxdlen hlen 确定首部长pipnew ip cksum 0 iph2net pipnew pepnew ep order 该函数其实和iputp类似 不多说了然后是复制数据报首部函数 15 Intipfhcopy structep pepto structep pepfrom unsignedoffindg structip pipfrom structip pepfrom ep data unsignedi maxhlen olen otype unsignedhlen IP MINHLENep data i IP选项olen pepfrom ep data i 选项长度if otype 16 由于每个数据报片必须含有一个首部 因此一次可发送的最大数据量应该是mtu减去ip首部的长度 然后截断为最接近8的倍数 7实现截短 而ipfhcopy函数大部分代码要考虑到IP选项的细节 据协议标准 有些选项只应当出现在第一个数据报片中 而其他一些应当出现在所有的数据报片中 所以有可能会出现ipputp将分片的最大有效长度估计得过小 17 7 9每当一个数据报片到达时 就为这个数据报的寿命重置初始值 与在第一个数据报片到达进给整个数据报设置一个寿命字段相比 有什么优点及缺点 解答 优点 一般来说 分片的时间间隔不大 第一种方法使得分片丢失在短时间内被发现 使得资源利用率提高 发送方能过及早知道分组丢失情况 不容易和重发分组混淆 缺点 初始值不好设定 如果采用第二种方法 则初始值就是超时时延的一半 18 8 1考虑过程icsetsrc 在什么情况下循环语句遍历了所有接口后 仍然找不到一个匹配接口 解答 但执行代码的主机或路由器不是目的主机时候 会发生这种情况 可能的原因 1 IP分组在传输过程中产生错误 2 这是一个重定向报文 19 8 5假设一个网关为某个含有子网的地址的目的站生成了一个ICMP 重定向 报文 即子网掩码延伸超过了地址中的网络部分 它应该将此 重定向 报文作为 主机重定向 还是 网络重定向 为什么 提示 参考 RFC1812 解答 主机重定向网关必须检查新路由 以决定这是一条指定主机的路由还是一条指定网络的路由 为了做到这一点 它检查与此路由相关联的子网掩码 如果掩码覆盖掉的不仅仅是网络部分 则ipredirct说明这个报文是一个 主机重定向 否则它说明此报文为 网络重定向 举例说明 20 10 7一个服务器系统能同时使用多少个UDP端口 一个典型的客户工作站又使用多少个 解答 可以使用netstat anb查看UDP端口使用情况1 一台服务器 开启DNS服务 正常负载情况下 UDP端口占用不超过1000个 2 一台客户机 开启QQ 2个 迅雷 在进行上传 360浏览器 和其他小的网络应用程序 UDP端口使用310个 能同时使用多少个 基本上受服务器能力所限制 21 10 8在我们的例程代码中 多路分解时试用了线性查找法来找一个UDP端口 涉及一个可以减少查找时间的散列查找方案 你的方案是不是有时反而会增加查找时间 解答 可使用的方案有多种 例如 多路分解同时使用源站和目的站的协议端口号 但使用该方案时客户发挥的作用较小 因为一个给定的应用程序有权选择接收另一应用程序发过来的数据报 然而 如果一个应用程序需要与两个远程应用程序同时通信它就不需分配两个队列 每个远程应用程序对应一个队列 另外 系统可能需要提供附加的机制 以允许一个程序在两个队列上等待I O端口的事件 给出详细方案再分析 22 11 1过程tcballoc利用顺序搜索法查找到一个空闲的tcb 这意味着搜索工作量与当前tcp活动的链接数目成正比 请描述一种总是以同样时间分配tcb的实现方案 解答 taballoc搜索数组tcbtab 直到它找到一个空闲表项 如果有空闲表项存在 talloc将状态变为 关闭 同时为tcb生成一个互斥信号量 并向调用者返回新的分配表项的地址 调用返回时持有tcb mutes 也就是说 调用返回时已经获取了单独访问这个新tcb的权利 如果没有空闲tcb存在 talloc返回一个syserr 指出有差错发生 具体方案 可以参考P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气缸活塞模型课件
- 少儿口才资料课件
- 打地鼠幼儿课件
- 汽车技术面试试题及答案
- 广播电台技术岗位试题及答案
- 辅警法制培训课件
- 湖北省孝感市2025-2026学年高二上学期9月月考考试历史试卷
- 中国银行2025酒泉市秋招笔试英语题专练及答案
- 建设银行2025九江市秋招结构化面试经典题及参考答案
- 工商银行2025嘉峪关市秋招半结构化面试题库及参考答案
- 普通发热患者接诊流程
- 农村生活污水处理技术指南
- 2024万科物业客户满意度调查合同范本3篇
- 大健康产业的未来发展方向
- 2025学士学位英语考试模拟题库
- 人教PEP版五年级上册英语Unit 1 Whats he like大单元整体教学设计
- GB/T 44823-2024绿色矿山评价通则
- 氧化还原反应配平专项训练
- 人教版PEP小学六年级英语上册教学计划及教学进度
- 2022年6月天津市普通高中学业水平合格性考试化学试卷(含答案解析)
- 2021工程总承包项目文件收集与档案规范第4部分:水力发电工程
评论
0/150
提交评论