重点:
- 互联网边缘部分和核心部分的作用,其中包含分组交换的概念
- 计算机网络的性能指标
- 计算机网络分层次的体系结构,包含协议和服务的概念
1.1 计算机网络在信息时代的作用
有三类大家都非常熟悉的网络,即电信网络、有线电视网络和计算机网络。
互联网的两个基本特点:连通性(数据通信)和共享(资源共享)
1.2 互联网概述
1.2.1 网络的网络
- 网络(network):由若干结点(node) 和连接这些结点的链路(link)组成。 结点可以是计算机、路由器、交换机、智能手机等。
- 互连网(internet):“网络的网络”,网络之间通过路由器互连。
- 互联网(Internet):起源于美国,把许多网络连接在一起,现已发展成为世界上最大的、开放的国际性计算机互联网。它采用 TCP/IP 协议族作为通信的规则,其前身是美国的 ARPANET。
网络把许多计算机连接在一起,而互联网则把许多网络通过路由器连接在一起。与网络连接的计算机常称为主机。互联网是全球最大的特定互连网。
1.2.2
互联网发展的三个阶段:
- 第一阶段是从单个网络ARPANET向互联网发展的过程。
- 第二阶段的特点是组成了三级结构的互联网。它是一个三级计算机网络,分为主干网、地区网和校园网。
- 第三阶段的特点是逐渐形成了多层次ISP结构的互联网。互联网服务提供者ISP。在许多情况下,ISP就是一个进行商业活动的公司,因此ISP又常常译为互联网服务提供商ISP。
根据提供服务的覆盖面积大小以及所拥有的IP地址数目不同,ISP也可以分为不同的层次的ISP:主干ISP、地区ISP和本地ISP。
1.2.3 互联网的标准化工作
万维网WWW(World Wide Web)由欧洲原子核研究组织CERN开发,被广泛使用在互联网上(莫名有种不务正业的感觉。
制定互联网的正式标准要经过三个阶段:
- 互联网草案(还不能算是RFC文档)
- 建议标准(成为RFC文档)
- 互联网标准(达到正式标准)
1.3 互联网的组成
互联网的拓扑结构虽然非常复杂,但从其工作方式上看,可以分为边缘部分(资源子网)和核心部分(通信子网)。
- 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
- 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
1.3.1 互联网的边缘部分
计算机之间的通信:主机A的某个进程和主机B上的另一个进程进行通信
计算机的通信方式通常可以划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)
1. 客户端-服务器方式
这种方式在互联网上是最常用的,也是传统的方式:就像我们平时上网发邮件或者找资料的时候。客户和服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。这里说的客户和服务器都是指计算机进程
客户是服务的请求方,服务器是服务提供方
客户程序:
- 被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址
- 不需要特殊的硬件和很复杂的操作系统
服务器程序:
- 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求
- 系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求,因此,服务器并不需要知道客户程序的地址
- 一般需要有强大的硬件和高级操作系统支持
2. 对等连接方式
对等连接是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),他们就可以进行平等的、对等连接通信。从对等连接的本质上看,它仍然是使用客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器。
1.3.2 互联网的核心部分
- 网络核心部分是互联网中最复杂的部分
- 网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一台主机都能够向其他主机通信
- 网络核心部分起特殊作用的是路由器(router)
- 路由器是实现分组交换(packet switching)的关键构件,其任务转发收到的分组,这是网络核心部分最重要的内容
1.电路交换的主要特点
- 电路交换必定是面向连接的
- 电路交换的三个阶段
-
- 建立连接(占用信道资源)
-
- 通话(一直占用通信资源)
-
- 释放资源(归还通信资源)
- 在通话时,两用户间占用端到端的资源
若使用电路交换来传送计算机数据时,由于计算机数据具有突发性,所以其线路的传输效率往往很低,除此之外还会浪费信道资源
2. 分组交换的主要特点
- 分组交换采用存储转发技术,也就是:收到分组->存储分组->查找路由表(路由选择协议)->转发分组
- 在发送端,先把较长的报文(要发送的整块数据)划分成较短的、固定长度的数据段
- 每一个数据段前加上首部(由必要的控制信息组成,也可称为“包头”)构成分组(又称为“包”)
- 分组交换网以“分组”作为数据传输单元,依次把各分组发送到接收端
主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则是用来转发分组的,即进行分组交换的。
分组交换的优点:
存在的问题:
- 分组在各路由存储转发时需要排队,就会造成一定的时延
- 分组必须携带的控制信息(首部)也造成了一定的开销
电路交换、报文交换和分组交换的比较:
- 电路交换————整个报文的比特流连续地从源点直达终点,好像在一个管道中传送
- 报文交换————整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点
- 分组交换————单个分组(整个报文的一部分),传送到相邻节点,存储下来在查表转发至下一节点
1.5 计算机网络的类别
1.5.1 计算机网络的定义
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
1.按照网络的作用范围来分:
- 广域网 WAN(Wide Area Network):互联网的核心部分
- 城域网 MAN(Metropolitan Area Network):目前很多城域网采用的是以太网技术
- 局域网 LAN(Local Area Network)
- 个人区域网 PAN(Personal Area Network)
2.按照网络的使用者来分类
- 公用网
- 专有网
3.用来把用户接入到互联网的网络
这种网络就是接入网络或者称为本地接入网或者居民接入网络
1.6 计算机网络的性能
1.6.1 计算机网络的性能指标
1. 速率
网络技术中的数率指的是数据的传送数率,往往指的是额定数率或标称数率,并非实际运行数率。bit/s
2.带宽
带宽用来表示网络中某通道传送数据的能力,一般表示的是某信道所能通过的“最高数据率”
3.吞吐量
单位时间内通过某个网络(或信道、接口)的实际的数据量,其绝对上限值等于带宽
4.时延
数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。时延是个很重要的性能指标
- 发送时延:主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间
-
- 发送时延 = 数据帧长度(bit)/发送数率(bit/s)
- 传播时延:电磁波在信道中传播一定的距离所需要花的时间
-
- 传播时延 = 信道长度(m)/电磁波在信道上的传播速率(m/s)
- 处理时延:主机或路由器在收到分组需要花费一定的时间进行处理
- 排队时延:分组在路由器额的输入队列中等待的时间和在输出队列中等待的时间
- 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
- 对于高速网络链路,我们提高的仅仅是数据的发送数率而并不是传播数率
5.时延带宽积
传播时延*带宽,表示链路的容量
时延带宽积 = 传播时延 X 带宽
若发送端连续的发送数据,则在发送的第一个比特即将到达终点时,发送端就已经发送了20万个比特,而这20万个比特正在链路上向前移动。因此链路的时延带宽积又称为比特的单位链路长度。
6.往返时间RTT
从数据发送方开始,到发送的数据收到,且收到接收方的确认为止,所花费的时间
7.利用率
- 信道利用率:某信道有百分之几的时间是被利用的(有数据通过)
- 网络利用率:全网络的信道利用率的加权平均值
- 信道或网络利用率越高,则会产生越大的延迟
- D = D0/(1-U) U是网络利用率
D表示网络当前的时延,D0表示网络空闲的时延,U表示网络利用率。
1.6.2 计算机非性能指标
- 费用
- 质量
- 标准化
- 可靠性
- 可扩展性和可升级性
1.7 计算机网络体系
1.7.1 计算机网络体系结构的形成
两种国际标准:
- OSI(开放系统互连基本参考模型)是法律上的国际标准,不过并没有得到市场的认可,而非法律上的国际标准TCP/IP获得了最广泛的应用,故TCP/IP常被称为事实上的国际标准。
1.7.2 协议与划分层次
为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol),由以下三个要素组成:
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:即事件实现顺序的详细信息(时序)
网络协议
为进行网络中的数据交换而建立的规则、标准或约定
- 分层好处多
- 层数要适当
1.7.3 具有五层协议的体系结构
- TCP/IP的四层结构
- 应用层
- 运输层
- 网际层
- 网络接口层
- 五层协议
- 应用层(application layer) :通过应用进程间的交互来完成特定网络应用。
- 运输层(transport layer) :向两台主机中进程之间的通信提供通用的数据传输服务。TCP、UDP。
- 网络层(network layer) :分组转发、路由选择。IP。
- 数据链路层(data link layer) :在两相邻结点间的线路上传送以“帧”为单位的数据。
- 物理层(physical layer) :透明地传送比特流。
1.应用层
应用层的任务就是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信的规则和交互的规则。 通常HTTP协议和SMTP协议就属于应用层协议。我们把应用层交互的数据单元称为报文(Message)。
2.运输层
运输层的任务就是负责在两台计算机中进程之间的通信提供通用的数据传输服务。
运输层的主要有以下两个协议:
- 传输控制协议TCP:提供面向连接的、可靠地数据传输服务,其数据传输单元是报文段(Segment)。
- 用户数据报协议UDP:提供无连接的,尽最大努力数据传输的服务,其数据传输单位是用户数据报。
3.网络层
网络层负责为分组交换网的不同主机之间提供通信服务。在发送数据时、网络层把运输层产生的报文段或用户数据包封装成分组或者包进行交换。因此分组也叫做IP数据报。
网络层的另一个任务就是选择合适的路由,是源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
互联网使用的网络层协议是无连接的网络协议IP和多种路由选择协议。
4.数据链路层
数据链路层也简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。在两个邻接节点间的链路上传送帧(frame),每一帧包括数据和必要使用的控制信息(同步信息、地址信息、差错控制等)
5.物理层
在物理层上所传送的单位是比特。发送方发送1时,接收方应当收到1.
6.实体和协议
实体表示任何可发送或接受信息的硬件或软件进程
协议是控制两个对等实体(或多个实体)进行通信的规则的集合
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下面一层所提供的的服务
7.协议与服务
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
下面的协议对上面的服务是“透明”的,即本层的服务用户只能看见服务而无法看见下面的协议
同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP(Service Access Point)
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的,还必须非常仔细的检查这个协议能否应付各种异常情况。
1.7.5 TCP/IP的体系结构
TCP/IP协议族,它的特点是下两头大而中间小:应用层和网络接口层有许多协议,而中间的IP层很小,上层的各种协议都汇聚到一个IP协议中。