Computer Networks Overview

Computer Networks Overview

计算机网络在信息时代的作用

计算机网络已经由通信基础设施发展成为一种重要的信息服务基础设施

因特网概述

基本概念

NetWork and Internet

  • NetWork 网络,由若干结点(Node)和链路(Link)组成
  • internet 互联网/互连网,多个网络可以通过路由器(Router)互联起来,形成一个覆盖范围更大的网络,互联网是由网络和网络之间互联而成的,是网络的网络(Network of Networks)
  • Internet 因特网世界上最大的互联网络.
  • Host 主机,连接到因特网上的计算机

internet与Internet 的区别

  • internet(互联网或互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
  • Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用 TCP/IP 协议族作为通信的规则,其前身是美国的 ARPANET。
    任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet) ,而不是互联网(Internet)。

Internet 发展的三个阶段

Internet发展阶段

ISP(互联网服务提供商)

Internet上的主机通过ISP接入Internet,之后才能互相通信;ISP可以从因特网管理机构申请到成块的 IP 地址,同时拥有通信线路以及路由器等联网设备.机构/个人缴纳一定的费用,就可以从ISP租用IP 地址,并通过ISP接入Internet。中国的主流ISP有:中国电信、中国移动、中国联通等

ISP

第一层 ISP(Tier 1 ISP):这些是全球互联网的主干网络运营商,它们拥有遍布全球的网络基础设施。这些公司的网络通常覆盖了全球的主要地区和城市,包括北美、欧洲、亚洲、澳大利亚等。。第一层 ISP 之间通过免费的互联网络(Peering)协议进行数据交换,不需要向其他 ISP 支付费用。
以下是一些知名的第一层 ISP 及其总部所在地:

  • AT&T:总部位于美国德克萨斯州达拉斯。
  • Verizon:总部位于美国纽约州纽约。
  • Level 3 Communications:总部位于美国科罗拉多州布隆菲尔德,现已被 CenturyLink(现为 Lumen Technologies)收购。
  • NTT Communications:总部位于日本东京。
  • Telia Company:总部位于瑞典斯德哥尔摩。

第二层 ISP(Tier 2 ISP):这些 ISP 拥有自己的网络基础设施,但是不足以覆盖全球,所以它们需要购买第一层 ISP 的服务,以便将数据传输到全球的其他地方。第二层 ISP 通常会向本地或区域的客户提供服务。


第三层 ISP(Tier 3 ISP):这些 ISP 通常没有自己的网络基础设施,而是购买第二层 ISP 的服务,然后将其转售给最终用户。第三层 ISP 通常会提供一些增值服务,如电子邮件、网页托管和虚拟专用网络(VPN)。

基于ISP的三层结构Internet示意图

Internet 的标准化工作

  • 因特网的标准化工作对因特网的发展起到了非常重要的作用。
  • 因特网在指定其标准上的一个很大的特点是面向公众
    • 因特网所有的 RFC(Request For Comments)技术文档都可从因特网上免费下载
    • 任何人都可以随时用电子邮件发表对某个文档的意见或建议。
  • 因特网协会 ISOC 是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
    • 因特网体系结构委员会 IAB,负责管理因特网有关协议的开发;
    • 因特网工程部 IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
    • 因特网研究部 IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
  • 制定因特网的正式标准需要四个阶段:
    • 因特网草案
    • 建议标准(该阶段的标准会开始写入 RFC 文档)
    • 草案标准
    • 因特网标准
      ISOC,IAB,IETF,IRTF

Internet 的组成

边缘部分 由所有连接在因特网上的主机组成.这部分是用户直接使用的,用于通信和资源共享.
核心部分大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换).

路由器是一种专用计算机,但我们不称它为主机,路由器是实现分组交换的关键构建,其任务是转发收到的分组,这是网络核心最重要的部分。
处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统(end system)
端系统在功能上可能有很大的差别:

  1. 小的端系统可以是一台普通个人电脑,具有上网功能的智能手机,甚至是一个很小的网络摄像头。
  2. 大的端系统则可以是一台非常昂贵的大型计算机。
  3. 端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个 ISP。

Internet的组成

三种交换方式

网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。

在网络核心部分起特殊作用的是路由器(router)。路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

电路交换 Circuit Switching

传统的电话两两相连,但当用户很多时,这种方式就不可行了,因此引入中间设备(电话交换机),使用电话交换机接通电话线的方式称为电路交换。

