第一章
1. 讨论TCP/IP成功地得到推广和应用的原因
TCP/IP是最早出现的互联网协议,它的成功得益于顺应了社会的需求;DARPA采用开放策略推广TCP/IP,鼓励厂商、大学开发TCP/IP产品;TCP/IP与流行的UNIX系统结合是其成功的主要源泉;相对ISO的OSI模型,TCP/IP更加精简实用;TCP/IP 技术来自于实践,并在实践中不断改进。
2. 讨论网络协议分层的优缺点
优点:简化问题,分而治之,有利于升级更新;
缺点:各层之间相互独立,都要对数据进行分别处理;每层处理完毕都要加一个头结构,增加了通信数据量。
3. 列出TCP/IP参考模型中各层间的接口数据单元(IDU)
应用层/传输层:应用层报文;
传输层/IP层:TCP报文段或UDP分组;
IP层/网络接口层:IP数据报;
网络接口层/底层物理网络:帧。
4. TCP/IP在哪个协议层次上将不同的网络进行互联?
IP层。
5. 了解一些进行协议分析的辅助工具
可在互联网上搜索获取适用于不同操作系统工具,比如Sniffer Pro、Wireshark以及tcpdump等。利用这些工具,可以截获网络中的各种协议报文,并进一步分析协议的流程、报文格式等。
6. 麻省理工学院的David Clark是众多RFC的设计者,在论及TCP/IP标准的形成及效果时,曾经讲过这样一段话:”We reject kings, presidents and voting. We believe in rough consensus and running code.” 你对他的观点有什么评价。
智者见智,我认为这就是“实践是检验真理的唯一标准”。
7. 你认为一个路由器最基本的功能应该包含哪些?
对于网桥、网关、路由器等设备的分界已经逐渐模糊。现代路由器通常具有不同类型的接口模块并具有模块可扩展性,由此可以连接不同的物理网络;路由表的维护、更新以及IP数据报的选路转发等,都是路由器的基本功能。此外,路由器厂商应为使用者提供管理功能。
第二章
1. 尝试用Modem拨入某个ISP,并根据你的操作分析PPP 的流程
实验题,若有接入ISP的环境,可直接测试;否则,可参考习题4一起测试。
2. 分析PAP和CHAP的优缺点
PAP简单,但安全性差;CHAP相对安全,但开销较大,且需要通信双方首先共享密钥。
3. 了解L2F和L2TP的思想及应用
这两个协议把PPP的两个端点延伸到互联网的任何角落,相当于在TCP/IP的应用层扩展了PPP的范围。其思想是发送方把PPP帧封装到L2F或L2TP报文中,接收方则对其解封以还原PPP帧,这样对于通信的两端来说看到的是PPP帧,相当于在互联网上架设了一条虚拟的PPP链路。它们主要用于构建VPN(虚拟专用网)。
4. 尝试Windows操作系统的“超级终端”功能
Windows超级终端功能在附件/通信功能下。可以用两台有Modem的计算机,各自连接电话线,并尝试用该功能实现即时通信和文件传输的功能。
第三章
1. 理想情况下,可以有多少个A类网,每个A类网中包含多少个可以配置给主机的IP地址?可以有多少个B类网,每个B类网中包含多少个可以配置给主机的IP地址?
计算时去除广播地址、网络地址。
2. 在图3-7的例子中,假设初始时主机A、B和路由器R 的ARP缓存均为空,在B成功收到A的报文后,A、B、R的缓存中各包含了哪些条目?
A:IP1/MAC1
B:IP2/MAC2
R:IPA/MACA,IPB/MACB
3. 在Internet上下载Sniffer,截取ARP报文,分析其报文格式。
实验题,目的有二:一是分析ARP的流程、报文格式以及相应的帧格式,二是尝试Sniffer(协议分析工具)的不同功能。可利用Sniffer截获广播帧,以便获取ARP报文。也可以利用Sniffer监听网络中所有报文的功能以分析其中的ARP报文。
4. 假设主机A(IPA/MACA)请求主机B(IPB/MACB)的物理地址,广播地址用MACbroadcast表示。填充下图中带‘?’的字段。
假设无盘站A(IPA/MACA)请求自己的IP地址,RARP服务器的IP和MAC地址映射关系为IPS/MACS,广播地址用MACbroadcast表示。填充下图中带‘?’的字段。
5. 在APNIC的主页上查询你自己的IP地址,得到的结果是什么?
利用DoS命令获取IP地址,并去查询。
6. 从地址长度的角度看,IPv6不再需要ARP,为什么?
IPv6地址长度为16字节,以太网MAC地址长度为6字节,可以利用直接映射的方法实现地址解析。
7. Windows操作系统对DOS命令“ping 主机自身的IP地址”和“ping 127.0.0.1”的后台处理方式有差别吗?设法用实验证实你的答案。
有。拔掉网线,ping主机自身的IP地址,结果是“Destination host unreachable”,但ping 127.0.0.1,显示的是主机活动有应答。但是用Sniffer截获数据,这两种ping 报文都不出现在网络中。
8. 分析跨越2个或3个路由器转发IP数据报时ARP的使用步骤,以及经过每个步骤后通信双方及中间路由器ARP缓存的变化情况。
要点:ARP请求和应答不能跨路由器投递。细节与跨一个路由器时类似。
9. DOS下的arp命令仅能查看本地ARP缓存。如果本地缓存中没有存储某个IP对应的MAC,请结合其它DOS命令设计一个方法,在该方法使用后能够利用ARP命令看到该MAC。
首先使用“ping”命令,目标地址设置为目标IP,此时操作系统会在后台完成ARP的流程以获取目标MAC,并记入本地缓存。之后再利用ARP命令,就可以看到这个MAC了。
10. 编写一个ARP欺骗程序,使得运行该程序的主机能够嗅探本网段内所有发往默认网关的数据。
要点1:该程序应能够获取网关的IP和MAC以及宿主机的IP和MAC;(为实施欺骗作准备)
要点2:该程序应能够发送ARP应答报文,并把其中的发送方物理地址/发送方IP地址的映射关系设置为宿主机的MAC/网关的MAC;(该步骤是实施欺骗)
要点3:该程序能够保存嗅探到的数据,并记录相应帧首部的源MAC和IP数据报中包含的源IP;(保存嗅探到的数据,并为转发该数据做准备,以便被嗅探的双方无法察觉)