计算机网络基本知识点(一)

1.网络协议的三个核心要素是什么?各有什么作用?

网络协议的三个要素是:语法,语义,同步

三个要素的含义是:

(1)语法,即用户数据与控制信息的结构和格式。

(2)语义,即需要发出何种控制信息,以及完成的动作与做出的响应。

(3)时序,即对事件实现顺序的详细说明。

ICMP 是什么协议?处于哪一层?

   ICMP协议属于网络层协议。ICMP协议向数据通讯中的源主机报告错误,可以实现故障隔离和故障恢复,其在网络中的主要作用有主机探测、路由维护、路由选择、流量控制等。

什么是程序局部性,为什么会有程序的空间局部性?

    程序局部性是指程序在运行时呈现出局部性规律,在-段时间间隔内,程序的执行是局限在
某个部份所访问的存储空间也只局限在某个区域。空间局部性是指若- 个存储单元被访问,
那么它附近的单元也可能被访问,这是由于程序的序执行弓|起的。

为了实现重定位,需要哪些硬件?

    最简单的方式是在系统中增设一个重 定位寄存器用来存放正在执行作业的内存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实际的特理地址。当然在分页式与分段式系统中,具地址变换机构,以及快表等硬件。

在交互式系统中,非剥夺是不是一个好的策略?为什么?

    非剥夺方式:分派程序一旦把处理机分配给某进程后便让它- -直运行 下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另-个进程。

    剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程、优先原则、时间片原则。

    在分时系统中不剥夺并不是一个好的策略。因为,在分时系统中,除了交互性以外,及时性是很重要的性能因素。当一个作业被阻塞后,CPU就完全空闲了,别的用户的及时性就无法保证了,而完全可以把这些时间分配给别的作业运行。以提高整体的吞吐量。

 

何为死锁?何为系统调用?

死锁:指多个有关进程由于争夺资源而造成的一种僵局,在无外力的情况下这些进程都将无法再向前推进的状态。

系统调用:系统调用是OS与应用程序之间的接口,它是用户程序取得OS服务的惟一途径。

它与一般的过程调用的区别:

运行在不同的系统状态。调用程序在运行在用户态,而被调用的程序运行在系统态;

通过软中断机制,先由用户态转为系统态,经枋心分析后,才能转向相应的系统调用处理子程序;一般的过程调用返回后继续执行,但对系统调用,当调用的进程仍具有最高优先权时,才返回到调用进程继续处理;否则只能等被重新调度;

 

CPU 不执行程序的时候在干什么?

    当没有被任何程序使用的时候,计算机的处理器被认为是空闲的。当然下面提到的空闲任务不在此列中。当有程序利用CPU空闲时间的时候,就意味着它以较低的优先权运行着,以便不会影响那有正常优先权的程序运行。一般来讲,这会引起CPU消耗更多的电能,而大多数的现代CPU当它们空闲的时候是能够进入省电模式的。大多数操作系统都有个空闲任务,它是一个特殊的任务。仅当CPU无事可做的时候由操作系统调度器载入它。在现代的处理器中,HLT停机指令节省了大量的电能与执量,而空闲任务几乎总是由一个重复执行HLT停机指令的循环组成。

 

试举例解释一下同步和互斥

同步表现为直接制约,如管道通信,一个进程写,一个进程读,它们是相互制约的。

互斥表现为间接制约,比如多个进程同时请求打印机(没使用SPOOLing技术)、多个进程同时请求一张网卡发送数据包等。

 

在可变分区管理中,需要哪些硬件机制?

   采用可变分区方式管理时,一般均采用动态重定位方式装入作业。地址变换要靠硬件支持,主要是两个寄存器:基址寄存器和限长寄存器,限长寄存器存放作业所占分区的长度,基址寄存器则存放作业所占分区的起始地址,这两个值确定了一个分区的位置和大小。

转换时根据逻辑地址与限长值比较,如果不有超过这个值,表示访问地址合法,再加上基址寄存器中的值就得到了绝对地址了,否则形成“地址越界”中断。

谈一谈中断和陷入的区别

    外中断时指来自处理机和内存外部的中断,如I/O中断、定时器中断、外部信号中断等。狭义上也叫中断;

内中断主要指在处理机和内存内部产生的中断,也称陷入,如校验错、页面失效、溢出、除数为零等;

中断和陷阱的主要区别:

(1)陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。

(2) 陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。

(3) CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。

 

