概述
1.1计算机网络在信息时代中的作用
21世纪的一些重要特征就是数字化、网络化和信息化
“三网”即电信网络、有线电视网络和计算机网络
计算机网络向用户提供的最重要的功能
连通性---计算机网络使上网用户都可以交换信息,好像这些用户的计算机都可以彼此直接连通一样
共享---即资源共享。可以使信息共享、软件共享,也可以是硬件共享
1.2因特网概述
1.2.1网络的网络
网络由若干结点和连接这些节点的链路组成。
互联网是“网络的网络”。
连接在因特网上的计算机都称作主机
在网络中的node的标准译名是“结点”而不是“节点”,但数据结构的树中的node应当译为“节点”。
网络与因特网
网络把许多计算机连接在一起,而因特网则把许多网络连接在一起
网络:许多计算机连接在一起
互联网:许多网络连接在一起
因特网:全球最大的一个互联网
1.2.2因特网发展的三个阶段
- 第一阶段:是从单个网络ARPANET向互联网发展的过程
上世纪60年代到80年代中期
1983年TCP/IP协议成为ARPANET上的标准协议,人们把1983年作为因特网的诞生时间
Internet和internet的区别
以小写字母i开始的internet(互联网或互连网)是一个通用名词,它泛指由多个计算机互连而成的网络
以大写字谜I开始的Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,则其前身是美国APRANET。
第二个阶段:建成了三级结构的因特网
上世纪80年代中期到90年代初
三级计算机网络,分为主干网、地区网和校园网(或企业网)
- 第三个阶段:多层次ISP结构的因特网
出现了因特网服务提供者ISP
根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP也分为不同的层次
因特网逐渐演变成基于ISP和NAP的多层次结构网络
万维网WWW的问世
因特网已经成为世界上规模最大和增长速率最快的计算机网络,没有人能够准确说出因特网究竟有多大
因特网的迅猛发展始于20世纪90年代。由欧洲原子核研究组织CERN开发的万维网WWW(World Wide Web)被广泛使用在因特网上,大大方便了广发非网络专业人员对网络的使用,成为因特网的这种指数级增长的主要驱动力
1.2.3关于因特网的标准化工作
因特网研究部IRTF:进行理论方面研究和开发一些需要长期考虑的问题
因特网工程部IEFE:每个领域集中研究某一特定的短期和中期的工程问题,主要是针对协议的开发和标准化
制定因特网的正事标准要经过以下四个阶段
- 因特网草案(Internet Draft)---在这个阶段还不是RFC文导航
- 建议标准(Proposed Standard)---从这个阶段开始就成为RFC文档。
- 草案标准(Draft Standard)
- 因特网标准(Internet Standard)
各种RFC之间的关系
1.3因特网的组成
从因特网的工作方式上看,可以划分为一下的两大块:
1.边缘部分
由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传输数据、音频或视频)和资源共享
2.核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务(提供连通性和交换)。
因特网的边缘部分与核心部分
1.3.1因特网的边缘部分
处在因特网边缘的部分就是连接在因特网上的所有的用户自己。这些主机又称为端系统(end System)
“主机A和主机B进行通信”,实际上是指:“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”。
即“主机A的某个进程和主机B上的另一个进程进行通信”。或简称为“计算机之间通信”
两种通信方式
在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:
客户服务器方式
(C/S方式)
即Client/Server方式对等方式
(P2P方式)
即Peer-to-Peer方式
1.客户服务器方式
客户(client)和服务器(server)都是指通讯中所涉及的两个应用进程
客户服务器方式所描述的是进程之间服务器和被服务的关系。
客户是
服务的请求方
,服务器是服务的提供方
客户软件的特点
被用户调用后运行,在打算通讯时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址
不需要特殊的硬件和很复杂的操作系统。
客户软件的特点
一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求
系统启动后即自动调用并一直不断地
运行着,被动地等待
并接受来自各地的客户的通讯请求。因此,服务器程序不需要知道客户程序的地址一般需要强大的硬件和高级的操作系统支持
2.对等连接方式
- 对等连接(peer-to-peer,简称P2P)是指两个主机在通信时并不区分哪一个是服务请求还是服务提供方
- 只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信
- 双方都可以下载对方已经存储在硬盘中的共享文档
对等方式的特点
对等连接方式从本质上看仍是使用客户服务器方式,只是对等连接中的每一个主机既是客户又同时是服务器。
例如主机C请求D的服务时,C是客户,D是服务器。但如果C又同时向F提供服务,那么C又同时起着服务器的作业。
1.3.2 因特网的核心部分
网络核心部分是因特网中最复杂的部分
网络中的核心部分要想网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通讯(即传送或接收各种形式的数据)
在网络核心部分起特殊作用的是路由器(router)
路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最总要的功能
1.电路交换的主要特点
- 一百多年以来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换(circuit switching)
“交换”的含义
在这里,“交换”(switching)的含义就是转接---把一条电话线转接到另一条电话线,使它们连通起来。
从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源
电路交换的特点
- 电路交换必定是面向连接的。
- 电路交换的三个阶段:
- 建立连接
- 通信
- 释放连接
电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
电路交换传送计算机效率低
- 计算机数据具有突发性
- 这导致通信线路的利用率低
2.分组交换的主要特点
-
在发送端先把较长的报文划分为较短的、固定长度的数据段
-
每一个数据段前面添加上首部构成分组
分组交换的传输单元
- 分组交换网以“分组”作为数据传输单元
-
依次把各分组发送到接受段(假定接收端在左边)
分组首部的重要性
每一个分组的首部都含有地址等控制信息
分组交换网中的节点交换机根据收到分组首部中的地址信息,把分组转发到下一个及诶单交换机
用户这样的存储转发方式,最后分组就能到达最终目的地
收到分组后剥去首部
- 接收端到分组后剥去首部还原为报文
最后还原成原来的报文
- 最后,在接收端把收到的数据
恢复成为原来的报文
- 这里假定分组在传输过程中没有出现差错,在和战法时也没有被丢弃
因特网和核心部分
因特网的核心部分是由许多网络和把它们互连起来的路由器的组成,而主机处在因特网的边缘部分
在因特网核心部分路由器之间一般都是用高速链路相连接,而在网络边缘的注解介入到核心部分则通常以相对较低速率的链路相连接
主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换。
分组交换网的示意图
注意分组的存储转发过程
路由器
- 在路由器中的输入和输出端口之间没有直接连接
- 路由器处理分组的过程是:
- 把收到的分组先放入缓存(暂时存储)
- 查找转发表,找到某个目的地址应从端口转发
- 把分组送到适当的端口转发出去
主机和路由器的作用不同
- 主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。
- 路由器对分组进行存储转发,最后把分组交付目的主机
分组交换的优点
高效 ------ 动态分配传输带宽,对通信链路是逐段占用
灵活 ------ 以分组为传输单位和查找路由。
迅速 ------ 不必先建立连接就能向其他主机发送分组
可靠 ------ 保证可靠性的网络协议;分布的路由选择协议使网络有很好的生存性。
分组交换带来的问题
- 分组在各结点存储转发时需要排队,就会造成一定的时延
- 分组必须携带的首部(里面有必不可失的控制信息)也造成额一定的开销。
存储转发原理并非完全新的概念
- 在20世纪40年代,电报通信业财通基于存储转发原理的报文交换(message switching)。
- 报文交换的时延较长,从几分钟到几小时不等。现在报文交换已经很少有人使用了。
三种交换方式的比较
电路交换 ------ 整个报文的比特流连续地从源点直达终点,好像一个管道中传送
报文交换 ------ 整个报文先传送到相邻点,全部存储下来后查找转发表,转发到下一个结点
分组交换 ------ 单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点
1.4计算机网络在我国的发展
1.5计算机网络的类别
1.5.1 计算机网络的不同定义
- 最简单的定义:计算机网络是一些互相连接的、自治的计算机的集合
- 因特网(Internet)是“网络的网络”
1.5.2几种不同类别的网络
-
1.不同作用范围
- 广域网WAN(Wide Area Network)
- 局域网LAN(Local Area Network)
- 城域网MAN(Metropolitan Area Network)
- 个人区域网PAN(Personal Area Network)
-
2.不同使用者的网络
- 公用网(public network)
- 专用网(private network)
-
3.用来把用户接入到因特网的网络
- 接入网AN(Access Network),它又称为本地接入网或居民接入网
- 由ISP提供的接入网只是起到让用户能够与因特网连接的“桥梁”作用
1.6计算机网络的性能
1.6.1计算机网络的性能指标
1.速率
- 比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位
- bit来源于binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字钟的一个1或0
- 速率即数据率(data rate)或者比特率(bit rate)是计算机网络中最重要的一个性能指标。速率的单位是b/s,或kb/s,Mb/s,Gb/s等
- 速率往往是指额定速率或标称速率
2.带宽
- “带宽”(bandwidth)本来是指信号具有的频带宽度,单位是赫(或千赫、兆赫、吉赫等)
- 现在“带宽”是数字信道所能传送的“最高数据率”的同义词,单位是“比特每秒”,或b/s(bit/s)
- 更常用的带宽单位是:千比每秒,即kb/s(10^3 b/s),兆比特每秒,即Mb/s (10^6 b/s),吉比特每秒,即Gb/s (10^9 b/s),太比特每秒,即Tb/s (10^12 b/s)
数字信号流随时间的变化
-
在时间轴上信号的宽度随带宽的增大而变窄
3.吞吐量
- 吞吐量(throughput)表现在单位时间通过的某个网络(或信道、接口)的数据量。
- 吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络
- 吞吐量受网络的带宽或网络的额定速率的限制
4.时延(delay或latency)
传输时延(发送时延)发送数据时,数据块从结点进入到传输媒体所需要的时间
-
也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间
传播时延 电磁波在信道中需要椽笔一定距离而花费的时间。
-
信号传输速率(即发送速率)和信号在信道上的传播速率是完全不同的概念。
处理时延 交换结点为存储转发而进行一些必要的处理所花费的时间
排队时延 结点缓存队列中分组排队所经历的时延
排队时延的长短往往取决于网络中当时的通信量
数据经历的总时延就是发送时延、传播时延、处理时延和排队时延之和:
总时延 = 发送时延 + 传播时延 + 处理时延 + 处理时延
四种时延所产生的地方
容易产生的错误概念
对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。
提高链路带宽减小了数据的发送时延
5.时延带宽积
- 链路的时延带宽积又称为以比特为单位的链路长路。
6.利用率
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的通道的利用率为零
网络利用率则是全网络的信道利用率的甲醛平均值
信道利用率并非越高越好
时延与网络利用率的关系
根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。
若令D0 表示网络空闲时的时延,D表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示D和D0之间的关系:
U是网络的利用率,数据在0到1之间
7.往返时间RTT(Round-Trip Time)
- 从发送方发送数据开始,到接收方确认
1.6.2计算机网络的非性能特征
- 费用
- 质量
- 标准化
- 可靠性
- 可扩展性和可升级性
- 易于管理和维护
1.7计算机网络的体系结构
1.7.1计算机网络体系结构的形成
- 相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。
- “分层”可将庞大而复杂的问题,转化为瑞干较小的局部问题,而这些较小的局部问题就比较易于研究和处理
两种国际标准
法律上的(de jure)国际标准OSI并没有得到市场的认可
-
是非国际标准TCP/IP现在获得了最广泛的应用
- TCP/IP常被称为事实上的(de facto)国际标准
1.7.2划分层次的必要性
- 计算机网络中的数据交换必须遵守事先约定好的规则
- 这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)
- 网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定
网络协议的组成要素
- 语法 数据与控制新的结构或格式
- 语法 需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步 时间实现顺序的详细说明
主机1向主机2通过网络发送文件,可以将要做的工作进行如下的划分:
- 第一类工作与传送文件直接有关
- 确信对方已做好接收和存储文件的准备
- 双方协调好一致的文件格式
两个主机将文件传输模块作为最高的一层。剩下的工作由下面的模块负责
第二类再设立一个通信服务模块,用来保证文件和文件传输命令可靠地在两个系统之间交换。也就是让位于上面的文件传输模块利用下面的通信服务模块所提供的服务
第三类在设计一个网络接入模块,负责做与网络接口细节有关的工作。例如,规定传输的帧格式,帧的最大长度等。
分层的好处
- 各层之间是独立的。
- 灵活性好。
- 结构上可分隔开。
- 易于实现和维护。
- 能促进标准化工作
计算机网络的体系结构
- 计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。
- 体系结构就是这个计算机网络及其部件所应该完成的功能的精确定义
- 实现是遵循这种体系结构的,前提下用何种硬件或软件完成这些功能的问题
- 体系结构是抽象的,而实现则是据图的,是真的正在运行的计算机硬件和软件
1.7.3具有五层协议的体系结构
OSI参考模型
- 应用层 所有能产生网络流量的程序
- 表示层 在传输之前是否进行加密或压缩处理 二进制 ASCII
- 会话层 查木马 netstat -n
- 传输层 可靠传输 流量控制 不可靠传输
- 网络层 负责选择最佳路径 规划IP地址
- 数据链路层 帧的开始和结束 透明传输 差错校验
- 物理层 接口标准 电器标准 如何在物理链路上传输更快的速度
数据封装
- 数据在接收到数据帧后,需要去掉为了传输而添加的附加信息,这称为解封装,是上述封装操作的逆向过程
1.7.4实体、协议、服务和服务访问点
实体表示任何可发送或接收信息的硬件或软件进程
协议是控制两个对等实体进行通信的规则的集合
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下层所提供的服务
本层的服务用户只能看到服务而无法看见下面的协议
下面的协议对上面的服务用户是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP(Service Access Point)
1.7.5 TCP/IP的体系结构
- 路由器在转发分组时最高只用到网络层,而灭有使用运输层和应用层