第一章
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;(保存嗅探到的数据,并为转发该数据做准备,以便被嗅探的双方无法察觉)
要点4:该程序应能够转发所有发送给网关的数据(ARP请求除外)以及从网关发出的数据。对于发送给网关的数据,帧首部的源和目标物理地址分别设置为被嗅探主机和网关的物理地址;对于从网关发出的数据,这两个地址分别设置为网关和被嗅探主机的IP地址。
11. 从传播的范围、实现的方式、需要的底层硬件支持等角度比较硬件广播、物理广播和IP广播的差异及联系。
硬件广播是指网络投递方式,是由硬件技术本身的属性决定的。比如以太网,它使用载波监听多路访问及冲突检测技术,这种技术本身具备广播的特性,即发送一个物理帧,无论其目标物理地址设置为什么,都必须以广播的方式进行投递,而线路上的所有主机都具备收到这个帧的可能性,为了区分目标和源,必须具备不冲突的地址。而所有收到数据的主机都必须依靠这个地址进行过滤,忽略不属于自己的数据,并把自己可接收的数据作进一步处理。对于拨号链路而言,其投递的方式是点到点的,线路的另一端就是目标,因此可以不必设置目标地址。
物理广播是指把帧的目标物理地址设置为硬件广播地址,这样网络中的所有主机都能收到这个数据并进行进一步的处理。物理广播的范围是确定的,它不能跨越物理网络实现。