数据库系统和文件系统相比有什么优点?

文件系统

数据库管理系统

某一应用

现实世界

共享性差,冗余度大

共享性高,冗余度小

记录内有结构,整体无结构

整体结构化,用数据模型描述

应用程序自己控制

由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力

独立性差

具有高度的物理独立性和一定的逻辑独立性

 

谈一谈计算机网络和分布式计算机系统的区别

   两者在计算机硬件连接、系统拓朴结构和通信控制等方面基本都是一样的,它们都具有通信和资源共享的功能。

区别关键在于:分布式计算机系统是在分布式计算机操作系统支持下,进行分布式数据库处理的,也就是说各互联的计算机可以互相协调工作,共同完成一项任务,多台计算机上并行运行。且具有透明性,用户不知道数据、资源的具体位置,整个网络中所有计算机就像是一台计算机一样;而计算机网络却不具备这种功能,计算机网络系统中的各计算机通常是各自独立进行工作的。

 

为什么要引入多道程序技术?

   因为引入多道程序技术后,可以进一步提高了CPU利用率(阻塞),提高内存和I/O设备利用率(小作业把内存浪费了),增加系统吞吐量(两都提高后的必然)。

 

何为管态和目态?它们与进程运行状态的关系是什么?

    CPU交替执行操作系统程序和用户程序。管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。

目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。

 

何为网络延时?何为完整性约束?

时延(delay或latency)是指一个报文或分组从一个网络(或一条链路)的一端传送到另一端所需的时间。

数据完整性约束指的是为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。

简单理解:按照一定的约束条件防止不符合规范的数据进入数据库

 

谈一谈你对当前 5G 技术和云计算技术的理解

     5G,第五代移动通信技术,有三个关键特征,超高速率,实现每秒10Gb的下载速率,是4G的100倍。超可靠超低时延,实现1ms的低时延,是4G时延的40分之一;超大连接,实现每平方公里100万的连接数,是4G的100倍。

云计算技术:分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算具有很强的扩展性和需要性,可以为用户提供一种全新的体验,云计算的核心是可以将很多的计算机资源协调在一起,因此,使用户通过网络就可以获取到无限的资源,同时获取的资源不受时间和空间的限制。

 

点对点和端对端工作在哪层?工作机制是什么?

      点对点协议(Point to Point Protocol)的缩写为PPP,是TCP/IP网络协议包的一个成员。PPP是TCP/IP的扩展,它增加了两个额外的功能组:

(1)它可以通过串行接口传输TCP/IP包;

(2)它可以安全登录。

   数据传输的可靠性是通过数据链路层和网络层的点对点和传输层的端对端保证的。点对点是基于MAC地址或者IP地址,是指一个设备发数据给另外一个设备,这些设备是指直连设备包括网卡,路由器,交换机。端对端是网络连接,应用程序之间的远程通信。端对端不需要知道底层是如何传输的,是一条逻辑链路。

端到端与点到点是针对网络中传输的两端设备间的关系而言的。端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备问建立一条链路,就像它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功。点到点系统指的是发送端把数据传给与它直接相连的设备,这台设备在合适的时候又把数据传给与之直接相连的下一台设备,通过一台一台直接相连的设备,把数据传到接收端。 端到端传输的优点是链路建立后,发送端知道接收设备一定能收到,而且经过中间交换设备时不需要进行存储转发,因此传输延迟小。端到端传输的缺点是直到接收端收到数据为止,发送端的设备一直要参与传输。如果整个传输的延迟很长,那么对发送端的设备造成很大的浪费。端到端传输的另一个缺点是如果接收设备关机或故障,那么端到端传输不可能实现。 点到点传输的优点是发送端设备送出数据后,它的任务已经完成,不需要参与整个传输过程,这样不会浪费发送端设备的资源。另外,即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲。点到点传输的缺点是发送端发出数据后,不知道接收端能否收到或何时能收到数据。 在一个网络系统的不同分层中,可能用到端到端传输,也可能用到点到点传输。如Internet网,IP及以下各层采用点到点传输,IP层以上采用端到端传输。

端对端,点对点,只是称为问题,本质区别很小

端对端,主要服务于Application Layer,是说两台主机(终端),跨过网络直接连接

点对点,是说两台主机(终端)在局域网中传输。

 

DBMS 支持哪几种数据模型?SQL 的四个组成部分是什么?

  常用的是层次模型,网状模型和关系模型(最重要)

