解上述方程,得到X=7.子网掩码就是11111111 11111111 11111111 10000000,即255.255.255.128。 所以划分的两个网段是:202.118.1.0/25与202.118.1.128/25。 (2)填写R1的路由表
填写到局域网1的路由。局域网1的网络地址和掩码在问题(1)已经求出来了,为202.118.1.0/25。则R1路由表应填入的网络地址为202.118.1.0,掩码为255.255.255.128。由于局域网1是直接连接到路由器R1的E1口上的,因此,下一跳地址填写直接路由(Direct)。接口填写E1. 填写到局域网2的路由表1。
局域网2的网络地址和掩码在问题(1)中已经求出来了,为202.118.1.128/25。则R1路由表应该填入的网络地址为202.118.1.128,掩码为255.255.255.128.由于局域网2是直接连接到路由器R1的E2口上的,因此,下一跳地址填写直接路由。接口填写E2。 填写到域名服务器的路由。由于域名服务器的IP地址为202.118.3.2,而该地址为主机地址,因此掩码为255.255.255.255。同时,路由器R1要到DNS服务器,就需要通过路由器R2的接口L0才能 到达,因此下一跳地址填写L0的IP地址(202.118.2.2)。
填写互联网路由。本题实质是编写默认路由。默认路由是一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择。如果没有默认路由器,那么目的地址在路由表中没有匹配表项的包将被丢弃。默认路由在某些时候非常有效,当存在末梢网络时,默认路由会大大简化路由器的配置,减轻管理员的工作负担,提高网络性能。默认路由叫做“0/0”路由,因为路由的IP地址0.0.0.0,而子网掩码也是0.0.0.0。同时路由器R1连接的网络需要通过路由器R2的L0口才能到达互联网络,因此下一跳地址填写L0的IP为202.118.2.2。 综上,填写的路由表如下: R1路由表
(3)填写R2到局域网1和局域网2的路由表2。局域网1和局域网2的地址可以聚合为 202.118.1.0/24,而R2去往局域网1和局域网2都是同一条路径。因此,路由表里面只需要填写到 202.118.1.0/24网络的路由即可,如下表所示 R2路由表 目的网络IP地址 202.118.1.0
子网掩码 255.255.255.0
下一跳IP地址 202.118.2.1
第六章 传输层
一、 选择题
DBBDA BCDBA ABBAB DACAA DCBBD CBB(DC) 二、综合应用题
1、答:传输层的任务处理一些由网络层引进的错误,如,包丢失和重复包,以及对包进行重新排序、分段和重装,这样可以避免网络层进行低效的分段和重装。另外,这也有助于传输层在网络发生拥塞时可以相应降低发送数据的速率。传输层负责端到端的通信,既是7层体系结构中负责数据通信的最高层,又是面向网络通信的低3层和面向信息处理的最高3层之间的中间层。传输层要达到以下两个主要目的:(1)提供可靠的端到端的通信;(2)向会话层提供独立于网络的传输服务。
2、答:我们知道,3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。 现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。 此外,还可能建立无用的连接。考虑B给A发送一个连接请求分组,但该分组延迟了很长时间才到达
接口 L0
36
A,B已经重发连接建立请求。而延迟的请求分组到达A后,A认为这是一个新的请求,从而建立起无用的连接。
3、答:65495字节。此数据部分加上TCP首部的20字节,再加上IP数据报的首部的20字节,正好是IP数据报的最大长度。当然,IP首部包含了选择,则IP首部长度超过20字节,这时TCP报文段的数据部分的长度将小于65495字节。
4、TCP和UDP是工作在传输层的因特网协议,其中TCP(Transmission Control Protocol,传输控制协议)是专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。TCP协议将数据分成可被IP层传输的数据包交IP层传送,或者将从IP层收到的数据包重新组合为完整的消息并进行校验。TCP是面向连接的协议。 UDP(User Datagram Protocol)用户数据报协议。它是TCP/IP协议中的非连接协议。UDP向应用程序提供了一种发送封装的原始IP数据报的方法,并且发送时无需建立连接。它将应用程序产生的数据信息转化成数据包,然后经由IP发送。它不验证消息是否正确发送,其可靠性依赖于产生消息的应用程序自身。 TCP的连接是可靠的,UDP连接是不可靠的。 6、答:传输层在协议栈中的地位和作用:传输层向它上面的应用层提供通信服务,它属于 面向通信部分的最高层,同时也是用户功能中的最低层。
传输层的通信和网络层的通信的区别:网络层是为主机之间提供逻辑通信,传输层是为应用进程之间提供端到端的逻辑通信。
? 传输层是必不可少的,是因为:从IP层来说,通信的两端是主机。但是,两个主机之间真正进行通信的实体是主机中的应用进程。IP协议虽然能够把分组传送到目的主机,但这个分组还在目的主机的网络层,而没有交给应用进程,因而需要设置传输层来对IP分组进行复用和分用。另一方面,低三层的通信没有提供可靠通信。
7、答:网络层所提供的服务越多,传输层协议就可以做得越简单。若网络层提供虚电路服 务,那就能保证报文无差错、不丢失、不重复且按序地进行交互,因而传输协议就很简单。 ? 但若网络层提供的是不可靠的数据报服务,则就要求主机上有一个复杂的传输协议。 8、答:都是。这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的
9、答:不可能。因为UDP协议只在IP的服务之上增加了很少一点的功能,就是端口的功能和差错检测的功能。所以不可能使用UDP协议实现可靠传输。
10、答:发送方UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
? 接收方UDP对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
? 虽然应用程序和TCP协议的交互是一次一个数据块,但TCP协议把应用程序交下来的数 据看成仅仅是一连串的无结构的字节流,并不知道字节流的含义。
TCP协议不保证接收方应用程序收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。
? 在报文流中,网络保持对报文边界的跟踪;而在字节流中,网络不做这样的跟踪。例如,一个进程向运输层写了512字节,稍后又写了另外512字节。那么接收方共读了1024字节。对于报文流,接收方将得到两个报文,每个报文512字节。而对于字节流,报文边界不被识别。接收方把全部的1024字节当作一个整体,在此已经体现不出原先有两个不同的报文的事实。
11、答:端口的作用是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。把端口划分为3类是因为:避免端口号重复,无法区分应用进程。二是因特网上的计算机通信都是采用C/S方式,在客户发起通信请求时,必须知道服务器的端口,对于一些主要的应用程序,必须让所有用户知道。
12、答:一般来说仅仅使用IP分组还不够,IP分组包含IP地址,该地址指定一个目的主机,一旦这样的分组到达目的主机,网络控制程序如何知道该把它交给哪个应用进程呢?UDP报文包含一个目的端口,有了它,分组才能被投递给正确的应用进程。UDP提供的端口号和对数据的差错检验功能是IP协议没有提供的。
13、答:不行。重传时,IP数据报的标识字段会有另一个标识符。仅当标识符相同的IP数据报片才能组装成一个IP数据报。由于前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。
14、答: UDP报文的长度=8192+8=8200字节。由于以太网的MTU=1500B,所以IP分组的数据 部分长度为1500-20=1480B。因此需要划分为6个IP数据报片。 ? 数据字段的长度:前5个是1480字节,最后一个是800字节。
37
? 片偏移字段的值分别是:0,185,370,555,740和925。
15、答:使用TCP传输实时语音数据会有较大的开销和时延,因为TCP是面向连接的。一般使用UDP协议。
? 使用UDP协议传送数据文件时没有可靠性保障,因为UDP协议是无连接的,不保证可靠交付。
16、答:源端口这1554,目的端口为69,UDP数据报总长度28字节,数据部分长度为20字节。此UDP用户数据报是从客户发给服务器,服务器程序是TFTP。
17、TCP 协议是一种可靠的面向连接的协议,它允许将一台主机的字节流( byte stream )无差错地传送到目的主机。发送方主机中的TCP 将来自进程的数据放到该连接的发送缓存里,然后TCP 就会不时从发送缓存里取出一块数据准备发送。TCP 给所有发送的字节都进行编号,并且发送数据的一方希望得到接收数据一方的肯定应答ACK(即接收方告知发送方数据收到)。如果接收方在一定时间内没有收到ACK,则表明数据丢失或延迟,允许重新发送数据。由于数据在运输层是分段传输的,所以只有每个数据段的第一个字节编号被发往目的主机。
18、答:按照慢启动算法,经过10、20、30、40ms 后拥塞窗口大小分别为4、8、16、32,所以在40ms 后将按照min{24,32}=24KB 发送数据。
19、 由于发生了超时,下一次传输将是1 个最大报文段,然后是2 个、4 个、8 个最大报文段,所以在4 次突发量传输后,拥塞窗口将是8K 字节。 第七章 应用层 一、 选择题 CAAAD BDBBA 二、综合应用题
1、答: 域名系统的主要功能:将域名解析为主机能识别的IP地址。
因特网上的域名服务器系统也是按照域名的层次来安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。共有三种不同类型的域名服务器。即本地域名服务器、根域名服务器、授权域名服务器。当一个本地域名服务器不能立即回答某个主机的查询时,该本地域名服务器就以DNS客户的身份
向某一个根域名服务器查询。若根域名服务器有被查询主机的信息,就发送DNS回答报文给本地域名服务器,然后本地域名服务器再回答发起查询的主机。但当根域名服务器没有被查询的主机的信息时,它一定知道某个保存有被查询的主机名字映射的授权域名服务器的IP地址。通常根域名服务器用来管辖顶级域。根域名服务器并不直接对顶级域下面所属的所有的域名进行转换,但它一定能够找到下面的所有二级域名的域名服务器。每一个主机都必须在授权域名服务器处注册登记。通常,一个主机的授权域名服务器就是它的主机ISP的一个域名服务器。授权域名服务器总是能够将其管辖的主机名转换为该主机的IP地址。
答:电子邮件系统的最主要组成部件:用户代理、邮件服务器、以及电子邮件使用的协议。 UA就是用户与电子邮件系统的接口。用户代理使用户能够通过一个很友好的接口来发送和接收邮件。 没有UA不行。因为并非所有的计算机都能运行邮件服务器程序。有些计算机可能没有足够的存储器来运行允许程序在后台运行的操作系统,或是可能没有足够的CPU能力来运行邮件服务器程序。更重要的是,邮件服务器程序必须不间断地运行,每天24小时都必须不间断地连接在因特网上,否则就可能使很多外面发来的邮件丢失。这样看来,让用户的PC机运行邮件服务器程序显然是很不现实的。 3、答:TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下: 收信人邮箱名@邮箱所在主机的域名
符号“@”读作“at”,表示“在”的意思。例如,电子邮件地址 xiexiren@tsinghua.org.cn 4、答:1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器。 2. 邮件传送。
3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。
5、域名服务(DNS)、简单网络管理协议(SNMP)、QQ聊天使用UDP通信。这三种协议里,每次消息交换均只有来回两个数据包,使用UDP通信效率高,而如果使用TCP,需要建立连接和释放连接,效率较低。虽然使用UDP不可靠,但可依靠应用层的功能比较容易地解决这个问题。
文件传输协议(FTP)、简单邮件传输协议(SMTP)、超文本传输协议(HTTP)使用TCP通信。这三种协议里,均需要传输比较大的文件,为保证可靠性,使用TCP。而如果用UDP,很容易丢失数据包,数据包也可能失序。如果依靠应用层来解决这些问题,则使得应用层过于复杂,而得不偿失。
38