6.9 使用TCP对实时话音数据的传输有没有什么问题?使用UDP在传送数
据文件时会有什么问题? 答:
UDP不保证可靠交付,但UDP比TCP的开销要小很多。因此,只要应用程序接收这样的服务质量就可以使用UDP。如果语音数据不是实时播放,就可以使用TCP,因为TCP传输可靠。接收端用TCP将话音数据接收完毕后,可以再以后的任何时间进行播放。但如果是实时传输,则必须使用UDP。
6.10 一个UDP用户数据报的数据字段为3752字节。要使用以太网来传送。
计算应划分为几个数据报片?并计算每一个数据报片的数据字段长度和片偏移字段的值。(注:IP数据报固定首部长度,MTU = 1500) 答:
以太网的默认的MTU=1500,所以携带的数据1500-20=1480字节。 需加上UDP的8字节首部(3752 + 8)/ 1480 = 2.54,因此需要分成3数据报片。 数据报 IP数据报 分片1 分片2 分片3 数据字段长度 3760 1480 1480 800 片偏移字段值 0 0 185 370
6.11 主机A向主机B发送一个很长的文件,其长度为L字节。假定TCP
使用的MSS为1460字节。(1)在TCP的序号不重复使用的情况下,L的最大值是多少?(2)假定使用上面计算出的文件长度,而运输层、网络层和数据链路层所使用的首部开销共66字节,链路的数据率为100Mb/s,试求这个文件所需的最短发送时间。 答:
(1)TCP序号一共32位,Lmax = 232 = 4GB = 4294967296字节
(2)因为MSS是1460字节,划分 4294967296 / 1460 = 2941759个报文段进行发送。
所以,增加的开销为2941759 × 66 = 194156094字节 Tfmin =(4294967296 + 194156094)×8 / 107 = 3591.3秒(约1小时)
31
6.12 考虑在一条具有10ms往返路程时间的线路上采用慢启动拥塞控制而不
发生网络拥塞情况下的效应。接收窗口24KB,且最大段长2KB。那么,需要多长时间才能够发送第一个完全窗口? 答:
因最大段长2KB,从2KB开始,下面的突发量分别是4KB、8KB、16KB,直至24KB,即4次往返时间发送完第一个完全窗口。
该时间为10ms×4=40ms 。
6.13 在套接字编程中,要求服务器端和客户端两部分程序中的
SERVER_PORT值必须相同。为什么? 答:
因为SERVER_PORT的值,指明了套接字编程中的服务器和客户端通信使用的“端口”,所以必须取值相同,才能保证数据被正确的端口接收,并递交给上层应用程序。
6.14 为什么套接字能在Internet上全局唯一标识某个应用进程? 答:
因为套接字是IP地址和进程的端口号结合在一起,用IP地址唯一地标识出全球互联网上的一台主机,该套接字的端口号部分则受限于IP地址,仅能标识出该主机上的特定进程,而不会与其它主机上的相同进程相混淆。
6.15 试简述使用SOCKET编程接口进行服务器端多进程面向连接的网络应
用程序设计的主要程序流程(包括连接建立、数据收发、连接拆除的过程)。 答:
面向连接的流套接字编程调用时序图
服务器端 socket bind listen accept recv send closesocket 建立连接 收发数据 收发数据 32 connect send recv closesocket 客户端 socket 对于Winsock套接字,程序中常用到的基本套接字API函数有:
(1)Winsock启动——启动过程调用WSAStartup()函数,完成Windows Sockets DLL的初始化,协商版本和分配必要的资源。
(2)创建与关闭套接字——调用socket()函数创建套接字。
(3)套接字绑定——使用bind()函数将主机IP地址和端口号等信息与所创建的套接字关联。
(4)监听端口——针对面向连接的服务器端程序,调用listen()函数进行监听,然后调用accept()接收来自客户端的实际连接,如果没有客户端连接,则服务器端会处于阻塞。
(5)套接字连接——客户端通过调用connect()函数与服务器端建立连接。 (6)数据传输——面向连接的数据传输使用send()和recv()这一对函数,无连接的数据传输则使用sendto()和recvfrom()这一对函数进行数据的发送和接收。 (7)完成传输——当使用完套接字后应该调用closesocket()函数释放分配给该套接字的资源。最后需要调用函数WSACleanup()注销,并释放资源。
第七章习题答案
7.1 计算机网络的应用模式有几种?各有什么特点?
答:计算机网络的应用模式一般有三种:以大型机为中心的应用模式,以服务器为中心的应用模式,以及客户机/服务器应用模式。在C/S模式基础上,基于Web的客户机/服务器应用模式,以及P2P模式在因特网中得到了广泛的应用。
其特点参阅7.1.2。
7.2 C/S应用模式的中间件是什么?它的功能有哪些?
答:C/S应用模式的中间件(middleware)是支持客户机/服务器模式进行对话、实施分布式应用的各种软件的总称。其目的是为了解决应用与网络的过分依赖关系,透明地连接客户机和服务器。中间件的功能有两个方面,即连接功能和管理功能。
7.3 因特网的应用层协议与传输层协议之间有什么对应关系? 参考答案:参阅7.1.1节。
7.4 因特网的域名系统的主要功能是什么? 答:因特网的域名系统DNS是一个分布式数据库联机系统,采用C/S应用模式。主机(Client)可以通过域名服务程序将域名解析到特定的IP 地址。
7.5 域名系统中的根服务器和授权服务器有何区别?授权服务器与管辖区
33
有何关系? 答:因特网上的域名系统是按照域名结构的级次来设定的,根域名服务器用于管辖第一级(顶级)域,如.cn,.jp等。而每个授权域名服务器能对其管辖内的主机名解析为IP地址,每一台主机都必须在授权域名服务器处注册登记。管理区是“授权域”的子集。
7.6 解释DNS的域名结构?试说明它与当前电话网的号码结构有何异同之处?
答:参照国际编址方案,因特网采用层次型命名的方法。域名结构使整个名字空间是一个规则的倒树形结构。与当前电话网的号码结构有何异同之处参阅7.2.1节表7-1。
7.7 举例说明域名转换的过程。
答:参阅7.2.3正向域名解析的递归解析方法。
7.8 域名服务器中的高速缓存的作用是什么?
答:每台域名服务器都设一个高速缓存,存放最近使用过的名字,以及从何处获取该名字映射信息的记录。使用名字的高速缓存可优化查询的开销。
7.9 叙述文件传送协议FTP的主要工作过程?主进程和从属进程各起什么作用?
答:文件传送协议FTP的主要工作过程参阅例7-1。主进程负责接受客户的请求;从属进程负责处理请求,并按需可有多个从属进程。
7.10 简单文件传送协议TFTP与FTP有哪些区别?各用在什么场合? 答:参阅7.4节。
7.11 参看书中示例试用FTP的命令和响应访问校园网FTP服务器。 答:参照例7-1试用FTP的命令和响应访问校园网FTP服务器。
7.12 远程登录Telnet服务方式是什么?为什么使用网络虚拟终端NVT? 答:远程登录Telnet采用C/S服务方式,使用网络虚拟终端NVT供操作系统和服务进程在NVT上建立注册,以及与用户进行交互操作,使服务器上的应用程序可以不必考虑实际终端的类型。
7.12 试述BOOTP和DHCP协议有什么关系?当一台计算机第一次运行引导程序时,其ROM中有没有该主机的IP址、子网掩码或某个域名服务器的IP地址?
34
答:BOOTP使用UDP为无盘工作站提供自动获取配置信息服务。DHCP协议与BOOTP兼容的协议,所用的报文格式相似,但比BOOTP更先进,提供动态配置机制,也称即插即用连网(Plug-and-Play networking)。当一台计算机第一次运行引导程序时,由于无硬盘,显然没有主机的IP址、子网掩码或某个域名服务器的IP地址。
7.13 试述电子邮件系统的基本组成。用户代理UA的有什么作用?
答:电子邮件系统的基本组成:用户代理UA,邮件服务器和电子邮件所用的协议。用户代理UA用户代理的基本功能包括:(1)撰写,(2)显示,(3)处理。
7.14 试简述SMTP通信的发送与接收信件过程。 答:参阅7.6.1节。
7.15 电子邮件的地址格式是怎样的?请解释各部分的含义。
答:收信人邮箱名@邮箱所在主机的域名。收信人邮箱名是在该域名的范围内是惟一的,邮箱所在主机的域名必须在全球是惟一的。
7.16 在电子邮件中,为什么必须使用SMTP和POP这两个协议?POP与IMAP有何区别?
答:SMTP 和POP 都使用客户服务器的工作方式。邮局协议POP是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3。发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用SMTP协议。而POP3协议或IMAP4协议则是用户从目的邮件服务器上读取邮件所使用的协议。
IMAP 是一个联机协议,也是按客户服务器方式工作,现在较新的版本是 IMAP4。用户在自己的 PC 机上就可以操纵 ISP 的邮件服务器的邮箱,就像在本地操纵一样。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。而POP客户程序打开服务器的邮箱时,邮件就传到用户的计算机上,不再留在服务器。 7.16 MIME与SMTP的关系是怎样的? 参考答案:SMTP 不能传送可执行文件或其他的二进制对象;限于传送 7 位的 ASCII 码;SMTP 服务器会拒绝超过一定长度的邮件。MIME 的意图是继续使用目前的[RFC 822]格式,实际上增加了SMTP的功能,增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。
7.17 试述MIME的组合消息结构。
35