SQL的四个组成部分:

1、数据库模式定义语言DDL:create用来创建数据库中的各种对象——表、视图、索引、同义词、聚簇等

2、数据查询语言dql:基本结构是由SELECT子句,FROM子句和WHERE子句组成的查询块

3、数据操纵语言dml:插入INSERT、更新UPDATE和删除DELETE

4、数据控制语言dcl:用来授予或回收访问数据库的某种特权,并控制数据库操纵事物发生的时间和效果,对数据库实行监视等

 

谈一谈网络时延由哪几个部分组成?各产生于何处?

    网络时延主要由发送时延,传播时延,处理时延组成。发送时延是指结点在发送数据时使数据块从结点进入到传输媒体所需的时间,也就是从数据块的第一个比特开始发送算起,到最后一个比特发送完毕所需的时间。发送时延又称为传输时延,它的计算公式是:

发送时延=数据块长度/信道带宽

信道带宽就是数据在信道上的发送速率,它也常称为数据在信道上的传输速率。

传播时延是指从发送端发送数据开始,到接收端收到数据(或者从接收端发送确认帧,到发送端收到确认帧),总共经历的时间。

传播时延 = d/s

d = 物理链路的长度

s = 介质的信号传播速度 (~2×108 m/sec)

处理时延是指计算机处理数据所需的时间,与计算机CPU的性能有关。

 

TCP/IP 网络协议的核心是什么?如何引出”over everything”和”everythingover”。

TCP/IP协议的核心是TCP、UDP和IP协议

分层次画出具体的协议来表示TCP/IP协议族,它的特点是上下两头大而中间小:应用层和网络接口都有很多协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。这种很像沙漏计时器形状的TCP/IP协议族表明:TCP/IP协议可以为各种各样的应用提供服务(everything over ip) 同时TCP/IP协议也允许IP协议在各种各样的网络构成的互联网上运行(IP over everything)。

 

谈一谈 ARP 地址解析协议的工作原理。

网络层以上的协议用IP地址来标识网络接口,但以太数据帧传输时,以物理地址来标识网络接口。因此我们需要进行IP地址与物理地址之间的转化。

对于IPv4来说,我们使用ARP地址解析协议来完成IP地址与物理地址的转化(IPv6使用邻居发现协议进行IP地址与物理地址的转化,它包含在ICMPv6中)。

ARP协议提供了网络层地址(IP地址)到物理地址(mac地址)之间的动态映射。ARP协议 是地址解析的通用协议。

 

ARP地址解析实现原理

   每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
主机(网络接口)新加入网络时(也可能只是mac地址发生变化,接口重启等), 会发送免费ARP报文把自己IP地址与Mac地址的映射关系广播给其他主机。
网络上的主机接收到免费ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。
某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。
当本网络的所有主机收到该 ARP 数据包时:
(A)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。

(B)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。

(C) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。

6.源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

 

谈一谈 DNS 域名系统的工作原理

DNS(Domain Name System,域名系统)

因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

主机名到IP地址的映射有两种方式:DNS

  1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;

  2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。

  通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

比如我们游览一个网站的时候,打开一个网址, 这个时候 我们的电脑会首先发送一个数据包个 DNS系统 ,DNS系统回应一个数据包给我们,然后再转到我们游览的网站! 那个数据包里面就包含这个 我们访问的这个网站,然后返回来的数据包是 解析成了IP地址,然后就能通过TCP/IP协议通信了!

再比如我们发送baidu.com到DNS服务器,DNS服务器发给我们百度的服务器的IP,如果我们直接输入IP就绕开了解析这一个步骤

何为网桥?防火墙的端口防护是指什么?

网桥:网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。

网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。

防火墙端口防护:指通过对防火墙的端口开关的设置,关闭一些非必需端口,达到一定安全防护目的行为。

 

面向连接和非面向连接服务的特点

面向连接

   面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。

非面向连接的服务

   不需要预先建立一个联络两个通信节点的连接,需要通信的时候,发送节点就可以往网络上发送信息,让信息自主地在网络上去传,一般在传输的过程中不再加以监控。

 

TCP 为什么三次握手而不是两次握手

两个原因:1.保证消息的有序传输  2.防止有链接失效资源浪费

