文章目录
- 计算机网络分层结构
- OSI参考模型
- TCP/IP参考模型
- 5层参考模型
- 5层参考模型的数据封装与解封装
计算机网络分层结构
我们把计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的层次、各层的协议及层间接口的集合。
体系结构是抽象的,而实现是指能运行的一些软件和硬件
网络体系结构是从功能上描述计算机网络结构
计算机网络体系结构简称网络体系结构是分层结构。分层的基本原则
- 每层之间相互独立,每层只实现一种相对独立的功能
- 每层之间界面自然清晰,易于理解,相互交流尽可能少
- 结构上可分割开。每层都采用最合适的技术来实现
- 保持下层对上层的独立性上层单向使用下层提供的服务
- 整个分层结构应该能促进标准化工作
每层遵循某个/些网络协议以完成本层功能
- 实体:第n层中活动元素称为n层实体。同一层的实体叫做对等实体。例如主机B L5 data可以称作5层实体,对应的主机A L5 data可以称作对等实体
- 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议【水平】
协议的三大要素,这里以比特序列01010001111000为例- 语法:规定传输数据的格式,即数据按照0/1这种数字形式来传输,比特序列从那里分割,哪里启示、结束都是语法规定的内容
- 语义:规定所要完成的功能,即比特序列根据语法分割以后变成好几段,每个分段的意思,能实现什么功能就是语义的作用
- 同步:规定各种操作的顺序,即规定哪个数据报先发,哪个后发
- 接口(访问服务点SAP):上层使用下层服务的入口
- 服务:下层为相邻上层提供的功能调用【垂直】
仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽
- SDU服务数据单元:为完成用户所要求的的功能而传送的数据。也就是每一层要传输的数据,就是有用的那些部分
- PCI协议控制信息:控制协议操作的信息。可以理解成一些控制信息
- PDU协议数据单元:对等层次之间传送的数据单元
n − P C I + n − S D U = n − P D U = ( n − 1 ) − S D U n-PCI \quad + \quad n-SDU=n-PDU=(n-1)-SDU n−PCI+n−SDU=n−PDU=(n−1)−SDU
第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能
OSI参考模型
计
算
机
网
络
分
层
结
构
{
7
层
O
S
I
参
考
模
型
,
法
定
标
准
4
层
T
C
P
/
I
P
参
考
模
型
,
事
实
标
准
⇒
5
层
的
体
系
结
构
计算机网络分层结构 \left\{\begin{aligned}&7层OSI参考模型,法定标准\\&4层TCP/IP参考模型,事实标准\end{aligned}\right.\Rightarrow 5层的体系结构
计算机网络分层结构{7层OSI参考模型,法定标准4层TCP/IP参考模型,事实标准⇒5层的体系结构
为了支持异构网络系统的互联互通(不同公司提出不同网络体系结构),国际标准化组织(ISO)与1984年提出开发系统互连(OSI)参考模型
上面四层是端到端的通信(运行在两个主机内进程的通信),下面三层是点到点的通信(只管下一步到哪里,不管最后到哪里)
因为对等实体遵从相同的协议,因此知道应该加上或去掉哪些数据
-
应用层:用户与网络的界面,所有能和洪湖交互产生网络流量的程序(记事本等不联网能用的不算)
典型应用层服务:文件传输(FTP),电子邮件(SMTP),万维网(HTTP)…… -
表示层:用于处理两个通信系统中交换信息的表示方式(语法和语义)
- 功能一:数据格式变换,例如把比特流转换成图片JPG格式
- 功能二:数据加密和解密,例如微信支付密码的加密和解密
- 功能三:数据的压缩和恢复,例如图片本身很大,通过压缩变小再放到链路上传输
没有典型单独的协议
-
会话层:向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这就是会话,也是建立同步(SYN)
例如有一台电脑,打开了百度网页,然后放到后台,换个网页开始看电影,现在这个电脑已经和这两个窗口建立起了同步,但是还没有进行数据的传输。这是调整电影播放速率,受到影响的是电影所在的网页,而不是百度网页
会话之间是彼此独立,而不互相影响- 功能一:建立、管理、终止会话
- 功能二:使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信、实现数据同步
适用于传输大文件
(不重要)主要协议:ADSP,ASP
-
传输层:负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报
- 功能一:可靠传输、不可靠传输
可靠传输,一种基于确认机制的传输。例如发一个文件,把它切成报文段,一个一个放到链路上传输,传输到接收端,接收端每收到一个报文段都会返回一个确认的信息,只有发送端收到了确认的信息才会发下一个报文段;如果没有收到确认信息,会再发一次报文段,直到收到这个报文段的确认为止,才能继续往下发送报文段
不可靠传输,不需要建立连接,不管会不会丢,直接发送数据包就行。通常用于发送一些比较小的数据 - 功能二:差错控制,当传送的报文段失去了,顺序错了,传输层就会纠正这些错误
- 功能三:流量控制,控制发送端的速度,例如发送端发送了大量数据,但接收方硬件不好,接收的很慢,这是发送端就会被控制减缓发送速度
- 功能四:复用分用
复用:多个应用层进程可同时使用下面运输层的服务
分用:运输层把收到的信息分别交付给上面应用层中相应的进程
例如,发送的同时使用QQ和微信向接收端发送消息,QQ端口号为1,微信端口号为2,接收端收到报文段,发现端口号为1,则分给QQ,端口号为2,则分给微信
主要协议:TCP、UDP
- 功能一:可靠传输、不可靠传输
-
网络层(IP层):主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报
如果数据报过长,就可能被分割成多个分组,然后放到链路上传递-
功能一:路由选择,就是选择最佳路径例如发送端发送一个数据报给接收端,但从发送端到接收端有多条路径,网络层就会通过算法选择最佳路径
-
功能二:流量控制,协调发送端和接收端速度问题。类似传输层的流量控制
-
功能三:差错控制,两节点之间约定一些规则,接收方根据规则,检查收到的分组是否有错误,如果能纠错就纠错,如果不能纠错就扔掉,保证传输层提交的内容都是正确的
-
功能四:拥塞控制。相交于流量控制,拥塞控制是对于全局的速度控制,如果所有节点都来不及接收分度,而要丢弃大量分组的话,网络就会处于拥塞状态。因此要采取一定措施,缓解这种拥塞
主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
-
-
数据链路层:主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧
- 功能一:成帧(定义帧的开始和结束),数据报组装成帧以后会形成一个比特流序列,这时候需要定义帧的开始和结束,就是需要定义01的组合作为开始和结束的标志。只要这样定义好了,在接收端接收到一个帧的时候获得里面的数据
- 功能二:差错控制,可以检错也可以纠错,错误分为帧错和位错
- 功能三:流量控制,类似上面的
- 功能四:访问(接入)控制,主要是对信道访问的控制。例如有四台主机连在一个物理介值上,数据链路层就要控制哪台主机当前可以发送信息,即可以使用共享信道(广播室网络当中,同时只能有一个主机发送信息,其他主机都在监听的状态)
主要协议:SDLC、HDLC、PPP、STP
-
物理层:主要任务是在物理媒体上实现比特流的透明传输(把比特流转成电信号并放到链路上传输,没有其他处理)。传输单位是比特
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送- 功能一:定义接口特性,例如确定连接电缆的插头有多少根引脚,每根引脚如果连接……
- 功能二:定义传输模式
单工:同一时间两方,只有一方可以发送,另一方只能接收,并且发送端和接收端是确认的,不能改变
半双工:同一时间两方,只有一方可以发送,另一方只能接收,但发送端和接收端不确定,两方都可以
双工:同一时间两方可以同时发送 - 功能三:定义传输速率
- 功能四:比特同步
- 功能五:比特编码
主要协议:Rj45、802.3
TCP/IP参考模型
OSI参考模型与TCP/IP参考模型
- 相同点
- 都分层
- 基于独立的协议栈的概念
- 可以实现异构网络互联(不同厂家生成的设备联系起来)
- 不同点
-
OSI定义三点:服务、协议、接口
-
OSI先出现,参考模型先于协议发明,不偏向特定协议
-
TCP/IP设计之初就考虑到异构网互联问题,把IP作为重要层次
-
ISO/OSI参考模型在网络层采用无连接+面向连接,传输层采用面向连接;TCP/IP模型网络层采用无连接,传输层采用无连接+面向连接
面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段接着,当数据传输完毕,必须释放连接。而面向
无连接没有这么多阶段,它直接进行数据传输。
-
5层参考模型
综合了OSI和TCP/IP的优点
![[附件/Pasted image 20221120151810.png|250]]
应用层,支持各种网络应用,FTP、SMTP、HTTP
传输层,进程-进程的数据传输,TCP、UDP
网络层,源主机到目的主机的数据分组路由与分发,IP、ICMP、OSPF等
数据链路层:把网络层传下来的数据报组装成帧,Ethernet、PPP
物理层,比特传输
5层参考模型的数据封装与解封装
来自主机的数据,应用层会加一定的控制信息,形成报文;将报文切分成段,放到传输层上传输,并加上传输层的控制协议就形成了报文段;报文段在网络层加上网络层的控制协议就形成了数据报,数据报如果过长会对其进行切分,分成分组;数据报到数据链路层上在首尾加上数据链路层的控制信息,形成帧;帧到物理层被转成比特流