Skip to content

01 概述

第一章 概述

统计信息:字数 16885 阅读34分钟

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

计算机网络是重要的信息服务基础设置,使用互联网的人数和时间增加;移动端覆盖率越来越高。

1.2 因特网概述

网络三个名词的区别

  • 网络:由若干节点和连接这些节点的链路组成(Node + Link)

  • 互联网(internet 小写):多个网络通过路由器连接起来,构成互联网

  • 因特网(Internet 大写,专有名词):世界上最大的互联网,TCP/IP 规则

因特网的组成

互联网由边缘部分+核心部分组成

  • 边缘部分:所有连接在因特网上的主机组成,用户直接使用(进行通信和资源共享,包括服务器,PC,智能设备)

  • 核心部分:大量网络和链接这些网络的路由器组成,为边缘部分提供服务(联通性+信息交互)

因特网的三个阶段(了解):阿帕网-三级结构因特网-多层ISP结构的因特网。ISP:Internet server provider 因特网服务提供者(国内中国电信,国际ISP,国家ISP,企业ISP)

因特网的标准化(了解):ISOC组织,类似于 ECMA 组织,制定各种标准和草案

1.3 三种交换方式:电路交换、分组交换和报文交换

使用场景:电路交换是固定电话,报文交换是电报,分组交换是互联网,下面详述

交换:按照某种方式,动态分配传输线路的资源

电路交换(Circuit Switching)

传统有线电话,通过直接连接,或者电话交换机进行电路交换。

步骤

  1. 建立连接(分配通信资源)
  2. 通话(报文传输,一直占用通信资源,不管有没有实际的语音)
  3. 释放连接(归还通信资源)

为什么计算机网络不适用电路交换:计算机数据是突发式的传输在线路上,可能短时间下载大量数据,也可能长时间不下载数据,所以使用电路交换传输计算机数据,传输效率较低。所以计算机网络使用分组交换

优点:通信时延小;有序传输,没有冲突,适用范围广,实时性强,控制简单;比特流直达重点,不需要中间存储转换

缺点:建立连接时间长;线路独占,使用效率低;灵活差,难以规格化

报文交换(Message Switching)

电报通过报文交换,了解

不需要建立连接,直接发送报文。报文的长度没有限制,所以需要中间交换机有足够的存储空间

优点:无需建立连接;动态分配线路;提高线路可靠性;提高线路利用率;提供多目标服务

缺点:引起了转发时延;需要较大存储缓存;需要传输额外的信息量(目标地址和原地址等)

分组交换(Packet Switching)重要

通常把信息的全部数据称为一个报文。先把较长的报文分成很小的长度相等的数据段,在头部加上必要的控制信息(发到什么地方,包的序号),就构成一个分组(包)

实际发送时,从源站到达目的站走不同的路径(不同的路由器),分组到达目的站的顺序不一定与原始顺序相同。实际还可能发生分组丢失(丢包),误码,重复等问题。接收方接收分组后,还原原始报文。

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

优点:无需建立连接;线路利用率高;简化了存储管理;加速传输;减少出错率和重发数据量;避免过长的报文长时间占用链路,有利于进行差错控制。

缺点:引起了转发时延;需要传输额外的信息量;对于数据报服务,存在失序、丢失或者重复分组的问题;对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程。

1.4 计算机网络的定义和分类-了解

定义:计算机网络没有通用的精确的定义。

简单定义:互连的自治的计算机集合

广义网络:由可编程的硬件(手机)互连,可以传送不同的数据,或者更广泛的应用(云计算,不仅仅传数据)

计算机网络分类

  • 按照交换技术:电路交换网络;报文交换网络;分组交换网络
  • 使用者分类:公共网;专用网(校园网或者企业网)
  • 传输介质:有线网;无线网
  • 覆盖范围(WAN LAN 主要)
  • 广域网(WAN):国家范围的网络,因特网的核心部分,互连MAN和LAN
  • 城域网(MAN):城市内部网络,互连大量企业校园LAN
  • 局域网(LAN):企业校园网:微机或者工作站互连
  • 个域网(PAN):个人笔记本手机耳机网络

  • 拓扑结构分类:总线型;星型;环形;网状型