从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源

Circuit Switching

电路交换的三个步骤是:建立连接(分配通信资源),传输数据(一直占用通信资源),释放连接
(归还通信资源)

Circuit Switching

而当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的。所以计算机通常采用的是分组交换,而不是线路交换

分组交换 Packet Switching

  • 报文: 信息交换的基本单位,在网络中传输的信息单位
  • 分组: 为了传输方便,将报文划分为固定长度的数据块(分组,packet),在每一个数据段前面,加上一些由必要的控制信息组成的首部(报头),称为分组。

  • 发送方:构造分组,发送分组
  • 路由器:缓存分组,转发分组(分组转发)
  • 接收方:接受分组,还原报文

在路由器的输入和输出端口之间没有直接连线,路由器处理分组的过程是:把收到的分组先放入缓存,查找转发表,找出某个目的地址的最佳输出端口,然后从缓存中取出该分组,通过输出端口转发出去.

在分组交换中,每个packet独立地通过网络进行传输。这意味着分组可以通过不同的路径到达目的地,并且可能会在不同的时间到达。在接收端,这些分组会被重新组装成原始的报文。

Packet Switching

报文交换 Message Switching

在报文交换中,整个报文作为一个单元进行发送,并且在整个传输过程中保持其完整性。报文在发送前需要完全准备好,并且在传输过程中不会被分割。这种方式的优点是简单,但缺点是如果报文很大,那么它可能会占用网络资源一段很长的时间,导致网络拥塞。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。

三种交换方式对比

电路交换

  • 通信之前首先要建立连接;连接建立好之后,就可以使用已建立好的连接进行数据传送;数据传送后,需释放连接,以归还之前建立连接所占用的通信线路资源。
  • 一旦建立连接,中间的各结点交换机就是直通形式的,比特流可以直达终点;

报文交换

  • 可以随时发送报文,而不需要事先建立连接;整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机。
  • 整个报文需要在各结点交换机上进行存储转发,由于不限制报文大小,因此需要各结点交换机都具有较大的缓存空间。

分组交换

  • 可以随时发送分组,而不需要事先建立连接。构成原始报文的一个个分组,依次在各结点交换机上存储转发。各结点交换机在发送分组的同时,还缓存接收到的分组。
  • 构成原始报文的一个个分组,在各结点交换机上进行存储转发,相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。

交换方式对比

计算机网络的定义和分类

计算机网络的定义

计算机网络的最简单的定义是:一些互相连接的自治的计算机的集合

  • 互联 计算机之间可以通过有线或无线的方式进行数据通信
  • 自治 指计算机有独立性,有自己的软硬件,可以单独允许使用
  • 集合 至少两台计算机组成

计算机网络较好的定义是: 计算机网络主要是由一些通用的,可编程的硬件(一定包含有中央处理机 CPU)互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

  • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
  • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。

计算机网络的分类

  • 按交换技术分类: 电路交换网络 报文交换网络 分组交换网络
  • 按使用者分类: 公用网 专用网
  • 按传输介质分类: 有线网络 无线网络
  • 按覆盖范围分类: Wide/Metropolitan/Local/Personal Area Network
  • 按拓扑结构分类 总线型 环型 星型 网状型

计算机网络的性能指标

速率 Rate

bit 比特.计算机中数据量的单位,也是信息论中信息量的单位.一个 bit 即是一个二进制数字,它只能取 0 或 1 两个值 8bit = 1Byte; KB=1024B,MB=1024KB,GB=1024MB,TB=1024GB

rate 比特率,数据率.连接在计算机网络上的主机在数字信道上传送数据位数的速率,单位为 bit/s,也称为 bps(bit per second)1kbs=1000bps,1Mbps=1000kbs,1Gbps=1000Mbps

100MB 的数据块,网卡的发送速率为 100Mbps,求发送所需时间?

$$
\frac{100MB}{100Mbps}=\frac{MB}{Mbps}=\frac{2^{20}B}{10^6bps}=\frac{2^{20}\times8}{10^6s^{-1}}=8.388608s
$$

带宽 Bandwidth

Bandwidth在模拟信号系统中,表示信号所包含的各种不同频率成分所占据的频率范围(即最高频率与最低频率之差),单位为 Hz;在计算机网络中,表示网络中的通信线路所能传输数据的能力,网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的最高数据率(即网络设备所支持的最高速度),单位为 bps.

