【计算机网络学习笔记】第一章 概述

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

  • 传统意义上的“网络”指的是“三网”:电信网络有线电视网络计算机网络 其中发展最快且起到核心作用的是计算机网络 但是随着技术的发展,电信网络有线电视网络逐渐融入了现代计算机网络,这一趋势叫做”网络融合
  • 计算机网络向用户提供的最重要的功能有两个:
    1. 连通性 连通性指的是通过计算机网络可以使得上网用户可以进行信息的交换,就仿佛这些用户的计算机互相连通一样。
    2. 共享 共享指的是资源共享,由于网络的存在,计算机彼此的资源仿佛就在用户身边。
  • 计算机网络定义: 计算机网络的精确定义并未统一 最简单的定义:一些互相连接的、自治的计算机的集合 其他定义:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统网络管理软件网络通信协议的管理和协调下,实现资源共享信息传递计算机系统。 它的本质是一种通信基础设施

2. 因特网概述:

  • 因特网是世界上最大的互连网络
  • 一些网络相关的概念:
    1. 主机: 连接在因特网上的计算机
    2. 结点: 计算机,集线器,交换器或路由器等可以与链路相互连接的设备
    3. 链路: 结点之间相互连接的物理层通道,无源的点到点的物理连接。通常分为有线和无线,通过链路可以将结点在物理上连接在一起。
    4. 网络: 由若干结点和连接这些结点的链路组成的系统 书上有这样一份图解:
    5. 互联网: 网络与网络之间通过路由器与其链路互连起来的覆盖范围更大的网络,也就是“网络的网络
  • 重要概念因特网的组成: 因特网的拓扑结构非常复杂,但是从工作原理上可以划分为边缘部分核心部分在这里插入图片描述 明确通信的概念:

我们所说的“主机A和主机B进行通信”,实际上是指“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”,或者说“主机A的某个进程和主机B上的另一个进程进行通信”

  1. 边缘部分
  • 定义: 边缘部分由所有连接在因特网上的主机组成。它由用户直接使用,用来进行通信(传送数据,音频或视频)和资源共享。 边缘部分一般采用速率较低的链路
    • 通信方式:
      • Client-Server(C/S)方式 最常见也是最传统的方式,客户是服务请求方,服务器是服务提供方,它具有下面的一些特点: 客户端程序:
        1. 主动向服务端发起通信,进行请求,必须知道服务端程序的地址
        2. 对硬件和操作系统要求低,占用的资源少
        服务端程序:
        1. 专门用来提供某种服务,可以同时处理多个请求
        2. 被动地等待来自各地的客户的通信请求,连接前不知道客户端的地址。由于需要等待,所以需要长时间稳定运行
        3. 消耗资源大,对硬件和操作系统要求高
      • Peer-to-Peer(P2P)方式 它在本质上仍然是c/s通信方式,但是对等连接中的每一个主机即是客户又是服务器,两个主机在通信时,并不区分哪一方是服务请求方或者服务提供方。是一种对等的连接方式。
    1. 核心部分
    • 定义: 核心部分由大量网络和连接这些网络的路由器组成。它为边缘部分提供服务(连通性和交换) 核心部分的链路一般都是高速链路,以保障数据的高速传递
    • 分组交换: 因为核心部分要向网络边缘中的主机提供连通信,使得边缘部分的任何一台主机都能够向其他主机通信,所以它是因特网中最复杂的部分,为了优化连通性,因特网核心部分使用分组转发来进行通信。 在讲述分组转发步骤前,先看以下概念
      • 路由器: 因特网核心部分通信方式采用的是分组转发的方式,而路由器是实现分组转发的关键构件,用于转发收到的分组,进行分组交换。
      • 报文: 我们把要发送的整块数据称为一个报文
      • 分组和分组首部(包与包头): 分组:在发送报文之前,主机先把较长的报文划分成一个个更小等长数据段,然后在该数据段的最前面。加入一些必要的控制信息(比如目的地址和源地址等),这些控制信息的集合就叫做分组首部包头header),而这由数据段和包头共同组成的部分就叫做分组(包) 在这里插入图片描述
    • 分组转发步骤:
      1. 首先主机将要发送的报文进行分组,然后逐个地将分组发送给与主机直接相连的路由器
      2. 路由器收到分组后,先暂存在内存中进行排队,当处理到该分组时,路由器会检查分组首部中的目的地址,然后查找转发表,找到合适的接口将它转发出去
      3. 其他路由器拿到对应分组后也会进行同样的操作,一步一步地以存储转发的形式最终将数据交付给目的主机。
    • 意义: 高效:分组传输地过程中动态分配传输带宽,对通信链路是逐段占用的,大大提高了效率,有利于计算机突发数据进行通信传输。 灵活:因为为每一个分组都独立地选择转发路由,且单个分组的长度远远小于整段报文,时延小,具有更好的灵活性。 迅速:以分组作为传送单位,不需要提前建立与主机的连接(只需要经由各级路由) 可靠:基于可靠的网络协议,分布式多路由的分组交换网,使得在某节点出问题的情况下仍然可以通过其他节点进行传输。
    • 问题: 分组在各路由器存储转发的时候需要排队,会造成一定的时延。 分组交换没有建立连接来保证通信所需要的各种资源,无法确保通信时端到端的带宽。 各个分组所携带的控制信息(包头)也造成了一定的开销。 整个分组交换网络需要专门的管理和控制机制

