计网第一章学习笔记

计网第一章学习笔记

Last updated on


3558 字 约 18 分钟

1.前言

经历快一个月的磨磨蹭蹭,考试作业这样那样的事情拖延下来,终于在今天正式开始学习计网了,花了半个上午多点的时间,把一些比较基础的概念过了一遍,现在用笔记记录一下,以达到加深印象的目的。


2.三种交换方式

交换方式,以我的理解来看,就是在计算机网络中传输信息的模式。如果从计算机网络的OSI分层标准体系结构来看的话,网络层、数据链路层、物理层都有涉及。例如如何从主机A传输数据到主机B,中间有中转站进行分发的这样一种模式。

交换方式分为三类:电路交换、报文交换、分组交换,我们接下来分别讲述它们的定义与特征。


2.1.电路交换

电路交换示意图
电路交换示意图

如上图所示,在电路交换中,主机A与B通过中间的交换机以及中继线等传输线路连接起来。

在A需要与B进行通信时,将会尝试建立连接,当请求被B接收并同意之后,两者之间成功建立通信,此时两者之间可以通过通信线路进行自由通信。

整个流程大致为:

建立连接(分配资源)传输数据(独占资源)断开连接(释放资源)建立连接(分配资源) \Rightarrow 传输数据(独占资源) \Rightarrow 断开连接(释放资源)

然而它有一个非常明显的缺点。我们可以注意到,当A与B建立连接后,正如上面所说,信道被独占,C与D无法调用信道传输资源,哪怕此时A与B之间实际并没有数据在传输,但只要资源没有被释放(连接没有断开),其他主机就无法调用。

这无疑会造成传输资源的极大浪费,因为两者建立通信之后并非时时刻刻都在传输数据,当两者之间暂时未有数据传输却又未断开通信时,就会使得这条线路的通信资源被浪费,无法满足其他通信需求。

简单来讲,就是资源的静态分配导致未能被充分利用。


2.2.报文交换

报文交换
报文交换示意图

如图,我们可以看到,报文交换将需要传输的信息转换为报文,并在前端加上报头,报头中含有目标地址等信息。

报文交换的核心是存储-转发,它将一整块报文发出,由中转站接收后进行处理。

报文交换不会像电路交换那样长时间地占用通信线路,当信息被一个节点成功接收时,可以在这个节点进行转存。在此期间,通信线路仍然可供其他主机之间进行信息的传输。

而报文交换同样具有它的缺点。根据我们上面所说的,信息可以在中转节点进行转存,这就需要中转节点具有足够大的空间进行存储,而如果对每个中转节点都分配足够大的空间的话,显然在大部分时间,这些空间并没有被利用,造成了空间资源的浪费。


2.3.分组交换

分组交换
分组交换示意图

分组交换和报文交换的原理其实是类似的,但不同的点在于,它将数据分成了许多个组,每个组附加一些信息,像这个组在原数据中是怎么排列的,还有需要传输到哪里这样的信息。

然后像报文交换那样,将这些组,或者我们常说的包,逐个发出,让中转节点选择处理方式。

中转节点接收到包之后,可以分配它走哪条路径去往目标节点,最终当目标节点成功接收到所有包,即代表数据传输成功。

分组交换的核心优势在于流水线并行传输,当分组1还在发往下一个节点的过程中,分组2就可以立即占领当前的节点,减少了排队延迟。


2.4.小结与对比

交换方式建立连接延迟资源利用率
电路交换必须传输延迟小极低
报文交换不需要很大(整发整存)较高
分组交换不需要较小最高

所以在当前的应用场景下,我们大部分都是使用的分组交换。


3.计算机网络的定义与分类

3.1.定义

一句话:一些互相连接的、自治的计算机的集合

关键词为互联、自治、集合


3.2.分类

1.按交换技术分类

  • 电路交换网络
  • 报文交换网络
  • 分组交换网络

2.按使用者分类

  • 公用网
  • 专用网:校园网这样的

3.按传输介质分类

  • 有线网络
  • 无线网络

4.按覆盖范围分类

  • 广域网(WAN)
  • 城域网(MAN)
  • 局域网(LAN)
  • 个域网(PAN)

5.按拓扑结构分类

  • 总线型网络:一条线把所有节点连起来,一个地方断了这个网络废了
  • 星型网络:由一个中心节点进行信息中转,缺点是中心节点对故障敏感度极高
  • 环形网络:一个环串起来,也有单环和复环之分
  • 网状型网络:目前泛用性最广,最为稳定的结构,采用手段使得任意两个节点之间至少有两条路径相连,即不存在割点或桥(Tarjan又在攻击我)

