计算机网络的概念
网络和计算机网络的关系:
计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,有功能完善的软件实现资源共享和信息传递的系统(是一个互连的、自治的计算机集合)
互连—互联互通(通过通信链路实现)
自治—无主从关系
计算机系统、通信设备和线路就是硬件基础,软件也是必不可少的,没有软件的上述三样物品,就像是没有装修的房子,无法使用
计算机网络的功能
1. 数据通信(连接两台电脑,保持连通性)
2. 资源共享(硬件—打印机可以被多台设备连接;软件—我们不需要装到自己的主机上就可以一起使用;数据—各种文章等)
3. 分布式处理(多台计算机各自承担同一任务的不同部分)
4. 提高可靠性(网络中一个节点没了,还可以通过另一个电脑迂回完成连接)
5. 负载均衡(多台计算机共同工作,减轻单台计算机的负载)
计算机网络的组成
组成部分:硬件、软件、协议
硬件包括主机、链路、通讯设备,软件类似于qq、微信、FTP等等,协议是计算机网络的核心,这是一系列规定的约定和集合,只有通过协议计算机网络才能安全可靠的传输数据
计算机网络的工作方式
工作方式:边缘部分、核心部分
边缘部分(主机存在的地方),用户可以直接使用,通过C/S方式或者P2P方式进行通讯
核心部分(为边缘部分服务),边缘部分需要进行数据通讯需要大量的网络/路由器进行交互
功能组成:通信子网、资源子网
通信子网(实现数据通信)
资源子网(实现资源共享/数据处理)
计算机网络的分类
- 按分布范围分:广域网WAN(跨度非常大,跨国!)、城域网MAN(城市内的网络)、局域网WAN(范围1km左右,一个学校的网会由多个局域网连接)、个人区域网PAN(个人设备之间的连接)
- 按使用者分:公用网(电信、移动、联通等)、专用网(军队、政府、铁路等)
- 按交换技术分:电路交换、报文交换、分组交换
- 按拓扑结构分:
- 按传输技术分:广播式网络(共享公共通信信道)、点对点网络(使用分组存储转发和路由选择机制)
脑图总结
计算机网络的标准化工作
要实现不同厂商的硬、软件之间相互连通,必须遵从统一的标准
标准的分类:法定标准(由权威机构制定的正式的、合法的标准;比如OSI)、事实标准(某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准;比如TCP、IP)
RFC上升为因特网正式标准的四个阶段:
(1)因特网草案:这个阶段还不是RFC文档
(2)建议标准:从这个阶段开始成为RFC文档
(3)草案标准:经过IETF、IAB进行审核(2011年以后已经取消)
(4)因特网标准
标准化工作的相关组织
国际标准化组织ISO—OSI参考模型、HDLC协议
国际电信联盟ITU—制定通信规则
国际电气电子工程师协会IEEE—学术机构、IEEE802系列标准、5G
internet工程任务组IETF—负责因特网相关标准的指定 RFCXXXX
性能指标
速率
又称数据率/数据传输率/比特率
比特:只有两种状态1/0
连接在计算机网络上的主机在数字信道上传送数据位数的速率
单位:b/s,kb/s,mb/s,Gb/s,Tb/s
单位转换(仅在速率中做换算,存储时不同):
千
1
k
b
/
s
=
1
0
3
b
/
s
1kb/s=10^{3}b/s
1kb/s=103b/s
兆
1
M
b
/
s
=
1
0
3
k
b
/
s
=
1
0
6
b
/
s
1Mb/s=10^{3}kb/s=10^{6}b/s
1Mb/s=103kb/s=106b/s
吉
1
G
b
/
s
=
1
0
3
M
b
/
s
=
1
0
6
k
b
/
s
=
1
0
9
b
/
s
1Gb/s=10^{3}Mb/s=10^{6}kb/s=10^{9}b/s
1Gb/s=103Mb/s=106kb/s=109b/s
太
1
T
b
/
s
=
1
0
3
G
b
/
s
=
1
0
6
M
b
/
s
=
1
0
9
k
b
/
s
=
1
0
12
b
/
s
1Tb/s=10^{3}Gb/s=10^{6}Mb/s=10^{9}kb/s=10^{12}b/s
1Tb/s=103Gb/s=106Mb/s=109kb/s=1012b/s
单位换算(在存储容量中进行换算):
1 Byte(字节)=8bit(比特)
1
K
B
=
2
10
B
=
1024
B
=
1024
∗
8
b
1KB=2^{10}B=1024B=1024*8b
1KB=210B=1024B=1024∗8b
1
M
B
=
2
10
K
B
=
1024
K
B
1MB=2^{10}KB=1024KB
1MB=210KB=1024KB
1
G
B
=
2
10
M
B
=
1024
M
B
1GB=2^{10}MB=1024MB
1GB=210MB=1024MB
1
T
B
=
2
10
G
B
=
1024
G
B
1TB=2^{10}GB=1024GB
1TB=210GB=1024GB
带宽
(1)带宽原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)
(2)计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的最高数据率。单位是:b/s,kb/s,Mb/s,Gb/s(因为现在网络中传输的是1/0的数字信号,不存在最高最低频率)
简单理解就是网络设备所支持的最高速度
注:带宽是指在发送端最高能发送多少,而不是只在链路上的传播速度,传播速度都是电磁波,速度相同
吞吐量
表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s,kb/s,Mb/s等
吞吐量收网络的带宽或网络的额定速率的限制
虽然主机和交换机之间都是100Mb/s端口链路,但是主机发送数据有限制,访问时一台发送20Mb/s,一台发送10Mb/s,因此电脑的吞吐量为30Mb/s,因此也能证明带宽时理想状态,很少能够达到
时延
指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。
时延分四种:
(1)发送时延(传输时延):从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间(高速链路加快的是这一步骤,与传播时延无关)
发
送
时
延
=
数
据
长
度
信
道
带
宽
(
发
送
速
率
)
发送时延=\frac{数据长度}{信道带宽(发送速率)}
发送时延=信道带宽(发送速率)数据长度
(2)传播时延:取决于电磁波传播速度和链路长度,有两段
传
播
时
延
=
信
道
长
度
电
磁
波
在
信
道
上
的
传
播
速
率
传播时延=\frac{信道长度}{电磁波在信道上的传播速率}
传播时延=电磁波在信道上的传播速率信道长度
(3)排队时延:等待输出/输入链路可用(等待交换器/路由器处理的时间)有两段
(4)处理时延:检错/找出口(检查头文件/寻找输出端口)
时延带宽积
时延带宽积=传播时延*带宽
这是一个描述数据量的度量性能
简单的讲当这条链路充满数据时,有多少比特
往返时延RTT
从发送方发送数据开始,到发送发收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延
RTT越大,在收到确认之前,可以发送的数据越多
RTT包括往返传播时延=传播时延*2和末端处理时间
利用率
分为两种:信道利用率和网络利用率
信道利用率:两个主机交换数据时,一直有数据传输就是利用率高,没有数据传输就是利用率低
有
数
据
通
过
时
间
(
有
+
无
)
数
据
通
过
时
间
\frac{有数据通过时间}{(有+无)数据通过时间}
(有+无)数据通过时间有数据通过时间
网络利用率:信道利用率加权平均
时延和利用率的关系:
脑图总结
分层结构
为什么分层
发送文件步骤:
(1)发起通信的计算机必须将数据通信的通路进行激活
(2)要告诉网络如何识别目的主机
(3)发起通信的计算机要查明目的主机是否开机,并且与网络连接正常
(4)发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作
(5)确保差错和意外可以解决
上述发送文件的问题非常庞大,因此要将计算机网络进行分层结构化
如何分层
分层的基本原则:
- 各层之间相互独立,每层只实现一种相对独立的功能
- 每层之间界面自然清晰,易于理解,相互交流尽可能少
- 结构上可分割开,每层都采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应该能促进标准化工作
分层方式就类似于快递从打包到送达拆开
发货的公司和收货人就是实体(对等实体),货物就是需要发送的数据,装填充物和拆开填充物都是通过协议来完成的,按照标准来进行,然后装箱就是接口,填充完以后装箱,就是接口,享受快递公司的服务,因为只有快递公司服务你,没有你服务快递公司,所以上层能够使用下层的服务
具体分层结构
- 实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体
- 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议(水平的,使适用于某一层)
三 大 要 素 { 语 法 : 规 定 传 输 数 据 的 格 式 ( 如 何 分 组 传 输 ) 语 义 : 规 定 所 要 完 成 的 功 能 ( 规 定 分 组 意 义 ) 同 步 : 规 定 各 种 操 作 的 顺 序 ( 规 定 传 输 顺 序 ) 三大要素\left\{ \begin{aligned} 语法:规定传输数据的格式 (如何分组传输)\\ 语义:规定所要完成的功能 (规定分组意义 )\\ 同步:规定各种操作的顺序(规定传输顺序) \end{aligned} \right. 三大要素⎩⎪⎨⎪⎧语法:规定传输数据的格式(如何分组传输)语义:规定所要完成的功能(规定分组意义)同步:规定各种操作的顺序(规定传输顺序) - 接口(访问服务店SAP):上层使用下层服务的入口
- 服务:下层为相邻上层提供的功能调用(垂直,只有下层为上层服务)
SDU服务数据单元:未完成用户所要求的功能而应传送的数据
PCI协议控制信息:控制协议操作的信息
PDU协议数据单元:对等层次之间传送的数据单位
上一层的PDU会作为下一层的SDU部分,一直到最底层的物理层进行传输
概念总结
网络体系结构是从功能上描述计算机网络结构
计算机网络体系结构简称网络依稀结构是分层结构
每层遵循某个/些网络协议以完成本层功能
计算机网络体系结构是计算机网络的各层及其协议的集合
第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能
仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽
体系结构是抽象的,而实现是指能运行的一些软件和硬件
脑图总结
计算机网络分层结构
三 大 要 素 { 7 层 O S I 参 考 模 型 ( 法 定 标 准 ) 4 层 T C P / I P 参 考 模 型 ( 事 实 标 准 ) 三大要素\left\{ \begin{aligned} 7层OSI参考模型 (法定标准)\\ 4层TCP/IP参考模型 (事实标准 ) \end{aligned} \right. 三大要素{7层OSI参考模型(法定标准)4层TCP/IP参考模型(事实标准)
OSI参考模型
OSI怎么来的
为了解决计算机网络复杂的大问题->提出了分层结构(按功能)
目的:支持异构网络系统(不同公司的设备、软件、硬件)的互联互通
因此国际标准化ISO于1984年提出开放系统互联OSI参考模型
但是!理论上非常成功,市场上非常失败
OSI层次
OSI是一个七层的模型结构,上面三层是进行数据处理的,下面三层是进行数据通信的,中间的传输层是两个子网之间的接口
数据处理:对数据进行一定的处理,例如送礼物的时候不仅要有礼物,还要有好看的包装,进行包装的过程就是数据处理
数据通信:在链路上进行数据传输
OSI参考模型解释通信过程
例如消息发送:
消息在应用层、表示层、会话层、传输层、网络层和数据链路层进行各种数据处理,物理层则基本不做处理,将数据变成比特流在介质中进行传送,到了中间系统,他会先还原数据链路层、网络层增加的数据,判断发送的目的地,然后在进行数据处理放到物理层进行传输,最终经过一个或者多个中间系统,然后进行逐层的还原,变成发送的消息
可以看出应用层、表示层、会话层和传输层是只在接收端和发送端使用、因此就是端到端的通信
而网络层、数据链路层和物理层会在中间系统中还原,因此这三层是点到点的,他只负责到下一个中间点,和接收端没有什么关系
数据的具体处理过程和封装过程
应用层:对data(数据)增加H7(H–头部,7–第7层)数据,传入下一层,命名为7-PDU
表示层:对data(数据)增加H6(H–头部,6–第6层)数据,传入下一层,命名为6-PDU
会话层:对data(数据)增加H5(H–头部,5–第5层)数据,传入下一层,命名为5-PDU
传输层:对data(数据)增加H4(H–头部,4–第4层)数据,传入下一层,命名为4-PDU
网络层:对data(数据)增加H3(H–头部,3–第3层)数据,传入下一层,命名为3-PDU
数据链路层:对data(数据)增加H2(H–头部,2–第2层)和尾部数据,传入下一层
物理层:对数据转化为比特流,对数据进行介质传播
到接收端则依据每一层的协议进行还原,把每一层加上去的数据进行剥离,最终获得原始数据
OSI参考模型的各个层功能
应用层
所有能和用户交互产生网络流量的程序,即联网才能使用的程序(例如qq),不联网就能使用的就不属于应用层(例如记事本)
典型应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
表示层
用于处理在两个通信系统(任何两台设备,PC端和移动端都可以)中交换信息的表示方法(语法和语义)
功能一:数据格式变换(两个系统的数据格式未必相同,即编码格式等)
功能二:数据加密解密(类似于支付密码等需要被加密,防止被抓包看到)
功能三:数据压缩和恢复(视频聊天时看到的图像数据量过大,因此在传输之前被压缩和传输到接受端后被恢复)
会话层
向表示层实体/用户进程提供建立连接并在连接上有序地传输数据(建立同步),也就是只有在会话或建立的时候才可以进行数据通信,并且会话之间相互独立
功能一:建立、管理、终止会话
功能二:使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步(一般用来传输大文件)
传输层
负责主机中两个进程的通信,即端到端的通信(即知道发送端的端口到接收端的端口)。传输单位是报文段或用户数据
功能一:可靠传输、不可靠传输(可靠传输:就是将文件分段传输时,上一个文件被接受的信号传回来,才会发下一个段;不可靠传输:一般运用于较小的文件,不分段,不管是否返回接受信号,不管是否丢失,直接发出去)
功能二:差错控制(作用:对传输的段落顺序错误,丢失段的补充等,弥补差错)
功能三:流量控制(作用:控制发送速度,匹配上接收方的接受速度)
功能四:复用分用(复用:多个应用进程可同时使用下面传输层的服务;分用:传输层吧收到的信息分别交付给上面应用层中相应的进程)
功能四举例:当手机的两个进程qq和微信都开启时,同时接受到信息(这里还就是复用,两个进程都使用了传输层的接受信息),收到的信息都有自己相对应的进程端口号,因此信息会分别传输进入相对应的进程(这里就是分用,接受到的信息分别进入对应端口的进程)
网络层
把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,网络层传输单位是数据报
功能一:路由选择(选择一个最佳的传输路径进行传输)
功能二:流量控制(和上面传输层的相同)
功能三:差错控制(和上面传输层的相同)
功能四:拥塞控制(类似于流量控制,但是针对整个网路,即当所有节点都来不及接受分组的时候,网络就是出于拥塞状态,需要一定的措施来缓解)
数据链路层
把网络数据层传下来的数据报组装成帧,数据链路层/链路层的传输单位是帧
功能一:成帧(定义帧的开始和结束)
功能二:差错控制(帧错+位错,发现错误和纠正错误)
功能三:流量控制(和上面的功能相似)
功能四:访问(接入)控制(控制对信道的访问,因为信道上只能有一个信号进行发送,别的只能监听,因此需要控制)
物理层
在物理媒体上实现比特流的透明传输(不管传输的数据是什么比特组合,都可以在链路上进行传输)
物理层传输单位是比特
功能一:定义接口特性(例如:定义连接电缆的引脚数量,连接方式)
功能二:定义传输模式(单工:同一时间只能有一个发送方和接收方且不能互换位置、半双工:同一时间只能有一个发送方和接收方,但是可以交换位置、双工:同时可以是发送方和接收方)
功能三:定义传输速率
功能四:比特同步(即接受到的信息相同)
功能五:比特编码(即表明多少电压范围是1,多少电压范围是0)
OSI脑图总结
TCP/IP模型和五层参考模型
OSI和TCP/IP对比
OSI和TCP/IP的相同点和不同点
相同点
- 都分层
- 基于独立的协议栈的概念
- 可以实现易购网络互连
不同点
- OSI定义三点:服务、协议、接口
- OSI先出现,参考模型先手协议发明,不偏向于特定协议;TCP/IP是先有协议,再有模型
- TCP/IP设计之初就考虑到异构网络互联问题,将IP作为重要层次
- 两个模型在传输层和网络层的方式也不同
面向连接:首先建立连接,成功以后进行数据传输,数据传输完毕以后必须断开连接
无连接:直接进行数据传输
五层参考模型
五层参考模型的数据封装与解封装
五层参考模型和OSI相差不多,只是少了几个步骤,直接放入了应用层