防止已失效的连接请求又传送到服务器端,因而产生错误或者资源的浪费。如果不是出于这种担心,两次握手完全可以建立连接。正常情况下是,客户端发出连接请求,告知服务端自己的序列号。接收端接收到消息后,向客户端发送自己的序列号。这样连接就已经可以建立了。再说异常情况,第一次握手失败,服务端收不到信号,自然没有第二次握手。这个时候客户端会重新发送第一次握手的信息,直到超时或者成功收到第二次握手信息。如果第二次握手失败,同样客户端会重新发送信号,直到建立连接或者成功为止。这样建立连接是不存在问题的,不是你说的两次握手建立不了连接。问题的根源就是教科书上说的,如果仅仅只有两次握手,如果客户端已经连接超时失败,放弃连接了。这个时候超时的信号又到了服务端,服务第二次握手,认为建立了连接,服务器资源就被浪费了。如果是三次握手,就不存在这个问题了。因为客户端已经放弃了,服务端是不会收到第三次握手的,不会误认为连接建立成功了。

 

什么是差错检测

在数据链路层检测数据传输错误的方法一般是通过对差错编码进行校验来实现,常见的有奇偶校验码(PCC)

奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中”1″的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。

和循环冗余校验(CRC)(CRC 算法的基本思想是将传输的数据当做一个位数很长的数。将这个数除以另一个数。得到的余数作为校验数据附加到原数据后面。)。PCC就不用多说了,在最后设置一个奇偶校验位。循环冗余校验是一种根据传输或保存的数据而产生固定位数校验码的方法,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收端进行检验确定数据是否发生变化。

何为虚拟局域网 VLAN?

虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。

举例:一个电脑安装多个虚拟机。虚拟机之间的相互通讯

两台笔记本连起来后 ping 不同,你觉得可能存在哪些问题?

1.网线是不是不同,网口坏了

2.网卡驱动失效不能上网

3.防火墙拦截

4.ip设置错误

 

自适应网卡只有红灯闪烁,而绿灯不亮,这种情况正常吗?

正常。自适应网卡红灯代表连通 / 工作,即连通时红灯长亮,传输数据时闪烁,绿灯代表全双工,即全双工状态是亮,半双工状态灭。如果一个半双工的网络设备(如 HUB )和自适应网络相连,由于这张网卡是自适应网卡,它就会工作在半双工状态,所以绿灯不亮也属于正常情况。

补充:网卡红绿灯是网卡工作的指示灯,红灯亮表示正在发送或接收数据,绿灯亮则表示网络连接正常。因此正常情况下应该是绿灯长亮,因为绿灯长亮才代表网络是通的。而有数据传输时,红灯就会闪烁。

 

与 IP 协议配套的其他协议有哪些?

网际协议IP是TCP/IP体系中两个最主要的协议之一。与IP协议配套使用的还有四个协议:
地址解析协议ARP
(Address ResolutionProtocol)
逆地址解析协议RARP
(Reverse Address ResolutionProtocol)
网际控制报文协议ICMP
(Internet Control MessageProtocol)
网际组管理协议IGMP
(Internet Group ManagementProtocol)

谈一谈 IPV6 与 IPV4 的区别。

IPv6与IPv4的区别主要有以下几点:
1.IPv6的地址空间更大。IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。夸张点说就是,如果IPV6被广泛应用以后,全世界的每一粒沙子都会有相对应的一个IP地址。
2.IPv6的路由表更小。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
3.IPv6的组播支持以及对流的支持增强。这使得网络上的多媒体应用有了长足发展的机会,为服务质量控制提供了良好的网络平台。
4.IPv6加入了对自动配置的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
5.IPv6具有更高的安全性。在使用IPv6网络中,用户可以对网络层的数据进行加密并对IP报文进行校验,这极大地增强了网络安全。

 

如果通过域名无法访问,而通过 IP 地址能访问。这是怎么回事?你将如何解决?

1.IP没有解析到对应的域名上面

2.没有绑定dns服务

为什么有些网站无法通过IP地址进行访问,却能通过域名访问?

http1.1的host中加入了主机号,只有通过主机号(域名)才能识别对应的网站

在HTTP/1.1中加了Host这个首部,Host首部用于携带主机名(也称为域名)。如 Host:www.baidu.com 这样就算多个虚拟网站共享一个IP地址,最后服务器也能通过Host首部中携带的主机名来确定用户访问的是那个网站了。

 

模拟信号到数字信号是如何转化的?

第一个过程是“抽样”,就是以相等的间隔时间来抽取模拟信号的样值,使连续的信号变成离散的信号。

