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


    题目来源于各学校网络程序设计课程的期末试题以及博客上的总结。

    一、选择题

    1.如果进程A调用fork函数,创建进程B,然后B进程再调用fork函数,创建进程C,进程C调用exec执行新的程序,那么各个进程将以什么顺序来执行?(D)

    A. 以A、B、C的顺序执行

    B. 以C、B、A的顺序执行

    C. 以B、C、A的顺序执行

    D. 无固定执行顺序

    2.以下不属于socket的类型是(D)

    A. 流式套接字

    B. 数据报套接字

    C. 原始套接字

    D. 网络套接字

    3.路由器是根据哪一层的信息作为数据报选择路由(C)

    A. 物理层

    B. 数据链路层

    C. 网络层

    D. 传输层

    4. 在实现基于TCP的网络应用程序时,服务器端正确的处理流程是(C)

    A. socket()->bind()->listen()->connect()->read()/write()->close()

    B. socket()->bind()->listen()->read()/write()->close()

    C. socket()->bind()->listen()->accept()->read()/write()->close()

    D. socket()->connect()->read()/write()->close()

    5. 服务与协议是完全不同的两个概念,下列关于它们的说法错误的是(C)

    A. 协议是水平的,即协议是控制对等实体间通信的规则。服务是垂直的,即服务是下层向上层通过层间接口提供的。

    B. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

    C. 协议的实现保证了能够向上一层提供服务。

    D. OSI将层与层之间交换的数据单位称为协议数据单元PDU。

    二、判断题

    1. 发起对等通信的应用程序为服务器。(F)

    解析:发起对等通信的应用程序为客户端。

    2. 循环服务器描述的是一个时刻可以处理多个请求的一种服务器实现。(F)

    解析:循环服务器在同一个时刻只可以响应一个客户端的请求。

    3. bind()函数用于将套接字和某个地址绑定。(T)

    4. IP地址是识别Internet网络中的主机及网络设备的唯一标识。(T)

    5. ICMP是用在传输层的协议。(F)

    解析:ICMP使用在网络层。

    三、简答题

    1.什么是TCP的三次握手机制?TCP的三次握手机制过程简述。

    解答:

           含义:为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号发送给目标机,并需要这些包传送给目标机之后的确认信息。TCP总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP。

           简述“三次握手”:(1)Client先产生一个初始序列号seq,SYN标志位置1,将该数据包发送给Server端,之后Client端进入SYN_SENT状态,等待Client确认。(2)Server收到数据包后也发送自己的SYN报文作为响应,并初始化序列号seq,为了确认Client的seq,Server将Client发送的seq加1作为ACK发送给Client,Server进入SYN_RCVD状态。(3)为了确认Server的SYN,Client将Server发送的seq加1作为ACK发送给Server。Client和Server进入ESTABLISHED状态,完成三次握手。

    2.面向连接的服务的优缺点?

    解答:

    (1)优点:易于编程;自动处理分组丢失,分组失序;自动验证数据差错,处理连接状态。

    (2)缺点:对每个连接都有一个单独的套接字,耗费更多的资源;在空闲的连接上不发送任何分组;始终运行的服务器会因为客户的崩溃,导致无用套接字的过多而耗尽资源。

    3. IP通过什么协议转换域名和MAC地址?

    解答:

      通过DNS(域名解析)协议转换成域名。DNS是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应的IP地址,并具有将域名转换成IP地址功能的服务器。

      通过ARP(地址转换协议)协议转换成MAC地址,反过来MAC到IP地址的转换是RARP(逆地址转换协议)。

  • 相关阅读:
    7.服务器上用命令ffprobe看流质量
    filebeat记录
    Dubbo 一篇文章就够了:从入门到实战
    c/c++系列的运算符优先级总结
    动态单链表的传统存储方式和10种常见操作-C语言实现
    代码的规范化—高质量程序的结构(一)
    动态分配的顺序线性表的十五种操作—C语言实现
    IOS开发初步
    大数据方面一个博客
    Task not found in root project
  • 原文地址:https://www.cnblogs.com/yll333/p/12173687.html
Copyright © 2020-2023  润新知