计算机网络 - 概述

572 阅读10分钟

面试官:请讲一下计算机网络的原理,以及你对它的理解。

我:

作为一枚野生程序猿,通过网络进行数据交换已成家常便饭,最常接触的就是 HTTP、HTTPS、SOCKET,但是,平常只是使用而已,没有深入研究过,一到面试就卡壳。那么今天就来扒一扒 计算机网络原理 到底是什么。

1. 计算机网络指的是什么?

首先说明一下,这里的**「计算机」并不是通常意义上的 个人计算机(PC)笔记本电脑 或者 服务器计算机,而应该包括所有带有计算能力的只能计算设备,比如:智能手机、智能家电等等。因此,我们应将「计算机」理解为「计算机设备」**。

先来扒一扒计算机历史,计算机诞生之初,每台计算机都只在「自己范围内处理信息」,如果需要在不同计算机之间交换、分享信息,就只能通过存储介质等进行。随着计算机技术的发展,越来越需要在计算机之间进行快速、大量的信息交换,于是人们便将 计算机技术通信技术 进行完美结合,诞生了计算机网络。

从技术范畴来看:

计算机网络是「计算机技术」与「通信技术」相互融合的产物。

计算机网络并没有一个统一的精确定义,通常指的是:

计算机网络是利用 通信设备通信链路 或者 通信网络,互连 位置不同功能自治 的计算机系统,并遵循一定的规则实现计算机系统之间的信息交换。

更为简短、概括性的定义为:

计算机网络是 互连 的、自治 的计算机的集合。

互连:指利用通信链路连接相互独立的计算机系统。通信链路可以是双绞线、光纤、微波、通信卫星等。

自治:指互连的计算机系统彼此独立,不存在主从或者控制与被控制的关系。

2. 经常听说「协议」这个词,在计算机网络中它指的是什么呢?

前面简单介绍了「计算机」和「通信设备」,如同道路交通系统一样,道路修建好了,路网也建立了,硬件基础建立完毕。但是,如果没有交通规则进行制约,道路系统将会变成一团乱麻,同理,网络系统中,也需要遵循一些规则和约定,来保证网络稳定、有序、高效的运行,这些规则或约定,就是网络协议。

协议约定了实体之间交换的信息类型、信息各部分的含义、信息交换顺序以及收到特定信息或出现异常时应采取的行为。

协议三要素:

  1. 语法(syntax):定义实体之间交换信息的格式与结构,或者定义实体(比如硬件设备)之间传输信号的电平等。
  2. 语义(semantics):定义实体之间交换的信息中心需要发送(或包含)哪些控制信息,这些信息的具体含义,以及针对不同含义的控制信息,接收信息端应如何响应。另外,有的协议还需要进行差错检测,这类协议通常会在协议信息中附加差错编码等控制信息。语义还需要定义彼此采用何种差错编码,以及采取何种差错处理机制等。
  3. 时序(timing):也称为同步,定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度。

3. 计算机网络的功能

  1. 硬件资源共享:例如打印机、存储资源等
  2. 软件资源共享:例如 SaaS 服务等
  3. 信息资源共享:例如新闻阅读、信息检索等

4. 计算机网络的分类

4.1 按覆盖范围

名称场景范围
个域网(PAN)穿戴设备、便携式移动设备等1~10m
局域网(LAN)办公室、办公楼、厂区、校园等10m~1km
城域网(MAN)覆盖一个城市范围5~50km
广域网(WAN)跨越更大的地理空间几十~几千 km

4.2 按拓扑结构分类

常见拓扑结构示意图

名称描述总结
星型拓扑结构(图 a)包含一个中央节点,网络中的主机通过点对点通信链路与中央节点连接优点:易于监控与管理,故障诊断与隔离容易;
缺点:中央节点是网络的瓶颈,一旦故障,全网瘫痪,网络规模受限于中央节点的端口数量;
总线型拓扑结构(图 b)采用一条广播信道作为公共传输介质,称为总线,所有节点均与总线连接,节点间的通信均通过共享的总线进行优点:结构简单,所需电缆数量少,易于扩展;
缺点:通信范围受限,故障诊断与隔离较困难,容易产生冲突;
环形拓扑结构(图 c)利用通信链路将所有节点连接成一个闭合的环优点:所需电缆长度短,可以使用光纤,易于避免冲突;
缺点:某节点故障容易引起全网瘫痪,新节点的加入或撤出过程比较麻烦,存在等待时间问题;
网状拓扑结构(图 d)网络中的节点通过多条链路与不同的节点直接连接优点:可靠性高,一条过多条链路故障时,网络仍然可联通;
缺点:网络结构复杂,造价成本高,选路协议复杂;
树形拓扑结构(图 e)可以看做是总线型拓扑或星型拓扑网络的扩展优点:易于扩展,故障隔离容易;
缺点:对根节点的可靠性要求高,一旦根节点故障,则可能导致网络大范围无法通信;
混合型拓扑结构(图 f)由两种以上简单拓扑结构网混合连接而成的网络优点:易于扩展,可以构建不同规模网络,并可根据需要优选网络结构;
缺点:网络结构复杂,管理与维护复杂;