第二个过程叫“量化”,就是把抽取的样值变换为最接近的数字值,表示抽取样值的大小。

第三个过程是“编码”,就是把量化的数值用一组二进制的数码来表示。经过这样三个过程可以完成模拟信号的数字化,这种方法叫作“脉冲编码”。

数字信号传送到接收端后,需要有一个还原的过程,即把收到的数字信号再变回模拟信号,为接收者所能理解。这个过程叫作“数模变换”,使之再现为声音或图像。

 

谈一谈计算机由哪些部件组成?如何加强计算机网络安全管理?

  计算机的五大组成内容包括:控制器(CU)、运算器(ALU)、存储器(Memory)、输入设备(Input)和输出设备(Output)。

1.建立安全管理制度

2.设置防火墙

3.安装必要的杀毒软件

4.关闭没必要的端口

5.屏蔽一些来历不明的ip

6.使用https

 

谈一谈影响计算机操作系统稳定性的因素有哪些?

cpu  内存  电源 主板  恶意程序 垃圾回收

 

谈一谈 C 盘格式化需要注意什么?  备份

OSI 的七层模型是什么?

应用层  表示层 会话层 网络层 传输层 链路层 物理层

谈一谈数据通信的三种方式。

单工、半双工、全双工
单工数据传输只支持数据在一个方向上传输;
半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。

 

谈一谈你所熟悉的通信网络的检查方法有哪些?

1,先重启试试——查看网线——-查看IP——–查看网卡——查看驱动—–查看网络本身

请你谈一谈软件的形成有哪些步骤?

问题的定义及规划、需求分析、软件设计、程序编码、软件测试。

何为重载和重写?交换机的运行工作原理是什么?

重载:方法名一样参数不一样

重写:方法名和参数都一样

原理:

当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。

1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。

2.交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。

3.如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。

4.广播帧和组播帧向所有的端口转发。

功能:

寻址转发–连接两个局域网

ps:网桥是低配的交换机,只能转发mac地址。他们都工作在数据链路层

 

谈一谈关系型数据库有何特点?

表格型数据库。

关系型,当然就是关于这个表与表之间的关系,相互依赖关系,来减少冗余,比如:主外键关系
为了复合设计数据库所谓的三范式,而这样命名的。对于大数据量是很有必要的,一个字符串倒没有多大,但是海量数据的话,则很占用硬盘空间,不利于部署转移。

 

谈一谈你都使用过哪些计算机语言?都有什么特点?

java  跨平台,可靠的垃圾回收机制 简单

c语言 面向过程

C语言的优点有三个:

  1. 代码量小。
  2. 运行速度快。
  3. 功能强大。

比如 Microsoft Word 和 WPS,它们同样都是办公软件,功能也差不多,但 WPS 的安装文件只有 50MB 左右,而 Microsoft Word 的安装文件超过 500MB,有的甚至接近 1GB。原因就是 WPS 的内核是用C语言编写的。

C语言的第二和第三个优点是它的运行速度比较快和功能强大,我们可以通过一个例子来解释。世界上总共有三大操作系统:UNIX 操作系统是用纯C语言编写的;Windows 操作系统的内核也是用C语言编写的;Linux 操作系统仍是用纯C语言编写的。

这三大操作系统的内核全部都是用C语言编写的。为什么用C编写,因为C语言的速度最快。计算机中所有的软件都是在操作系统上运行的,如果操作系统的速度很慢,那么在它基础上运行的软件的速度就更慢了。而且计算机中的所有硬件都是由操作系统控制的。

举个简单的例子,你可以新建一个 Word 文档,这就意味着在硬盘上产生了这个文件。但是你并没有直接控制硬盘,我们是通过操作系统提供的“右键单击”等功能来新建文件的。也就是说,操作系统给我们提供了一个界面,或者说是给我们提供了一种可操作的手段,通过这个手段我们可以删除文件、新建文件、打开文件或者修改文件。

所以操作系统很重要,所有的硬件全部都是由操作系统控制的。而这么重要的东西只能用C语言来写,所以C语言很重要。为什么只能用C语言写?第一,C语言速度够快;第二,C语言可以访问硬件,所以它够强大。

为什么不能用 Java 写?首先,Java 太慢了;其次,Java 语言没有指针。没有指针就不能访问硬件,所以它的功能是不够的。指针是什么稍后会讲,它是C语言中非常重要的内容。

什么是指针?

指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:

何为多媒体?

