如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

Posted Sunmengjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?相关的知识,希望对你有一定的参考价值。

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

    1、深入的理解计算机网络的知识

  深入理解计算机网络的体系结构,熟悉计算机网络的参考模型,ISO/OSI模型和TCP/IP模型。自底向上计算机分为几层,每层实现了什么功能,有什么协议,有什么设备,每一层的传输单位是什么?传输结构的构成是什么样的?常用的应用层模型,如客户/服务器模型,P2P模型,DNS域名系统等等。

  

  2、熟悉Linux环境下网络开发

  深入理解Linux下的Socket编程与应用,Linux环境的网络内核以及课上所涉及的内容等等。

 

  3、编程能力和代码阅读能力

 

根据以上要求编写题目如下:

  

一、选择题(5小题,每小题4分,共20分)

  1、计算机网络中使用最广泛的交换技术是( ) 
    A.电路交换 B.报文交换 C.分组交换 D.线路交换
  答案:C,最常用的TCP/IP协议数据传输形式为分组
 
  2、关于TCP/IP的IP层协议描述不正确的是( ) 
    A、是点到点的协议 B、不能保证IP报文的可靠传送
    C、是无连接的数据报传输机制 D、每一个IP数据包都需要对方应答
  答案:A,IP协议为面向无连接
 
  3、对地址转换协议(ARP)描述正确的是( )【2012考研真题】
    A、ARP封装在IP数据报的数据部分 B、ARP是采用广播方式发送的
    C、ARP是用于IP地址到域名的转换 D、发送ARP包需要知道对方的MAC地址
  答案:B,主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。不需要提前知道MAC地址。
 
  4、以下关于API与系统调用之间关系描述不正确的是( ) 【原创】
    A. API可能直接提供⽤户态的服务
    B. ⼀个单独的API可能调⽤⼏个系统调⽤
    C. 每个API都调用了系统调用
    D. 不同的API可能调⽤了同⼀个系统调⽤
   答案:C, API可能不调用系统调用

  5、(2011年 408)TCP/IP参考模型的网络层提供的是()。
    A. 无连接不可靠的数据报服务  B. 无连接可靠的数据报服务

    C. 有连接不可靠的虚电路服务  D. 有连接可靠的虚电路服务

   解答:A。TCP/IP的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。此外考察IP首部,如果是面向连接的,则应有用于建立连接的字段,但是没有;如果提供可靠的服务,则至少应有序号和校验和两个字段,但是IP分组头中也没有(IP首部中只是首部校验和)。因此网络层提供的无连接不可靠的数据服务。有连接可靠的服务由传输层的TCP提供。

 

  6、(2011年 408)若某通信链路的数据传输速率为2400bps,采用4相位调制,则该链路的波特率是()。
    A. 600波特  B. 1200波特  C. 4800波特  D. 9600波特
  解答:B。有4种相位,则一个码元需要由log24=2个bit表示,则波特率=比特率/2=1200波特。

  7、(2011年 408)下列选项中,对正确接收到的数据帧进行确认的MAC协议是()。
    A. CSMA  B. CDMA  C. CSMA/CD  D. CSMA/CA
  解答:D。可以用排除法。首先CDMA即码分多址,是物理层的东西;CSMA/CD即带冲突检测的载波监听多路访问,这个应该比较熟悉,接收方并不需要确认;CSMA,既然CSMA/CD是其超集,CSMA/CD没有的东西,CSMA自然也没有。于是排除法选D。CSMA/CA是无线局域网标准802.11中的协议。CSMA/CA利用ACK信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的ACK信号后才确认送出的数据已经正确到达目的地址。

  8、【2011计算机联考真题】主机甲向主机乙发送一个(SYN=1,seq=11220)的TCP报文段,期望与主机乙建立TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确TCP段可能是(  )

    A、(SYN=0,ACK=0,seq=11221,ack=11221)

    B、(SYN=1,ACK=1,seq=11220,ack=11220)

    B、(SYN=1,ACK=1,seq=11221,ack=11221)

    B、(SYN=0,ACK=0,seq=11220,ack=11220)

  答案:C。考察TCP三次握手时,TCP首部中标志位的设置以及确认号。第二次握手为确认报文,同步位SYN和确认位ACK都必须为1;返回的确认号ack必须时接收到的请求报文序列号加1,故ack=11221;至于主机乙的序列号seq则是一个随机值,可以任意设置。

  9、TCP使用(  )进行流量控制。 

    A、三次握手机制

    B、窗口控制机制

    C、自动重发机制

    D、端口机制

  答:B,考察流量控制基础概念。

  10、在 TCP/IP 体系结构中,直接为 ICMP 提供服务的协议是 ()
    A. PPP   B. IP   C. UDP   D. TCP

  答:B,ICMP 是网络层协议, ICMP 报文作为数据字段封装在 IP 分组中。

  11、使用校园网浏览网页时可能不会用到的协议有()

    A.PPP协议    B.ARP协议    C.DNS协议    D.SMTP协议
  答:D,当接入网络时可能会用到 PPP 协议,A 可能用到;而当计算机不知道某主机的 MAC