3. 计算机网络的性能

3.1 【重要概念】计算机网络的性能指标

​ 性能指标计算机网络通常有七个性能指标:速率,带宽,吞吐量,时延,时延带宽积,往返时间RTT,利用率。

3.1.1 速率

计算机中数据量和信息论中的单位,也被称为数据率比特率。速率的单位是bit/s,也写作b/s,bps,如100M以太网,它代表的就是额定速率为100Mb/s的以太网络。另外一个常见的混淆:100MB和100Mb,前者的MB中M指的是2^20^=1048576,而不是10^6^,1B = 8bit.所以 1MB= 1048576x8=8388608 bit 另外1Mb/s的速率每秒钟大约能传输:100000 / (1024x8) = 122.1KB数据 ​ 速率是一个瞬时量。

3.1.2 带宽

​ 带宽具有两种不同的意义,有两种不同的表述,分别为频域称谓时域称谓,在本质上是相同的。 ​ 一条通信链路的带宽越宽,其所能传输的“最高通信率”也越高。

  • 频域称谓下的带宽意义: 指某个信号具有的频带宽度, 信号的带宽是指该信号所包含的各种不同频率成份所占据的频率范围。 这种意义下的带宽单位是Hz/kHz,用来表示允许通过的信号频带范围。
  • 时域称谓下的带宽意义: 通常情况下,这就是计算机网络中的带宽意义:表示网络的通信线路传送数据的能力,表示在单位时间内从网络的某一点到另一点所能通过的最高数据率。在这里带宽的单位是b/s

3.1.3 吞吐量

吞吐量表示在单位时间内通过某个网络(或信道,接口)的数据量,常用于对测量网络连接情况。吞吐量受到带宽或网络的额定速率的限制,比如说一个100Mb/s的以太网,它的额定速率就是100Mb/s,但是其吞吐量可能在某一时刻只有70Mb/s

3.1.4 时延

  • 发送时延: 主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个bit算起,到该帧的最后一个bit所需要的时间。 计算公式: 发送时延 = 数据帧长度(b) / 发送速率(b/s)
  • 传播时延: 电磁波在信道中传播一定的距离需要花费的时间。 计算工是: 传播时延 = 信道长度(m)/电磁波在信道上传播速率(m/s) 值得一提,在自由空间中电磁波的传播速率是光速,但在网络传输媒体中速度要低些(铜丝:2.3 x 10^9^m/s,光缆:2.0 x 10^9^m/s) 速记:1000km的光纤传播时延通常为5ms
  • 处理时延: 主机或路由器收到分组后通常需要花费时间进行数据处理,从而产生了处理时延
  • 排队时延: 分组进入路由器后需要在内存中排队等待处理,这就产生了排队时延。
  • 总时延: 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

3.1.5 时延带宽积

传播时延带宽积: ​ 时延带宽积 = 传播时延 x 带宽 ​ 时延带宽积可以表示在第一个比特即将到达终点时,发送端已经发送的数据量 ​

3.1.6 往返时间RTT

表示从发送方发送数据开始,到发送方收到接收方的确认(接收方收到后立即发送确认)总共经历的时间。

3.1.7 利用率

利用率分为信道利用率和网络利用率,信道利用率指出某信道有百分之几的时间被利用(有数据通过),而网络利用率时全网的信道利用率的加权平均值。 信道利用率高会导致时延增加,堵塞,利用率过低会造成资源浪费,类似于高速公路。 信道和网络利用率过高会导致非常大的时延 存在下列简单公式: 当前网络时延 = 空闲时网络时延 / (1 - 网络利用率)

3.2 计算机网络的非性能指标

  • 费用
  • 质量
  • 标准化
  • 可靠性
  • 可扩展性和可升级性
  • 易于管理和维护

4. 计算机网络体系结构

4.1 体系结构:

4.1.1 定义:

我们把计算机网络的各层及其协议的集合,称为网络的体系结构。 或者说计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。

4.2 网络协议

4.2.1 定义

网络协议:为进行网络中的数据交换而建立的规则、标准或约定

4.2.2 分层思想

网络协议通常采用分层的方式来完成复杂的网络交互

4.2.3 主流协议体系结构

  • OSI体系结构 应用层 表示层 会话层 运输层 网络层 数据链路层 物理层
  • TCP/IP体系结构 应用层 运输层 网际层 网络接口层
  • 【学习内容】五层协议的体系结构 应用层 运输层 网络层 数据链路层 物理层 在这里插入图片描述