可用计算机处理的多种信息载体的统称,包括文本、声音、图形、动画、图像、视频等。

谈一谈如何选择 Linux 操作系统版本?

CentOS适用于服务器,Ubuntu则适用于个人桌面  主要是发展方向不一样。centos主要是用于服务器。而ubuntu是面向个人而开发的操作系统。国际上不分秋色。

存储系统有哪三种?如何清理内存垃圾?

内存储器,外存储器,随机存储器

xp 系统文件的共享方法是什么?c#中委托和事件的区别是什么?

(1)C#中事件:事件时属于类的成员,所以要放在类的内部。

(2)委托属于一个定义,是和类、接口类似的,通常放在外部。

为什么在备份的时候运行不了 ghost文件?

可能备份的时候ghost出错

21.0.192.0/24 与 21.0.193.0/24 在路由器的地址网络段是多少?

网络号+主机号   前24位都是1后面的都是0

如果计算机坏了,你该怎么办?

如果不能开机把内存和硬盘取下来,用usb 备份到新的电脑上

如果系统坏了,用gost重新备份数据,在用大白菜重新安装系统

何为 TCP?何为 IP?

TCP是一种传输控制协议,是面向连接的、可靠的、基于字节流之间的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,TCP完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。

IP是网络之间互连的协议(IP Address)。

缩写为IP地址(英语:IP Address),是分配给用户上网使用的网际协议(英语:Internet Protocol, IP)的设备的数字标签。

常见的IP地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类。

TCP的四次挥手

就像两个人聊天

A:我要(下线了)关闭连接了

B:好的你(下吧)关吧

B:我也要(下了)关了

A:好的,拜拜

 

第一次挥手

客户端设置seq和 ACK ,向服务器发送一个 FIN(终结)报文段。此时,客户端进入 FIN_WAIT_1 状态,表示客户端没有数据要发送给服务端了。

第二次挥手

服务端收到了客户端发送的 FIN 报文段,向客户端回了一个 ACK 报文段。

第三次挥手

服务端向客户端发送FIN 报文段,请求关闭连接,同时服务端进入 LAST_ACK 状态。

第四次挥手

客户端收到服务端发送的 FIN 报文段后,向服务端发送 ACK 报文段,然后客户端进入 TIME_WAIT 状态。服务端收到客户端的 ACK 报文段以后,就关闭连接。此时,客户端等待 2MSL(指一个片段在网络中最大的存活时间)后依然没有收到回复,则说明服务端已经正常关闭,这样客户端就可以关闭连接了。

谈谈你对区块链的理解和看法。

是什么—分布式记账系统

举个栗子:一家公司如果采用传统的记账方式就很容易造假,因为账本是他自己的,他可以随意修改。而采用分布式账本他就改不了了,因为账本是网络成员大家一起记的,自己一个人或者几个人根本改变不了庞大的数字系统。

再比如,我转给你一分钱,你得到一分钱,我减少了一分钱,整个区块链网络所有用户的账本上都记下了这么一笔。

这就是区块链账本所具有的“去中心化、不可篡改、集体维护”等特点,这就保证了每个记录真实、透明、永久存在。

解决信任危机

刚开始的时候优点过于神话,优点泡沫但是后面随着社会发展一定会普及开来

 

谈一谈当前网络管理和多媒体的应用发展趋势。

随着网络通信等技术的发展和相互融合,使多媒体技术进入生活、科技、生产、企业管理、办公自动化、教育、医疗、交通、军事、文化娱乐、测控等领域。

何为虚拟地址、线性地址、物理地址和逻辑地址?它们之间有何区别与联系?

物理地址(physical address):用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到 最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是“与 地址总线相对应”,是更贴切一些,不过抛开对物理内存寻址方式的考虑,直接把物理地址与物理的内存一一对应,也是可以接受的。也许错误的理解更利于形而上的抽像。
逻辑地址(logical address):是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针 编程 中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。
线性地址(linear address)或也叫虚拟地址(virtual address)
跟逻辑地址类似,它也是一个不真实的地址,如果逻辑地址是对应的硬件平台 段 式管理转换前地址 的话,那么线性地址则对应了硬件 页式内存的转换前地址 。

谈一谈你对物联网的认识及其发展趋势。

万物互联,一体化操作 随着5G的普及低延迟高传输的背景下。会有更多的智能化产品影响我们的衣食住行。

何为数据库技术?主流的数据库管理系统软件有哪些?

