只要是计算机相关工作,都需要了解这些,面试中也经常会被问到。
一、接口、协议和服务的概念
接口:下层向上层提供的原语操作
协议:同一层之间,通信双方进行信息交换必须遵守的规则
服务:不同层之间交换信息必须遵守的规则
二、计算机网络系统结构
三、网路各层的作用和协议
| 物理层:通过传输介质发送和接收二进制比特流。
属于物理层定义的典型规范如RJ-45等。
| 数据链路层: 数据的封装成帧、数据的透明传输、数据的差错检测。
数据链路层协议的代表包括:PPP、帧中继等
| 网络层: 负责对子网间的数据包进行路由选择,为分组交换网上的不同主机提供通信服务。
网络层协议的代表包括IP、ICMP、IGMP等。
| 运输层: 负责向两个主机中进程之间的通信提供服务。运输层还要处理端到端的差错检测(与数据链路层不同)、拥塞控制、流量控制等问题。
运输层协议的代表包括:TCP、UDP等。
| 应用层: 为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:FTP、HTTP、SNMP等。
四、数据如何在网络各层之间传输
物理层,数据链路层、网络层属于OSI模型的低三层,负责创建网络通信连接的链路,传输层、会话层、表示层和应用层是OSI模型的高四层,具体负责端到端的数据通信。当然,并不是所有通信都要通过OSI的全部七层,如物理接口之间的转接,只需要物理层中进行即可;而路由器与路由器之间的连接则只需网络层以下的三层。
五、在网络各层之间,数据是以什么单位进行传输的
在物理层数据传输的单位是比特;在数据链路层数据的传输单元称为帧;在网络层数据的传输单元称为数据包;在运输层数据的传输单元称为报文段。
六、同步通信与异步通信的区别(简称同步、异步)
同步通信:通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。
异步通信:异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地讲每一个字符接收下来。异步通信的好处是通信设备简单、便宜、但传输效率较低(因为开始位和停止位的开销所占比例较大)。
异步通信也可以是以帧作为发送的单位,接收端必须随时做好接收帧的准备。这时,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始,这也称为帧定界。帧定界还包含确定帧的结束位置,这有两种方法:一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束;或者在帧首部中设有帧长度的字段。需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说,发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的。发送端不需要在发送一
帧之前和接收端进行协调(不需要先进行比特同步)。
七、IP协议的定义,主要有什么作用?TCP与UDP呢?
IP协议(Internet Protocol):网际协议,主要提供网际互联的作用。
TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,在收发数据前,必须和对方建立连接。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议,它是面向非连接的协议,不与对方建立连接,而是直接就把数据包发送过去。
八、TCP最主要的特点
| TCP是面向连接的运输层协议
| 每一条TCP连接只能有两个端点(一对一)
| TCP提供可靠交付的服务
| TCP提供全双工通信
| 面向字节流
九、TCP运输连接管理
1、TCP的连接建立(用三次握手建立TCP连接)
为什么A还要发送一次确认呢?
这主要是为了防止已失效的连接请求报文段突然又传送到了B,因而产生错误。假定出现一种异常情况,即A发出的第一个连接请求报文段并没有丢失,而是在某些网络结点长时间滞留了,以致延误到连接释放以后的某个时间才到达B。本来这是一个早已失效的报文段。但B收到此失效的连续请求报文段后,就误认为是A又发出新的连接请求。于是就向A发出确认报文段,同意建立连接。假定不采用三次握手,那么只要B发出确认,新的连接就建立了。
由于现在A并没有发出建立连接的请求,因此不会理睬B的确认,也不会向B发送数据。但B却认为新的运输连接已经建立了,并一直等待A发来数据。B的许多资源就这样白白浪费了。
采用三次握手的办法可以防止上述现象的发生。例如在刚才的情况下,A不会向B的确认发出确认。B由于收不到确认,就知道A并没有要求建立连接。
2、TCP的连接释放(四次挥手)