带宽的这两种表述之间有着密切的联系,一条通信线路的频带宽度越宽,理论上所能传输的最高数据率也越高。(具体可自行查阅信号与系统相关知识,例如香农定理)

吞吐量 Throughput

吞吐量是指单位时间内实际通过某个网络(或信道、接口)的数据量,单位为 bps.

吞吐量受网络的带宽或或额定速率的限制(吞吐量往往小于带宽),同时还受到网络中其他因素的影响,例如网络拥塞、路由器转发速率、主机处理速度等.
Throughput

时延 Delay

时延时指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
网络时延由以下几部分组成

  • 发送时延/传输时延 Transmission delay:
    主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

    $$
    \begin{align*}
    & R:链路带宽 (bps)
    & L:分组长度 (bits)\\
    & 发送分组比特流的时间 = L/R
    \end{align*}
    $$

  • 传播时延 Propagation delay
    电磁波在信道中传播一定的距离需要花费的时间。

$$
\begin{align*}
& d:物理链路的长度
& s:介质的信号传播速度 (2\times 10^8 m/s)\\
& 传播延迟 = d/s
\end{align*}
$$

  • 节点处理时延 Nodal processing delay
    主机或路由器在收到分组时要花费一定时间进行处理(检查错误位,选择输出链路),高速路由器的处理延迟为微秒级
  • 排队时延 Queueing delay
    常被看作是处理时延的一部分。分组在进过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。

delay

总时延 = 发送时延 + 传播时延 + 处理时延(处理时延 + 排队时延)

时延带宽积 Delay-Bandwidth Product

时延带宽积(bit) = 传播时延(s) * 带宽(bps)

类比带宽为水管的横切面面积,传播时延理解为水流经过水管的时间,时延带宽积就是水管的容量,即水管中能够容纳的水的数量.
DBP

往返时间 Round Trip Time

互联网上的信息不仅仅单方向传输而是双向交互的。因此,往返时间(RTT)也是一个重要的性能指标
RTT

利用率 Utilization

利用率分为信道利用率网络利用率

Utilization

丢包率 Packet Loss Rate

PLR

计算机网络体系结构

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

计算机网络是一个复杂的系统,早在 ARPANET 时代,就已经意识到了网络的复杂性,因此提出了分层的思想。分层将复杂问题分解为若干较小的局部问题,使得网络的设计和管理变得更加容易。

各层之间相互独立:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)。这个和我们对开发时系统进行分层是一个道理。
提高了灵活性和可替换性:每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。并且,每一层都可以根据需要进行修改或替换,而不会影响到整个网络的结构。这个和我们平时开发系统的时候要求的高内聚、低耦合的原则也是可以对应上的。
大问题化小:分层可以将复杂的网络问题分解为许多比较小的、界线比较清晰简单的小问题来处理和解决。这样使得复杂的计算机网络系统变得易于设计,实现和标准化。 这个和我们平时开发的时候,一般会将系统功能分解,然后将复杂的问题分解为容易理解的更小的问题是相对应的,这些较小的问题具有更好的边界(目标和接口)定义。
JavaGuide

Network architecture
Network architecture
Network architecture
OSI(Open System Interconnection)七层模型是国际标准化组织(ISO)制定的一个通信系统的框架,它将通信系统划分为七层,每一层都有自己的功能,并且每一层的功能都是相对独立的,只与相邻的两层进行通信。但由于 OSI 模型过于复杂,实际应用中并不常用,而是使用 TCP/IP 四层模型

OSI Model

TCP/IP 体系结构相当于将 OSI 体系结构的物理层和数据链路层合并为了网络接口层,并去掉了会话层和表示层

在用户主机的操作系统中,通常都带有符合 TCP/IP 体系结构标准的 TCP/IP 协议族。而用于网络互连的路由器中,也带有符合 TCP/IP 体系结构标准的 TCP/IP 协议族。只不过路由器一般只包含网络接口层和网际层。

TCP/IP

Reference
JavaGuide-Network-OSI and TCP/IP
bilibili-计网体系结构分层思想举例
bilibili-习题 1
bilibili-习题 2

作者

Jiaxing Gao

发布于

2024-02-13

更新于

2024-11-16

许可协议

评论

}