4.计算机网络的性能指标

  • 速率:衡量单位时间内传输的数据多少,单位为bps

  • 带宽:描述传输介质中单位时间内能传输的数据的上限,单位也为bps,在信号处理语境下为Hz

  • 吞吐量:某个节点在某段时间内接收和发出的数据的多少

  • 时延:顾名思义,即数据在网络传输过程中所用时间,分为发送时延、传输时延、处理时延。

    其中 发送时延=数据包大小传输速率发送时延 = \frac{数据包大小}{传输速率}传输时延=传输长度介质中的传播速率传输时延 = \frac{传输长度}{介质中的传播速率}

    大概列出三种介质中的传播速率:

    • 自由空间:3.0×108m/s3.0 \times 10^{8} m / s
    • 铜线:2.3×108m/s2.3 \times 10^{8} m / s
    • 光纤:2.0×108m/s2.0 \times 10^{8} m / s
  • 时延带宽积:同样顾名思义,时延与带宽的乘积,描述在第一个数据包到达目标节点时,路径上仍有多少数据在传输

  • 往返时间:数据发送到目标节点再收到返回结果的总时间

  • 利用率:描述一段信道中有多少部分正在传输数据。注意这并不是越高越好。

    根据排队论的 M/M/1M / M / 1 模型,设 D0D_{0} 为空闲时的时延,DD 为当前时延,UU 为当前的信道利用率,则近似有以下公式:

    D=D01U D = \frac{D_{0}}{1 - U}

    根据曲线特征,我们可以得出结论:当利用率维持在 50%50\% 左右时为最佳实践。

  • 丢包率:这就涉及到我们上面所说的分组交换。我们知道分组交换将数据拆分为多个小段进行传输,这些小段就是”包”,而丢包率就是指在传输过程中,未能成功传输到目标节点的包占发出所有包的比率


5.计算机网络体系结构

为了方便我们对计算机网络中不同层次的问题分别进行研究,如在运输过程中的信号转换,以及端到端之间的连接建立方式,我们将整个体系划分为不同层次,你知道的,就像写代码要高内聚低耦合一样。


5.1.常见的计算机网络体系结构

大概有三种:

  • OSI体系结构:分为七层,学者们提出,但由于当时TCP/IP协议已经盛行,外加该体系结构过于复杂,应用中难于构建传输,故逐渐退出应用

    • 应用层
    • 表示层
    • 会话层
    • 运输层
    • 网络层
    • 数据链路层
    • 物理层
  • TCP/IP体系结构:分为四层,为当前应用中最为盛行的体系结构

    • 应用层:HTTP, SMTP, DNS, RTP等协议
    • 运输层:TCP, UDP等协议
    • 网际层:IP协议(IP for everything & Everything for IP)
    • 网络接口层:不同网络间通过通用的网络接口进行连接
  • 原理体系结构:分为五层,是前两者的折中,方便教学

    • 应用层:解决通过应用进程的交互来实现特定网络应用的问题
    • 运输层:解决进程之间基于网络的通信问题
    • 网络层:解决分组在多个网络上传输(路由)的问题
    • 数据链路层:解决分组在一个网络或一段链路上传输的问题
    • 物理层:解决使用何种信号来传输比特的问题

5.2.计算机网络体系结构中的专用术语

  • 实体:任何可发送或接收信息的硬件或软件进程

  • 对等实体:收发双方相同层次中的实体,这里的层次即为上面体系结构中的层次

  • 协议:控制两个对等实体进行逻辑通信的规则的集合

    比如应用层的HTTP, SMTP,链路层的传统以太网CSMA/CD等

    为什么叫逻辑通信?因为这种通信实际上并不存在,比如两个运输层直接并没有直接相连的路径,用协议来描述,是为了忽略其他层级对该层级的影响,只专注于两者之间的数据交互,至于数据实际的传输方式被略过。

  • 协议三要素:语法、语义、同步

    • 语法:定义所交换信息的格式
    • 语义:定义收发双方所要完成的操作
    • 同步:定义收发双方的时序关系
  • 服务:在协议控制下,两个对等实体间的逻辑通信使得本层级能够向上一层提供服务

  • 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型

  • 协议数据单元PDU:对等层次之间传输的数据包

  • 服务数据单元SDU:同一系统内,层与层之间交换的数据包