1.5 计算机网络的性能指标(1)-重点

需要计算,考研会出题

计算机网络8个性能指标:

  • 速率
  • 带宽
  • 吞吐量
  • 时延
  • 时延带宽积
  • 往返时间
  • 利用率
  • 丢包率

比特-计算机数据量单位

最小的是比特,bit(缩写是小b),1Byte = 8bit,大写的B是 Byte,字节

在计算机中,KB 表示 2 的10次方 B

在硬盘优盘生产厂家中,给出的硬盘容量 250G,表示 250 * 10 的9次方,这两个计算不一样

除了计算机内部的数据量是2进制,其他的厂家,速率带宽计算都是10次方,需要注意。

250 * (10 ^ 9) / (2 ^ 30) === 232.8 GB 硬盘在操作系统中显示 232.8GB

速率

速率是计算机网络上主机在数字信道上传送比特的速率,也成为比特率或者数据率。

自己理解:就是发送比特的速率

单位: bit/s, kb/s Mb/s 注意这里的b是小写的,是一个bit

例题:数据的大小是 100MB,网卡的发送速率是 100 Mb/s,求网卡发送的时间

  • 精确计算:100MB / 100Mb/s = MB / Mb/s = 2 ^20 * 8b / 10 ^ 6 b/s == 8.388 s

  • 估算:可以抵消M B/b/s == 8s

带宽

在模拟信号中(电话)中,通信的区段是 300Hz——3400Hz,那么带宽就是 3.1KHz(了解)

在计算机网络中,表示整个通信线路传输数据的能力。在单位时间内从网络的某一点到另一点能通过的最高数据率,单位和速率一样 b/s。带宽是最高数据率(理论上可以达到的最高速率)

吞吐量

吞吐量:单位时间内通过某个网络(信道,接口)的数据量。受网络的贷款或额定速率的限制。经常用于显示世界中网络的一种测量(实际到底多少数据能通过网络)。可能1Gb/s 的带宽,实际吞吐量在 700Mb/s

时延

发送时延:计算机中数据从网卡中发送的时延,等于分组长度(b)/发送速率(b/s)。主机发送速率 = Min(网卡发送速率,信道带宽,接口速率)

传播时延:计算机网络中,数据从一个节点传播到另一个节点的时延,等于信道长度(公里)/电磁波的传输速度(电磁波在光纤中是 2* 10 ^ 8,在铜线中是 2.3,在真空中是 3)。计算传播时延,先确定使用什么传输介质。

处理时延:路由器集线器中等待时间+转发时间,和路由器的软硬件性能有关,影响因素比较多,一般不计算。各级路由器的繁忙程度也是动态变化的。

问题:发送时延和传播时延哪个更多?

  • 传播时延和数据量大小无关。发送时间和数据量大小有关。

  • 如果数据块 100MB,信道带宽1Mb/s,发送时延约 800s

  • 如果数据块 1B,信道带宽 1Mb/s,发送时延只有 8 * 10 ^ -6 s

1.5 计算机网络的性能指标(2)

时延带宽积

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

如果发送段连续发送数据,在第一个发送的比特即将到达终点时,发送段已经发送的比特,就是时延带宽积。链路的时延带宽积又称为以比特为单位的链路长度。

往返时间

RTT 双向交互一次所需的时间。在各种链路中(有线网,无线网等),卫星链路耗时较多。

利用率

信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)。

网络利用率:全网络的信道利用率的加权平均。

利用率并不是越高越好,如果利用率增大时,时延也会迅速增加。时延计算公式:D = Do/(1 - U)。当网络利用率达到50%时,时延加倍。当利用率超过50%时,实际时延会显著增大。

