全文转载,只做整理方便复习。
【计算机网络】性能指标,速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率
三种交换方式:电路交换,分组交换,报文交换
电路交换
电话交换机,可以看做是一个开关器,可以将任意两个电话之间的线路按需接通。
电话交换机接通电话线的方式称为电路交换
从通信自由的分配角度来看,交换就是按照某种方式动态的分配传输线路的资源
电路交换的三个步骤:
- 建立连接(分配通信资源)
- 通话(一直占用通信资源)
- 释放连接(归还通信资源)
电话与交换机之间的线路是用户线,只能有一个通信线路,交换机与交换机之间的线路是中继线,中继线可以有多个通信线路,直到被占满
如果用这样的线路作为计算机的通信线路,是否可行?
首先,肯定能够使得双方通信,但是这样的通信效率会很低,计算机的通信为突发式的,造成大量的通信带宽被浪费,所以计算机常常采用分组交换。
分组交换
在因特网中,最重要的交换机就是路由器,它负责将各个网络连接起来,并对接收到的分组转发,也就是进行分组交换。
假设某用户要发送数据,这个数据称为报文,在发送之前,将报文分成较小的报文,并添加必要的头部信息,也就构成了分组,也可简称为包,首部称为包头,首部包含了目的地址。
交换机接收到分组后,先将分组暂时存储下来,再检查首部,按照目的地址查表转发,找到转发接口,将该分组转发给下一个交换机。
源主机将各个分组通过交换机转发出去,最终到达目的主机。目的主机接收到所有分组后,去掉首部,将各个数据段组合成原始报文。
从源主机到目的主机:
- 各个分组可以走不同的路径(不同路由)
- 分组乱序(分组到达的顺序不一定按次序)
上述存储转发过程中:
- 发送方需要完成:构造分组,发送分组
- 路由器需要完成:缓存分组,转发分组
- 接收方需要完成:接收分组,还原报文
报文交换与分组交换类似,采用存储转发的方式,但是报文交换对报文大小没有限制,需要交换机有较大的缓存空间。
三种交换方式的对比
假设A、B、C、D是四个交换机,纵坐标为时间,三种不同交换方式中,报文的转发方式对比
电路交换:
- 通信之前建立连接
- 数据传送
- 释放连接,归还建立连接占用的资源
特点:比特流直达终点
报文交换:
- 随时发生报文,不需要事先建立连接
- 报文传送到相邻节点交换机,全部存储下来之后,查表转发
特点:报文缓存转发,交换机需要较大的缓存空间
分组交换:
- 随时发生报文,不需要事先建立连接
- 构成原始报文的分组,依次在交换机上存储转发
- 交换机在转发分组的同时还可以缓存接收分组
特点:各个分组在交换机上存储转发,减少了转发时延
计算机网络的定义和分类
计算机网络的定义
计算机网络的精确定义并不统一
计算机网络最简单的定义就是:一些互相连接的、自治的计算机的集合
- 互连:计算机之间可以通过有线或者无线的方式进行数据通信
- 自治:独立的计算机,有自己的硬件和软件,可以单独运行使用
- 集合:至少需要两台计算机
计算机网络的较好定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非用来实现某一特定目的(如传送数据或视频信号),这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括智能手机等智能硬件
- 计算机网络并非专门用来传送数据,而是能够支持很多种应用(包括今后可能出现的应用)
计算机网络分类
按交换技术分类
- 电路交换网络
- 报文交换网络
- 分组交换网络
按使用者分类
- 公用网络
- 专用网
按传输介质分类
- 有线网络
- 无线网络
按覆盖范围分类
- 广域网WAN
- 域域网MAN
- 局域网LAV
- 个域网PAN
按拓扑结构分类
- 总线型网络
- 星型网络
- 环形网络
- 网状型网络
【计算机网络】性能指标,速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率、丢包率
计算机网络的性能指标:性能指标可以从不同的方面来度量计算机网络的性能,常用的计算机网络的性能指标有8个:
- 速率
- 带宽
- 吞吐量
- 时延
- 时延带宽积
- 往返时间
- 利用率
- 丢包率
比特
计算机中的数据量的单位,也是信息论中信息量的单位,一个比特就是二进制数中的0或1
常用单位
速率
连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或者数据率
常用单位
例如:有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据块要多长时间?
在精度要求不高的情况下,可以近似取值
带宽
带宽在模拟信号系统中的意义
- 信号所包含的各种不同频率成分所占据的频率范围
- 单位:Hz(kHz,MHz,GHz)
传统的电话信道的带宽为3.1kHz,即(300Hz到3.4kHz)
带宽在计算机网络中的意义
- 用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”
- 单位:b/s (kb/s, Mb/s, Gb/s, Tb/s)
“带宽”与“速率”:一条通信线路的“频带宽度”越宽,其所传输数据的“最高数据率”也越高。
吞吐量
吞吐量表示在单位时间内通过某个网络(或者信道、接口)的数据量
吞吐量经常用于对现实世界的网络的测量,以便知道实际上到底有多少数据量能够通过网络
吞吐量受网络的带宽或者额定速率的限制
时延
- 发送时延:源主机将分组发往传输线路
各个设备之间应做到速率匹配,最大可能的利用(发送速率理论值)
- 传播时延:代表分组的电信号在链路上传输
- 处理时延:路由器收到分组后,对其进行存储转发(不方便计算)
例如:数据块长度为100MB,信道(光纤)带宽为1Mb/s,传送距离为1000km,计算发送时延和传播时延。
例如:数据块长度为1B,信道带宽为1Mb/s,传送距离为1000km,计算发送时延和传播时延。
在忽略处理时延的条件下,发送时延和传播时延谁占主导是不确定的。
时延带宽积
时延带宽积=传播时延x带宽
将传输链路看做管道,长度为传播时延,横截面积为带宽,时延带宽积为管道的体积。
若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
链路的时延带宽积又称为以比特为单位的链路长度。
往返时间
因特网中的信息不仅仅是单方向传输,而是双向交互。有时候需要知道双向交互一次所需要的时间,因此,往返时间RTT(round-trip time)也是一个重要的性能指标。
假设两台主机之间双向通信,往返时间即数据从源主机到目的主机,再从目的主机到源主机所消耗的时间。
利用率
- 信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)
- 网络利用率:全网络的信道利用率的加权平均
根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此,信道利用率并非越高越好。
如果设 表示网络空闲时的时延,D表示网络当前的时延,那么在适当的假定条件下,可以用公式
表示D和
以及利用率U之间的关系
- 当网络的利用率达到50%时,时延就要加倍
- 当网络的利用率超过50%时,时延急剧增大
- 当网络的利用率接近100%时,时延就趋近于无穷大
- 因此,一些拥有较大主干网的ISP通常会控制他们的信道利用率不超过50%,如果超过了,就要准备扩容,增大线路的带宽
丢包率
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
丢包率具体可分为接口丢包率、节点丢包率、链路丢包率、路径丢包率、网络丢包率
丢包率是网络运维人员非常关心的一个网络性能指标,但对普通用户来说往往并不关心,因为他们意识不到网络丢包
分组丢包主要有两种情况
- 分组在传输过程中出现误码,被节点丢弃
- 分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞
丢包率反映了网络的拥塞情况
- 无拥塞时路径丢包率为0
- 轻度拥塞时路径丢包率为1%到4%
- 严重拥塞时路径丢包率为5%到15%
体系结构,分层处理方法
常见的计算机网络体系结构
国际标准化组织,1977年,成立专门机构研究,世界范围内互连成网的标准框架(OSI体系结构)
- OIS体系:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,它是法律意义上的国际标准。(标准制定以专家学者为主)
- TCP/IP体系结构:网络接口层、网际层、运输层、应用层,是事实上的国际标准。20世纪90年代初期,因特网抢先在世界覆盖了相当大的范围,因特网从1983年开始使用TCP/IP协议族,并逐步演变为TCP/IP参考模型。(标准制定加入了商家)
- 原理体系结构:物理层、数据链路层、网络层、运输层、应用层。TCP/IP体系结构为了将不同的网络接口互连,网络接口层并没有规定什么内容,对于学习计算机网络结构就会缺少一部分内容。因此,综合OSI和TCP/IP体系的优点,作为学习的原理体系结构。
OSI体系失败的原因:
- 专家缺乏实际经验,标准制定没有商业驱动力
- 协议实现过分复杂,实现效率低
- 标准制定的时间周期过长,跟不上市场
- 功能层次划分存在不合理,同一功能在不同层次重复出现
用户计算机都有接入因特网的需求,所以要求用户主机使用TCP/IP协议 ,在用户主机的操作系统中, 通常带有符合TCP/IP协议标准的TCP/IP协议族,用于网络互连的路由器也带有符合TCP/IP协议标准的TCP/IP协议族,但路由器一般只包含两层。
TCP/IP协议的网络接口层,并没有规定什么具体的内容,使得可以互连全世界不同的网络接口,如有线的局域网接口,无线的WiFi接口。
本质上TCP/IP协议只有三层,这三层上的关键协议:
- 网际层:IP协议(核心)
- 运输层:TCP、UDP
- 应用层:HTTP、SMTP、DNS、RTP
各层协议之间的关系:
- IP协议可以将不同的网络接口进行互连,向TCP、UDP协议提供网络互连服务
- TCP协议在享受IP协议提供网络互连服务的基础上,向HTTP、SMTP协议等提供可靠传输的服务
- UDP协议在享受IP协议提供网络互连服务的基础上,向DNS、RTP协议等提供不可靠传输的服务
网际层的核心协议IP协议一方面互连不同的网络接口,另一方面为各种不同的网络应用提供服务
计算机网络的体系结构就是计算机网络及其构件所应完成的功能的精确定义,需要强调的是,这些功能的实现细节,则是遵守这种体系结构的具体实现问题,并不属于体系结构本身所描述的内容。
【2010年 题33】下列选项中,不属于网络体系结构所描述的内容是(C)
A、网络的层次 B、每一层使用的协议 C、协议的内部实现细节 D、每一层必须完成的功能
分层的必要性
计算机网络是个非常复杂的系统,早在最初的ARPANET设计时就提出了分层的设计概念
“分层”可以将庞大而复杂的问题,转化为若干小的局部问题,而这些较小的局部问题就比较易于解决
物理层:解决使用何种信号来传输比特的问题
- 采用怎样的传输媒体(介质)(不属于物理层,不包含在体系结构中)
- 采用怎样的物理接口
- 使用怎样的信号表示1和0
数据链路层:解决分组在一个网络(一个网段)上传输的问题
- 如何标识网络中的各主机(主机编址问题,如MAC地址)
- 如何从信号所表示的一连串比特流中区分出地址和数据(分组的封装格式问题)
- 如何协调各主机争用总线(如解决碰撞)
网络层:解决分组在多个网络上传输(路由)的问题
- 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,如IP地址:网络号和主机号)
- 路由器如何转发分组,如何进行路由选择(源主机到目的主机的路径很多如何选择)
运输层:解决进程之间基于网络的通信问题
- 如何解决进程之间基于网络的通信问题(标识应用进程)
- 出现传输错误时,如何处理(如误码)
应用层:解决通过应用进程的交互来实现特定网络应用的问题
- 通过应用进程间的交互来完成特定的网络应用
【2009年 题33】在OSI参考模型中,自下而上第一个提供端到端服务的层次是(B)
A、数据链路层 B、传输层 C、会话层 D、应用层
【2013年 题33】在OSI参考模型中,下列功能需要由应用层的相邻层实现的是(B)
A、对话管理(会话层) B、数据格式转换 C、路由选择(网络层) D、可靠数据传输(运输层,链路层)
分层处理方法
1、应用层按照HTTP协议的规定,构建HTTP报文
2、应用层将报文交给运输层处理,运输层给报文添加TCP报文段,使之成为TCP报文段。首部的作用是区分应用进程和实现可靠传输
3、运输层将TCP报文段交给网络层处理,网络层给TCP报文段添加IP首部,使之成为IP数据报。首部的作用是使得该IP数据报能够在互联网上传输,也就是被路由器转发
4、网络层将IP数据报交给数据链路层处理,数据链路层给IP数据报添加首部和尾部,使之成为数据帧。首部帧(以太网,14字节)是为了让该帧能够在一个网络上或者一个链路上传输,能够被相应的目的主机接收;尾部帧(以太网,4字节)是为了让目的主机检测是否有误码
5、数据链路层将帧交给物理层,物理层将帧看做比特流,添加前导码:让目的主机做好接收帧的准备
6、物理层将添加有前导码的比特流变成相应的信号,发送到传输媒体,信号通过传输媒体到达路由器
7、信号到达路由器后,物理层将信号变为比特流,去掉前导码,交给数据链路层
8、链路层将帧的首部和尾部去掉后交给网络层
9、网络层解析IP数据报的首部,从中提取出目的网络地址,查找自身的路由表,确定转发端口,以便进行转发
10、网络层将IP数据报交给链路层,链路层给数据报添加首部和尾部,使之成为帧
11、链路层将帧交给物理层,物理层将帧变为相应的比特流,并添加前导码
12、物理层将比特流变成信号交给相应的传输媒体,信号通过传输媒体到达服务器
13、服务器接收到信号后,将信号变成比特流,去掉前导码后交给链路层
14、链路层将帧的首部和尾部去掉之后,交给网络层
15、网络层将数据报的首部去掉后,交给运输层
16、运输层将TCP报文段的首部去掉后,交给应用层
17、应用层对请求报文进行解析
18、服务器给主机发回响应报文,过程与前面的相似