计算机网络概述
计算机网络的概念
- 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
- 简而言之,计算机网络就是一些互联的(互联互通)、自治的(无主从关系)计算机系统的集合。
计算机网络的组成
- 从组成部分上看,一个完整的计算机网络主要由硬件、软件、协议三大部分组成,缺一不可。
- 从工作方式上看,计算机网络可分为边缘部分和核心部分。
- 边缘部分:用户直接使用
- 核心部分:为边缘部分服务
- 从功能组成上看,计算机网络由通信子网和资源子网组成。
- 通信子网:实现数据通信
- 资源子网:实现资源共享/数据处理
计算机网络的功能
- 数据通信:最基本最重要的功能,能够实现计算机之间的数据传输
- 资源共享:软件共享、数据共享、硬件共享
- 分布式处理:提高系统利用率
- 提高可靠性:一台坏了,可以用同网络下其他计算机代替
- 负载均衡:将工作任务均衡分配给网络下的计算机
计算机网络的分类
- 按分布范围分类:广域网WAN、城域网MAN、局域网WAN、个人区域网PAN
- 按传输技术分类:广播式网络、点对点网络
- 按拓朴结构分类:总线型、星型网络、环型网络、网状型网络
- 按使用者分类:公用网、专用网
- 按交换技术分类:电路交换、报文交换、分组交换
计算机网络的性能指标
速率
- 定义:连接在计算机网络上的主机在数字信道上传送数据位数的速率
- 单位:b/s,Kb/s,Mb/s,Tb/s,如果用字节表示,则是B/s,KB/s,MB/s,TB/s
- 1Byte=8Bit
带宽
网络设备所支持的最高速度,单位同速率,是理想条件下最高速率
吞吐量
单位时间内通过某个网络的数据总量
时延
数据从网络的一端到另一端所需的时间,也叫延迟或迟延
名称 | 描述 | 计算公式 |
---|---|---|
发送时延 | 数据从主机到信道上所用的时间 | 发送的数据长度/发送速率 |
传播时延 | 数据在信道上传播所花费的时间 | 信道长度/电磁波在信道上传播的速率 |
排队时延 | 数据在路由器前等待前面数据处理的时间 | 无计算方式 |
处理时延 | 数据在路由器中处理需求的时间 | 无计算方式 |
使用高速链路(提高网速),只能减小发送时延,无法减少其他三个时延
时延带宽积
公式:时延带宽积=传播时延x带宽
以比特为单位的链路长度,意思是链路上有多少比特的数据
往返时延RTT
从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认)
总共经历的时延 RTT=传播时延x2+处理时间(有时可能直接忽略)
利用率
信道利用率
信道利用率=有数据通过时间/有+无数据通过时间
网络利用率
网络利用率=所有信道利用率加权求平均值
时延和利用率的关系图
利用率越高,延迟越大
计算机网络体系结构与参考模型
计算机网络分层结构
为什么要分层
为了降低协议设计和调试的复杂性,通常对计算机网络系统结构以分层方式进行建模,每层都实现一种相对独立的功能,降低系统的复杂度。
- 发起通信的计算机必须将数据通信的通路进行激活。
- 要告诉网络如何识别目的主机。
- 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
- 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
- 确保差错和意外可以解决。
分层的基本原则
- 各层之间相互独立,每层只实现一种相对独立的功能
- 每层之间界面自然清晰,易于理解,相互交流尽可能少
- 结构上下可分隔开。每层都采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应该能促进标准化工作
计算机网络协议、接口、服务
- 协议:在网络中一种事先约定好的交换数据的规则,这些规则规定了所交换数据的格式及有关的同步问题。
- 接口:接口是同一结点内相邻两层间交换信息的连接点,是一个系统的内部的规定。每层只能为紧邻的层次之间定义接口,不能跨层定义接口。
- 服务:服务是指下层为紧邻的上层提供的功能调用。上层使用下层的服务时必须与下层交换一些命令:请求、指示、响应、证实。
参考模型
7层OSI参考模型
- 物理层:物理层的传输单位是比特,物理层的功能是在物理媒体上为数据端设备透明地传输原始比特流。物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法。
- 数据链路层:数据链路层的传输单位是帧,任务是将网络层传来的IP数据报组装称帧。数据链路层的功能可以概括为:物理寻址、成帧、差错控制、流量控制、传输管理。
- 网络层:网络层的传输单位是数据报,它的主要任务是把网络层的协议数据单元从源端传到目的端,为分组交换网上的不同主机提供通信服务。
- 传输层:传输层的传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。ps:数据链路层提供的是点到点(IP到IP)之间的通信,而传输层可以直接实现端到端(不同主机间进程到进程)的通信,更加细致化。
- 会话层:会话层允许不同主机上各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。
- 表示层:表示层主要处理两个通信系统中交换信息的表示方式。因为不同机器采用的编码和数据结构等不同,所有使用表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密、解密也是表示层可提供的功能。
- 应用层:是用户与网络的界面,为特定类型的网络应用提供访问OSI参考模型环境的手段,最复杂,也是协议最多的一层,常用的如FTP、HTTP、SMTP等。
通信过程
- 网络层及以上,每一层都要对上一层发送的数据进行处理(加个头部)
- 数据链路层不仅需要加头部,还需要加尾部
- 物理层什么都不加,只管发送数据(比特流)
4层TCP/IP模型
TCP/IP模型与OSI参考模型的比较
相同点
- 都分层
- 基于独立的协议栈的个概念
- 可以实现异构网络互连
不同点