目录
- 1. OSI/RM参考模型
- 1.1. 物理层
- 1.2. 数据链路层
- 1.3. 网络层
- 1.4. 传输层
- 1.5. 会话层
- 1.6. 表示层
- 1.7. 应用层
- 2. TCP/IP参考模型
- 3. 理解OSI七层模型
网络体系结构是线代网络技术的整体蓝图。
1. OSI/RM参考模型
开放互联参考模型(Open System Interconnection/Reference Model,OSI/RM):
- 诞生:由国际化标准组织(International Organization for Standardization,ISO) 于1979年提出,1983年形成OSI/RM正式文件——ISO 7498标准。
- 应用:一种作为解决主机之间的网络通讯的宏观分析参考模型,数据的传输流程如下图。是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。
OSI/RM模型的设计逻辑:
- 一种分层的体系结构,每一个开放系统都是由一些连续的子系统组成(逻辑上),N+1层的实体功能依赖N层的实体提供出来的功能接口(SAP)来实现。
- 实体:软件元素(进程)或硬件元素(IO芯片)等。
- SAP(Service Accessing Point):实体提供的功能接口。
- 实体与SAP的关系:一个实体可以提供多个SAP,但是一个SAP只能由一个实体提供且最多被一个实体调用。
- 对等实体:同一层级的实体。
封装: 数据在从高层向低层传送的过程中,每层都对接收到的原始数据添加信息,通常是附加一个报头和报尾。
网络协议: 网络中的数据交换建立的一系列规则、标准或约定。是控制两个或多个对等实体进行通信的集合。
- 组成:
- 语法:数据与控制信息的结构或形式。
- 语义:根据需要发出哪种控制信息、依据情况完成哪种动作以及做出哪种响应。
- 时序关系:同步,事件实现顺序的详细说明。
服务原语: 上层使用下层实体的服务需要经过与下层交换一些命令,这就是服务原语。
服务数据单元(Service Data Unit,SDU): 层与层之间交换的数据的单位。
PDU(Protocol Data Unit): 协议数据单元,同层实体间传送的数据单位。
1.1. 物理层
物理层(Physical Layer):
- 简述:物理上实现两台主机间数据传输一层。
- 概念:为数据链路层实体提供建立、传输、释放所必须的物理连接,并提供透明的比特流传输,数据单位是比特(bit,01),构建在物理传输介质和硬件设备连接之上。
- 物理层协议定义的特性:
- 机械特性: 规定接口的外形、大小、引脚数和排列、固定位置。
- 电气特性: 规定接口电缆上各条线路出现的电压范围。
- 功能特性: 指明某条线上出现某一电平的电压表示何种意义。
- 规程特性: 指明各种事件出现的顺序。
- DTE和DCE:
- 数据终端设备(Data Terminal Equipment,DTE): 具有一定数据处理能力的数据收发设备,如路由器、PC。不提供时钟。
- 数据通信设备(Data Communication Equipment,DCE): 在DTE和传输线路之间提供信号转换、编码,并负责建立、保持、释放通信链路的连接的设备,如CSU/DSU、NT1、广域交换机。提供时钟。
1.2. 数据链路层
数据链路层(Data Link Layer):
- 简述:将物理传输转为逻辑传输的传输线路。
- 概念:将比特封装成帧,并通过交换机进行MAC寻址转发,具有流量控制的功能。
- 功能:
- 链路的建立、拆除和分离:数据传输的介质可以是长期的,但实体之间的连接是有有效期的。在有效期内,两实体间可以进行n次数据通信,但每次通信都需要经历链路的建立、通信和关闭的过程。
- 帧定界和帧同步:采用的传输协议不同,帧的规格也不通,所以需要这个功能。
- 顺序控制:对帧的收发顺序进行控制。
- 差错检测、恢复:多用方阵码校验和循环码校验来检查误码,帧丢失用序号检测,通过反馈重发来恢复。
- 链路标识、流量/拥塞控制。
- LLC和MAC
- 逻辑链路控制(Logical Link Control):只在使用IEEE 802.3格式才使用。
- 介质访问控制(Media Access Control):以太帧。
1.3. 网络层
网络层(Network Layer):
- 概念:传输的数据是包(IP),根据IP进行路由转发从而找到目标主机。
- 功能:
- 路由选择。
- 中继、激活和终止网络连接。
- 链路复用。
- 差错检测和恢复。
- 流量/拥塞控制。
1.4. 传输层
传输层(Transport Layer):
- 概念:传输的数据是段(port),通过端口寻址,实现了服务进程到服务进程之间的消息交流。传输层负责两个节点之间的传输,包括可靠传输(TCP)和不可靠传输(UDP)。
- 功能:
- 端到端的数据传输。
- 数据分段、传输和组装。
- 差错控制、流量/拥塞控制。
1.5. 会话层
会话层(Session Layer):
- 概念:允许不同主机上的用户建立会话(各种服务:对话控制、令牌控制、同步功能)。
- 建立和释放会话的步骤:
- 将会话地址映射为传输层地址。
- 进行数据传输。
- 释放链接。
1.6. 表示层
表示层(Presentation Layer):
- 概念:不同计算机之中的数据表达方式可能不同,表示层则负责统一标准转换(编码、解码、加密、解密、压缩)。比如:完成EBCDIC码(大型计算机)和ASCII码(PC)的转换。
- 功能:
- 数据语法转换、语法表示、数据加密解密、数据压缩解压。
1.7. 应用层
应用层(Application Layer):
- 概念:两个应用进程之间的交互(HTTP、HTTPS),最接近用户的那层,向应用程序提供服务,这些服务按照提供的特性分组,并成为服务元素(CASE、SAFE)。
2. TCP/IP参考模型
OSI/RM与TCP/IP模型的对比:
OSI是标准,但过于复杂,不实用,因此诞生了TCP/IP四层协议,经过实践后发现数据链路层拆分为数据链路层和物理层更为合适,所以出现了五层模型。
应用层(Application Layer): 该层与OSI的应用层、表示层、会话层相对应。
传输层(Transport Layer): 允许两台主机上的对等实体进行对话,该层定义了两个端到端协议——TCP和UDP。
网络层/网际层(Network Layer): 负责为经过逻辑互联网络路径的数据进行路由选择。
数据链路层/网络接口层(Data Link Layer): 在TCP/IP模型中没有明确规定。
3. 理解OSI七层模型
此章节参考B站视频:互联网数据传输原理 |OSI七层网络参考模型,讲得不错。
应用层: 两个应用进程之间的交互(HTTP、HTTPS),最接近用户的那层。但应用层的Http等协议只是逻辑上联通了各个终端设备,物理上进行信息交流(连通)的是——物理层。
物理层: 计算机能发出去的信息只有0和1(比特,bit),而发出这些比特需要一些媒介,比如:光(光纤)、电(电线)、电磁波。信号发出去之后会经过不同的网络拓扑,此刻便需要中继器、集线器之类的设备。但信号跑到哪台设备是需要定向的,因此需要高级一些的网络模型——数据链路层。
数据链路层(跳到跳): 数据到了这层会被封装成帧(数据 + MAC地址(物理地址,网卡上的48位/64位地址)),而交换机(二级交换机)就可以通过MAC寻址(MAC广播寻址)。但是仅靠MAC寻址并不明智,如一张网卡销售到了中国另外一张网卡销售到了美国,那就很难通过一个个交换机去找到目标网卡,因此需要IP(逻辑地址)+路由来寻址——网络层。
网络层(端到端): 网络层中的数据是包(含有IP)。包在路由器之间根据IP地址进行路由转发,地址管理+路由选择是这一层的核心。通过MAC+IP就可以到达对方的主机,但是还需要找到目标进程,这时候就需要加上端口来寻址了——传输层。
传输层(进程到进程): 传输层中的数据是段。通过端口寻址,实现了服务进程到服务进程之间的消息交流。传输层负责两个节点之间的传输,包括可靠传输(TCP)和不可靠传输(UDP)。
会话层: 网站服务会管理和控制登录状态还会负责同步服务——“断电”恢复。
表示层: 不同计算机之中的数据表达方式可能不同,表示层则负责统一标准转换(编码、解码、加密、解密、压缩)。
应用层、表示层、会话层的数据统称为应用数据/应用负载/上层数据/报文