《用TCP/IP进行通信》第一卷答案
来源:互联网 发布:php空格 编辑:程序博客网 时间:2024/04/29 15:38
最近在看《用TCP/IP进行通信》这本书,却发现网上没有相应的课后习题的答案,因此我便自己做了一份答案和大家交流。
我现在只写完前5章的答案,先发上来了。当答案写到第五章时,我发现用中文来进行这种技术文章的写作实在是不方便,因此我从第六章开始用英文来写。
答案:
2.2 OC-192的传输速率是9.952Gbps,最大的帧的大小为1518B,所以传输时间为1518B/9.952Gbps=1.525E-7s.同理,传输一个最小的帧需要时间为:64B/9.952Gpbs=6.431E-9s.
2.3 Hub工作在物理层(OSI模型的第一层),只能传输设备的帧(frame);而switch工作在网络层(OSI模型的第三层),可以传输高层协议定义的数据报文,如TCP/IP中的datagram.
2.6 在一个Ethernet的frame中,preamble占8个octet,header和CRC占18个octet,inter-packet gap占12个octet,而data最大可达1500个octet.因此10M的Ethernet的最大传输速率是10Mbps*1500/(8+18+12+1500)=9.753Mbps.
2.7 卫星通信的最大的优点是不用铺设线路,最大的缺点是速度非常慢.
2.8 可参照2.6来得到答案.
3.3 在图3.3(b)中,最重要的是下面的2个router,而上面3个router只需要任意2个,图中的所有网络都可以正常运行.
4.1 (1)A类网络数:2E7-1=127,每个A类网络的主机数:2E24-2;(2)B类网络数:2E14,每个B类网络的主机数:2E16-2;(3)C类网络数:2E21,每个C类网络的主机数:2E8-2=254.
5.2 如果一个主机的物理地址可以直接从它的IP地址计算得到,那么就不需要ARP或者ARP cache.
5.3 如果这个主机需要发送packet到那个被替换的IP地址,那么这个主机将要重新发送ARP request广播,从而引起不必要的网络流量.
5.4 应该.当一个主机接收到IP地址到物理地址的映射信息时,如果这个主机原有的ARP cache中有这个IP的映射信息,就更新此IP的映射信息.这样可以减少不必要的网络流量.
5.5 当这个主机从ARP request中得到一个IP地址到物理地址的映射信息时,如果这个主机原来的ARP cache中有这个IP的映射信息,那么即使这个主机不是此ARP request的接收者,它也应该更新它的ARP cache中此IP的映射信息.
5.6 当一个主机用固定大小的ARP cache来储存映射信息时,如果这个网络上有很多主机与它通信,那么它将非常频繁地使用ARP request广播来获取物理地址.由于这个网络有非常多的主机,所以一个ARP request的消耗是非常大的,这会有极大的可能导致一个非常大的延迟,从而使ARP request无法获取映射信息.
5.7 ARP使用广播的方式来获取IP地址到物理地址的映射信息.一个主机发送一个ARP request,而同一网络上的主机可以发送一个假冒的ARP reply给此主机,而ARP没有一个可以验证信息正确性的机制,这会导致安全漏洞的产生.
5.8 不应该.C虽然有B的IP地址到物理地址的映射信息,但它无法保证此映射信息的有效性(如B有可能与网络断开了连接等),所以C不应该响应此ARP request.
5.9 这不是一个好主意.预先建立一个网络上所有可能存在的主机的映射信息的cache,会占用很多储存空间,而维护此cache的花费将更为可怕.而一个主机可能只与同一网络上的少数主机通信,维持全部主机的映射信息将会是一个极大的浪费.
5.10 只应该对最近有过通信的主机实行提前重新验证映射信息.最近并没有发生相互通讯的主机,有极大可能在将来(定时器有效的时间内)也不发生通讯,因此重新验证这些主机的IP映射信息会是一种浪费.
5.11 这个主机可以通过发送目标为自己原先的IP地址的ARP request广播来实现此目的.如果有主机回复ARP reply,则证明此主机在冒充自己.缺点就是会导致所有主机的ARP cache信息被更新,即使主机的通讯目标是那个假冒的主机.
5.12 当一个packet被发送到远处网络中的不存在的主机时,传输路径中的最后一个router(也即直接与目标主机所在网络相连的router),其ARP cache中必不存在此主机的映射信息,则其会发送ARP request广播来查询此主机的物理地址.
- 《用TCP/IP进行通信》第一卷答案
- TCP/IP第一卷读书笔记
- 目录_用TCP/IP进行网际互联第一卷:原理、协议与结构(第四版)
- 利用WinInet类进行TCP/IP通信
- 使用TCP/IP与服务器进行通信
- 《用TCP/IP进行网际互联第三卷:客户-服务器编程及应用》
- 用TCP/IP进行网际互联第三卷 源代码编译修改
- 用TCP/IP进行网际互联 卷一 读书笔记1
- 《TCP/IP卷》读书笔记
- TCP/IP详解-卷一
- TCP/IP详解-卷二
- TCP/IP详解-卷三
- TCP/IP 卷一 链路层
- tcp/ip 卷1 笔记
- TCP-IP详解卷-基础知识
- Symbian中使用TCP/IP协议进行通信
- ASP.NET Socket TCP IP+端口 进行通信连接
- 使用TCP/IP的套接字(Socket)进行通信
- 第四章 程序设计
- VSAN是对SAN 部署的革命
- AjaxControlToolkit--SeaDragon
- 配置Flex+BlazeDS+Spring
- Rendering: repaint, reflow/relayout, restyle
- 《用TCP/IP进行通信》第一卷答案
- 编写高质量的Makefile
- ASP.NET中Get和Post的用法 Request.QueryString,Request.Form,Request.Params的区别 [转]
- 今天开了博客
- Xblo(JSP+Servlet+JavaBean+Oracle单用户Blog)
- C/C++学习建议(摘抄自:程序员2010年8月P61页)
- C#创建单实例应用程序
- TDBGridEh控件的使用
- DELPHI定义的条件编译的全部说明