概述
计算机网络的概念
计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
这里需要注意的是,按分布范围,计算机网络里有局域网 LAN 和广域网 WAN, 其中局域网的代表以太网,以及这两种网络最重要的区分点, 局域网基于广播技术,广域网基于分组交换技术。
计算机网络性能的衡量指标
速率
定义:连接在计算机网络上的主机在数字信道上传送数据位数的速率
单位: b/s, Kb/s, Mb/s, Tb/s
如果用字节表示,则是 B/s, KB/s, MB/s, TB/s
大写 B 是字节,小写是 b 是比特
1 Byte = 8Bit
带宽
带宽原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)
计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”
单位:“比特每秒”,b/s, kb/s, Mb/s, Gb/s
也可以说是网络设备所支持的最高速度
比如说你家的电信网络是 100兆 比特,意思是,一秒内最大的传输速率是 100兆 比特。
吞吐量
表示在单位时间内通过某个网络(或信道、接口)的数据量。单位是b/s, kb/s, Mb/s等
吞吐量受网络的带宽或网络的额定速率的限制
提示
吞吐量是一个或多个设备的综合速率,比如说 1000m 宽带的路由器连着三部手机,每部手机都是 10mb/s 上网, 那么速率就是 10mb/s,带宽是宽带的 1000m,路由器吞吐量是 30mb/s,即三者之和
时延
时延是指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。
时延包括四大类
名称 | 描述 | 计算公式 |
---|---|---|
发送时延 | 数据从主机到信道上所用的时间 | 发送的数据长度/发送速率 |
传播时延 | 数据在信道上传播所花费的时间 | 信道长度/电磁波在信道上传播的速率 |
排队时延 | 数据在路由器前等待前面数据处理的时间,取决于网络当前的通信量。 | - |
处理时延 | 数据在路由器中收到分组时进行处理需求的时间 | - |
使用高速链路(提高网速),只能减小发送时延,无法减少其他三个时延
时延带宽积
公式:时延带宽积 = 传播时延 x 带宽
意思是链路上一共有多少比特的数据
往返时延RTT
发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延
RTT越大,在收到确认之前,可以发送的数据越多。
因为时延大了,这段时间就长了,能发的数据自然就多了
RTT包括:
- 往返传播时延 = 传播时延 * 2
- 末端处理时间
利用率
信道利用率 = 有数据通过时间 / 有+无数据通过时间
网络利用率 = 所有信道利用率加权求平均值
分层结构
为什么要分层?分层要做什么?
- 发起通信的计算机必须将数据通信的通路进行激活。
- 要告诉网络如何识别目的主机。
- 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
- 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
- 确保差错和意外可以解决。
分层的基本原则
- 各层之间相互独立,每层只实现一种相对独立的功能
- 每层之间界面自然清晰,易于理解,相互交流尽可能少
- 结构上可分割开。每层都采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应该能促进标准化工作
概念总结
- 网络体系结构是从功能上描述计算机网络结构
- 计算机网络体系结构简称网络体系结构是分层结构
- 每层遵循某个/些网络协议以完成本层功能
- 计算机网络体系结构是计算机网络的各层及其协议的集合
- 第 n 层在向 n+1 层提供服务时,此服务不仅包含第 n 层本身的功能,还包含由下层服务提供的功能。
- 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
- 体系结构是抽象的,而实现是指能运行的一些软件和硬件
OSI 参考模型
- 网络层、传输层、回话层、表示层、应用层,每一层都要对上一层发送的数据进行处理(加个头部)
- 数据链路层不仅需要加头部,还需要加尾部
- 物理层什么都不加,只管发送数据(比特流)
应用层
用户与网络的界面,所有能和用户交互产生网络流量的程序
典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)...
表示层
用于处理在两个通信系统中交换信息的表示方式(语法和语义)
- 功能一:数据格式变换
- 功能二:数据加密解密
- 功能三:数据压缩和恢复
会话层
向表示层实体/用户进程提供建立连接并在连接上有序地传输数据,这是会话,也是建立同步(SYN)
- 功能一:建立、管理、终止会话
- 功能二:使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步
适用于传输大文件,就是在传输失败的时候,可以直接从校验点继续传输
传输层
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
- 功能一:可靠传输、不可靠传输
- 功能二:差错控制
- 功能三:流量控制
- 功能四:复用分用
复用:多个应用层进程可同时使用下面运输层的服务
分用:运输层把收到的信息分别交付给上面应用层中相应的进程
网络层
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。 网络层传输单位是数据报。
- 功能一:路由选择
- 功能二:流量控制
- 功能三:差错控制
- 功能四:拥塞控制
若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此要采取一定措施,缓解这种拥塞。
数据链路层
主要任务是把网络层传下来的数据报组装成帧。 数据链路层/链路层的传输单位是帧
- 功能一:成帧(定义帧的开始和结束)
- 功能二:差错控制 帧错+位错
- 功能三:流量控制
- 功能四:访问(接入)控制 控制对信道的访问
物理层
主要任务是在物理媒体上实现比特流的透明传输
物理层传输单位是比特
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
- 功能一:定义接口特性
- 功能二:定义传输模式 单工、半双工、双工
- 功能三:定义传输速率
- 功能四:比特同步
- 功能五:比特编码
五层协议
应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
TCP / IP 参考模型
它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。
TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。