计算机与网络(一)
写了几个月的学习笔记(虽然是每周一篇),发现了新世界,以前只觉得花时间写学习笔记效率不是很高,一直没有写过学习笔记之类的,但是实际上,写学习笔记的过程实际上又是重新复习了一下。
学习计算机网络的笔记系列,参考谢希仁编著的计算机网络(第七版),用自己的话尽量复述一边,无法复述,就自己手敲一次,加深印象。
1. 引子
计算机和网络已经成为当今信息时代的核心,已经成为信息社会的命脉和发展知识经济的重要基础。
网络:泛指把人或物互连在一起而形成的系统。
大众熟悉的三大网络:
- 电信网络:提供电话、电报及传真等服务
- 有线电视网络:向用户传送各种电视节目
- 计算机网络:使用户能在计算机之间传送数据文件。
其中,发展最快并起到核心作用的是计算机网络。
2. 计算机网络的定义及其特点
2.1 定义
首先,计算机网络的精确定义现在还没有统一。
较好的定义: 计算机网络主要由一些通用的、可编程的硬件互连而成的,而这些硬件并非用来实现某一特定目的(如传送数据或视频信号)。这些可编程硬件能够用来传送多种不同的数据,并能支持广泛的和日益增长的应用。
定义中重要的两点:
- 多种硬件:包括计算机、智能手机、智能传感器等
- 多种应用:包括数据、语音、视频,以及未来可能出现的应用
2.2 计算机网络的特点
连通性:
- 使上网用户之间都可以交换信息。
- 互联网具有虚拟的特点,无法准确知道对方身份和位置等。
共享:
- 指资源共享
- 多方面,如信息共享、软件共享和硬件共享等。
- 由于网络的存在,这些资源就像在用户身边一样,非常方便。
网络的表示
- 用图表示网络
- 用云表示网络(主机在云里)
- 用云表示网络(主机在云外)
3. 互联网概述
3.1 互联网概念
互联网是目前技术最为成功、应用最为广泛的计算机网络。
3.1.1 互联网定义
互联网,特指 Internet,起源于美国,是由数量极大的各种计算机网络互连起来而形成的一个互连网络。它采用 TCP/IP 协议族作为通信规则,是一个覆盖全球的、实现全球范围内连通性和资源共享的计算机网络。(定义超长)
TCP/IP、覆盖全球、实现连通性和资源共享、计算机网络
3.1.2 internet 和 Internet 的区别
对大小写敏感???
- 小写字母”i”开始: internet(互连网,没有写错),是通用名词。泛指由多个计算机网络互连而成的网络。
- 大写字母”I”开始:Internet(互联网或因特网)是专有名词。指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信规则,其前身是美国的 ARPANET。(1990 年正式宣布关闭)。
相似之处:网络的网络
不同之处:
互联网(Internet) | 互连网(internet) |
特指采用 TCP/IP 标准、利用路由器将各种计算机网络互连起来而形成的、一个覆盖全球的、特定的互连网 | 泛指由多个不同类型的计算机网络互连而成的网络 |
使用 TCP/IP | 除 TCP/IP 外,可使用其他协议 |
专有名词 | 通用名词 |
3.2 互联网基础结构发展的三个阶段
第一阶段
从单个网络 ARPANET 向互联网发展的过程。
- 1983 年,TCP/IP 协议成为 ARPANET 上的标准协议,使得所有 TCP、IP 协议的计算机都能利用互连网相互通信。
- 人们把 1983 年作为互联网的诞生时间。
- 1990 年,ARPANET 正式宣布关闭。
第二阶段
建立了三级结构的互联网
如图所示
上图是一个三级计算机网络,分为主干网、地区网和校园网。
第三阶段
逐渐形成了多层次 ISP 结构的互联网
- 出现了互联网服务提供商 ISP(Internet Service Provider)
- 任何机构和个人只要向 ISP 交纳规定费用,就可以从该 ISP 获取所需 IP 地址的使用权,并能够通过该 ISP 接入到互联网
- 根据提供服务的覆盖面积和所拥有的 IP 地址数目的不同,ISP 可以分成不同层次的 ISP:主干 ISP、地区 ISP 和本地 ISP
示意图:
IXP:互联网交换点。作用是允许两个网络直接相连并交换分组,而不用通过它们的上层 ISP 来转发分组。(可以少给上一层交钱)
3.3 互联网的标准化工作
互联网的标准化工作对互联网的发展起到了非常重要的作用
所有的互联网标准都以 RFC 的形式在互联网上发表。
之前要经过三个阶段:
- 互联网草案:有效期只有六个月。还不是 RFC 文档
- 建议标准:开始成为 RFC 文档
- 互联网标准:达到正式标准后,每个标准分配一个编号 STD xxxx。一个标准可以和多个 RFC 文档关联。
现在没有互联网草案阶段,只需要建议标准、互联网标准两个阶段即可。
4. 互联网的组成
可以划分为两大块(按互联网的工作方式来分):
- 边缘部分:由所有连接在互联网上的主机组成,这部分是用户直接使用的。
- 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供连通性和交换等服务的。
4.1 互联网的边缘部分
处在互联网边缘的部分是连接在互联网上的所有主机(不只是电脑,可以是智能手机、网络摄像头等)。这些主机也被称为端系统。
端系统之间的通信:运行在主机 A 上的某个程序和运行在主机 B 上的某个程序进行通信。
端系统之间的通信方式可划分为两类:
客户-服务器方式(C/S 方式)
即 Client/Server 方式。
- 客户和服务器都是指通信中的两个应用进程。
- 客户-服务器方式描述的是进程之间服务和被服务的关系
- 客户是服务的请求方,服务器是服务的提供方。
服务请求方和服务提供方都需要使用网络核心部分所提供的服务。
客户软件的特点:
- 被用户调用后运行,通信前主动向服务器发起通信(请求服务)。所以,客户程序需要知道服务器的地址
- 不需要很复杂的操作系统,也不需要特别强大的硬件
服务器软件的特点:
- 一种专门用来提供服务的程序,可同时处理多个请求
- 系统启动后会一直持续运行,等待并接受客户的通信请求。服务器程序不需要知道客户程序的地址
- 需要高级的操作系统和强大的硬件支持
客户和服务器的通信关系建立后,客户和服务器都可以发送和接收数据
对等方式(P2P 方式)
即 Peer-to-Peer 方式。
- 对等连接是指两个主机在通信时不会区分谁是服务请求方和谁是服务提供方
- 只要两个主机都运行了对等连接软件,他们就可以进行**平等的、对等连接通信
- 双方都可以下载对方存储在硬盘中的共享文档
对等连接方式的特点:
- 对等连接中的每一个主机既是客户,又是服务器
- 主机 C 请求 D 的服务时,C 是客户,D 是服务器。C 同时向 F 提供服务时,C 同时又起着服务器的作用
对等连接工作方式可支持大量对等用户(如上百万个)同时工作
4.2 互联网的核心部分
- 网络核心部分是互联网最复杂的部分
- 网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何主机都能和其他主机通信
- 路由器在网络核心部分起着特殊作用
- 路由器是实现分组交换的关键构件,任务是转发收到的分组,这是网络核心部分最重要的功能。
典型的交换技术包括:
- 电路交换
- 分组交换
- 报文交换
互联网的核心部分采用了分组交换技术
- 电路交换:每一部电话都直接连接到交换机上,而交换机通过交换**的方法,让电话用户彼此之间可以很方便地通信。
- 主要特点:需要互相通话的 2 部电话机需要一对电线直接连接 N 部电话机需要实现两两互相通话,需要N(N-1)/2对电线 当电话机的数量增多时,要使用交换机来完成全网的交换任务。
- 交换机的交换:把一条电话线转接到另一条,使它们连通起来。(交换机知道那两个电话机需要通话后,把它们的线配对)。按照某种方式动态地分配传输线路的资源
- 电路交换特点:
- 电路交换是面向连接的
- 电路交换分为三个阶段
- 建立连接:建立一条专用的物理通路,保证通话时的通信资源在通信时不会被占用
- 通信
- 释放连接:使用通信的时候占用的所有通信资源
- 计算机数据具有突发性,导致在传送计算机数据时,通信线路的利用率很低(传数据的时间不到 10%,甚至不到 1%)
- 分组交换 主要特点:
- 采用存储转发技术
- 在发送端,先把长报文划分成短的、固定长度的数据段
- 在一个数据段前面添加上首部构成分组。
- 分组交换以分组作为数据传输单元,依次把各分组发送到接收端
- 接收端收到分组后,把分组的首部剥去,把收到的数据还原成报文
- 分组交换的传输单元:
- 每一个分组的首部都含有地址(目的地址和源地址)等控制信息
- 分组交换网中的节点交换机根据收到的分组首部中的地址信息,把分组转发到下一个节点转换机
- 每个分组在互联网中独立选择传输路径
- 用这样的存储转发的方式,最后分组就能到达最终目的地
假如上图 b 中的主机要向主机 5 发送数据:
- 主机 H1 先将分组逐个地发往与它直接相连的路由器 A,当分组正在 H1–A 链路上传送时,链路 H1–A 会被占用,其他空闲时间,链路 H1–A 也可以为其他主机发送的分组使用
- 路由器把主机 H1 发来的分组放入缓存。在路由表 A 的转发表中查找下一个转发点,假如是 C,所以会把分组转发到链路 A–C。分组传送给路由器 C。当分组在链路 A–C 传送时,该分组不占用网络其他部分的资源。
- 路由器 C 继续按上面的方式查找转发表,假设要转发给路由器 E。当分组到达 E 后,E 会把分组直接交给主机 H5。
分组传送过程中,如果出现链路 A–C 的通信量太大,路由器 A 可以换路走(先转发到路由器 B,再到 E,再到 H5) 在网络中可以同时有多台主机进行通信。 上面路由器处理分组的过程精简化:
主机和路由器的作用不同:
- 主机是为用户进行信息处理的,并向网络发送分组,从网络接受分组
- 路由器对分组进行存储转发,最后把分组交给目的主机
分组交换带来的问题:
- 分组在各节点存储转发时需要排队,会造成一定的时延
- 分组必须携带的首部也会造成一定的开销
三种交换的比较:
- 要连续传输大量的数据,而且传送时间远远大于连接建立时间的话,电路交换的传输速率较快
- 报文转换和分组转换不需要预先分配传输带宽,在传送突发数据时可以提高整个网络的信道利用率
- y 因为一个分组的长度往往小于整个报文的长度,所以分组交换比报文交换的时延小,同时还具有更好的灵活性
5. 几种不同类别计算机网络
5.1 按照网络的作用范围分类
- 广域网 WAN(Wide Area Network):作用范围通常是几十到几千公里
- 城域网 MAN(Metropolitan Area Network):作用范围 5 到 50 公里
- 局域网 LAN(Local Area Network):作用范围 1 公里左右
- 个人局域网 PAN(Personal Area Network):作用范围 10 米左右
多处理机系统:中央处理机之间的距离非常小(如 1 米的数量级及以下),不称为计算机网络
5.2 按照网络的使用者分类
- 公用网:按规定交纳费用的人可以使用的网络,也称公众网
- 专用网:为特殊业务工作的需要而建的网络
5.3 用来把用户接入到互联网的网络
- 接入网 AN(Access Network):又称本地接入网或居民接入网
- 接入网是一类特殊的计算机网络,用于将用户接入互联网
- 接入网既不属于互联网的核心部分。也不属于互联网的边缘部分
- 接入网是从某个用户端系统到互联网中的第一个路由器(也称边缘路由器)之间的一种网络
6. 计算机网络的性能
6.1 计算机网络的性能指标
- 速率
- 比特(bit)是计算机中数据量的单位
- 速率是计算机网络中最重要的一个性能指标,指的是数据的传输速率,也称为数据率或比特率
- 速率的单位是 bit / s、kbit / s、Mbit / s、Gbit / s 等
- 速率往往是指额定速率或标称速率,非实际运行速率
- 带宽 两种意义:
- 带宽本来是指信号具有的频带宽度,单位是赫
- 在计算机网络中,带宽用来表示网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的”最高数据率”。单位是 bit / s
- 吞吐量
- 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量
- 根据吞吐量可以知道实际上有多少数据量可以通过网络
- 吞吐量受网络的带宽或网络的额定功率的限制
- 时延
- 时延是指数据从网络的一段到另一端所需的时间
- 网络中的时延由以下几个部分组成
- 发送时延
- 也称传输时延
- 发送数据时,数据帧从节点进入到传输媒体所需要的时间
- 传播时延
- 电磁波在信道中传输一定距离而花费的时间
- 信号的发送速率和信号在信道上的传播速率是完全不同的概念
- 处理时延
- 主机或路由器在收到分组时,为处理分组(如分析首部、提取数据、差错检验、查找路由)所花费的时间
- 排队时延
- 分组在路由器输入输出队列中排队等待处理所经历的时延
- 排队时延的长短取决于网络中当时的通信量
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
四种时延产生的地方:
对于高速网络链路,提高的只是数据的发送速率而不是数据在链路上的传播速率
提高链路带宽减小了数据的发送时延
- 时延带宽积 链路的时延带宽积又称为以比特为单位的链路长度
- 往返时间
- 往返时间 RTT(round-trip time)表示从发送方发送数据开始,到发送方收到来自接收方的确认,经历的时间
- 在互联网中,往返时间还包括个中间节点的处理时延、排队时延以及转发数据是的发送时延
- 在使用卫星通信是,RTT 相对较长,是很重要的一个性能指标
- 利用率
- 分为信道利用率和网络利用率
- 信道利用率是指某一信道有百分之几的时间是被利用的(有数据通过)
- 网络利用率是全网络的信道利用率的加权平均值 3
- 信道利用率不是越高越好。当信道的利用率增大时,引起的时延也会随之增加
- 时延与利用率的关系
6.2 计算机网络的非性能指标
- 费用
- 质量
- 标准化
- 可靠性
- 可扩展性和可升级性
- 易于管理与维护