这篇文章是计算机网络面试的第一篇文章,主要是对计算机网络知识体系的一个概述,当然了,本系列文章肯定不会把计算机网络这些书籍进行全面的介绍,那样太麻烦也太多了。而是针对面试相关的一个知识梳理,尽量从简单入手。
一、计算机网络的发展
1、基础知识
21 世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。因特网是自印刷术以来人类通信方面最大的变革。
网络(network)由若干结点(node)和连接这些结点的链路(link)组成。互联网是“网络的网络”。
2、发展历史
第一阶段是从单个网络 ARPANET 向互联网发展的过程。
第二阶段的特点是建成了三级结构的因特网。 分为主干网、地区网和校园网(或企业网)。
第三阶段的特点是逐渐形成了多层次 ISP 结构的因特网。出现了因特网服务提供者 ISP。
根据提供服务的覆盖面积大小以及所拥有的IP 地址数目的不同,ISP 也分成为不同的层次。互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。
3、分类
从因特网的工作方式上看,可以划分为以下的两大块:
(1) 边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
(2) 核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:
(1)客户服务器方式(C/S 方式):Client/Server方式 ,客户是服务的请求方,服务器是服务的提供方。
(2)对等方式(P2P 方式): Peer-to-Peer方式,两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
OK,到这里我们先停下来,总结一波,以上我们介绍了概念。下面我们看一下里面几个核心的东西。
二、概念理解
1、路由器
路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。需要注意的是:主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。路由器对分组进行存储转发,最后把分组交付目的主机。其工作在网络层。
2、交换机
交换机工作在数据链路层,两部电话机只需要用一对电线就能够互相连接起来。5 部电话机两两相连,需 10 对电线。当电话机的数量很大时,这种连接方法需要的电线对的数量与电话机数的平方成正比。使用交换机之后就变成了这样:
3、集线器
集线器工作在物理层,它没有智能处理能力,对它来说,数据只是电流而已,当一个端口的电流传到集线器中时,它只是简单地将电流传送到其他端口,至于其他端口连接的计算机接收不接收这些数据,它就不管了。
3、网络分类
不同作用范围的网络广域网 WAN 、局域网 LAN、城域网 MAN、个人区域网 PAN。
从网络的使用者进行分类公用网、专用网。
4、性能指标
(1)速率:指数据的传送速率,也称为数据率或比特率,单位是bit/s(b/s或bps);
(2)带宽:在计算机网络中,网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”;
(3)吞吐量:表示在单位时间内通过某个网络(或信道、接口)的实际的数据量;
(4)时延:指数据从网络的一端传送到另一端所需的时间。包括发送时延、传播时延、处理时延和排队时延;
(5)时延带宽积:时延带宽积 = 传播时延 * 带宽;
(6)往返时间RTT:互联网上的信息双向交互一次所需的时间;
三、网络体系(重点,面试常问)
相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。 “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。、
1、为什么要分层
举个例子来理解为什么分层:
(1)两个主机交换数据
(2)下层通信模块
(3)网络接入模块
就这样一层一层往下走,每一层负责不同的功能,最终完成我们需要的文件传输。
2、3种模型架构
TCP/IP 是四层的体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。
3、5层协议
(1)应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
(2)传输层 :为进程提供通用数据传输服务。包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
(3)网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
(4)数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
(5)物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
4、七层协议
OSI去掉了表示层和会话层,一并合成了应用层。用途如下:
(1)表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。就好比是一台主机使用的是json格式编码,另外一台主机收到这些信息之后同样使用json格式解码。
(2)会话层 :建立及管理会话。就好比我们每次打开一个新的浏览器访问同一个界面,就是新建了一个会话。
现在计算机网络的基础体系已经介绍完了,这些都是最基本的知识点,同时也是面试常考的知识点,希望对你有帮助。
,