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

一 课程大纲

本课程内容大纲如下:

1 互联网概述

  • 1.1 课程内容简介
  • 1.2 网络协议基础
  • 1.3 上网浏览网页背后的网络通信过程
  • 1.4 实验环境安装配置
  • 1.5 网络相关命令

2 Socket网络编程

  • 2.1 编译、构建和调试
  • 2.2 Socket接口
  • 2.3 UDP范例代码
  • 2.4 TCP范例代码

3 TCP协议

  • 3.1 TCP协议概述
  • 3.2 Linux网络协议栈源代码简介
  • 3.3 Linux系统的编译、构建和调试
  • 3.4 TCP协议源代码分析

4 IP协议及路由表

  • 4.1 IP协议基础
  • 4.2 路由表
  • 4.3 路由转发举例
  • 4.4 IP协议栈源代码解析
  • 4.5 路由协议简介
  • 4.6 网络层数据传输路径解析

5 ARP协议及ARP缓存

  • 5.1 ARP协议基础
  • 5.2 ARP解析的过程
  • 5.3 ARP解析在网络传输过程中的作用
  • 5.4 ARP协议栈源代码解析

6 二层交换网络及转发过滤数据库

  • 6.1 以太网基础
  • 6.2 交换机的学习、转发和过滤数据库
  • 6.3 常见二层协议
  • 6.4 数据链路层在Linux网络协议栈中的一些关键代码分析

7 DNS协议及域名存储与解析

  • 7.1 DNS协议基础
  • 7.2 DNS域名的存储
  • 7.3 DNS域名解析过程分析

8 互联网架构设计背后的渊源

  • 8.1 互联网架构设计的最初动机与核心目标
  • 8.2 互联网架构设计的具体目标及背后重要权衡

二 计算机网络知识水平与编程能力测试

【】中表示章节和题目来源

一 选择题

  1. 【1,网课“计算机网络”测试题】计算机网络中使用最广泛的交换技术是(C)

    A.电路交换

    B.报文交换

    C.分组交换

    D.线路交换

  2. 【2,原创】在Socket API中,以下哪个函数是用于获取传入连接请求的?(D)

    A.connect

    B.bind

    C.listen

    D.accept

  3. 【3,原创】网络层通过什么来查询路径?(A)

    A.路由器

    B.ARP表

    C.MAC地址表

    D.网桥表

  4. 【4,408-2017】若将网络21.3.0.0/16划分为128个规模相同的子网,则每个子网可分配的最大IP地址个数为(C)

    A.254

    B.256

    C.510

    D.512

  5. 【5,原创】以下哪条描述是错误的?(B)

    A.ARP协议用于将计算机的网络地址(IP地址32位)转化为物理地址(MAC地址48位)

    B.ARP协议从IP层收到IP数据包和next hop地址。

    C.ARP协议查找IP数据包的next hop地址时,若找到且状态是RESOLVED,将从项目中提取硬件MAC地址。将分组连同硬件MAC地址一起发送到数据链路层

    D.ARP缓存查询过程在Socket的connect函数中完成

  6. 【6,408-2015】下列关于CSMA/CD协议的叙述中,错误的是(B)

    A.边发送数据,边检测是否发生冲突

    B.适用于无线网络,以实现无线链路共享

    C.需要根据网络跨距和数据传输速率限定最小帧长

    D.当信号传播延迟趋近0时,信道利用率趋近100%

  7. 【7,408-2016】假设所有域名服务器均采用迭代查询方式进行域名解析。当H4访问规范域名为www.abc.xyz.com的网站时,域名服务器201.1.1.1在完成该域名解析过程中,可能发出DNS查询最少和最多次数分别是(C)

    A.0,3

    B.1,3

    C.0,4

    D.1,4

  8. 【8,原创】下列叙述中,错误的是(B)

    A.互联网架构设计的核心目标是开发一种能够将现存不同类型的网络互连起来充分利用(复用)的有效技术。

    B.互联网架构选择的方案是把状态信息保存在网络中间的分组交换节点上。在这种情况下,为了使信息不丢失,就需要把这些状态信息在传输节点之间复制。

    C.定级是开展网络安全等级保护工作的“基本出发点” ,定级要素包括受侵害的客体和客体的受侵害程度。

    D.网络安全等级保护工作包括定级、备案、建设整改、等级测评、监督检查五个阶段。

二 简答题

  1. 【1,原创】简述Socket中socket、connect、bind、listen、accept函数的功能。

    参考答案:

    • socket:创建一个新的套接字

    • connect:同远程服务器建立主动连接

    • bind:为套接字指明一个端口号,然后等待连接

    • listen:面向连接的服务器使用它将一个套接字置为被动模式,并准备接收传入连接。

    • accept:获取传入连接请求,返回新的连接的套接字描述符。

  2. 【2,原创】简述TCP数据传输过程

    TCP将用户数据打包(分割)成报文段;发送后启动一个定时器;另一端对收到的数据进行确认,对失序的重新排序,丢弃重复数据;TCP提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。

  3. 【3,原创】简述ARP的工作流程

    参考答案:

    首先主机A根据路由表找到IP地址,然后在自己的本地ARP缓存中检查主机B的匹配MAC地址。

    如果主机A在ARP缓存中没有找到映射,将ARP请求帧【请求帧中的请求的MAC地址为IP地址对应的MAC地址】广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。

    若主机B收到,发现匹配,则主机B将包含其MAC地址的ARP回复消息直接发送回主机A。

    当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。这样即建立了新的IP与MAC的映射。

  4. 【4,原创】简述DNS的递归查询过程,并且指出一般在什么情况下采用递归查询。

    参考答案:

    递归查询是指如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份, 向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

    主机向本地域名服务器的查询一般都是采用递归查询。