5. 计算机网络结构(简单了解一下就好)

  1. 网络边缘

  2. 接入网络

    1. 电话拨号接入
    2. 非对称数字用户线路 ADSL
    3. 混合光纤同轴电缆 HFC 接入网络
    4. 局域网
    5. 移动接入网络
  3. 网络核心

6. 数据交换技术

  1. 电路交换
  2. 报文交换
  3. 分组交换

分组交换是目前计算机网络广泛采用的技术。分组交换需要将待传输数据(即报文)分割成较小的数据块,每个数据块附加上地址、序号等控制信息构成数据分组(packet),每个分组独立传输到目的地,目的地将受到的分组重新组装,还原为报文。分组传输过程通常也采用存储---转发交换方式。

分组交换优点:

  1. 交换设备存储容量要求低
  2. 交换速度快
  3. 可靠传输效率高
  4. 更加公平

7. 计算机网络性能

  1. 速率与带宽:指网络单位时间内传送的数据量,用以描述网络传输数据的快慢,也称为数据传输速率或数据速率;
  2. 时延:指数据从网络中的一个节点(主机或交换设备等)到达另一节点所需要的时间;包括 节点处理时延(nodal processing delay)排队时延(queueing delay)传输时延(transmission delay)传播时延(propagation delay)
  3. 时延带宽积:指一段物理链路的传播时延与链路带宽的乘积;
  4. 丢包率:当网络拥塞特别严重时,新到达的分组甚至已无缓存空间暂存该分组,此时交换节点会丢弃分组,就会发生「丢包」现象;
  5. 吞吐量:表示在单位时间内源主机通过网络向目的主机实际送达的数据量;

8. 计算机网络体系结构

8.1 OSI 参考模型

OSI 参考模型描述的数据封装和传输过程

从上层往下层依次介绍:

应用层:给用户提供网络服务,包括文件传送、电子邮件、P2P 应用等。应用层为用户提供了一个使用网络应用的「接口」;

表示层:

  1. 主要用于处理应用实体间交换数据的语法,目的是解决格式和数据表示的差别,从而为应用提供一个一致的数据格式,使字符、格式等有差异的设备之间相互通信;
  2. 实现文本压缩/解压缩、数据加密/解密、字符串彪马的转换等功能;

会话层:

  1. 在建立会话时核实双方身份是否有权参加会话;
  2. 确定双方支付通信费用;
  3. 双方在各种选择功能方面(如全双工还是半双工通信)取得一致;
  4. 在会话建立以后,需要对进程间的对话进行管理与控制;

传输层:主要功能包括复用/分解(区分发送和接收主机上的进程),端到端的可靠数据传输、连接控制、流量控制和拥塞控制机制等

网络层:

  1. 数据转发与路由;
  2. 对进入交换网络的通信量加以控制,以避免通信量过大造成交换网络性能下降;
  3. 寻址功能,确保分组可以被正确传输到目的主机;

数据链路层:

  1. 实现在相邻节点之间数据可靠而有效的传输;
  2. 寻址,确保每一帧都能准确地传送到正确的接收方,接收方也有关知道发送方的地址;

物理层:主要功能是在传输介质上实现无结构比特流传输;

参考模型高低层划分:

  • 网络底层:主要完成数据交换和数据传输。包含物理层、数据链路层、网络层;
  • 衔接层:传输层;
  • 网络高层:主要是完成信息处理服务的功能。包含会话层、表示层、应用层;

PS:实际应用的网络中几乎没有严格按照 OSI 参考模型构件的。OSI 参考模型的意义在于它是一种计算机网络的理论体系结构,是目前学习、讨论计算机网络的一种工具,能够从理论上很好地解释网络概念、层次与通信过程,是学习计算机网络必须学习和掌握的内容。

8.2 TCP/IP 参考模型

TCP/IP 参考模型

  1. 应用层:TCP/IP 参考模型将 OSI 参考模型中会话层和表示层的功能合并到了应用层来实现;

  2. 传输层:主要包括面向连接、提供可靠数据流传输的传输控制协议 TCP 和无连接不提供可靠数据传输的用户数据报协议 UDP;

  3. 网络互连层:是整个参考模型的核心,主要解决把数据分组发往目的网络或主机的问题;(IP 是无连接不可靠网络协议)

  4. 网络接口层:实际上,TCP/IP 参考模型没有真正描述这一层的实现,只是要求能够提供给其上层---网络互连层一个访问接口,以便在其上传递 IP 分组;

8.3 五层参考模型

对比 TCP/IP 参考模型与 OSI 参考模型,TCP/IP 参考模型缺少 OSI 参考模型中功能比较少的会话层与表示层,而 TCP/IP 参考模型的网络接口层则相当于合并了 OSI 参考模型的数据链路层与物理层。结合这两个参考模型,可以提出综合理论需求与实际网络的五层参考模型,包括 物理层数据链路层网络层传输层应用层,各层功能基本与 OSI 参考模型对应。

五层参考模型