数据库技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。

Oracle,mysql,sqlserve,sqllite,db2

计算机病毒的特点是什么?何为木马病毒?

计算机病毒是编制者在计算机程序中插入的破坏计算机功能或者数据的恶意代码代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。

计算机病毒具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。计算机病毒的生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期。

木马不传染,病毒传染,木马主要是盗取的密码及其他资料,而病毒是不同程度不同范围的影响电脑的使用,木马的作用范围是所有使用这台有木马的人在使用电脑时的资料,但是不会传染到其他机器,但是病毒可以随着软盘, U盘,邮件等传输方式或者媒介传染到其他机器。

 谈一谈你对计算机信息管理系统的认识。

OA   ERP等节省时间,降低企业管理成本

谈一谈自主访问控制(DAC)的基本思想。

DAC(Discretinoary Access Control),自主访问控制。它是传统的Linux访问控制方式。资源所有者负责管理访问控制权限,并通过ACL(Acess Control List)管理非所有者权限。
DAC思想:进程与其执行用户,拥有相同的权限。
例如:进程A,以root用户执行,进程A就拥有了root用户的权限。
基于DAC的安全策略,可以简单理解为常见的文件资源的读、写、执行,三个权限。

谈一谈软件工程的基本原理以及如何保证软件的质量

1、用分阶段的生命周期计划严格管理

  这一条是吸取前人的教训而提出来的。统计表明,50%以上的失败项目是由于计划不周而造成的。在软件开发与维护的漫长生命周期中,需要完成许多性质各异的工作。这条原理意味着,应该把软件生命周期分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。 玻姆认为,在整个软件生命周期中应指定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划。

  2、坚持进行阶段评审

  统计结果显示: 大部分错误是在编码之前造成的,大约占63%错误发现的越晚,改正它要付出的代价就越大,要差2到3个数量级。 因此,软件的质量保证工作不能等到编码结束之后再进行,应坚持进行严格的阶段评审,以便尽早发现错误。

  3、实行严格的产品控制

  开发人员最痛恨的事情之一就是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求我们要采用科学的产品控制技术来顺应这种要求。也就是要采用变动控制,又叫基准配置管理。当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。

  4、采纳现代程序设计技术

  从六、七时年代的结构化软件开发技术,到最近的面向对象技术,从第一、第二代语言,到第四代语言,人们已经充分认识到:方法大似气力。采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。

  5、结果应能清楚地审查

  软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。

  6、开发小组的人员应少而精

  开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多; 当开发小组为N人时,可能的通讯信道为N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大。

  7、承认不断改进软件工程实践的必要性

  遵从上述六条基本原理,就能够较好地实现软件的工程化生产。但是,它们只是对现有的经验的总结和归纳,并不能保证赶上技术不断前进发展的步伐。因此,玻姆提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。根据这条原理,不仅要积极采纳新的软件开发技术,还要注意不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的 软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。

何为生命周期?简要谈一谈软件开发的基本过程。

软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。

过程:收集需求—-制定计划—-编码—测试—–上线

谈一谈虚拟局域网的优点,结构化开发的优缺点。

1. 广播风暴防范:
限制网络上的广播,将网络划分为多个VLAN可减少参与广播风暴的设备数量。LAN分段可以防止广播风暴波及整个网络。VLAN可以提供建立防火墙的机制,防止交换网络的过量广播。使用VLAN,可以将某个交换端口或用户赋于某一个特定的VLAN组,该VLAN组可以在一个交换网中或跨接多个交换机, 在一个VLAN中的广播不会送到VLAN之外。同样,相邻的端口不会收到其他VLAN产生的广 播。这样可以减少广播流量,释放带宽给用户应用,减少广播的产生。
2. 安全:
增强局域网的安全性,含有敏感数据的用户组可与网络的其余部分隔离,从而降低泄露机密信息的可能性。不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需要通过路由器或三层交换机等三层设备。
3.成本降低:
成本高昂的网络升级需求减少,现有带宽和上行链路的利用率更高,因此可节约成本。
4.性能提高:
将第二层平面网络划分为多个逻辑工作组(广播域)可以减少网络上不必要的流量并提高性能。
5.提高IT员工效率:
VLAN为网络管理带来了方便,因为有相似网络需求的用户将共享同一个VLAN。
6.简化项目管理或应用管理:
VLAN 将用户和网络设备聚合到一起,以支持商业需求或地域上的需求。通过职能划分,项目管理或特殊应用的处理都变得十分方便,例如可以轻松管理教师的电子教学开发平台。此外,也很容易确定升级网络服务的影响范围。[1]
7. 增加了网络连接的灵活性。
借助VLAN技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境 ,就像使用本地LAN一样方便、灵活、有效。VLAN可以降低移动或变更工作站地理位置的管 理费用,特别是一些业务情况有经常性变动的公司使用了VLAN后,这部分管理费用大大降低。

