东软软件开发工程师(网络技术)综合笔试题及参考答案 - 高飞网
10人看过

东软软件开发工程师(网络技术)综合笔试题及参考答案

2014-03-19 01:28:45

1 请你分别画出OSI的七层网络结构图和TCP/IP的四层结构图。
答:OSI七层网络结构图,由上至下:
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
TCP/IP的四层结构图
应用层
传输层
互联层
链路层

2 请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢?
答:

2.1 IP协议:

2.1.1 介绍

2.1.1.1 出发点(Motivation)

Internet协议是为了在包交换(packet-switched)计算机通讯网络的互联系统中使用而设计的。我们称这样的系统为“catener”【1】。Internet协议提供从发起者(source)到目的地(destination)的块数据(数据报)的传输,发起者和目的地都是由固定长度的地址标识的主机(host)。如果需要,Internet协议也提供长数据报的分片(fragmentation)和重组(reassembly),以通过“小包”(small packet)网络传输大数据报。

2.1.1.2 范围(Scope)

internet协议仅限于提供在互联网络系统上从发起者到目的地投递一个internet数据报所需的功能。不提供增强端到端(end-to-end)的可靠性,流程控制(flow control),排序(sequencing),和其它主机到主机协议上常有的服务。internet协议可以支持网络提供不同类型和不同质量的服务(The internet protocol can capitalize on the services of its supporting networks to provide various types and qualities of service.)。

2.1.1.3 接口(Interfaces)

在internet环境中,本协议被视为主机到主机(host-to-host)的协议。本协议调用本地网络协议来携带internet数据报到下一个网关或者目的主机。

比如,TCP模块调用internet模块携带一个TCP分片(该分片包含了TCP头部和用户数据)作为一个internet数据报的数据部分。TCP模块会在internet头部中提供地址(addresses)和其他参数作为调用Internet模块的参数。然后internet模块会创建一个internet数据报并且调用本地网络接口来传输internet数据报。

比如,对于ARPANET,internet模块会调用一个本地网络模块(local net module),该模块会给internet数据报添加一个1822个字节的前导字符,创建一条传输给IMP的ARPANET消息。ARPANET地址将通过本地网络接口从internet地址中获取,该地址是ARPANET中的某些主机的地址,该主机可能是个到其他网络的网关。

2.1.1.4 操作(operation)

internet协议执行两个基本功能:寻址(addressing)和分片(fragmentation).

internet模块使用在internet头部中携带的地址来给目的地址传送internet数据报.传输路径的选择被称作选路(routing).

internet模块使用internet头部中的域来分片和重组internet数据报,这在通过”小包”网络传输的情况下是必要的.

操作模型是位于每个主机上的internet模块负责internet通信,位于每个网关上的internet模块负责网络互联.这些模块都具有解析地址,分片和重组数据报等相同的功能.另外,这些模块(特别是网关上的internet模块)具有选路和其他功能对应的程序.

internet协议将每个internet数据报视为同任何其他internet数据报无关的独立实体.这里不存在连接或者逻辑回路(虚的或其他).

internet协议使用4个主要的机制提供服务:服务类型(Type of Service),生存时间(Time to Live),操作(Operation)和校验和(Header Checksum).

服务类型用来指示要求的服务质量.服务类型是一个抽象的整套的参数,这些参数指定了组成internet的网络中提供的服务选择.这个服务指示类型在选路的时候被网关用来为某一个特定的网络,下一个网络或者下一个网关选择真实的传输参数.

生存时间数据报生存时间的上限.它由数据报的发送者设定,在网络上每个点,当数据报被处理的时候,逐渐递减.如果生存时间在internet数据报到达目的地址前达到0值,internet数据报就被销毁.生存时间可以看作一个自我销毁时间限制.

选项(options)提供了在某些情况下需要或有用的控制功能,但是大多数情况下是不必要的.选项包括时间戳(timestamp),安全(security)和特殊选路(special routing)

校验和提供了处理internet数据报使用到的信息被正确传输的确认.数据可能包含错误.如果校验和失败了,internet数据报就被检测到错误的实体立即丢弃.

Internet协议并没有提供可靠传输机制.没有端对端或者逐跳(hop-by-hop)的确认机制.没有数据的错误控制,只有一个头部校验和.没有重传.没有流控.。检测到的错误可以通过Internet 控制消息协议(ICMP)来报告,该协议在internet协议模块中实现.

2.2 TCP是Transmit Control Protocol(传输控制协议)的缩写,工作于传输层,TCP提供一种面向连接的,可靠的字节流服务。

2.3 UDP是User Datagram Protocol(用户数据报协议)的缩写,在运输层,UDP提供不可靠的传输数据服务

3 请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?
答:

3.1 交换机属于OSI第二层即数据链路层设备。它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。

3.2 路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生。

4 全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?
答:全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放),而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量就消失,所占据的内存释放。
在任何函数外面定义的变量就是全局变量,在函数内部定义的变量是局部变量,这是它们在程序中的实现过程。
操作系统和编译器是根据程序运行的内存区域知道他们的,程序的全局数据放在所分配内存的全局数据区,程序的局部数据放在栈区。

5 y ,3^MR一个byte几个单位。(计算机基础) P‑Ut$[@l@
答:8bit。 cC@i) 2X Sq1>\)A9

6 常用UNIX命令(Linux的常用命令)(至少10个);(Unix) aYP}ye# 7
答:ls pwd mkdir rmdir rm cp mv cd ps ping tail more echo adduser passwd logout exit,参见Linux的教材。x3,M!>9

7 简述你在以前的工作中做过哪些事情,比较熟悉什么。

此问题每个人都不一样。参考答案如下。

我过去的主要工作是系统测试和自动化测试。在系统测试中,主要是对BOSS系统的业务逻辑功能,以及软交换系统的Class 5特性进行测试。性能测试中,主要是进行的压力测试,在各个不同数量请求的情况下,获取系统响应时间以及系统资源消耗情况。自动化测试主要是通过自己写脚本以及一些第三方工具的结合来测试软交换的特性测试。

在测试中,我感觉对用户需求的完全准确的理解非常重要。另外,就是对BUG的管理,要以需求为依据,并不是所有BUG均需要修改。

测试工作需要耐心和细致,因为在新版本中,虽然多数原来发现的BUG得到了修复,但原来正确的功能也可能变得不正确。因此要注重迭代测试和回归测试。

 

 

还没有评论!
54.162.166.214