[toc]
计算机网络
一、计算机网络概述
1.1 概念、组成、功能和分类
1. 计算机网络的概念
计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
2. 计算机网络的功能
- **$\textcolor{Red}{数据通信} $**(连通性,传邮件、传文件等)
- $\textcolor{Red}{资源共享} $(硬件 eg:打印机、软件、数据)
- 分布式处理(多台计算机各自承担同一工作任务的不同部分 eg:$\textcolor{RedOrange}{Hadoop平台}$)
- 提高可靠性(eg:一台电脑宕机,还可以使用替代机继续工作)
- 负载均衡
3. 计算机网络的组成
组成部分:硬件(eg:主机(端系统)、链路(双绞线、光纤等)、通信设备(路由器、交换机等))、软件、$\textcolor{Red}{协议} $。
工作方式:
- 边缘部分 用户直接使用(C/S方式、P2P方式),eg:主机等
- 核心部分 为边缘部分服务,eg:网络、路由器等
功能组成:
- 通信子网 实现 $\textcolor{Green}{数据通信}$
- 资源子网 实现 $\textcolor{Green}{资源共享}$/数据处理
4. 计算机网络的分类
按**$\textcolor{Red}{分布范围分} $**
按使用者分
- 公用网
- 专用网
- 公用网
按交接技术分 电路交换 报文交换 分组交换
按$\textcolor{Red}{拓扑结构分} $ eg:因特网使用的是网状结构
按传输技术分
广播式网络 共享公共通信网络
点对点网络 使用分组存储转发和路由选择机制
1.2 标准化工作及相关组织(了解即可)
1. 标准化工作
标准的分类
- 法定标准 由权威机构制定的正式的、合法的标准 eg:$\textcolor{Red}{OSI} $
- 事实标准 某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准 eg:$\textcolor{Red}{TCP/IP} $
2. 标准化工作的相关组织
1.3 计算机网络的性能指标(速率、带宽、吞吐量)——速度有关
1. 速率
速率即J数据率或称数据传输率或比特率。
比特:表象形式—>1/0 单位—>位
概念:连接在计算机网络上的主机在数字信道上传送数据位数的速率。
单位:b/s, kb/s, Mb/s, Gb/s, Tb/s
换算:
2. 带宽
概念:
- 原指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。
- 计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s 。
案例:
3. 吞吐量
概念:
- 表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s, kb/s,Mb/s等。
- 吞吐量受网络的带宽或网络的额定速率的限制。
案例:
1.4 计算机网络的性能指标(时延、时延带宽积、RTT)——时间有关
1. 时延(重点:传输时延、传播时延)
概念:指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。
案例:(注意:发送速率加快不会影响传播速率和传播时延,只会影响发送时延。)
2. 时延带宽积
计算公式:
案例:时延带宽积又称为以比特为单位的链路长度。即“某段链路现在有多少比特”。
3. 往返时延RTT
概念:从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。
注意:RTT不包括传输时延,也就是不包括所有信息从主机放到信道上的这一段时间。
1.5 计算机网络的性能指标(利用率)
利用率分为:
- 信道利用率 有数据通过时间/(有+无)数据通过时间
- 网络利用率 信道利用率加权平均值
时延与利用率的函数关系:
2.1 分层结构、协议、接口、服务
1. 为什么要分层?
为了解决以下一系列问题:
发送文件前要完成的工作:
(1)发起通信的计算机必须将数据通信的通路进行激活。
(2)要告诉网络如何识别目的主机。
(3)发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
(4)发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
(5)确保差错和意外可以解决。
。。。。。。
2. 如何分层?
分层的基本原则:
- 各层之间相互独立,每层只实现一种相对独立的功能。
- 每层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上可分割开。每层都采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应该能促进标准化工作。
案例:
3. 正式认识分层结构
实体:第n层中的活动元素称为$\textcolor{red}{n层实体}$。同一层的实体叫$\textcolor{red}{对等实体}$。
协议:为进行网络中的$\textcolor{red}{对等实体}$数据交换而建立的规则、标准或约定称为网络协议。【水平】
协议大三要素:
- 语法:规定传输数据的格式
- 语义:规定所要完成的功能
- 同步:规定各种操作的顺序
**接口(访问服务点SAP)**:上层使用下层服务的入口。
服务:下层为相邻上层提供的功能调用。【垂直】
4. 概念总结
网络体系结构是从$\textcolor{red}{功能}$上描述计算机网络结构。
计算机网络体系结构简称网络体系结构是$\textcolor{red}{分层结构}$。
每层遵循某个/些$\textcolor{red}{网络协议}$以完成本层功能。
$\textcolor{red}{计算机网络体系结构}$是计算机网络的$\textcolor{red}{各层及其协议}$的集合。
第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
仅仅在$\textcolor{red}{相邻层间有接口}$,且所提供服务的具体实现细节对上一层完全屏蔽。
体系结构是$\textcolor{red}{抽象}$的,而实现是指能运行的一些软件和硬件。
2.2 OSI参考模型概念(最重要模型也是以下另外两个模型的基础)
1. 计算机网络分层结构
ISO/OSI参考模型由来:国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型。但是!理论成功,市场失败。
ISO/OSI参考模型提出来的目的:支持$\textcolor{red}{异构网络系统}$的互联互通。
2. ISO/OSI参考模型
3. ISO/OSI参考模型解释通信过程
实际每一层做了哪些工作呢?(打包到拆包的过程)
2.3 OSI参考模型中各层的基础介绍
应用层:所有能和用户交互产生网络流量的程序。
典型的应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
- ……
表示层:用于处理在两个通信系统中交换信息的表示方式(语法和语义)。
主要功能:
- 数据格式变换(类似于翻译官)
- 数据加密解密
- 数据压缩和恢复
会话层:向表示层实体/用户进程提供$\textcolor{red}{建立连接}$并在连接上$\textcolor{red}{有序}$地$\textcolor{red}{传输}$数据。这是会话,也是$\textcolor{red}{建立同步}$(SYN)。
主要功能:
- 建立、管理、终止会话
- 使用校验点可使会话在通信失效时从$\textcolor{green}{校验点/同步点}$继续恢复通信,实现数据同步。(适用于传输大文件,eg:当文件传输过程中,传输失效了,重新建立连接后可以从刚才的位置继续传输,而不用从头开始)
传输层:负责主机中$\textcolor{red}{两个进程}$的通信,即$\textcolor{red}{端到端}$的通信。传输单位是报文段或用户数据报。
**$\textcolor{VioletRed}{概念补充:}$**
- 报文(message):将位于$\textcolor{red}{应用层}$的信息分组称为报文。报文是网络中交换与传输的数据单元,也是网络传输的单元。报文包含了将要发送的完整的数据信息,其长短不需一致。报文在传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加一些控制信息组成的首部,那些就是$\textcolor{red}{报文头}$。
- 报文段(segment):通常是指起始点和目的地都是$\textcolor{red}{传输层}$的信息单元。
- 数据报(datagram):面向无连接的数据传输,其工作过程类似于报文交换。采用数据报方式传输时,被传输的分组称为数据报。通常是指起始点和目的地都使用无连接网络服务的$\textcolor{red}{网络层}$的信息单元。(指IP数据报)
主要功能:(为方便记忆,记 可差留用)
- 可靠传输、不可靠传输
- 差错控制
- 流量控制
- 复用分用
- 复用:多个应用层进程可同时使用下面运输层的服务。
- 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
网络层:主要任务是把$\textcolor{red}{分组}$从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是$\textcolor{red}{数据报}$。
$\textcolor{VioletRed}{概念补充:}$
- 分组/包(packet):分组是在网络中传输的二进制格式的单元,为了提供通信性能和可靠性,每个用户发送的数据会被分成多个更小的部分。在每个部分的前面加上一些必要的控制信息组成的首部,有时也会加上尾部,就构成了一个分组。它的起始和目的地是$\textcolor{red}{网络层}$。(分组和数据报相当于是父子关系,当数据报过长时会被切断分组传输)
主要功能:
- 路由选择 $\textcolor{red}{选择最佳路径}$
- 流量控制
- 差错控制
- 拥塞控制(若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于$\textcolor{green}{拥塞}$状态。因此要采取一定措施,缓解这种拥塞。)
数据链路层:主要任务是把网络层传下来的数据报$\textcolor{red}{组装成帧}$。数据链路层/链路层的传输单位是**$\textcolor{red}{帧}$**。
$\textcolor{VioletRed}{概念补充:}$
- 帧(frame):帧是$\textcolor{red}{数据链路层}$的传输单元。它将上层传入的数据添加一个头部和尾部,组成了帧。它的起始点和目的点都是数据链路层。
主要功能:
- 成帧(定义帧的开始和结束)
- 差错控制 $\textcolor{red}{帧错+位错}$
- 流量控制
- 访问(接入)控制 $\textcolor{red}{控制对信道的访问}$
物理层:主要任务是在$\textcolor{red}{物理媒体}$上实现比特流的$\textcolor{red}{透明传输}$。物理层传输单位是**$\textcolor{red}{比特}$**。
$\textcolor{VioletRed}{概念补充:}$
- 透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
主要功能:
- 定义接口特性(例如插头接口是双头还是三头)
- 定义传输模式 $\textcolor{red}{单工、半双工、双工}$
- 定于传输速率
- 比特同步
- 比特编码
2.4 TCP/IP参考模型
TCP/IP参考模型:
OSI模型和TCP/IP模型的区别
相同点:
- 都分层
- 都是基于独立的协议栈的概念
- 可以实现异构网络的互连
不同点:
OSI定义三点:服务、协议、接口
OSI先出现,参考模型先于协议发明,不偏向特定协议
TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
$\textcolor{VioletRed}{概念补充:}$$\textcolor{VioletRed}{面向连接}$分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。而面向$\textcolor{VioletRed}{无连接}$没有这么多阶段,它直接进行数据传输。