0 计算机网络体系结构
为什么需要计算机网络体系结构?
计算机网络是一个非常复杂的系统,涉及许多组成部分:主机(hosts)、路由器(routers)、各种链路(links)、应用(applications)、协议(protocols)、硬件、软件 ……
问题
是否存在一种系统结构有效描述网络?利用什么样的结构?
….
至少用于讨论网络?
A:分成结构。
复杂系统的分层结构
类比:航空旅行
每层完成一种(类)特定服务/功能。每层依赖底层提供的服务,通过层内动作完成相应功能。
计算机网络的体系结构
网络体系结构是从功能上描述计算机网络结构。
计算机网络体系结构简称网络体系结构(network architecture)是分层结构。
每层遵循某个/些网络协议完成本层功能。
计算机网络体系结构是计算机网络的各层及其协议的集合。
体系结构是一个计算机网络的功能层次及其关系的定义。
体系结构是抽象的。
分层网络体系结构的基本概念
实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”。
任一层实体需要使用下层服务,遵循本层协议,实现本层功能, 向上层提供服务,服务是“垂直的”。
下层协议的实现对上层的服务用户是透明的。
同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP(Service Access Point),交换原语,指定请求的特定服务。
1 ISO/OSI参考模型简介
- Open System Interconnection,简称ISO/OSI RM
- 是一个逻辑结构,并非一个具体的计算机设备或网络
- 任何两个遵守协议标准的系统都可以互连通信
- 描述的是通信软件的结构
- 开放系统互连 (OSI)参考模型是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型
- 目的是支持异构网络系统的互连互通
- 异构网络系统互连的国际标准
- 理论网络通信的最佳学习工具(理论模型):理论成功,市场失败
- 7层(功能),每层完成特定的网络功能
ISO(国际标准化组织)
ISO是一个代表了130个国家的标准组织的集体,它的总部设在瑞士的日内瓦。 ISO的目标是制定国际技术标准以促进全球信息交换和无障碍贸易。
ISO的权威性不仅限于信息处理和通信工业,它还适用于纺织品业、包装业、货物分发、能源生产和利用、造船业,以及银行业务和金融服务。事实上,在ISO的大约12,000个标准中,仅有大约500个应用于计算机相关的产品和功能中。国际电子与电气工程标准是由一个相似的国际标准组织IEC(国际电子技术协会)单独制定的。 ISO所有的信息技术标准设计与IEC相一致。
只要遵循 OSI 标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。
在市场化方面 OSI 却失败了
- OSI 的专家们在完成 OSI 标准时没有商业驱动力;
- OSI 的协议实现起来过分复杂,且运行效率很低;
- OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
- OSI 的层次划分并也不太合理,有些功能在多个层次中重复出现。
分层的概念
- 计算机网络系统是一个十分复杂的系统,将一个复杂系统分解为若干个容易处理的子系统,然后“分而治之”,这种结构化设计方法是工程中常见的手段。
分层的好处
- 各层之间是独立的
- 灵活性好
- 结构清晰,有利于识别复杂系统的部件及其关系:分层的参考模型(reference model)
- 模块化的分层易于系统更新、维护,任何一层服务实现的改变对于系统其它层都是透明的。
- 能促进标准化工作
网络分层体系结构
- 网络中的任何一个系统都是按照层次结构来组织的
- 同一网络中,任意两个端系统必须具有相同的层次
- 每层使用其下层提供的服务,并向上层提供服务
- 通信只在对等层间进行(间接的、逻辑的、虚拟的),非对等层之间不能互相“通信”
- 实际的物理通信只在最底层完成
- Pn:第n层协议,即第n层对等实体间通信时必须遵循的规则或约定
- 应用层、表示层、会话层、传输层被称为端-端层(end-end)
OSI参考模型数据封装及通信过程
为什么需要数据封装?
增加控制信息:构造协议数据单元(PDU)。
控制信息主要包括:
地址(Address):标识发送端/接收端。
差错检测编码(Error-detecting code):用于差错检测或纠正。
协议控制(Protocol control):实现协议功能的附加信息,如:优先级(priority)、服务质量(QoS)、安全控制等。
2 OSI七层模型
第7层:应用层
应用层:提供程序运行的环境、负责管理和执行应用程序(这里的应用程序指的是如FTP、DNS、Telnet等)。
应用层是应用程序访问网络服务的窗口。
- 支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
- 典型应用层服务:文件传输(FTP)、电子邮件(SMTP)、Web(HTTP)…
第6层:表示层
表示层:为数据在传输之前对加密、解密、压缩、解压缩及终端数据格式转换提供一套规则和约定。
表示层确定了计算机之间交换数据的格式。
- 数据表示转换:转换为主机独立的编码
- 加密/解密
- 压缩/解压缩
第5层:会话层
会话层:对对话双方进行资格审查和验证的规则,同时规定发送时的双工模式。
会话层允许不同计算机上的两个应用程序建立、使用和结束会话连接。
- 会话层负责建立、管理和终止表示层实体之间的会话连接。这一层在设备或节点之间提供会话控制,它在系统之间协调通信过程,并提供3中不同的方式来组织他们之间的通信:单工、半双工、全双工。总之,会话层基本上用来使不同应用程序的数据与其他应用程序的数据保持隔离。
- 对话控制(dialog controlling):建立、维护
- 同步(synchronization):在数据流中插入“同步点”
- 最“薄的一层”
第4层:传输层
设计传输层的两个目的:
- 传输层可以提供在不同系统之间的进程间数据交互的可靠服务,在网络内两个实体之间建立端到端的通信信道,用来传输信息或报文分组,本层提供两端点可靠、透明的数据传输。
- 可以为会话层提供与网络类型无关的可靠信息传输机制,对会话层屏蔽了下层网络细节。
传输层确保报文无差错、有序、不丢失、无重复的传输。
- 基本功能:分割数据与重组数据、按端口号寻址、连接管理、差错控制和流量控制
- 传输层既是OSI模型中负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的高三层之间的中间层。该层弥补高层所要求的服务和网络层所提供的服务之间的差距,并向高层用户屏蔽通信子网的细节,使高层用户看到的只是在两个传输实体间的一条端到端的、可由用户控制和设定的、可靠的数据通路。
- 负责源-目的(端-端)(进程间)完整报文传输
- 分段与重组
- SAP寻址:确保将完整报文提交给正确进程,如端口号
- 连接控制
- 流量控制
- 差错控制
第3层:网络层
网络层:负责建立、保持和终止中间设备的连接,负责通信子网内路径选择和拥挤控制。
网络层负责信息寻址和将逻辑地址和名字转换为物理地址。
- 网络层有2中数据类型的报文:数据报和路由更新包
- 网络层设备有路由器
- 网络层负责将数据包从源节点传送到目的节点,这中间可能会经过许多中间节点,也可能会穿过多个网络。这是网络层和数据链路层不同的地方,数据链路层只负责在相邻的两个节点之间传送数据
- 网络层的主要功能是:路由选择、拥塞控制、网络互联和计费
- 负责到目的主机数据分组(Packet)交付,可能穿越多个网络
- 逻辑寻址(Logical addressing):全球唯一逻辑地址,确保数据分组被到目的主机,如IP地址
- 路由(Routing):路由器(或网关)互连网络,并路由分组至最终目的主机。还负责路径选择
- 分组转发
第2层:数据链路层
数据链路层:主要功能有如何将数据组装成帧,帧是本层的传输单位,如何处理数据在传输过程总出现的差错,如何调节发送速率使之与接收方匹配,在两个网络实体之间提供数据链路的建立、维持和释放管理。
数据链路层负责从网络层向物理层发送数据帧。
- 设备:交换机和网桥
- 交换机基于硬件转发数据帧,数据链路层将信息封装为数据帧
- 网桥基于软件转发
延迟:帧从一个端口进入到从另一个端口所花费的时间
主要功能
- 负责结点-结点(node-to-node)数据传输
- 组帧(Framing)
- 物理寻址(Physical addressing):在帧头中发送端接收端标识数据帧的发送端和接收端
- 流量控制(Flow control):淹没接收端
- 差错控制(Error control):检测并重传损坏或丢失,并重复帧
- 访问(接入)控制(Access control):在任一给定决定哪个设备拥有链路(物理介质)控制使用权
第1层:物理层
物理层:包括设备之间物理连接的接口和用户设备与网络终端设备之间的传输规则。
物理层是建立在通信介质基础上的,实现设备之间的物理接口。
- 简单来说:发送和接收比特流
- 直接与各种类型的实际通信介质进行通信。不同类型的介质用不同的方式来表示这些比特值。
- 4中特性
- 机械特性:规定了物理连接时对插头和插座的几何尺寸、插针或插孔芯数及排列方式
- 电气特性:对定了信号状态的电压、电流的识别,最大传输速率等
- 功能特性:规定了接口信号的来源、作用及其他信号之间的关系
- 过程特性:规定了使用交换电路进行数据交换的控制步骤,这些控制步骤使得比特流传输得以顺利完成
- 比特编码
- 数据率
- 比特同步:时钟同步
- 传输模式:单工(Simplex)、半双工(half-duplex)、全双工(full-duplex)
总结各层主要功能
对等层之间传输的数据单元
应用层 <————APDU————–> 应用层
表示层 <————PPDU————–> 表示层
会话层 <————SPDU————–> 会话层
传输层 <————Segment———–> 传输层
网络层 <————Packet————> 网络层
数据链路层 <————Frame————-> 数据链路层
物理层 <————Bit—————> 物理层
3 OSI七层模型的使用
数据传输示意图
以5层为例介绍计算机1向计算机2发送数据的过程
应用进程数据先传送到应用层,加上应用层首部,称为应用层PDU(协议数据单元)-> 应用层PDU再传送到运输层,加上运输层首部,称为运输层报文 -> 运输层报文再传送到网络层,加上网络层首部,称为IP数据报(或分组)-> IP数据报再传送到数据链路层,加上链路层首部和尾部,称为数据链路层帧 -> 数据链路层帧再传送到物理层,最下面的物理层把比特流传送到物理媒体 -> 电信号(或光信号)再物理媒体中传播,从发送端物理层传送到接收端物理层
计算机2的物理层接收到比特流,上交给数据链路层 -> 数据链路层剥去帧首部和帧尾部取出数据部分,上交给网络层 -> 网络层剥去分组首部,把分组数据部分上交给运输层 -> 运输层剥去报文首部后,把报文数据部分上交给应用层 -> 应用层剥去应用层PDU首部后,把应用程序数据上交给应用进程
4 TCP/IP参考模型
5层参考模型
综合 OSI 和 TCP/IP 的优点
- 应用层: 支持各种网络应用
- 传输层: 进程-进程的数据传输
- 网络层: 源主机到目的主机的数据分组路由与转发
- 链路层: 相邻网络元素(主机、交换机、路由器等)的数据传输
- 以太网(Ethernet)、802.11 (WiFi)、PPP
- 物理层:比特传输
5层模型的数据封装
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。