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

一、课程总结

        网络体系结构自顶向下可以划分为典型的四层结构如图所示,分别是应用层、传输层、网络层、网络接口层。

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

 

 

        在linux应用程序中,所有有关socket的系统调用(包括socket、bind、listen等)共用一个系统调用号112,系统调用名称为socketcall。内核执行函数entry_SYSCALL_64时,从寄存器rax中得知系统调用号为112,然后在系统调用表sys_call_table中找到112对应处理函数sys_socketcall的入口地址,并跳转执行。接着进入对应TCP协议处理函数。

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

   网络层主要有IP协议、ARP协议、ICMP协议等构成。IP协议负责数据的路由和传输,在源节点与目的节点之间传送数据报,但并不处理数据内容。数据报中有目的地址等必要内容,使每个数据报经过不同的路径也能准确地到达目的地,在目的地重新组合还原成原来发送的数据。。ARP(Address Resolution Protocol)即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。ICMP(Internet Control Message Protocol)即Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。除了ARP和RARP报文以外的几乎所有的数据都要经过IP协议进行传送。ARP和RARP报文没有封装在IP数据报中,而ICMP和IGMP的数据则要封装在IP数据报中进行传输。

二、填空题

1. 地址解析ARP就是将计算机中的协议地址翻译成物理地址(或称MAC地址,即媒体映射地址)。

2. 在TCP/IP应用中,域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。

3. TCP和UDP采用端口号来识别应用程序。

4. 建立一个TCP连接需要三次握手,而正常终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)特性造成的。

5. ICMP作为IP协议的附属协议,用来与其他主机或路由器交换错误报文和其他重要信息。

三、简答题

1. 请绘制流式套接字编程时序图。

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

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