电大网络编程技术试题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、填空题1、2、3、4、二、简答题:1.常用的网络操作系统有哪些?各有什么特点?各适用于什么场合?答:目前主要存在以下几类网络操作系统:(1)Windows类:微软公司的Windows系统不仅在个人操作系统中占有绝对优势,它在网络操作系统中也是具有非常强劲的力量。这类操作系统配置在整个局域网配置中是最常见的,但由于它对服务器的硬件要求较高,且稳定性能不是很高,所以微软的网络操作系统一般只是用在中低档服务器中。(2)NetWare类:NetWare操作系统仍以对网络硬件的要求较低(工作站只要是286机就可以了)而受到一些设备比较落后的中、小型企业,特别是学校的青睐。且因为它兼容DOS命令,其应用环境与DOS相似,经过长时间的发展,具有相当丰富的应用软件支持,技术完善、可靠。NetWare服务器对无盘站和游戏的支持较好,常用于教学网和游戏厅。目前这种操作系统有市场占有率呈下降趋势。(3)Unix系统:支持网络文件系统服务,提供数据等应用,功能强大,由AT&T和SCO公司推出。这种网络操作系统稳定和安全性能非常好,但由于它多数是以命令方式来进行操作的,不容易掌握,特别是初级用户。正因如此,小型局域网基本不使用Unix作为网络操作系统,UNIX一般用于大型的网站或大型的企、事业局域网中。UNIX网络操作系统历史悠久,其良好的网络管理功能已为广大网络用户所接受,拥有丰富的应用软件的支持。(4)Linux:这是一种新型的网络操作系统,它的最大的特点就是源代码开放,可以免费得到许多应用程序。目前也有中文版本的Linux,如REDHAT(红帽子),红旗Linux等。在国内得到了用户充分的肯定,主要体现在它的安全性和稳定性方面,它与Unix有许多类似之处。但目前这类操作系统目前使仍主要应用于中、高档服务器中。2、什么是曼彻斯特编码和差分曼彻斯特编码?其特点如何?答:曼彻斯特编码是将每一个码元再分成两个相等的间隔。码元1是在前一个间隔为高电平而后一个间隔为低电平。码元0则正好相反,从低电平变到高电平。这种编码的好处是可以保证在每一个码元的正中间出现一次电平的转换,这对接收端的提取位同步信号是非常有利的。缺点是它所占的频带宽度比原始的基带信号增加了一倍。差分曼彻斯特编码的规则是若码元为1,则其前半个码元的电平与上一个码元的后半个码元的电平一样;但若码元为0,则其前半个码元的电平与上一个码元的后半个码元的电平相反。不论码元是10或,在每个码元的正中间的时刻,一定要有一次电平的转换。差分曼彻斯特编码需要较复杂的技术,但可以获得较好的抗干扰性能。3、在socket编程时如何获取本机的名字?如何获取IP地址?socket编程gethostname(),它返回你程序所运行的机器的主机名字。然后你可以使用gethostbyname()以获得你的机器的IP地址。4、Select能处理哪些事件?简述Select的工作原理。select()可以提供类似windows中的消息驱动机制,实现对I/O的管理。通过调用select函数可以确定一个或多个套接字的状态,判断套接字上是否有数据,或者能否向一个套接字写入数据,或者出现意外。目的是防止应用程序在套接字处于阻塞模式中时,在一次I/O绑定调用(如send或recv)过程中,被逼进入“阻塞”状态;同时防止在套接字处于非阻塞模式中时,产生WSAEWOULDBLOCK错误。除非满足事先用参数规定的条件,否则select函数会再进行I/O操作时阻塞。Select工作原理:每来一个请求则把s给select,继续等待下一个请求。来数据时select里copy一个套接字,来处理缓冲区数据(这个过程很耗时),因当时的条件所限制select里只能放64个套接字,也就是说并发最大量为64.一个线程处理接受,另一个进程处理套接字处理数据5、OSI/RM分为几层?TCP/IP分为几层?它们之间的对应关系如何?答:(1)OSI和TCP/IP的相同点是二者均采用层次结构,而且都是按功能分层。(2)OSI和TCP/IP的不同点:①OSI分七层,自下而上分为物理层、数据链路层、网络层、运输层、会话层、表示层和应用层,而TCP/IP分四层:网络接口层、网间网层(IP)、传输层(TCP)和应用层。6、TCP/IP协议簇中的应用层提供哪些应用?各个应用分别通过哪个传输层协议来传送?(1)网络终端协议(Telnet),用于实现互联网中远程登陆功能;(2)文件传输协议(FTP,filetransferprotocol),用于实现互联网中交互式文件传输功能;(3)简单邮件传输协议(SMTPsimplemailtransferprotocol),用于实现互联网中邮件传送功能;(4)域名系统(DNS,domainnamesystem),用于实现互联网设备名字到IP地址映射的网络服务;(5)超文本传输协议(HTTP,bypertexttransferprotocol),用于目前广泛使用的Web服务;(6)路由信息协议(RIP,routinginformationprotocol),用于网络设备之间交换路由信息;(7)简单网络管理协议(SNMP,simplenetworkfilesystem),用于管理和监视网络设备;(8)网络文件系统(NFS,networkfilesystem),用于网络中不同主机间的文件共享。三、综合题1.下列报文是从以太网上拦截下来的报文(不包括同步序列和CRC校验),请分析:(1)这是以太刚帧还是802.3帧?(2)使用的是什么网络协议(IPX、IP、ARP、RARP)?(3)划分出帧头、网络层报头、传输层报头和数据部分。(4)对各层报头中的一些关键域加以说明。0080ad185d8e00d0f800036c080045000028550540008006eeaac0a80089ca6c2b82040f0050014645ca07bc140050102238bf5l0000474554202fba注:上面的数据帧不包含前导码、帧定界符和校验和。答:(1)这是以太网帧。(2)使用的是IP协议。(3)0080ad185d8e00d0f800036c0800是帧头;45000028550540008006eeaac0a80089ca6c2b82是IP头,也叫网络层头。040f0050014645ca07bc140050102238bf5l0000是TCp头,也叫传输层头。474554202fba是数据部分。(4)关键域说明2、计算可以存在多少个A类、B类和C类网络?在每类网络中可以有多少台主机?解:1)A类网中,网络号占七个bit,则允许用的网络数为2的7次方,为128,但是要除去0和127的情况,所以能用的最大网络数是126,第一个网络号是1,最后一个网络号是126。主机号占24个bit,则允许用的最大主机数为2的24次方,为16777216,但是也要除去全0和全1的情况,所以能用的最大主机数是16777214。2)B类网中,网络号占14个bit,则能用的最大网络数为2的14次方,为16384,第一个网络号是128.0,因为127要用作本地软件回送测试,所以从128开始,其点后的还可以容纳2的8次方为256,所以以128为开始的网络号为128.0~~128.255,共256个,以此类推,第16384个网络号的计算方法是:16384/256=64128+64=192,则可推算出为191.255。主机号占16个bit,则允许用的最大主机数为2的16次方,为65536,但是也要除去全0和全1的情况,所以能用的最大主机数是65534。3)C类网中,网络号占21个bit,则能用的网络数为2的21次方,为2097152,第一个网络号是192.0.0,各个点后的数占一个字节,所以以192为开始的网络号为192.0.0~~192.255.255,共256*256=65536,以此类推,第2097152个网络号的计算方法是:2097152/65536=32192+32=224,则可推算出为223.255.255。主机号占8个bit,则允许用的最大主机数为2的8次方,为256,但是也要除去全0和全1的情况,所以能用的最大主机数是254。四、编程题,说明其功能回头想一想我们上面说的原理,我们要做的事情有几件:1.把网卡置于混杂模式。2.捕获数据包。3.分析数据包。注:下面的源代码取至ChadRenfro的《BasicPacket-SnifferConstructionfromtheGroundUp》一文中/************************Tcp_sniff_2.c********************/1.#include2.#include3.#include4.#include5.#include6.#include7.#include8.#include9.#includeheaders.h#defineINTERFACEeth0/*Prototypearea*/10intOpen_Raw_Socket(void);11intSet_Promisc(char*interface,intsock);12intmain(){13intsock,bytes_recieved,fromlen;14.charbuffer[65535];15.structsockaddr_infrom;16.structip*ip;17.structtcp*tcp;18.sock=Open_Raw_Socket();19.Set_Promisc(INTERFACE,sock);20.while(1)22.{23.fromlen=sizeoffrom;24.bytes_recieved=recvfrom(sock,buffer,sizeofbuffer,0,(structsockaddr*)&from,&fromlen);25.printf(\nBytesreceived:::%5d\n,bytes_recieved);26.printf(Sourceaddress:::%s\n,inet_ntoa(from.sin_addr));27.ip=(structip*)buffer;/*SeeifthisisaTCPpacket*/28.if(ip-ip_protocol==6){29.printf(IPheaderlength:::%d\n,ip-ip_length);30.printf(Protocol:::%d\n,ip-ip_protocol);31.tcp=(structtcp*)(buffer+(4*ip-ip_length));32.printf(Sourceport:::%d\n,ntohs(tcp-tcp_source_port));33.printf(Destport:::%d\n,ntohs(tcp-tcp_dest_port));34.}35.}36.}37intOpen_Raw_Socket(){38.intsock;39.if((sock=socket(AF_INET,SOCK_RAW,IPPROTO_TCP))0){/*Thenthesocketwasnotcreatedproperlyandmustdie*/40.perror(Therawsocketwasnotcreated);41.exit(0);42.};43.return(sock);44.}45intSet_Promisc(char*interface,intsock){46.structifreqifr;47.strncpy(ifr.ifr_name,interface,strnlen(interface)+1);48.if((ioctl(sock,SIOCGIFFLAGS,&ifr)==-1)){/*Couldnotretrieveflagsfortheinterface*/49.perror(Couldnotretrivefl

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功