利用率并不是越低越好,这样会浪费通信资源。应该根据情况动态调整输入到网络中的通信量,使得网络利用率保持在合理的范围内。

丢包率

丢包率:一定时间范围内,传输过程中丢失的分组数量和全部分组数量的比例。主要是运维负责,客户通常不会意识到丢包。

分组丢失(丢包)的原因:1、分组过程中出现误码,被节点丢弃;2、当通信量较大,网络拥堵,某个分组交换机已经满了,后续到达的分组可能被丢弃。主要是第二个原因。

丢包率反映了网络拥堵的情况:无拥堵0%,轻度拥堵1%-4%,重度拥堵5%-15%。

1.6 计算机网络体系结构(1)—常见的计算机网络体系结构

  • OSI 体系结构(开放系统互连参考模型)-法律上的国际标准,七层
  • TCP/IP体系结构-产业界国际标准,四层(OSI 的制定专家缺乏实际经验,OSI实现起来过分复杂,并且运行效率很低;OSI标准制定的周期太长,OSI层次划分不太合理)。分别是:网络接口层(物理层+数据链路层)、网际层(IP)、运输层(TCP)、应用层(HTTP)

实际学习中,学习的是 TCP/IP 的四层结构。第一层网络接口层分成 物理层 + 数据链路层讲。

每一层都是不同的协议(通信标准)构成的。一个计算机上的应用,和另一个计算机上的应用之间通信,需要先从高级到低级逐步编码,然后经过计算机网络(路由器交换机),到达目标计算机,然后再自下而上的解码,实现了不同应用之间的通信。

计算机通常是四层全部都有,路由器只有网络接口层和网际层(只需要分组转发,不需要上层解析数据,所以不需要上层的协议)

最下层网络接口层(物理层和数据链路层)通常已经铺设好,不需要我们去直接考虑,所以 TCP/IP 体系结构主要考虑上面的三层(网际层,运输层,应用层)

网际层:IP 协议

运输层:TCP/UDP 协议

应用层:HTTP SMTP DNS RTP 协议

IP 协议对底层的网络接口层,可以将不同的网络接口进行互连,同时可以为上层的网络应用提供服务。所以 IP over everything, everything over IP。

这一系列协议称为 TCP/IP 协议族

1.6 计算机网络体系结构(2)—分层的必要性

分层类似于功能组件化,可以把复杂的功能拆成独立的小的功能,不同层对应独立的功能,便于分开权限和后期维护。计算机网络是非常复杂的系统,所以更需要分层。

主要面临的问题

物理层

物理层解决使用何种信号传输比特的问题

  • 使用不同的传播媒体(网线,无线网,卫星信号)
  • 使用不同的物理接口
  • 使用不同的电信号表示比特

数据链路层

解决一个分组在一个网络或一段链路上传输的问题

  • 如何标识网络中的不同主机(主机编码,MAC 地址)发送数据需要加上目标地址和自身地址
  • 如何从信号中区分地址和数据(分组的格式封装)
  • 如何处理数据碰撞(两个计算机同时发送数据,但是网线是单向的)
  • 协调各主机争用网线(同一个电脑上有多个 APP,都会使用网络,需要协调主机占用总线)

网际层

解决分组在多个网络上传输(路由)的问题

  • 如何标识各网络和各主机(网络和主机共用编址问题,例如IP地址);
  • 路由器如何转发分组的问题,如何进行路由选择(网络中有多个线路,一个数据包可以发送给两个路由器,那么选择发送给哪个?)

运输层

解决进程之间给予网络的通信问题

  • 如何解决进程之间的网络通信问题
  • 如何处理传输错误

应用层

通过应用进程间的交互,完成特定的网络应用的问题

1.6 计算机网络体系结构(3)—分层思想举例

浏览器发送请求在计算机网络中的实际过程

1、应用层构建 HTTP GET 请求(请求头+请求体),交给下面运输层

