1. 网络体系结构
1.1 计算机网络为什么要分层?
首先,了解一下两台主机间发送文件前要完成的工作:
- 发起通信的计算机必须将数据通信的通路进行激活。
- 要告诉网络如何识别目的主机。
- 发起通信的计算机要查明目的主机是否开机并与网络正常连接。
- 确保差错和意外可以解决。
- ...
可以看出,这一系列问题放在一起非常复杂 ,计算机网络分层 是为了将复杂问题简单化,通过将庞大的网络系统划分为多个独立的层次,使得每个层次都有明确的功能和职责。
1.2 分层原则
如何对网络进行分层?
分层的基本原则:
- 各层之间相互独立,每层只实现一种相对独立的功能。
- 每层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上可分割开。每层都采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应该能促进标准化工作。
1.3 分层结构
实体
:第n层的活动元素称为n层实体
,同一层的实体叫做对等实体
。协议
:为网络中的对等实体 进行数据交换而建立的规则、标准或约定称为网络协议。(水平)- 语法:规定传输数据的格式。
- 语义:规定所要完成的功能。
- 同步:规定各种操作顺序。
接口(访问服务点)
:上层使用下层服务的入口。服务
:下层为相邻上层提供的功能调用。(垂直)
一些概念
-
- SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
- PCI协议控制单元:控制协议操作的信息。
- PDU协议数据单元:对等层次之间传送的数据单位。
- 网络体系结构是从功能上描述计算机体系结构的。
- 每层遵循某个/某些网络协议已完成本层功能。
- 计算机网络体系结构 是计算机网络的各层及其协议的集合。
- 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
- 体系结构是抽象的,而实现是指能运行的一些软件和硬件。
了解完具体参考模型后再看分层结构概念会加深理解。
2. OSI参考模型
2.1 OSI参考模型的由来
为了解决计算机网络复杂的大问题 -> 产生了分层结构(按功能)
IBM公司提出了第一个网络体系结构SNA,相继产生了许多的网络体系结构,比如DEC公司的DNA,美国国防部的TCP。这些体系结构是每个公司独有的。
为了支持异构网络互联。国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型。
OSI参考模型在理论上是成功的,但在市场上是失败的。
失败原因:
- OSI在市场化方面缺乏商业驱动力。
- OSI协议实现起来过于复杂,且运行效率低。
- OSI标准的制定周期太长,导致按OSI标准生产的设备无法及时进入市场。
- OSI的层次划分不太合理,有些功能在多个层次中重复出现。
2.2 OSI七层结构
2.2.1 应用层
用户和网络的界面,所有能和用户产生网络流量的程序。
主要协议:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
2.2.2 表示层
用于处理在两个通信系统中交换信息的表示方式(语法和语义)。
- 功能一:数据格式交换
- 功能二:数据加密解密
- 功能三:数据压缩和恢复
主要协议:
- JPEG
- ASCII
2.2.3 会话层
向表示层实体/用户进程提供建立连接 并在连接上有序地 传输数据。这是会话,也是建立同步(SYN)。
- 功能一:建立、管理、终止会话
- 功能二:使用校验点可使会话在通信失效时从校验点/同步点 继续恢复通信,实现数据同步。 适用于传输大文件
主要协议:
- ADSP
- ASP
2.2.4 传输层
负责主机中两个进程 的通信,即端到端的通信。传输单位是报文段或用户数据报。
- 功能一:可靠传输、不可靠传输
- 功能二:差错控制
- 功能三:流量控制
- 功能四:复用分用
主要协议:
- TCP
- UDP
2.2.5 网络层
主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。
网络层传输单位是数据报。
- 功能一:路由选择
- 功能二:流量控制
- 功能三:差错控制
- 功能四:拥塞控制
主要协议:
- IP
- IPX
- ICMP
- IGMP
- ARP
- RARP
- OSPF
2.2.6 数据链路层
主要任务是把网络层传下来的数据报组装成帧。
数据链路层的传输单位是帧。
- 功能一:成帧(定义帧的开始和结束)
- 功能二:差错控制,帧错和位错
- 功能三:流量控制
- 功能四:访问(接入)控制
主要协议:
- SDLC
- HDLC
- PPP
- STP
2.2.7 物理层
主要任务是在物理媒体上实现比特流的透明传输。
透明传输:指不管所传数据是什么样的比特组合,都应该能在链路上传送。
物理层传输单位是比特。
- 功能一:定义接口特性
- 功能二:定义传输模式
- 功能三:定义传输速率
- 功能四:比特同步
- 功能五:比特编码
主要协议:
- Rj45
- 802.3
3. TCP/IP参考模型
TCP/IP参考模型先有TCP/IP协议栈,然后形成的参考模型。TCP/IP是事实标准,被广泛应用。
OSI参考模型与TCP/IP参考模型的相同点:
- 都分层
- 基于独立的协议栈概念
- 都可以实现异构网络互联
OSI参考模型与TCP/IP参考模型的不同点:
- OSI定义三点:服务、协议、接口
- OSI先出现,参考模型先于协议发明,不偏向特定协议
- TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
- 二者在网络层和传输层的通信方式不同
- 面向连接:三个阶段,建立连接 -> 数据传送 -> 释放连接
- 无连接:直接进行数据传输
4. 五层参考模型
综合了OSI和TCP/IP的优点。