何为网络适配器?其作用是什么?

适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件

它只是一个信号收发的设备。

谈一谈摩尔定律的主要内容。

1、集成电路芯片上所集成的电路的数目,每隔18个月就翻一番;
2、微处理器的性能每隔18个月提高一倍,而价格下降一半;
3、用一美元所能买到的计算机性能,每隔18个月翻两番 

递归算法你是怎么理解的?

自己调用自己,可以优化代码,减少冗余

面向对象语言的三大特征是什么?

分装、继承、多态

确定软件需求的步骤有哪些?

 收集、分类、绘图、评审需求。

 

数据量超过 10 万条,怎么优化查询语句?

1:查询语句where 子句使用时候优化或者需要注意的,具体文章

2:like语句使用时候需要注意

3:in语句代替语句

4:索引使用或是创建需要注意

交换机连接电脑,用的网线是哪类接线?

交换机都带有自反转功能,所以交换机和电脑之间使用直通(标准568A)或交叉网线(标准568B)都可以.

在局域网中电脑感染病毒后,应该如何处理?

1断网–杀毒–设置防火墙的防御等级

目前有哪几种流行的计算机操作系统?重装系统需要先做哪些操作?

windos   mac  linux  麒麟

备份–下载镜像–制作启动盘-

 

何为子网掩码?如何计算子网掩码?

由连续的1(网络号)和连续的0(主机号)组成,与主机ip按位与可以得到网络地址。划分子网的标识码。

广播地址全为1.1.1.1

保留地址:0.0.0.0

分别看是ABC中的哪一类地址,决定网络号的位数后面再补0

网络号全为1

A:0-127   网络号8

B:128-191      网络号16

C:192-223      网络号24

D:224-239    网络号32

嵌入式系统中经常要用到无限循环,你怎么样用 C 编写死循环呢?

for(;;) {   } 要比 while(1) {  } 的优势是:for 里面为空,编译执行之后没有判断的语句,而 while(1)始终都会有执行判断 1 = true,所以在单片机这种低速的、内存资源不多的环境,for(;;)是更好的选择。

谈一谈引用与指针的区别有哪些?

1、引用不能为空,指针可以为空。引用必须连接到一块合法的内存。
2、一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可 以在任何时候指向到另一个对象。
3、引用必须在创建时被初始化。指针可以在任何时间被初始化。

堆栈溢出一般是由于什么原因导致的?

答:1.函数调用层次太深。函数递归调用时,系统要在栈中不断保存函数调用时的现场和产生的变量,如果递归调用太深,就会造成栈溢出,这时递归无法返回。再有,当函数调用层次过深时也可能导致栈无法容纳这些调用的返回地址而造成栈溢出。
2.动态申请空间使用之后没有释放。由于C语言中没有垃圾资源自动回收机制,因此,需要程序主动释放已经不再使用的动态地址空间。申请的动态空间使用的是堆空间,动态空间使用不会造成堆溢出。
3.数组访问越界。C语言没有提供数组下标越界检查,如果在程序中出现数组下标访问超出数组范围,在运行过程中可能会内存访问错误。
4.指针非法访问。指针保存了一个非法的地址,通过这样的指针访问所指向的地址时会产生内存访问错误。

网络编程中设计并发服务器,使用多进程与多线程,请问有什区别

根本区别就一点:用多进程每个进程有自己的地址空间(address space),线程则共享地址空间。所有其它区别都是由此而来的:
1、速度:线程产生的速度快,线程间的通讯快、切换快等,因为他们在同一个地址空间内。
2、资源利用率:线程的资源利用率比较好也是因为他们在同一个地址空间内。
3、同步问题:线程使用公共变量/内存时需要使用同步机制还是因为他们在同一个地址空间内。

多线程的优势:
1. 创建与环境切换开销少
2. 同步的开销少(进程间同步一般牵涉OS内核)
3. 数据复制可通过“进程局部内存”

 

 

 

订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x