2、运输层在数据前面增加一个 TCP 报文段,交给下面网际层

3、网际层增加一个 IP 数据报,交给下面的数据链路层

4、数据链路层增加 ETH 表示数据的开始和结束,交给下层物理层

5、物理层加一个前导码,转换成比特流电信号发出,经过网线到达路由器

6、路由器接收后,读取 IP 数据报,转发到对应的网络中

7、对应的计算机接收到数据包,从下到上依次解码,最终获取到 HTTP GET 请求报文

1.6 计算机网络体系结构(4)—专用术语

实体

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

对等实体:收发双方相同层次中的实体

协议

控制两个对等实体进行逻辑通信的规则的集合(不同层使用不同的协议规则)

协议三要素:语法(定义所交换信息的格式,信息由哪些字段以及什么顺序构成)、语义(定义双方要完成的操作)、同步(收发双方的时序关系,例如HTTP三次握手四次挥手等)

在协议的控制下,两个对等实体件的逻辑通信使得本层能够向上层提供服务。实现本层协议,需要使用下面一层所提供的服务(下层给上层提供服务)。

协议是水平的,服务是垂直的。实体可以看得到香菱下层所提供的服务,但是不知道该服务的具体协议。下面的具体细节对上层是透明的。

服务

服务访问点:同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型(上下两层协议交换信息的逻辑接口,TCP 和 HTTP 的逻辑接口)。

服务原语:上层使用下层所提供的服务,必须通过与下层交换一些命令,这些命令是服务原语。

协议数据单元 PDU:对曾层次之间传送的数据包(该层的协议数据单元)

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

多个 SDU 可以合成一个 PDU,一个 SDU 可以划分成多个 PDU。

1.7 第1章 概述 章节小结

重点:计算机网络的体系结构;分组交换;时延计算;网络基本概念

1.8 第1章 概述 习题课(1)— 体系结构相关习题

硬件的最高层级

  • 集线器 HUB 只有1层 物理层

  • 交换机 Switch 有12层 物理层+数据链路层

  • 路由器 Router 有123层 物理层 数据链路层 网络层

OSI 七层模型,每一层的原理,对应的协议等等

7、应用层:解决通过应用进程之间的交互,来实现特定网络应用的问题

6、表示层:解决通信双方交换信息的表示问题(字符集的转换,数据格式转换)

5、会话层:解决进程之间进行会话问题(会话管理)

4、运输层:解决进程之间基于网络的通信问题(可靠数据传输,端到端的服务)

3、网络层:解决分组在多个网络之间传输(路由)的问题(路由选择)

2、数据链路层:解决分组在一个网络(链路)上传输的问题(可靠数据传输)

1、物理层:解决使用何种信号来传输比特0或1的问题

网络体系结构中不包括协议的内部实现细节

1.8 第1章 概述 习题课(2)— 时延相关习题

时延 = 发送时延+传播时延+处理时延

例题1

当分组等长,链路等长,带宽相同,忽略路由器处理时延,n个分组,m段链路,总时延?

总时延 = N个分组发送时延 + 1个分组发送时延 * (m - 1)+ 一段链路的传播时延 * M。因为是M段链路,那么应该有m-1个路由器,所以路由器存储转发是 1个分组发送时延 * (m - 1),m-1实际就是转发次数。

例题2

比较电路交换和分组交换

报文X,带宽是B。电路建立时间是S。分组中每一个数据段长度是 p。一共有K个链路,传播时延D

电路交换 = 建立电路连接时间 s + 发送时延(x/b)+ 传播时延 (kd)= s + x/b + kd

分组交换 = 发送时延 + 路由器转发时延+ 传播时延 (就是例题1中的公式)

= p/b * x/p + p/b * (k - 1) + kd

这样可以比较分组交换和电路交换的时间了,建立不等式即可求解,求导可以求最值


Last update: November 9, 2024