目录
一、概述
计算机网络:
- 是一个将分散的、具有地理功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
- 或者简单来说,计算机网络是互连的、自治的计算机集合。
互连–互联互通
自治–无主从关系
计算机网络的功能:
- 数据通信
- 资源共享
- 分布式处理
- 提高可靠性
- 负载均衡
计算机网络的组成:
- 组成部分:硬件、软件、协议
- 工作方式:边缘部分(用户直接使用:C/S方式、P2P方式)、核心部分(为边缘部分提供服务)
- 功能组成:通信子网、资源子网
计算机网络的分类:
- 按分布范围分:广域网WAN、城域网MAN、局域网LAN、个人区域网PAN
- 按使用者分:公用网(例:中国电信)、专用网(例:军队、政府)
- 按交换技术分:电路交换、报文交换、分组交换
- 按拓扑结构分:总线型、星型、环形、网状型(常用于广域网)
- 按传输技术分:
广播式网络:共享公共通信信道
点对点网络:使用分组存储转发和路由选择机制
二、计算机网络标准化工作及相关组织
标准化对计算机网络至关重要,要实现不同厂商的硬、软件之间相互连通,必须遵从统一的标准。
分类的标准:
- 法定标准:由权威机构制定的正式的、合法的标准:OSI
- 事实标准:某些公司的产品在竞争中占据了主流,时间长了,这些产品的协议和技术就成了标准:TCP/IP
标准化工作的相关组织:
- 国际标准化组织ISO:OSI参考模型、HDLC协议
- 国际电信联盟ITU:制定通信规则
- 国际电气电子工程师协会IEEE:学术机构、IEEE802系列标准、5G
- internet工程任务组IETF:负责因特网相关标准的制定(RFC…)
三、性能指标
速率
- 速率即数据率或称数据传输率或比特率。
- 连接在计算机网络上的主机在数字信道上传送数据位数的速率。
- 单位是b/s,kb/s,Mb/s,Gb/s,Tb/s
其中1kb = 103 b/s
1Mb/s = 103kb/s = 106b/s
以此类推
带宽
- “带宽”原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz).
- 计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s。网络设备所支持的最高速度。
举例:
链路带宽=1Mb/s,则主机在1us内可向链路发送1bit数据
吞吐量
- 表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s,kb/s,Mb/s等
- 吞吐量受网络的带宽或网络的额定速率的限制
时延
指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间,也叫延迟或迟延。单位是s。
时延的组成部分可以分为:
- 发送时延(传播时延):从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间。
发送时延 = 数据长度 信道带宽 ( 发送速率 ) \frac{数据长度}{信道带宽(发送速率)} 信道带宽(发送速率)数据长度 - 传播时延:取决于电磁波传播速度和链路长度。
传播时延 = 信道长度 电磁波在信道上的传播速率 \frac{信道长度}{电磁波在信道上的传播速率} 电磁波在信道上的传播速率信道长度 - 排队时延:等待输出/入链路可用。
- 处理时延:检错、找出口。
时延带宽积
- 时延带宽积 = 传播时延 × 带宽
- 时延带宽积又称为以比特为单位的链路长度。即“某段链路现在有多少比特”,相等于容量
往返时延RTT
- 从发送方发送数据开始,到发送方接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。
- RTT = 往返传播时延(即传播时延 × 2)+ 末端处理时间
- RTT越大,在收到确认之前,可以发送的数据越多。
利用率
利用率 = { 信道利用率 有数据通过时间 (有 + 无)数据通过时间 网络利用率 信道利用率加权平均值 利用率= \left \{\begin{array}{cc} 信道利用率 \frac{有数据通过时间}{(有 + 无)数据通过时间} \\ 网络利用率 \ 信道利用率加权平均值 \end{array}\right. 利用率={信道利用率(有+无)数据通过时间有数据通过时间网络利用率 信道利用率加权平均值
四、分层结构
为什么要分层?
发送文件前要完成的工作:
- 发起通信的计算机必须将数据通信的通路进行激活。
- 要告诉网络如何识别目的主机。
- 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
- 发起通信的计算机要弄清楚,对方计算机文件中管理程序是否已经做好准备工作。
- 确保差错和意外可以解决。
…
由此可以看出,计算机网络是个非常复杂的系统,相互通信的两个计算机必须高度协调工作,但是这种协调是很复杂的;分层可以将庞大复杂的问题,转化成若干个较小的局部问题,这些局部的较小的问题就比较易于研究和处理。因此,分层的原因可以总结为:
- 各层之间相互独立:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)。这个和我们对开发时系统进行分层是一个道理。
- 提高了整体灵活性 :每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。这个和我们平时开发系统的时候要求的高内聚、低耦合的原则也是可以对应上的。
- 大问题化小 : 分层可以将复杂的网络问题分解为许多比较小的、界线比较清晰简单的小问题来处理和解决。这样使得复杂的计算机网络系统变得易于设计,实现和标准化。 这个和我们平时开发的时候,一般会将系统功能分解,然后将复杂的问题分解为容易理解的更小的问题是相对应的,这些较小的问题具有更好的边界(目标和接口)定义。
怎么分层?
分层的基本原则:
- 各层之间相互独立,每层只实现一种相对独立的功能。
- 每层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上写分割开。每层都采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应该能促进标准化工作。
正式认识分层结构
概念总结
- 网络体系结构是从功能上描述计算机网络结构。
- 计算机网络体系结构简称网络体系结构式分层结构。
- 每层遵循某个/些网络协议以完成本层功能。
- 计算机网络体系结构式计算机网络的各层及其协议的集合。
- 第n层在n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含下层服务提供的功能。
- 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
- 体系结构是抽象的而实现是指能运行的一些软件和硬件。
五、OSI参考模型
ISO/OSI参考模型–怎么来的?
目的:支持异构网络系统的互联互通。
国际化标准组织(ISO)于1984年提出开放系统互连(OSI)参考模型。
但是!理论成功,市场失败。
1.应用层:所有能和用户交互产生网络流量的程序
- 主要协议:
- 文件传输FTP
- 电子邮件SMTP
- 万维网HTTP
2.表示层:用于处理在两个通信系统中交换信息的表示方式(语法和语义)
- 功能
- 数据格式交换
- 数据加密解密
- 数据压缩和恢复
- 主要协议:JGEG、ASCII
3.会话层:向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这是会话,也是建立同步(SYN)
- 功能
- 建立、管理、终止会话
- 使用检验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
- 主要协议:ADSP、ASP
4.传输层:负责主机中两个进程地通信,即端到端的通信。传输单位是报文段或用户数据包。
- 功能
- 可靠传输、不可靠传输
- 差错控制
- 流量控制
- 复用分用
- 复用:多个应用层进程可同时使用下面运输层的服务。
- 分用:运输层把收到的消息分别交付给上面应用层中相应的进程。
- 主要协议:TCP、IP
5.网络层:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
-
功能
- 路由选择
- 流量控制
- 差错控制
- 拥塞控制
- 若所有节点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
-
主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
6.数据链路层:主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧。
- 功能
- 成帧(定义帧的开始和结束)
- 差错控制(帧错+位错)
- 流量控制
- 访问(接入)控制(控制对信道的访问)
- 主要协议:SDLC、HDLC、PPP、STP
7.物理层:主要任务是在物理媒体上实现比特流的透明传输。物理层传输单位是比特。透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
- 功能
- 定义接口特性
- 定义传输模式
- 定义传输速率
- 比特同步
- 比特编码
- 主要协议:Rj45、802.3
TCP/IP模型
OSI参考模型与TCP/IP参考模型的相同点
- 都分层
- 基于独立的协议栈的概念
- 可以实现异构网络互联
OSI参考模型与TCP/IP参考模型的不同点
5层参考模型