三 分析题

  1. 【1,408-2016】某主机的 MAC 地址为 00 -15 -C5 -C1 -5E -28 ,IP 地址为 10.2.128.100 (私有地址)。
    题 47 -a图是网络拓扑,题 47 -b图是该主机进行 Web 请求的 1个以太网数据帧前 80 个
    字节的十六进制及 ASCIIASCII码内容。 【408】

    image-20200109222316092

    图 47 -a图 网络拓扑
    0000 00 21 27 51 ee 00 15 c5 c1 5e 28 08 00 45 00 .! |!Q... ..^(..E.
    0010 01 ef 11 3b 40 00 80 06 ba 9d 0a 02 64 40 aa .. .:@... .....d@.
    0020 62 20 04 ff 00 50 e0 e2 fa 7b f9 f8 05 50 18 b ...P.. ..{...P.
    0030 fa f0 1a c4 00 47 45 54 20 2f 72 66 63 2e 68 ......GE T / rfc.h
    0040 74 6d 6c 20 48 54 54 50 2f 31 2e 0d 0a 41 63 tml HTTP /1.1..Ac

    题 47 -b图 以太网数据帧 (前 80 字节)
    请参考图中的数据回答以下问题。
    (1)WebWeb服务器的服务器的IP 地址是什么?该主机的 默认网关MACMAC地址是什么?
    (2)该主机在构造题)该主机在构造题47 -b图的数据帧时,使用什么协议确定目的图的数据帧时,使用什么协议确定目的MAC 地址?封装该地址?封装该协议请求报文的 以太网帧目MACMAC地址是什么?
    (3)假设)假设HTTP/1.1HTTP/1.1协议以持续的非流水线方式工作,协议以持续的非流水线方式工作,一次请求一次请求-响应时间为响应时间为RTTRTT, rf c.html.html页面引用了 5个 JPEGJPEG小图像,则从发出题 47 -b图中的图中的WebWeb请求开始到请求开始到浏览器收到全部内容为止,需要多少个 RTTRTT?
    (4)该帧所封装的)该帧所封装的IP 分组经过路由器 R转发时,需修改转发时,需修改IP 分组头中的哪些字段?
    注:以太网数据帧结构和 IP 分组头结构别如题 47 -c图、题图、题47 -d图所示。图所示。 6B image-20200109222419236

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

    ​ 以太网帧结构
    解答:
    (1)64.170.98.32 00 -21 -27 -21 -51 -ee
    以太网帧头部 6+2=14 字节, IP 数据报首部目的数据报首部目的IP 地址字段前有地址字段前有4*4=16 字节,从以字节,从以太网数 据帧第一字节开始14+16=30 字节,得目的字节,得目的IP 地址 40 aa 62 20(40 aa 62 20(十六进制十六进制),转换 为十进制得 64.170.98.3264.170.98.32。以太网帧的前六字节 00 -21 -27 -21 -51 -ee 是目的是目的MAC 地址,本地址,本题中即为主机的默认网关 10.2.128.1 端口的 MAC 地址。
    (2)ARP FF -FF -FF -FF -FF -FF
    ARP 协议解决协议解决IP 地址到地址到MAC 地址的映射问题。主机的地址的映射问题。主机的ARP 进程在本以 太网以广播的形 式发送 ARP 请求分组,在以太网上广播时,以太网帧的目的地址为全请求分组,在以太网上广播时,以太网帧的目的地址为全1,即 FF -FF FF -FF -FF -FF -FF 。
    (3) 6 HTTP/1.1 协议以持续的非流水线方式工作时,协议以持续的非流水线方式工作时,服务器在发送响应后仍然在一段时间内服务器在发送响应后仍然在一段时间内保持这段连接, 客户机在收到前一个响应后才能发送下一个请求。第一个客户机在收到前一个响应后才能发送下一个请求。第一个RTT 用于 请求 web 页面, 客户机收到第一个请求的响应后 (还有 五个请求未发送个请求未发送),每访问一次对象就用去一个,每访问一次对象就用去一个RTT 。故共 1+ 5=6 个 RTT 后浏览器收到全部内容。后浏览器收到全部内容。
    (4)源 IP 地址 0a 02 80 64 0a 02 80 64 改为 65 0c 7b 0f
    生存时间 (TTL) 减 1
    校验和字段重新计算
    私有地址和 Internet 上的主机通信时,须有上的主机通信时,须有NAT 路由器进行网络地址转换,把路由器进行网络地址转换,把IP 数据 报的源 IP 地址 (本题为私有地址本题为私有地址10.2.128.100) 转换为转换为NAT 路由器的一个全球路由器的一个全球IP 地址 (本题 为 101.12.123.15) 。因此,源。因此,源IP 地址字段地址字段0a 02 80 640a 02 80 64变为 65 0c 7b 0f65 0c 7b 0f。IP 数据报每经数据报每经过一个路由器,生存时间 TTL 值就减值就减1,并重新计算首部校验和。若 IP 分组的长度超过输 出链路的 MTU ,则总长度字段、标志片偏移也要发生变化。
    注意,图 47 -b中每行前每行前4bit 是数据帧的字节计数,不属于以太网数据帧的内容。是数据帧的字节计数,不属于以太网数据帧的内容。

  

你可能感兴趣的:(如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?)