zoukankan      html  css  js  c++  java
  • 如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

    课程概要和重心

    本课程从实践入手循序渐进,以Linux系统环境和Linux内核源代码为例,将Linux网络相关命令用法、Socket网络编程、TCP协议、IP协议及路由表、ARP协议及ARP缓存、二层交换网络的学习转发和过滤数据库等互联网架构的关键环节一一解析,并通过MenuOS实验系统进行代码跟踪分析。最终理解分析打开一个网页背后互联网的工作过程,其中重点分为三个抽象层次:一是便于人类理解的记忆的编址方式DNS Naming;二是便于全球定位编址和路由的IP Networking;三是便于局域网中实际完成数据交换传输的Layer 2 Switching;同时在理解互联网体系结构的基础上探寻它的历史演化渊源,乃至发现它背后的设计哲学,解读未来网络的演进方向。

    选择题部分

    1.在实现基于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() 

    2.当一台计算机从FTP服务器下载文件时, 在该FTP服务器上对数据进行封装的五个转换步骤是( B)【百度文库】
    A. 比特,数据帧,数据包,数据段,数据
    B. 数据,数据段,数据包,数据帧,比特
    C. 数据包,数据段,数据,比特,数据帧
    D. 数据段,数据包,数据帧,比特,数据

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

    4.对地址转换协议(ARP)描述正确的是( B )【408】
    A、ARP封装在IP数据报的数据部分 B、ARP是采用广播方式发送的
    C、ARP是用于IP地址到域名的转换 D、发送ARP包需要知道对方的MAC地址

    5.关于互联网中IP 地址,下列叙述错误的是 ( D )【408】
    A、在同一个局域网上的主机或路由器的IP 地址中的网络号必须是一样的。
    B、用网桥互连的网段仍然是一个局域网,只能有一个网络号。
    C、路由器总是具有两个或两个以上的IP 地址。
    D、当两个路由器直接相连时,在连线两端的接口处,必须指明IP 地址。

    6.以下为路由选择协议的是( A )【百度文库】

    A.RIP B. ICMP C.PPP D.ARP

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

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

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

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

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

    简答题部分

    1.请简述TCP/UDP的区别

    TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。
    两者的区别大致如下:

    • TCP面向连接,UDP面向非连接即发送数据前不需要建立链接
    • TCP提供可靠的服务(数据传输),UDP无法保证
    • TCP面向字节流,UDP面向报文
    • TCP数据传输慢,UDP数据传输快
    • TCP提供一种面向连接的、可靠的字节流服务
    • 在一个TCP连接中,仅有两方进行彼此通信,因此广播和多播不能用于TCP
    • TCP使用校验和,确认和重传机制来保证可靠传输
    • TCP使用累积确认
    • TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制

    2.在浏览器中输入www.baidu.com后执行的全部过程

    应用层:客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。

    • DNS解析过程

    • HTTP请求与响应

     运输层:在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层(网络层)的IP地址查找目的端。

     网络层:客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。

     链路层:客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

    3.什么是路由选择协议,路由选择协议的分类

    路由选择协议的任务就是要确定数据报在源与目的地之间采用的路径。

    路由选择协议分为:静态的和动态的。Internet中使用的是动态路由选择协议,在Internet的概念中,将整个互联网划分为许多个小的自治系统(AS)。AS的最主要的特征:一个AS对其他AS表现出的是一个单一 和一致的路由选择策略。

    由于AS的存在,路由选择协议又分为两种:

    • 内部网关协议(IGP):即在一个AS内部使用的路由选择协议,而这与互联网中其他AS选用什么路由协议无关。比如:RIP,OSPF
    • 外部网关协议(EGP):若源主机和目的主机不再同一个AS中,就需要使用一种协议将路由选择信息传递到另一个AS中,这就是EGP。比如:BGP。

    4.TCP和UDP的应用场景

    TCP:当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 
    在日常生活中,常见使用TCP协议的应用如:浏览器,用的HTTP;FlashFXP,用的FTP;Outlook,用的POP、SMTP;Putty,用的Telnet、SSH;QQ文件传输

    UDP:当强调传输性能而不是传输的完整性时, 要求网络通讯速度能尽量的快。如:QQ语音 QQ视频等。

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

    因为只需要划分两个子网,所以只需要取主机号一位就可以划分了,每个子网的IP地址数就是2^7-2个也就是126个(减去全为0和全为1的),符合题目要求。
    局域网1的IP地址范围:202.118.1.1~202.118.1.126
    局域网2的IP地址范围: 202.118.1.129~202.118.1.254
    两个局域网的子网掩码都是 255.255.255.128

        

    综合题部分

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

                 图 47-a 图 网络拓扑

     请参考图中的数据回答以下问题。

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

  • 相关阅读:
    JS学习笔记-OO疑问之对象创建
    文件系统类型:
    Swift 编程语言新手教程
    数组长度计算
    tomcat配置文件server.xml具体解释
    openGL点精灵PointSprite具体解释: 纹理映射,旋转,缩放,移动
    iOS安全攻防(三):使用Reveal分析他人app
    逍遥叹
    oracle存储过程实例
    Java爬虫
  • 原文地址:https://www.cnblogs.com/cccc2019fzs/p/12177949.html
Copyright © 2011-2022 走看看