网络工程师模拟试卷参者答案 田试卷 全真预测试卷(一)上午试题 (考试时间9:0011:30共150分钟) (1)B (2)B B)D (4)D (6)B (7)D (8)B (9)D (10)D (11)C (12)B (13)B (14)C (15)A (16)A (17)D (18)C (19)D (20)B (21)C (22)A (23)C (24)A 25)C 6)B (27)A (31)B (32)D (34)A (36)B (37)A (38)C (39)D (40)D (41)B (42)B 43)C (44)C (46)C (47)C ( (49)B (50)D (51)A (52)B (53)B (54)B (55)B (56)A (57)C (58)A (59)C (60)A (61)D (62)C (63)A 64)C (65)D (69)D (71)B (72)C (74)A (75)D 全真预测试卷(一)下午试题 (考试时间14:00~16:30共150分钟) 本试卷的7道试题都是必答题,请全部解答。 试题 目的主机所在的网络步跳路径 0 0.0.0 120.0.0 10.0.0.0 130.0.0. 10.0.0.0 40.0.0.3 20.0.0.0 0直接传送 20.0.0.0 130.0.0.2 20.0.0.0 240.0.0.1
网络工程师模拟试卷参考答案 返回试卷 全真预测试卷(一)上午试题 (考试时间 9:00~11:30 共 150 分钟) (1)B (2)B (3)D (4)D (5) B (6)B (7)D (8)B (9)D (10)D (11)C (12)B (13)B (14)C (15)A (16)A (17)D (18)C (19)D (20)B (21)C (22)A (23)C (24)A (25)C (26)B (27)A (28)B (29)C (30)D (31)B (32)D (33)A (34)A (35)A (36)B (37)A (38)C (39)D (40)D (41)B (42)B (43)C (44)C (45)A (46)C (47)C (48)C (49)B (50)D (51)A (52)B (53)B (54)B (55)B (56)A (57)C (58)A (59)C (60)A (61)D (62)C (63)A (64)C (65)D (66)A (67)B (68)C (69)D (70)D (71)B (72)C (73)A (74)A (75)D 全真预测试卷(一)下午试题 (考试时间 14:00~16:30 共 150 分钟) 本试卷的 7 道试题都是必答题,请全部解答。 试题一 目的主机所在的网络 步跳 路径 10.0.0.0 1 20.0.0.1 10.0.0.0 1 30.0.0.1 10.0.0.0 1 40.0.0.3 20.0.0.0 0 直接传送 20.0.0.0 1 30.0.0.2 20.0.0.0 2 40.0.0.1
30.0.0.0 0直接传送 30.0.0.0 120.0.0.1 30.0.0.0 40.0.0.1 40.0.0.0 直 接传送 40.0.0.0 130.0.0.3 40.0.0.0 20.0.0.1 50.0.0.0 0直接传送 试题二 (1.3.6.1.2.1.13.1.1)(1.3.6.1.2.1.13.1.2)(1.3.6.1.2.1.13.1.3)(1 .3.6.1.2.1.13.1.4)(1.3.6.1.2.1.13.1.5) 411.11.11.111512.12.12.1213 1111111 18633.33.33.3316 INDEX INDEX INDEX INDEX 试题三 路由表及其实例的词典顺序。 对象 对象标识符 下一个对象实例 ipRouteTABle 1.3.6.1.2.1.4.21 1.3.6.1.2.1.4.21.1.1 DRouteEntry 1.3.6.1.2.1.4.21.1 1.3.6.1.2.1.4.21.1.1 RouteDest 6.1.2.1.4.21.1.1 1.3.6.1.2.1.4.21.1.1 ipRouteDest.10.10.10.101.3.6.1.2.1.4.21.1.1010.0101.3.6.1.21.4.211 ipRouteDest. 11111111 1.3.6.1.2.1.4.21.1.1.1.1.1.1.3.6.1.2.1.42..3 pRouteMetricl 1.3.6.1.2.1.4.21.1.3 1.3.6.1.2.1.4.21.1.3. ipRoute MetriC.10.10.10.101.3.6.1.21.4.21.1.3.10.10.10.101.6.2.1.2.1. ipRouteMetriCl.001..6.1.11.1.1.1116..1..21.1.7 ipRouteNel.3.6.1.2.1.4.21to1.3.6.1.2.1.2.171.3.6.1.2.1.4217
30.0.0.0 0 直接传送 30.0.0.0 1 20.0.0.1 30.0.0.0 1 40.0.0.1 40.0.0.0 0 直接传送 40.0.0.0 1 30.0.0.3 40.0.0.0 2 20.0.0.1 50.0.0.0 0 直接传送 试题二 (1) (2) (1.3.6.1.2.1.13.1.1)(1.3.6.1.2.1.13.1.2)(1.3.6.1.2.1.13.1.3)(1 .3.6.1.2.1.13.1.4)(1.3.6.1.2.1.13.1.5) 4 11.11.11.11 15 12.12.12.12 13 3 22.22.22.22 88 22.22.22.22 0 5 11.11.11.11 86 33.33.33.33 16 INDEX INDEX INDEX INDEX ~~~~~~~~~~~~~~~~ 试题三 P 路由表及其实例的词典顺序。 对 象 对象标识符 下一个对象实例 ipRouteTABle 1.3.6.1.2.1.4.21 1.3.6.1.2.1.4.21.1.1.10.10.10.10 ipRouteEntry 1.3.6.1.2.1.4.21.1 1.3.6.1.2.1.4.21.1.1.10.10.10.10 ipRouteDest 1.3.6.1.2.1.4.21.1.1 1.3.6.1.2.1.4.21.1.1.10.10.10.10 ipRouteDest.10.10.10.10 1.3.6.1.2.1.4.21.1.1.10.10.10.10 1.3.6.1.2.1.4.21.1.1.11.11.11.11 ipRouteDest.11.11.11.11 1.3.6.1.2.1.4.21.1.1.11.11.11.11 1.3.6.1.2.1.4.21.1.3.10.10.10.10 ipRouteMetriC1 1.3.6.1.2.1.4.21.1.3 1.3.6.1.2.1.4.21.1.3.10.10.10.10 ipRouteMetriC1.10.10.10.10 1.3.6.1.2.1.4.21.1.3.10.10.10.10 1.3.6.1.2.1.4.21.1.3.11.11.11.11 ipRouteMetriC1.11.11.11.11 1.3.6.1.2.1.4.21.1.3.11.11.11.11 1.3.6.1.2.1.4.21.1.7.10.10.10.10 ipRouteNe1.3.6.1.2.1.4.21tHop 1.3.6.1.2.1.4.21.1.7 1.3.6.1.2.1.4.21.1.7.10.10.10.10
ipRouteNel.3.6.1.2.1.4.2 IhOp.1.3.6.1.2.1.4.21.1.7.10.10.10.101.3.6.1.2.1.4.21.1.7 ipRouteNel..3.6.1.2.1.4.tHl.1.3.6..2.1.4.1.1.711.1..6.1.2.1.4.21.1.1 试题四 [问题]1:之所以会出现这种情况是因为在上一级网络路由器上安装 了ARP代理。有可能是因为 workstation linux的网卡不稳定,在Sun工作站 发送ARP报文时, workstation linux的网卡有时无法响应,由于有ARP代理, 上一级的路由器知道 workstation linux的物理地址,响应了该ARP报文, 致Sun工作站记录该应答报文,并把上一级路由器的物理地址记录为 workstation linux的地址。 解决的方法是在Sun工作站的启动配置中加入静态的ARP表项arp s ipaddr macaddr。 [问题2]:系统通过RARP来获得IP [问题3]:123.88.2.120 [问题4]:123.88.2.100 试题五 当出现不可达代码时主机不可达是因为数据包被送到目的网络,但是 主机没有响应;网络不可达是路由表中没有与数据包的目的地址相匹配的表现 端口不可达是因为数据包已被送到目的网络,但目的端口未被应用程序打开;协 议不可达是因为数据包到达目的网络时,目的主机上没有传输层协议。试题六 [问题1]:ATM特点是面向连续的、按定长的信元为基本传送单元、 异步传送模式的高速交换网(接入速率为155Mbit/s)。具有极高的灵活性,提 供具有QoS的多媒体业务,支持广播/多波传送。 [问题2]:ⅥANl与WLAN2的用户被隔离,而不同区域的PC1和PC2 用户在ⅥAN1内可以相互通信。在AIM网上承载多种类型的LAN可采用叠加模型 的LANE(局域网仿真)或MPOA技术。当 Router配置了路由表,执行MAC地址 (VLAN1)与ATM物理地址的映射。PCl用户经以太交换机SW1按802.1q封装 ( vlan号)后经ATM网到SW2。 [问题3]:路由器是因特网上的互连设备,能将输入端口的IP数据 报,根据目的地IP网络号,查询路由表后确定输出端口加以转发。 Router是 内部网络由器,实现基于网络层的ⅥAN; Router2可称为接入路由器,可与因特 网实现互通。试题七 #include #include #include #define icmp echo 8 #define icmP echoreply o #defing ICMP min 8 typedef struct iphdr(
ipRouteNe1.3.6.1.2.1.4.21tHop. 1.3.6.1.2.1.4.21.1.7.10.10.10.10 1.3.6.1.2.1.4.21.1.7.11.11.11.11 ipRouteNe1.3.6.1.2.1.4.21tHop. 1.3.6.1.2.1.4.21.1.7.11.11.11.11 1.3.6.1.2.1.4.21.1.1.x 试题四 [问题]1:之所以会出现这种情况是因为在上一级网络路由器上安装 了 ARP 代理。有可能是因为 workstation linux 的网卡不稳定,在 Sun 工作站 发送 ARP 报文时,workstation linux 的网卡有时无法响应,由于有 ARP 代理, 上一级的路由器知道 workstation linux 的物理地址,响应了该 ARP 报文,导 致 Sun 工作站记录该应答报文,并把上一级路由器的物理地址记录为 workstation linux 的地址。 解决的方法是在 Sun 工作站的启动配置中加入静态的 ARP 表项 arp s ipaddr macaddr。 [问题 2]:系统通过 RARP 来获得 IP [问题 3]:123.88.2.120 [问题 4]:123.88.2.100 试题五 当出现不可达代码时主机不可达是因为数据包被送到目的网络,但是 主机没有响应;网络不可达是路由表中没有与数据包的目的地址相匹配的表现; 端口不可达是因为数据包已被送到目的网络,但目的端口未被应用程序打开;协 议不可达是因为数据包到达目的网络时,目的主机上没有传输层协议。试题六 [问题 1]:ATM 特点是面向连续的、按定长的信元为基本传送单元、 异步传送模式的高速交换网(接入速率为 155Mbit/s)。具有极高的灵活性,提 供具有 QoS 的多媒体业务,支持广播/多波传送。 [问题 2]:VLAN1 与 VLAN2 的用户被隔离,而不同区域的 PC1 和 PC2 用户在 VLAN1 内可以相互通信。在 ATM 网上承载多种类型的 LAN 可采用叠加模型 的 LANE(局域网仿真)或 MPOA 技术。当 Router1 配置了路由表,执行 MAC 地址 (VLAN1)与 ATM 物理地址的映射。PC1 用户经以太交换机 SW1 按 802.1q 封装 (vlan1 号)后经 ATM 网到 SW2。 [问题 3]:路由器是因特网上的互连设备,能将输入端口的 IP 数据 报,根据目的地 IP 网络号,查询路由表后确定输出端口加以转发。Router1 是 内部网络由器,实现基于网络层的 VLAN;Router2 可称为接入路由器,可与因特 网实现互通。试题七 #include #include #include #define ICMP_ECHO 8 #define ICMP_ECHOREPLY 0 #defing ICMP_MIN 8 typedef struct iphdr{
unsigned int h len; 4: // lenth of the head on: 4://Ve of IP unsigned char tos: / Type of service d short total len;// total length of the packe unsigned short ident: / unique identifier t frag and flags; //fla unsigned char ttl 1(TCP, UDP etc) unsigned short checksum; //IP checksum unsigned int sourceIP unsigned ibt destIP 3 IpHeader typedef struct ihdr( bYtE i t BYTE i code; /type sub code */ USHoRT i cksum UShoRT i id USHORT i seq; / *This is not the std header, but we reserve space for time*/ ULONG timestamp 3 IcmpHeader #define status FaIled oXFFFr #define de PacKet size 32 #define max packet 1024 #defing xmalloc(s) HeapAlloc(GetprocessHeap)), HEAP ZERO MEMORY, (S)) #defing free(p) Heap Free (GetprocessHeap o, 0, (p)) void fill icmp data(char*, int) USHORT checksum (USHORT*, int) void decode resp (char*, int, struct sockaddr in*) oid Usage(char*progname) fprintf (stderr, " Usage: /n") fprintf(stderr, %s [data size]/n", progname) fprintf(stderr, datasize can be up to lkb/n") ExitProcess(STATUS FAILED int main(int argc, char**argv) WSADATA wsaData SOCKET SOckRaw struct sockaddr in dest. from struct hostent *hp int bread. datasize
unsigned int h_len;4; // lenth of the header unsigned int version;4; // Version of IP unsigned char tos; // Type of service unsigned short total_len; // total length of the packet unsigned short ident; // unique identifier unsigned short frag_and_flags; // flags unsigned char ttl; unsigned char proto; // protocol (TCP,UDP etc) unsigned short checksum; //IP checksum unsigned int sourceIP; unsigned ibt destIP }IpHeader; typedef struct_ihdr{ BYTE i_type; BYTE i_code; /*type sub code */ USHORT i_cksum; USHORT i_id; USHORT i_seq; /*This is not the std header,but we reserve space for time*/ ULONG timestamp; }IcmpHeader; #define STATUS_FAILED 0XFFFF #define DE_PACKET_SIZE 32 #define MAX_PACKET 1024 #defing xmalloc(s) HeapAlloc(GetprocessHeap)),HEAP_ZERO_MEMORY,(S)) #defing xfree(p) HeapFree (GetprocessHeap(),0,(p)) void fill_icmp_data(char*,int); USHORT checksum(USHORT*,int); void decode_resp(char*,int,struct sockaddr_in*); void Usage(char*progname) { fprintf(stderr,″Usage:/n″); fprintf(stderr,″%s [data_size]/n″,progname); fprintf(stderr,″datasize can be up to 1kb/n″) ExitProcess(STATUS_FAILED); } int main(int argc,char**argv) { WSADATA wsaData; SOCKET sockRaw; struct sockaddr_in dest,from; struct hostent *hp; int bread,datasize;
int fromlen=sizeof(from) int timeout=1000 char *dest ip char *icmp data char krecvbuf unsigned int addr=o ushort if (WSAStartup (MAKEWORD(2, 1),& wsaData)!=0( fprintf (stderr, " WSAStartup failed:%d/n", GetLastError o) ExitProcess(STATUS FAILED if ( Usage(argv [o]) sockRaw=WSASocket(aF INET, SOCK RAW, iPPROTO TCMP, NULL, 0, 0) if (sockRaw==INVALID SOCKET fprintf(stderr, WSASocketO failed: %d\ n", WSAGetLastError o) ExitProcess(STATUS FAILED bread=setsockopt(sockRaw, SOL SOCKET, SO RCVTIMEO, (char*)8timeo ut, sizeof(timeout if (bread==SOCKET ERROR)( fprintf(stderr, failed to set recv timeout %d \n"WSAGetLastError o) ExitProcess(STATUS FAILED timeout=1000 bread=setsockopt(sockRaw, SOL SOCKET, SO SNDTIMEO, (char*)&timeo ut, sizeof(timeout)) if(bread==SOCKET ERROR)( fprintf(stderr, failed to set send timeout %d \n", WSAGetLastError o) ExitProcess(STATUS FAILED memset(8 dest, 0, sizeof (dest)) hp=gethostbyname(argv [1]) if (!hp)i Addr=inet addr(argv [l]) if ((!hp)&&(addr ==INADDR NONE)) sprintf(stderr, "Unble to resolve %s \n", argv [1] Exitprocess(STATUS FAILED)
int fromlen=sizeof(from); int timeout=1000; char *dest_ip; char *icmp_data; char *recvbuf; unsigned int addr=0; ushort seq_no=0; if (WSAStartup(MAKEWORD(2,1), δwsaData)!=0{ fprintf(stderr,″WSAStartup failed:%d/n″,GetLastError()); ExitProcess(STATUS_FAILED); } if (argc<2){ Usage(argv[0]); } sockRaw=WSASocket(AF_INET,SOCK_RAW,iPPROTO_TCMP,NULL,0,0); if (sockRaw==INVALID_SOCKET){ fprintf(stderr,″WSASocket() failed:%d\ n″,WSAGetLastError()); ExitProcess(STATUS_FAILED); } bread=setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO,(char*)δtimeo ut, sizeof(timeout)); if (bread==SOCKET_ERROR){ fprintf(stderr,″failed to set recv timeout; %d\n″WSAGetLastError()); ExitProcess(STATUS_FAILED); } timeout=1000; bread=setsockopt(sockRaw,SOL_SOCKET,SO_SNDTIMEO,(char*)δtimeo ut, sizeof(timeout)); if (bread==SOCKET_ERROR){ fprintf(stderr,″failed to set send timeout; %d\n″,WSAGetLastError()); ExitProcess(STATUS_FAILED); } memset(δdest,0,sizeof(dest)); hp=gethostbyname(argv[1]); if (!hp){ Addr=inet_addr(argv[1]); } if ((!hp) && (addr = = INADDR_NONE) ) { sprintf(stderr,"Unble to resolve %s\n",argv[1]; Exitprocess(STATUS_FAILED); }
memcpy(8(dest, sin addr), hp >h addr, hp >h length) dest. sin addr,s addr=addr if(hp) dest. sin family=hp >h addrtype: dest. sin family=AF INET dest ip=inet ntoa( destin addr) if (argc)2)( datasize=atoi (argv [2]) f(d datasize=DEE PACKET STZE datasize=DEE PACKET SIZe datasize=sizeof(IcmpHeader) icmp_data=xmalloc (MAX PACKET) recvbuf=xmallOc MAX PACKET) if (icmp data)( fprintf(stderr, HeapAlloc failed %d\n", GetLastError o) ExitProcess (STATU FAILED memset(icmp data, 0, MAX PACKET) fill icmp data(icmp data, datasize) while (1) int wrote ((IcmpHeadera) icmp data) >i cksum=0 ((IcmpHeadera*)icmp data) >timestamp=GetTickCount O ((IcmpHeader*icmp data) seg=seg not+ ((IcmpHeader*icmp data i cksum=checksum((USHORT*icmp data, datasize) bwrote=sendto(sockRaw, icmp data, datasize, 0,(struct sockaddr*)8 dest, sizeof(dest)) if (wrote==SOCKET ERROR)( if (WSAGetLastErrork(==WSAETIMEDOUT printf ( timed out/n"): continue fprintf(stderr, "sendto failed; %d/n", WSAGetLastError O) ExitProcess(STATUS FAILED) if(wrote printf(stdout, Wrote %d bytes \n", bwrote) bread=recvfrom(sockRaw, recvbuf, MAX PACKET, 0, (struct
memcpy(δ(dest,sin_addr),hp >h_addr,hp >h_length); else dest,sin_addr,s_addr=addr; if (hp) dest.sin_family=hp >h_addrtype; else dest.sin_family=AF_INET; dest_ip=inet_ntoa(destsin_addr); if (argc>2) { datasize=atoi(argv[2]); if (datasize==0) datasize=DEE_PACKET_STZE; } else datasize=DEE_PACKET_SIZE; datasize+=sizeof(IcmpHeader); icmp_data=xmalloc(MAX_PACKET); recvbuf=xmalloc(MAX_PACKET); if (!icmp_data) { fprintf(stderr,″HeapAlloc failed %d\n″,GetLastError()); ExitProcess(STATU_FAILED); } memset(icmp_data,0,MAX_PACKET); fill_icmp_data(icmp_data,datasize); while (1) { int bwrote; ((IcmpHeader*)icmp_data) >i_cksum=0; ((IcmpHeader*)icmp_data) >timestamp=GetTickCount(); ((IcmpHeader*)icmp_data) >i_seq=seq_no++; ((IcmpHeader*)icmp_data) >i_cksum=checksum((USHORT*)icmp_data,datasize); bwrote=sendto(sockRaw,icmp_data,datasize,0,(struct sockaddr*)δdest,sizeof(dest)); if (bwrote==SOCKET_ERROR) { if (WSAGetLastErrork()==WSAETIMEDOUT) { printf(″timed out/n″); continue; } fprintf(stderr,″sendto failed;%d/n″,WSAGetLastError()); ExitProcess(STATUS_FAILED); } if (bwrote fprintf(stdout,″Wrote %d bytes\n″,bwrote); } bread=recvfrom(sockRaw,recvbuf,MAX_PACKET,0,(struct
sockaddr*)δfrom,δ froman); f (bread==SOCKET ERROR) f( WSAGetLast Error (==WSaetimedouT)( printf(" timed out \n"): continue fprintf (stderr, recvfrom failed: %d n",WSAGetLastError o) ExitProcess (STATUS FAILED) decode resp (recvbuf, bread, 8 from) Sleep(1000) return 0 roid decode resp(char *buf, int bytes, struct sockaddr in *from) IpHeader *kiphdr IcmpHeader *icmphdr unsigned short iphdrlen iphdr=(IpHeader *)buf iphdrlen=iphdr >h len *4: //number of 32 bit words *4=bytes printf(" Too few byes from %s/n", inet ntoa(from >sin addr)) icmphdr=(IcmpHeader*)(buf+iphdrlen) if (icmphdr >i type! =ICMP ECHOREPLY)I fprintf(stderr, non echo type %d recvd/n", icmphdr >i t if (icmphdr >i id =(USHORT) GetCurrentProcessIdo)I fprintf (stderr, someone else packet! /n") >sin adds printf("%d bytes from %s: " bytes, inet_ntoa(from printf(" icmp seq=%d " icmphdr >i seg) printf(" time: %d ms", GetTickCounto icmphdr >timestamp) f("/n"); USHORT checksum (USHORT *buffer, int size)
sockaddr*)δfrom,δfromlen); if (bread==SOCKET_ERROR) { if (WSAGetLastError()==WSAETIMEDOUT) { printf(″timed out\n″); continue; } fprintf(stderr,″recvfrom failed:%d\ n″,WSAGetLastError()); ExitProcess(STATUS_FAILED); } decode_resp(recvbuf,bread,δfrom); Sleep(1000); } return 0; } void decode_resp(char *buf, int bytes, struct sockaddr_in *from) } IpHeader *iphdr; IcmpHeader *icmphdr; unsigned short iphdrlen; iphdr=(IpHeader *)buf; iphdrlen=iphdr >h_len *4;//number of 32 bit words *4=bytes if (bytes printf(″Too few byes from %s/n″, inet_ntoa(from >sin_addr)); } icmphdr=(IcmpHeader*)(buf+iphdrlen); if (icmphdr >i_type!=ICMP_ECHOREPLY) { fprintf(stderr,″non echo type %d recvd/n″,icmphdr >i_type); return; } if (icmphdr >i_id !=(USHORT)GetCurrentProcessId()) { fprintf(stderr,″someone else′spacket!/n″); return; } printf(″%d bytes from %s:″,bytes,inet_ntoa(from >sin_addr)); printf(″icmp_seq=%d.″,icmphdr >i_seq); printf(″time:%d ms″,GetTickCount() icmphdr >timestamp); printf(″/n″); } USHORT checksum(USHORT *buffer,int size) { unsigned long cksum=0; while (size>1) {
cksum+=buffer++ size-=sizeof (USHORT if (size)[ cksum+=*(UCHAR*) buffer cksum=(cksum>>16)+(cksum 8 Oxffff) +=( cksum>>16) return(USHORT)( cksum) void fill icmp data (char*icmp data, int datasize) IcmpHeader *icmp hdr char *datamart icmp hdr=(IcmpHeader*icmp data icmp hdr >i type=ICMP ECHO icmp hdr >i id=(USHORT) GetCurrentProcesId O icmp hdr >i cksum=0 icmp hdr >1 datapart=icmp datatsizeof (IcmpHeader): //Place some junk in the buffer. // memset (datapart, E, datasize-sizeof(IcmpHeader)) 全真预测试卷(二)上午试题 (考试时间9:00~11:30共150分钟) (1)D (2)D (3)D (4)B D (6)C (7)D (8)D (9 (10)D (11)B (12)D (13)D (14)A (16)A (17)B (1 18)B (19)B (20)A (21)D (22)C (24)B (25)D (26)A (28)D (29)C (31)B (32)A (33)C (34)D (35)C (36)D (37)C (38)C (39)C (40)B 41)D (42)C (43)C (44)D (45)C (46)B (47)A (48)C (49)B 50)D (51)B (52)C 53)D (55)C (56)A (57)C (58)C (59)B
cksum+=*buffer++; size-=sizeof(USHORT); } if (size) { cksum+=*(UCHAR*)buffer; } cksum=(cksum>>16)+(cksum δ 0xffff); cksum+=(cksum>>16); return (USHORT)(~cksum); } void fill_icmp_data(char*icmp_data,int datasize) { IcmpHeader *icmp_hdr; char *datapart; icmp_hdr=(IcmpHeader*)icmp_data; icmp_hdr >i_type=ICMP_ECHO; icmp_hdr >i_code=0; icmp_hdr >i_id=(USHORT)GetCurrentProcesId(); icmp_hdr >i_cksum=0; icmp_hdr >i_seq=0; datapart=icmp_data+sizeof(IcmpHeader);//Place some junk in the buffer.// memset (datapart,′E′,datasize-sizeof(IcmpHeader)); } 全真预测试卷(二)上午试题 (考试时间 9:00~11:30 共 150 分钟) (1)D (2)D (3)D (4)B (5) D (6)C (7)D (8)D (9)B (10)D (11)B (12)D (13)D (14)A (15)C (16)A (17)B (18)B (19)B (20)A (21)D (22)C (23)A (24)B (25)D (26)A (27)C (28)D (29)C (30)B (31)B (32)A (33)C (34)D (35)C (36)D (37)C (38)C (39)C (40)B (41)D (42)C (43)C (44)D (45)C (46)B (47)A (48)C (49)B (50)D (51)B (52)C (53)D (54)D (55)C (56)A (57)C (58)C (59)B (60)B
(61)B (62)B (63)C (64)B (66)A (67)D (68)B (69)C (70)A (71)A (72)B (73)B (74)C (75)D 全真预测试卷(二)下午试题 (考试时间14:00~16:30共150分钟) 本试卷的7道试题都是必答题,请全部解答。 试题 (1)发出请求: GetNextRequest( ipADDrtABle) 预期得到的响应: GetResponse( ipADetnADDr.203.100.100.1=203.100.100.1) (2)发出请求: GetResgonse(ipADetnADDr. 203. 100. 100. 1, ipADetnIfInDex. 203. 100. 100. 1, ip ADetnNetmAsk. 203. 100100. 1, ipADetnBCstADDr 203. 100. 100. 1, pADetnReAsmM AsSize.203.100.100.1) 预期得到的响应: GetResponse( ipADetnADDr.203.100.100.1=203.100.100.1, ipADetnIfInDex. 203. 100. 100.1=10, ipADetnNetmAsk 203 100100. 1=255. 255. 255. 128, ipADetnBCAstADDr 203 100 100. 1=8, ipADetnReAsmMAxSize 203 100. 100.1=5) (3)发出请求 GetNextRequest(ipADEtnADDr, ipADetnIfInDex, ipADetnNetmAsk, ipADetnBCAst ADDr, ipADetnReAsmMAxSize) 预期得到的响应: GetResponse( ipADEtnADDr.203.100.100.1=203.100.100.1 pADetnIfInDex.203.100.100.1=10, ipADetnNetmAsk.203.100.100.1=255.255 255. 128, ipADetnBCAstADDr. 203. 100. 100. 1=8, ipADetnReAsmMAx Size 203. 100. 100.1=5) 4)发出请求: SetRequest( i pADetnReAsmMAxSize.203.100.100.1=10) 预期得到的响应: GetResponse( ipADetnReAsmMAX Size.203.100.100.1=10) 试题二 (1.3.6.1.2.1.13.1.1)(1.3.6.1.2.1.13.1.2)(1.3.6.1.2.1.13.1.3)(1 3.6.1.2.1.13.1.4) .12 〖〗13 5111833836 INDEX INDEX INDEX INDEX 图b tCpConnstAte tCp ConnLoCAlADDress tCp ConnLoCAlPort tCpConnRemADDre ss tCp ConnRemPort
(61)B (62)B (63)C (64)B (65)A (66)A (67)D (68)B (69)C (70)A (71)A (72)B (73)B (74)C (75)D 全真预测试卷(二 )下午试题 (考试时间 14:00~16:30 共 150 分钟) 本试卷的 7 道试题都是必答题,请全部解答。 试题一 (1)发出请求:GetNextRequest(ipADDrTABle) 预期得到的响应:GetResponse(ipADetnADDr.203.100.100.1=203.100.100.1) (2)发出请求: GetResqonse(ipADetnADDr.203.100.100.1,ipADetnIfInDex.203.100.100.1,ip ADetnNetmAsk.203.100.100.1,ipADetnBCstADDr.203.100.100.1,pADetnReAsmM AxSize.203.100.100.1) 预期得到的响应:GetResponse(ipADetnADDr.203.100.100.1=203.100.100.1, ipADetnIfInDex.203.100.100.1=10,ipADetnNetmAsk.203.100.100.1=255.255. 255.128,ipADetnBCAstADDr.203.100.100.1=8,ipADetnReAsmMAxSize.203.100. 100.1=5) (3)发出请求: GetNextRequest(ipADEtnADDr,ipADetnIfInDex,ipADetnNetmAsk,ipADetnBCAst ADDr,ipADetnReAsmMAxSize) 预期得到的响应:GetResponse(ipADEtnADDr.203.100.100.1=203.100.100.1, ipADetnIfInDex.203.100.100.1=10,ipADetnNetmAsk.203.100.100.1=255.255. 255.128,ipADetnBCAstADDr.203.100.100.1=8,ipADetnReAsmMAxSize.203.100. 100.1=5) (4)发出请求:SetRequest(ipADetnReAsmMAxSize.203.100.100.1=10) 预期得到的响应:GetResponse(ipADetnReAsmMAxSize.203.100.100.1=10) 试题二 (1.3.6.1.2.1.13.1.1) (1.3.6.1.2.1.13.1.2) (1.3.6.1.2.1.13.1.3) (1. 3.6.1.2.1.13.1.4) 4 11.11.11.11 15 12.12.12.12〖〗13 3 22.22.22.22 88 22.22.22.22 0 5 11.11.11.11 86 33.33.33.33 16 INDEX INDEX INDEX INDEX 图 b tCpConnstAte tCpConnLoCAlADDress tCpConnLoCAlPort tCpConnRemADDre ss tCpConnRemPort
x.1.11.1.1.1.15.x.2.11.1.1.15.x.3.1.1.1.1.15.kx.4.11.1.1.11.15.x.5.1 12.12.12.12.13 12.12.12.12.13 12.12.12.12.13 12.12.12.12.13 12.12 x.1.22.22.22.22 2.22.2.22.22.κ.3.2.22.22.22 .4.22.22.22.22 88.22.22.22.22.088.22.22.22.22.088.22.22.22.22.088.22.22.22.22.088.22 x.1.11.11.11.11 x.2.11.11.11.11 3.11.11.11.11.x.4.11.11.11.11.x.5.1 86.33.33.33.33.1686.33.33.33.33.1686.33.33.33.33.1686.33.33.33.33.1686.33 ?x=1.3.6.1.2.1.6.13.1= tCp ConnEntry的对象标识符 图 试题三 (2)禁止删除和生成。 (3)A.1.3.2.5.65.66.67.68.72。 4)发出请求: GetBulkRequest[非重复数,=1,最大后继数=2] IsysUpTime perChArACteristiCl perChArACteristiC2 预期代理的响应: Response( sysUpTime.0=”100100″) (perChArACteristiCl. 2. 5. 65 66. 67. 68.72="30 perChArACteristiC. 2. 5. 65 66. 67 68. 72="67),(perChArACteristiCl 5 2. 65.67=″41″ perChArACteristiC2. 5. 2. 65. 67="AAA")) 发出下一请求: GetBulkRequest[非重复数,=1,最大后继数=2 isysUpTime, perChArACteristiCl. 5. 2. 65. 67, perChArACteristiC2. 5. 2. 65 671 预期代理的响应: Response( sysUpTime.0="100111″) ( per ChArACteristicl.8.4.68.68.68=″15″, perChArACteristiC2.8. 4.68. 686868="AC1l"),(perChArACteristiCl 21.4 68.68.68=″45″, per ChArACteristic2.21.4.68.68.68=″XYZ")) 试题四 (1)小的定长信元可以快速地选择路径通过交换机,并且对其进行的 交换操作可以完全用硬件来实现 (2)让 SETUP报文到达目的地需要4个跳段,除了最后1个跳段外, 每个跳段都被确认,这样共有7个报文。类似地, CONNECT报文也经历了4个跳 段,并且有4个确认,共有8个报文。因此,全部加在一起,总共需要发送15 个报文。 (3)NT2设备是NT和NT2设备结合而成的单个设备,该设备处理 物理层、数据链路层和网络层功能。NI!2的优点是比较便宜,但是如果线路技 术改变了,整个的设备必须更换。 (4)榕树交换机每一级根据输入线路的信元号决定输出端口,题中的 8个信元用3bit表示,每级根据相应位的值决定向上端口转发(为0),还是向 下端口转发(为1)。当2个输入信元想在同一时刻通过同一交换机单元的同 端口时会发生冲突。在图中的第1级,冲突涉及前往下列输出线路对的信元:(5
x.1.11.11.11.11.15. 12.12.12.12.13 x.2.11.11.11.11.15. 12.12.12.12.13 x.3.11.11.11.11.15. 12.12.12.12.13 x.4.11.11.11.11.15. 12.12.12.12.13 x.5.11.11.11.11.15. 12.12.12.12.13 x.1.22.22.22.22. 88.22.22.22.22.0 x.2.22.22.22.22. 88.22.22.22.22.0 x.3.22.22.22.22. 88.22.22.22.22.0 x.4.22.22.22.22. 88.22.22.22.22.0 x.5.22.22.22.22. 88.22.22.22.22.0 x.1.11.11.11.11. 86.33.33.33.33.16 x.2.11.11.11.11. 86.33.33.33.33.16 x.3.11.11.11.11. 86.33.33.33.33.16 x.4.11.11.11.11. 86.33.33.33.33.16 x.5.11.11.11.11. 86.33.33.33.33.16 ? x=1.3.6.1.2.1.6.13.1=tCpConnEntry 的对象标识符 图 c 试题三 (1) (2)禁止删除和生成。 (3)A.1.3.2.5.65.66.67.68.72。 (4)发出请求:GetBulkRequest[非重复数,=1,最大后继数=2] {sysUpTime perChArACteristiC1 perChArACteristiC2} 预期代理的响应:Response((sysUpTime.0=″100100″), (perChArACteristiC1.2.5.65.66.67.68.72=″30″, perChArACteristiC.2.5.65.66.67.68.72=″67″),(perChArACteristiC1.5.2. 65.67=″41″, perChArACteristiC2.5.2.65.67=″AAA″)) 发出下一请求:GetBulkRequest[非重复数,=1,最大后继数=2] {sysUpTime,perChArACteristiC1.5.2.65.67,perChArACteristiC2.5.2.65.67} 预期代理的响应:Response((sysUpTime.0=″100111″), (perChArACteristiC1.8.4.68.68.68=″15″, perChArACteristiC2.8.4.68.68.68.68=″AC11″),(perChArACteristiC1.21.4 .68.68.68=″45″,perChArACteristiC2.21.4.68.68.68=″XYZ″)) 试题四 (1)小的定长信元可以快速地选择路径通过交换机,并且对其进行的 交换操作可以完全用硬件来实现。 (2)让 SETUP 报文到达目的地需要 4 个跳段,除了最后 1 个跳段外, 每个跳段都被确认,这样共有 7 个报文。类似地,CONNECT 报文也经历了 4 个跳 段,并且有 4 个确认,共有 8 个报文。因此,全部加在一起,总共需要发送 15 个报文。 (3)NT12 设备是 NT1 和 NT2 设备结合而成的单个设备,该设备处理 物理层、数据链路层和网络层功能。NT12 的优点是比较便宜,但是如果线路技 术改变了,整个的设备必须更换。 (4)榕树交换机每一级根据输入线路的信元号决定输出端口,题中的 8 个信元用 3bit 表示,每级根据相应位的值决定向上端口转发(为 0),还是向 下端口转发(为 1)。当 2 个输入信元想在同一时刻通过同一交换机单元的同一 端口时会发生冲突。在图中的第 1 级,冲突涉及前往下列输出线路对的信元;(5