Ch1: 互联网的组成和分类,计算机网络的性能与体系结构
1.1 互联网的组成
互联网主要分为2个部分,分别是
- 边缘部分(所有互联网上的主机组成,给用户直接使用的部分)
- 核心部分(由网络和连接网络的路由器组成,给边缘部分的主机提供连接服务)
1.1.1 边缘部分
边缘部分由主机组成,边缘部分中主机和主机之间的通信实际上是一台主机的进程和另一台主机的进程进行通信。这也被称为是计算机之间的通信。主要有两种计算机之间的通信方式:
- 客户-服务器(C/S)方式:
- 由一台服务器时刻监听来自客户机的请求,只需要客户机知道服务器的位置即可。
- 建立连接以后通信可以是双向的。
- 对等(P2P)方式
- 两台主机都既是服务器又是客户机。
1.1.2 核心部分:分组与交换
核心部分由网络 和连接网络的路由器组成。
路由器是一台专门用于分组交换的专用计算机。
路由器是分组交换的核心部件,任务是转发收到的被分组的信息到相应的目的地。
分组交换 = 分组+交换
1.2.1.1 分组
定义 分组: 是指我们要发送的整段数据(报文)会被划分成一段段更小的数据段,每一个小数据段加上段首信息就组成一个分组,也被称为包。
路由器收到的都是一个个分组,在暂存以后会转发出去。
1.2.1.2 交换
“交换”来源于早期的”电路交换”。
把部电话两两相接在一起一共需要条线路。
这么多线路显然是不能接受的。因此引入交换机。
只要把一个区域内的步电话都先连接到交换机,当两部电话需要通信时,交由交换机建立连接通话。
对于相对较远的两个区域,则将这两个区域的交换机相连接,构成一张由交换机连接的电话网络的网络。
路由器做的也是类似的事情,互联网是路由器连接的网络的大网络,收到分组信息并暂存后,路由器查找转发表,将分组信息转发到下一个路由器,最后抵达目的地址所在的路由器。
不过电话交换的特点在于建立连接。电话交换需要经过3个步骤:
在这个过程中,某一个链路和其中的资源会一直被通信的用户独占。互联网的通信如果依照这种方式,传输的资源利用率很低。因为网络通信主要是以突发的信息传输为主。
因此网络通信的链路是只有当该链路上正在传送信息时才被占用。
另外,还有一种用于电报的报文交换 -> 类似于不分组的路由交换,整个报文一起在路由器网络中交换。
1.2.1.3 分组交换的优势与劣势
优势:
- 分组在一段一段断断续续地占用链路中传输,还省去了建立连接和释放连接的步骤,传输效率大大提高。
- 链路出现故障、拥塞时,路由器可以根据策略灵活调整传输路径,传输的灵活性、鲁棒性更高。
劣势:
- 通信链路根据实时情况变换,可追踪性不高,比较复杂。
- 路由器中转发需要排队,会产生时延。也无法确保端到端的带宽。
1.2 互联网的分类
定义 [PETE11]:计算机网络主要是由一些通用的,可编程的硬件互连而成,用于传输不同种类的数据。
1.2.1 按照互联网的作用范围(广度)进行分类
互联网类型 | 作用范围 |
---|---|
广域网WAN(Wide Area Network) | 几十到几千km(跨国) |
城域网MAN(Metropolitan Area Network) | 5~50km(一个城市) |
局域网LAN(Local Area Network) | 1km左右(一个单位,校园网/企业网) |
个人区域网PAN(Personal Area Network)(Wireless PAN) | 10m左右(一个人用) |
1.2.2 按照互联网的使用者进行分类
- 公用网(Public Network): 电信公司/国家出资建造的网络,任何缴纳费用的人都可以使用的网络。
- 专用网(Private Network): 满足特殊单位的特殊网络,不允许外人使用。比如铁路/军用网络。
1.2.3 接入网AN(Access Network)
接入网,居民接入网,本地接入网。是某个用户端系统接到互联网中第一个路由器之间的网络。因此它既不属于互联网的边缘部分,也不属于核心部分,是连接边缘和核心的网络。
1.3 计算机网络的性能()
将从7个不同的方面评价计算机网络的性能。
1.3.1 速率:数据的额定传送速率(数据率data rate):
定义 速率指的是数据的传送速率,它也被称为数据率,用单位描述。一般指的是数据的传送的额定速率或标称速率。
注意: 前面的,而前的
1.3.2 带宽: 衡量某一信道中的最大传输速率
带宽有两种含义:
- 信号与系统中: 某一信道能够传送的频率范围。
- 计算机网络中: 某一信道单位时间中最多能通过的数据量。也用单位表示。
前者为频率表述,后者为时域表述。两者的描述是一致的,比如能传送的频率范围越大,信道中单位时间内能通过的数据量也就越多。
1.3.3 吞吐量: 衡量网络中实际的传输速度
定义 吞吐量表示在单位时间内通过这个网络(或信道或接口)的实际的数据量。
某个信道的带宽应该是该信道吞吐量的最大上限值。
1.3.4 时延
定义 时延(delay或latency)是指数据从网络的一端完全传送到另一端所需要的时间。
1.3.4.1 发送时延(Transmission Delay)
定义 发送时延是指从发送端的主机/路由器完全发送数据所需要的时间,因此和数据包的大小呈正相关。且一般发生在网络适配器中,和传输的路径长短没有任何关系。也叫做传输时延。
1.3.4.2 传播时延(Propagation Delay)
定义 传播时延是指电磁波在信道中传播所需要的时间,和信道的介质(影响电磁波的传播速率)和信道长度有关。但由于信道的传播有并行性,所以传播时延和数据的大小无关。
1.3.4.3 处理时延
定义 处理时延是指主机和路由器在收到分组的信息后需要一定时间进行处理,比如整合数据分组、分析分组的首部信息、提取信息以及检错等等步骤所带来的时延。
1.3.4.4 排队时延
定义 排队时延指的是当分组经过某些路由器时,路由器中正在处理其他分组,本分组只能等待。等待所产生的时延就是排队时延。排队时延往往取决于网络当时的阻塞程度和通信量。
当排队队列超过限制的时候,就免不了有一些分组因为队列溢出而丢失。那么这些分组的排队时延可以视作无穷大。
1.3.4.5 总时延
显然总时延为上述4种时延之和:
需要注意的是: 总时延中的决定性力量要视情况而定,因此有时候提升了某一种时延总时延减小的效果很大而有时候却几乎没什么变化。
1.3.5 传播时延带宽积
定义 定义一条信道的传播时延带宽积(时延带宽积):
这个量的物理含义是如果源源不断地发送数据,当发送端发送的第一个比特即将到达接收端时,该信道中存在的比特数。这些比特都在以接收端为目的地向前运动。(就像是从水管中源源不断地抽水,水管里的水的数量)
只有当信道里充满比特的时候,信道的利用才比较完全。
1.3.6 往返时间RTT(Round-Trip Time)
定义 往返时间是指发送方发送完最后一个数据以后,直到发送方再次接收到接收方发来的确认消息所需要的时间。往往假定确认消息的数据量非常小,接收端发送确认消息的时间为0。
因此往返时间一般是这样计算的:
应用往返时间可以计算得到真正的有效数据速率:
1.3.7 利用率
定义 信道利用率定义为某个信道有多少比例的时间是被利用的(有数据通过)。
定义 网络利用率U定义为网络中每一个信道的利用率的平均值。
公式 理想情况下,网络利用率U和网络的时延的关系有:
其中表示某一数据量在该网络完全空闲时的时延,表示相同数据量的数据在当前网络状态下的时延。
注意:利用率并非越大越好,从上图可以看出利用率加大,时延上升的比较快。利用率50% 时延变为2倍。因此基本上控制利用率不超过50%。
1.3.8 一些非量化的性能指标
- 成本与价格
- 质量
- 标准化
- 可靠性
- 可扩展和可升级性
- 可管理和维护性
1.4 计算机网络体系结构(Architecture)
实践来看,计算机网络设计成一个分层模块组装起来的大模块比较合适。
分层的好处在于:
- 各层之间独立,复杂问题模块化
- 灵活性好
- 结构上可以分割开
- 实现简单,可维护性高
- 利于标准化工作
每一层都需要实现以下功能的一种或是几种:
- 差错控制
- 流量控制
- 分段与重装(发送端把数据分为小段,而接收端重组他们)
- 复用和分用(发送端多个高层同时使用同一个低层,接收端则把底层的信号一个个分开,分给不同的高层)
- 建立连接和释放(建立和释放逻辑连接)
但分层也有缺点,比如有的功能会在好几层都出现,造成冗余。
**计算机体系结构(Architecture)**指的是计算机各层极其协议的集合。也就是这个计算机网络每一层的所要完成的功能的定义。
计算机体系结构是一个抽象的概念,而计算机网络是按照体系结构的某一种具体实现,是一个具体的实现。
1.4.0 实体、协议、服务和服务访问点
定义 实体(entity)指的是任何能够发送或者是接受信息的硬件和软件进程。是一个抽象的概念。
定义 协议(protocol)指的是发送端和接收端同一层之间为了进行数据交换而建立的规则、标准或约定,进而可以向上一层提供服务,可能要用到下一层的服务。
主要由:
- 语法: 数据与控制信息的格式
- 语义: 要发出何种控制信息、何种动作、何种响应
- 同步: 事件的顺序
组成。
定义 服务(serve)指的是由下层向上层通过服务接口提供的。上下层之间进行交互的地方叫做服务访问点SAP(Server Access Point),层与层之间的数据交换单位称为服务数据单元SDU(Serve Data Unit)。
协议是水平的,服务是垂直的。