计算机网络笔记01:计算机网络体系结构

本文是对《王道计算机网络》第一章视频的笔记总结归档。

计算机网络概述

概念、组成、功能、分类

计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享信息传递的系统。它是互连的、自治的计算机集合。

  • 互连:通过通信链路互联互通
  • 自治:无主从关系

计算机网络的功能

  • 数据通信
  • 资源共享 同一个计算机网络上的其他计算机可使用某台计算机的计算机资源的行为,可共享硬件、软件、数据
  • 分布式处理 多台计算机各自承担同一工作任务的不同部分。e.g. Hadoop平台
    • 提高可靠性
    • 负载均衡

计算机网络的历史

美国国防部高级研究计划局(ARPA)创立了ARPAnet(阿帕网),用于军事通信控制。

希望实现不同网络的互联互通,即构建internet(互联网)。

1983年,阿帕网接受TCP/IP,选定Internet(因特网,最大的互联网)为主要的计算机通信系统。

发展历史:

  1. ARPAnet
  2. 三级结构的因特网
  3. 多层次ISP结构的因特网

计算机网络的组成

组成部分:硬件、软件、协议(一系列规则和约定的集合)

工作划分:

  • 边缘部分:用户直接使用
    • C/S方式
    • P2P方式
  • 核心部分:为边缘部分服务

功能组成:

  • 通信子网:实现数据通信 包含各种传输介质、通信设备(对应下面的括号)、相应的网络协议组成 对应OSI模型中的物理层(集线器/中继器)、数据链路层(交换机/网桥)、网络层(路由器)
  • 资源子网:实现资源共享/数据处理 实现资源共享功能的设备和软件的集合 对应OSI模型中的会话层、表示层、应用层

计算机网络的分类

按分布范围分:

  • 广域网WAN(交换技术)
  • 城域网MAN
  • 局域网LAN(广播技术)
  • 个人区域网PAN

注:WAN与LAN不仅仅是地理范围的差别,更重要的是其所使用的网络技术,这一技术才是区分WAN与LAN的核心。

按使用者分:

  • 公用网
  • 专用网

按交换技术分:

  • 电路交换(需要占线)
  • 存储转发(不需要占线)
    • 报文交换
    • 分组交换(将报文切块交换)

按拓扑结构分:

  • 总线型
  • 星型
  • 环型
  • 网状型(常用于广域网)

按传输技术分:

  • 广播式网络:共享公共通信信道环
  • 点对点网络:使用分组存储转发路由选择机制

标准化工作及相关组织

要实现不同厂商的硬件、软件之间相互连通,必须遵从统一的标准。

标准分类:

  • 法定标准 由权威机构制定的正式的、合法的标准 e.g. OSI
  • 事实标准 某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准 e.g. TCP/IP

标准化流程:Request For Comments(RFC)是因特网标准的形式

RFC要上升为因特网正式标准的四个阶段(目前已改为三个):

  1. 因特网草案(Internet Draft)这个阶段还不是RFC文档。
  2. 建议标准(Proposed Standard)从这个阶段开始成为RFC文档。
  3. 草案标准(Draft Standard)【已废除】
  4. 因特网标准(Internet Standard)

标准化工作的相关组织:

  • 国际标准化组织SO:OSI模型、HDLC协议
  • 国际电信联盟ITU:制定通信规则
  • 电气和电子工程师协会IEEE:学术机构、IEEE802系列标准、5G
  • Internet工程任务组IETF:负责因特网相关标准的制定 RFCXXXX

性能指标

速率即 数据率 或称 数据传输率 或 比特率,是指连接在计算机网络上的主机在数字信道上传送数据位数的速率。单位是b/s, Kb/s, Mb/s, Gb/s, Tb/s, ...

注意:速率相邻单位的换算倍率为103=1000。存储单位Byte(B), KB, MB, GB, TB, ...相邻单位的换算倍率为210=1024。

带宽原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。 计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”(不考虑线路的限制)。单位与速率的单位一致。(简单理解为网络设备所支持的最高速度)

吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络的带宽或网络的额定速率的限制。(即数据传输的实际速度,每个时间吞吐量都不同)


时延指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间,也叫延迟或迟延。单位是s。

  • 发送时延(传输时延) 从发送分组的第一个比特算起,到该分继的最后一个比特发送完毕所需的时间。 发送是指将数据从终端设备置入到信道上。 所谓的“高速链路”中的“高速”一般是指时延中的发送时延较低。

    发送时延=数据长度/发送速率(一般发送速率可用带宽值替代)

  • 传播时延 取决于电磁波传播速度和链路长度

    传播时延=信道长度/电磁波在信道上的传播速率

  • 排队时延 等待输出/入链路可用消耗的时间

  • 处理时延 检查错误/确定转发路线等所用的时间

时延带宽积又称为以比特为单位的链路长度,是指发送端发送的第一个比特即将到达终点时,发送端已经发出了多少个比特。

时延带宽积=传播时延×带宽

往返时延(RTT)是指从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认)总共经历的时延。利用ping命令可以测算出RTT。

RTT越大,在收到确认之前,可以发送的数据越多。

RTT包括:

  • 往返传播时延=传播时延×2(不考虑发送时延(传输时延))
  • 末端处理时间

利用率是指某一信道有百分之多少的时间是有数据通过的。

利用率又分为

  • 信道利用率:有数据通过时间/总测量时间
  • 网络利用率:信道利用率加权平均值

注:利用率并非越大越好,当利用率接近1时,时延会急剧增大。

体系结构&参考模型

分层结构

网络通信任务非常复杂,需要对其进行分解才能顺利研究、实现与维护。