地址时,用 IP 地址查询相应的 MAC 地址时会用到 ARP 协议,B 可能用到;而当访问 Web
网站时,若 DNS 缓冲没有存储相应域名的 IP 地址,用域名查询相应的 IP 地址时要使用 DNS
协议,而 DNS 是基于 UDP 协议的,所以 C 可能用到,SMTP 只有使用邮件客户端发送邮件,
或是邮件服务器向别的邮件服务器发送邮件时才会用到,单纯的访问 Web 网页不可能用到
 

二、应用题

  某公司网络拓扑图如下图所示,路由器R1通过接口E1、E2分别连接局域网1、局域网2,通过接口L0连接路由器R2,并通过路由器R2连接域名服务器与互联网。R1的L0接口的IP地址是202.118.2.1;R2的L0接口的IP地址是202.118.2.2,L1接口的IP地址是130.11.120.1,E0接口的IP地址是202.118.3.1;域名服务器的IP地址是202.118.3.2。

  R1和R2的路由表结构为:

目的网络IP地址

子网掩码

下一跳IP地址

接口

  (1)将IP地址空间202.118.1.0/24划分为两个子网,分配给局域网1、局域网2,每个局域网分配的地址数不少于120个,请给出子网划分结果。说明理由或给出必要的计算过程。

  (2)请给出R1的路由表,使其明确包括到局域网1的路由、局域网2的路由、域名服务器的主机路由和互联网的路由。

  (3)请采用路由聚合技术,给出R2到局域网1和局域网2的路由。

答案及知识点解析:考察网络层

  (1)无类IP地址的核心是采用不定长的网络号和主机号,并通过相应的子网掩码来表示(即网络号部分为1,主机号部分为0)。本题中网络地址位数是24,由于IP地址是32位,因此其主机号部分就是8位。因此,子网掩码就是11111111 11111111 11111111 00000000,即255.255.255.0。 根据无类IP地址的规则,每个网段中有两个地址是不分配的:主机号全0表示网络地址,主机号全1表示广播地址。因此8位主机号所能表示的主机数就是2的8次方—2,即254台。该网络要划分为两个子网,每个子网要120台主机,因此主机位数X应该满足下面三个条件:  X<8,因为是在主机号位长为8位的网络进行划分,所以X一定要小于8位。  2的X次方>120,因为根据题意需要容纳120台主机。  X是整数。 解上述方程,得到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路由表

目的网络IP地址

子网掩码

下一跳IP地址

接口

202.118.1.0

255.255.255.128

Direct

E1

202.118.1.128

255.255.255.128

Direct

E2

202.118.3.2

255.255.255.255

202.118.2.2

L0

0.0.0.0

0.0.0.0

202.118.2.2

L0

  (3)填写R2到局域网1和局域网2的路由表2。局域网1和局域网2的地址可以聚合为202.118.1.0/24,而R2去往局域网1和局域网2都是同一条路径。因此,路由表里面只需要填写到202.118.1.0/24网络的路由即可,如下表所示

R2路由表

目的网络IP地址

子网掩码

下一跳IP地址

接口

202.118.1.0

255.255.255.0

202.118.2.1

L0

 

以上是关于如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?的主要内容,如果未能解决你的问题,请参考以下文章

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平