1第1章Internet与网络通信模型概述一、选择题1.D2.B3.D4.D二、填空题1.OpenSystemInterconnectionReferenceModel2.开放系统互连参考模型3.协议数据单元4.PDU,ProtocolDataUnit5.数据段(Segment)6.数据包(Packet)7.数据帧(Frame)8.比特(Bit)9.网络接口层10.网络层11.传输层12.应用层三、简答题1.答:OSI参考模型将网络通信的工作划分为7个层次,由低到高分别为物理层(PhysicalLayer)、数据链路层(DataLinkLayer)、网络层(NetworkLayer)、传输层(TransportLayer)、会话层(SessionLayer)、表示层(PresentationLayer)和应用层(ApplicationLayer)。2.答:在网络通信中,发送端的自上而下的使用OSI参考模型,对应用程序要发送的信息进行逐层打包,直至在物理层将其发送到网络中;而接收端则自下而上的使用OSI参考模型,将收到的物理数据逐层解析,最后将得到的数据传送给应用程序。当然,并不是所有的网络通信都需要经过OSI模型的全部七层。例如,同一网段的二层交换机之间通信之需要经过数据链路层和物理层,而路由器之间的连接则只需要网络层、数据链路层和物理层即可。在发送方封装数据的过程中,每一层都会为数据包加上一个头部;在接收方解封数据时,又会逐层解析掉这个头部。因此,双方的通信必须在对等层次上进行,否则接收方将无法正确地解析数据。3.答:帧的简要结构如图1.4所示。2图1.4帧的简要结构每个字段的说明如下:前导码,内容是16进制数0xAA,作用是使接收节点进行同步并做好接收数据帧的准备。帧首定界符,是10101011的二进制序列,标识帧的开始,以使接收器对实际帧的第一位定位。源地址和目的地址,即发送和接收数据的两端主机的MAC地址。目的地址可以是单地址、组播地址和广播地址。数据字段的长度,指定要传送数据的长度,以便接收方对数据进行处理。要传送的数据,顾名思义,就是从源地址发送到目的地址的原始数据。填充字段,有效帧从目的地址到校验和字段的最短长度为64字节,其中固定字段的长度为18个字节。如果数据字段长度小于46个字节时,就使用本字段来填充。校验和,使用32位CRC校验,用于对传送数据进行校验。3第2章TCP/IP协议及其应用一、选择题1.B2.A3.D4.A5.C6.D7.A8.B二、填空题1.寻址(Addressing)2.分片(Fragmentation)3.服务类型(TOS,TypeofService)4.生存周期(TTL,TimetoLive)5.选项6.包头校验和7.建立连接阶段8.数据传输阶段9.断开连接释放资源阶段10.2111.20三、简答题1.答:生存周期表示一个Internet报文生存期的上限,由报文的发送者来设置。可以把生存周期看作是数据库包的寿命计数器。为了防止数据包在网络中无休止地被传递下去,或者由于传输路径造成死循环,每个IP数据包中都包含一个寿命计数器。数据包在网络传输的过程中,每经过一个路由器的处理,其中的寿命计数器就会递减1。如果寿命计数器的值等于0,并且报文还没有到达目的地,则该报文将会被丢失。发送者将会在稍后重新发送该报文。为什么要在IP协议中使用生存周期的概念呢。因为Internet的结构是复杂的,从一个主机发送报文到另外一个主机可以有多种路径,这一点与现实生活中一样,比如开车前往一个地点就可以有多种路线可供选择。因为数据包在网络传输中的路径是由路由器或交换机等网络设备根据当时的网络情况选择的,所以每次传输的路径都可能不同。如果一个数据包在传输过程中进入了环路,如果不终止它的话,它可能一直这样循环下去。如果网络中存在大量这样循环的数据包,那对于网络来说就是一种灾难性。使用生存周期就可以解决这种问题,它可以将长时间无法到达目的地的数据包丢弃。2.答:参照表2.1理解。3.答:UDP是一种不可靠的协议,在传送数据时,源主机和目的主机之间不建立连接。而TCP4协议为了确保数据传输的准确和安全可靠,集成了各种安全保障功能,这在实际执行过程中会占用大量的系统开销。因此,UDP具有TCP无法比拟的速度优势。\相对于可靠性而言,基于UDP的应用更注意性能。与TCP相比,UDP更适合发送数据量比较少、但对响应速度要求比较高的情况。4.答:ARP欺骗通常有如下两种情况(1)对路由器ARP表的欺骗,感染ARP木马的主机会不断地向路由器发送一系列错误的内网MAC地址,使真实的地址信息无法通过更新保存在路由器上。因为路由器负责转发数据包,是主机连接互联网的关键设备,所以路由器被欺骗后,网络中的大量主机都无法正常上网。(2)伪造网关,欺骗其他主机向假网关发送数据,而不是通过正确的路由器途径上网。ARP攻击的后果通常是很严重的,往往会造成网络的大面积掉线,没有经验的网络管理员通常很难定位问题所在。5.答:(1)申请IP地址的主机在本地网络中发送一个RARP广播包,其中包括自己的MAC地址,请求任何收到该请求的RARP服务器为其分配一个IP地址。(2)收到请求的RARP服务器将检查其RARP列表,判断是否存在该MAC地址对应的IP地址。如果存在,则给源主机发送一个响应数据包,并将此IP地址提供给对方主机使用;如果不存在,则RARP服务器对该请求不做响应。一个网段中可以存在多个RARP服务器。(3)源主机收到RARP服务器发回的响应信息后,使用得到的IP地址进行通讯。(4)如果一直没有收到RARP服务器的响应信息,则说明初始化失败。(5)如果在前2步中遭受到ARP攻击,则RARP服务器返回的IP地址可能会被占用,因此导致申请主机无法正常上网。6.答:(1)与远程主机建立一个TCP连接,用户需要指定远程主机的IP地址和域名。(2)在本地终端上输入用户名和口令,然后输入控制命令,客户端会将它们以NVT(NetVirtualTerminal)格式传送到远程主机。(3)将远程主机输出的NVT格式的数据转化为本地所接受的格式,然后送回本地终端,包括命令的回显和命令的执行结果。(4)最后,本地终端断开连接,结束到远程主机的TCP连接。7.答:FTP支持两种运行模式,即主动模式和被动模式,它们的区别在于控制如何打开第2个连接。1.主动模式在主动模式下,客户端向服务器发送自己用于数据连接的IP地址和端口号,然后由服务器程序打开数据连接。2.被动模式当客户端在防火墙后面或者无法接收TCP连接时,通常建议采用被动模式。在被动模式下,服务器向客户端发送自己用于数据连接的IP地址和端口号,则客户端打开数据连接。5四、操作题略6第3章IP地址和子网规划一、选择题1.D2.B3.C4.B5.D6.C7.C8.D9.B10.B11.C二、填空题1.1.0.0.12.126.255.255.2543.104.2545.10.0.0.06.10.255.255.2557.网络域8.子网域9.主机域10.网络号/网络ID的位数三、问答题1.答:目前应用最广泛的IP地址是基于IPv4的,每个IP地址的长度为32位,即4个字节。通常把IP地址中的每个字节使用一个10进制数字来表示,数字之间使用小数点(.)分隔,因此IPv4中IP地址的格式如下:XXX.XXX.XXX.XXX这种IP地址表示法被称为点分十进制表示法。2.答:为了便于寻址和构造层次化的网络结构,在设计IP地址时规定每个IP地址都由两个标识码(ID)组成,即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,而IP地址中除了网络ID外的其他部分则是主机ID,它可以唯一标识当前网络中的一台主机(可以是计算机、服务器或网络设备等)。根据网络ID的不同,IP地址可以分为5种类型,即A类地址、B类地址、C类地址、D类地址和E类地址。A类IP地址的第1个字节为网络ID,其他3个字节则为主机ID,而且网络ID的第1位必须为“0”。A类IP地址的范围为1.0.0.1~126.255.255.254。B类IP地址的前两个字节为网络ID,后面两个字节则为主机ID,而且网络ID的前两位必须为“10”。B类IP地址的范围为128.0.0.1~191.255.255.254。C类IP地址的前3个字节为网络ID,最后一个字节为主机ID,而且网络ID的前3位7必须为“110”。C类IP地址的范围用二进制数来表示为192.0.0.1~223.255.255.254。D类IP地址是专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播中。它的前4位必须为“1110”。D类IP地址的范围为224.0.0.1~239.255.255.254。E类IP地址并没有公开使用,它是在设计时预留出来供将来使用的地址段,目前仅用于研究和实验。E类IP地址以“11110”开始,即从240.0.0.1开始后面的有效地址都是E类IP地址。3.答:单播是指对特定的主机进行数据传送,因此在数据链路层的数据头中应该指定非常具体的目的地址,即网卡的MAC地址;而且在IP分组报头中必须指定接收方的IP地址。组播是主机之间“一对一组”的通讯模式,即加入了同一组的主机可以接收到该组内的所有数据。主机可以向路由器申请加入或退出指定的组,网络中的路由器和交换机可以有选择的复制并传输数据,即只将组内数据传输给该组中的主机。组播可以大大节省网络带宽,无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。广播分组的目标IP地址的主机部分全部为1,这意味着本地网络中所有的主机都将接收并查看到该分组消息。比较常见的广播应用是ARP和DHCP等网络协议。8第4章网络编程基础一、选择题1.B2.B二、填空题1.程序代码2.数据3.进程控制块4.Peer-to-Peer四、简答题1.答:端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口,在OSI七层协议的描述中,将它称为应用层进程与传输层协议实体间的服务访问点(SAP)。应用层进程通过系统调用与某个端口进行绑定,然后就可以通过该端口接收或发送数据,因为应用进程在通信时,必须用到一个端口,它们之间有着一一对应的关系,所以可以用端口来标识通信的网络应用进程。2.答:(1)打开一通信通道,并告知服务器所在的主机,它愿意在某一公认的地址上(熟知端口,如FTP为21)接收客户请求。(2)等待客户的请求到达该端口。(3)服务器接收到服务请求,处理该请求并发送应答信号。为了能并发地接收多个客户的服务请求,要激活一个新进程或新线程来处理这个客户请求(如UNIX系统中用fork、exec)。服务完成后,关闭此新进程与客户的通信通路,并终止。(4)返回第(2)步,等待并处理另一客户请求。(5)在特定的情况下,关闭服务器。3.答:P2P系统具有以下特征。(1)分散性。该系统是全分布式的系统,不存在瓶颈。(2)规模性。该系统可以容纳数百万乃至数千万台计算机。(3)扩展性。用户可以随时加入该网络。服务的需求增加,系统的资源和服务能力也同步扩充,理论上其可扩展性几乎可以认为是无限的。(4)Servent性。每个节点同时具有Server和Cliert的特点,称之为Servent。(5)自治性。节点来自不同的所有者,不存在全局的控制者,节点可以随时加入或退出P2P系统。(6)互助性。(7)自组织性。大量节点通过P2P协议自行组织在一起,不存在任何管理角色。9第5章Socket编程基础一、选择题1.C2.B3.A4.A二、填空题1.面向连接2.无连接3.ws2_32.lib4.网络字节顺序(NBO,NetworkByteOrder)5.主机字节顺序(HBO,HostByteOrder)6.in_addr7.setsockopt三、简答题1.答(1)客户端(相当于拨打电话的一方)需要了解服务器的地址(相当于电话号码)。在TCP/IP网络环境中,可以使用IP地址来标识一个主机。但仅仅使用IP地址是不