分层基本原则:

  1. 各层之间相互独立,每层只实现一种相对独立的功能。
  2. 每层之间界面自然清晰,易于理解,相互交流尽可能少。
  3. 结构上可分割开。每层都采用最合适的技术来实现。
  4. 保持下层对上层的独立性,上层单向使用下层提供的服务
  5. 整个分层结构应该能促进标准化工作。

相关概念

实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。

协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议,是同一层(水平)中定义的概念。协议需要包括的内容有:

  • 语法:规定传输数据的格式
  • 语义:规定所要完成的功能
  • 同步:规定各种操作的顺序

接口(访问服务点SAP):上层使用下层服务的入口。 服务:下层为相邻上层提供的功能调用,是垂直定义的概念。

  • 服务数据单元(SDU):为完成用户所要求的功能而应传送的数据。
  • 协议控制信息(PCI):控制协议操作的信息。
  • 协议数据单元(PDU):对等层次之间传送的数据单位。

注:每一层的SDU+PCI=PDU,本层的PDU将作为下一层的SDU。

ISO/OSI模型(法定标准)

国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型,用于支持异构网络系统的互联互通。(但理论成功,市场失败)

OSI模型共分7层,从低到高依次是

  1. 理层
  2. 数据路层
  3. 络层
  4. 话层

记忆口诀:物联网淑惠试用

资源子网(数据处理)包括5-7层;通信子网(数据通信)包括1-3层;传输层是过渡层。

OSI模型下的通信过程

假设主机A与主机B在通信过程中需要借助中间系统C。

通常C只涉及通信子网的过程;A与B则要走遍整个7层模型。

因此在4-7层中可以视为没有经过第三方,是端到端的通信;而1-3层则要考虑经过中间系统C,是点到点通信。

OSI通信过程
OSI下层间封装与解封装过程

应用层

所有能和用户交互产生网络流量的程序都在这一层,e.g. QQ客户端。

  • 应用层是OSI模型的最高层,是用户与网络的界面
  • 应用层为特定类型的网络应用提供访问OSI环境的手段
  • 因为用户的实际应用多种多样,就要求应用层采用不同的协议来解决不同应用类型的需求
  • 典型的协议:
    • 文件传输协议FTP
    • 电子邮件协议SMTP
    • 万维网HTTP

表示层

用于处理在两个通信系统中交换信息的表示方式(语法和语义)。

  • 主要处理两个通信系统中交换信息的表示方式
  • 不同机器采用的编码和表示方法不同,使用的数据结构不同
  • 为了使不同的数据和信息之间能够互相交换,表示层采用抽象的标准方法定义数据结构

功能:

  • 数据格式变换
  • 数据加密解密
  • 数据压缩和恢复

会话层

向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这个连接就叫做会话,建立会话也叫建立同步(SYN)。

  • 会话层允许不同主机上的各个进程进行会话
  • 会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务
  • 增值服务即图上最上方的一句话

功能:

  • 建立、管理、终止会话
  • 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步(适用于传输大文件)

传输层

负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报

  • 传输层也称运输层,传输单位是报文段或用户数据报,传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。
  • 数据链路层是点到点的通信,传输层是端到端的通信
    • 点到点:可以理解为主机到主机之间的通信,一个点指一个硬件地址或IP地址,网络中参与通信的主机通过硬件地址或IP地址标识的。 点到点通信要求通信双方掌握通信路线上的具体节点信息。
    • 端到端:指运行在不同主机内的两个进程之间的通信,一个进程由一个端口号来标识,所以称端到端通信。 端到端通信则不考虑通信路线上的途径节点,只考虑来源地与目的地。

功能:可差流用

  • 可靠传输、不可靠传输
  • 差错控制
  • 流量控制
  • 复用分用
    • 复用:多个应用层进程可同时使用下面运输层的服务。
    • 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。

主要协议:TCP、UDP

网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。分组是数据报的若干分割。

因为因特网的主要网络层协议是无连接的网际协议(Internet Protocol,IP)和许多路由选择协议,因此因特网的网络层也称网际层或IP层

功能:

  • 路由选择(选择最佳路径)
  • 流量控制(主要控制发送速度)
  • 差错控制
  • 拥塞控制(主要控制链路的全局速度) 拥塞:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态

主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、O5PF

数据链路层

主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是

功能:

  • 成帧(定义帧的开始和结束)
  • 差错控制(帧错+位错)(检错/纠错)
  • 流量控制
  • 访问(接入)控制(控制对信道的访问)

物理层

主要任务是在物理媒体上实现比特流的透明传输。物理层传输单位是比特。 透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。

功能:

  • 定义接口特性
  • 定义传输模式(单工/半双工/双工)
  • 定义传输速率
  • 比特同步
  • 比特编码

主要协议:Rj45、802.3

TCP/IP模型

OSI模型与TCP/IP模型的对比

相同点:

  • 都采用分层结构
  • 都基于独立的协议栈的概念
  • 都可以实现异构网络的互联

不同点:

  • OSI定义三点:服务、协议、接口

  • OSI先出现,参考模型先于协议发明,不偏向特定协议

  • TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次

  • TCP/IP与OSI的通信方式不同:

    lSO/OSI参考模型 TCP/IP模型
    网络层 无连接+面向连接 无连接
    传输层 面向连接 无连接+面向连接

    面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。

    面向无连接没有这么多阶段,它直接进行数据传输。

5层参考模型(教材使用的模型)

综合了OSI与TCP/IP的优点

层名 作用 主要协议
应用层 支持各种网络应用 FTP、SMTP、HTTP
传输层 进程-进程的数据传输 TCP、UDP
网络层 源主机到目的主机的数据分组路由与转发 IP、ICMP、OSPF等
数据链 路层把网络层传下来的数据报组装成帧 Ethernet、PPP
物理层 比特传输
5层参考模型示意图