三、计算机网络体系结构
计算机网络是一个非常复杂的系统,涉及许多组成部分:
主机(hosts) 路由器(routers) 各种链路(links) 应用(applications) 协议(protocols) 硬件、软件 ……
要以怎样的角度去理解和分析计算机网络体系结构?
如何组织和实现这个复杂的网络功能?
先来看一个航空旅行的结构
帮旅人从一处到另一处。
每层完成一种(类)特定服务/功能
每层依赖底层提供的服务,通过层内动作完成相应功能
划重点:层次化实现复杂网络功能,利用下层提供的服务和对等层的信息,实现本层功能,并为上层提供服务。
第二个例子
1.计算机网络概述
1.1计算机网络的体系结构概述
- 网络体系结构是从功能上描述计算机网络结构
- 计算机网络体系结构简称网络体系结构(network architecture)是分层结构
- 每层遵循某个/些网络协议完成本层功能
- 计算机网络体系结构是计算机网络的各层及其协议的集合
- 体系结构是一个计算机网络的功能层次及其关系的定义
- 体系结构是抽象的
1.2采取分层结构,why
- 结构清晰,有利于识别复杂系统的部件及其关系
- 分层的参考模型(reference model )
- 模块化的分层易于系统更新、维护
- 任何一层服务实现的改变对于系统其它层都是透明的(啥透明的????
- 例如,登机过程的改变并不影响航空系统的其它部分(层)
- 有利于标准化
1.3分层网络体系结构基本概念
上层使用下层服务,或言之,下层为上层提供服务
- 实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
- 协议是控制两个对等实体进行通信的规则的集合,协议是“水平的” 。
- 任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上 层提供服务,**服务是“垂直的”。
- 下层协议的实现对上层的服务用户是透明的。
- 同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP(Service Access Point),交换原语,指定请求的特定服务。
2. OSI参考模型
- 开放式系统互联通信参考模型(Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型
目的是支持异构网络系统的互联互通
异构网络系统互连的国际标准
理解网络通信的最佳学习工具(理论模型) ,(Theory Victory,Market defeat)
7层(功能),每层完成特定的网络功能
2.1OSI参考模型解释的通信过程
看图说话:
- 主机A和主机B要通信
- 对等层次之间遵从相同协议,交换数据(双向虚线箭头
- 双向实线箭头就是数据流动的实际过程。数据传输是纵向的。
- 相邻层,通过接口交互
- 上面四个层次,对应到目的主机的四个层次。 端到端层。
2.2 OSI参考模型数据封装与通信过程
如图所示:
- A-PDU :应用层的协议数据单元(Application-Protocol Data Unit)
- …-PDU:…
- AH、SH…DH。如AH,附加在这一层的控制信息,叫做应用层头(Application Header),构成了这一层协议的数据包
- DT 在数据链路层加了尾
- 物理层就不加头尾了,转换成比特流传输…
- 最后再去头去尾,去头去头去头…最终传到目标主机
——看图说话结语:我看图说话不太好,这些图里的精妙我说说不太懂
2.3为什么需要数据封装?
就好像为什么寄信要把信装在信封里。
-
增加控制信息
构造协议数据单元 (PDU)
-
控制信息主要包括:
地址(Address): 标识发送端/接收端
差错检测编码(Error-detecting code): 用于差错检测或纠正
协议控制(Protocol control): 实现协议功能的附加信息,如: 优先(priority)、服务质量(QoS)、 和安全控制等
2.4 物理层功能
接口特性
- 机械特性、电气特性、功能特性、规程特性
比特编码
数据率 (数据传输速率、“百兆千兆网络”
比特同步
- 时钟同步
传输模式
-
单工(Simplex) (单工通信,比如电视机放电视,单向通信
半双工(half-duplex) (双向通信,交替进行,比如对讲机,说的时候不能听,听的时候不能说
全双工(full-duplex)(双向通信,同时进行,比如视频通话
2.5数据链路层功能
逻辑的,数据链路层。
看图说话:
负责结点-结点(node-to-node)数据传输(node2node,两个直接相邻的计算设备的,以帧为传输单位
组帧(Framing) (成帧,加头加尾
物理寻址(Physical addressing)
- 在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端
- 在物理层不能物理寻址
再如
看图说话:
- 流量控制(Flow control)
- 避免淹没接收端 (让接收端和发送端的接受速度和发送速度匹配。
- 差错控制(Error control)
- 检测并重传损坏或丢失帧,并避免重复帧。(采用了差错编码
- 访问(接入)控制(Access control)
- 在任一给定时刻决定哪个设备拥有链路**(物理介质)控制使用权**
2.6网络层功能
看图说话:
负责源主机到目的主机数据分组(packet)交付
- 可能穿越多个网络
逻辑寻址(Logical addressing)
- 全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址
数据从END S,送到END D
再看图说话:
路由(Routing)
- 路由器(或网关)互连网络,并路由分组至最终目的主机
-
路径选择
分组转发
2.7传输层功能
负责源-目的(端-端) (进程间) 完整报文传输
看图说话:
分段与重组
SAP寻址 (上图中的x ,y是SAP地址)
- 确保将完整报文提交给正确进程,如端口号
连接控制
流量控制
差错控制
2.8会话层功能
对话控制(dialog controlling)
- 建立、维护
同步(synchronization)
- 在数据流中插入“同步点”
最“薄”的一层(在实际中,这一层不单独存在)
2.9表示层功能
处理两个系统间交换信息的语法与语义(syntax and semantics )问题
数据表示转化
- 转换为主机独立的编码
加密/解密
压缩/解压缩
(这一层也不是独立存在的
2.10应用层功能
支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
典型应用层服务:
-
文件传输(FTP)
电子邮件(SMTP)
Web(HTTP)
……
3其他参考模型
3.1TCP/IP参考模型
3.2五层参考模型
模型图
5层模型的数据封装:
3.3课后讨论
分层网络体系结构
现代网络体系结构大部分都采用分层体系结构,分层体系结构的优点在课程中也做了概括性介绍。那么分层网络体系结构有什么缺点那?在某些情况下是否有必要不采用分层结构那?查阅资料,看看是否存在夸层体系结构的网络设计?有什么优点?
分层网络体系结构的缺点有
1、降低系统的性能,原本只是简单的问题,经过多层的过程变得复杂
2、造成级联修改问题, 在一些问题中,若一部分需要变化或优化,可能会导致所有层都需要变化。
2、层次多,会使得效率降低,增加许多协议
在当网络较小、简单并且过程很清晰的时候,可以不采用分层结构,比如说用户基数小的私人网络。
跨层体系结构设计就是使网络体系结构中实现层之间的跨层交互。
优点:减少了没有必要的信息交互,提高了效率。
无线通信跨层结构
优点是:系统性能增强,提高了网络的综合性能
Fzu数计魏荣…2020-2-20
分组交换除了存储转发之外,还可以采用直通式和碎片隔离 。
1.直通式。 优点:不需要存储 ,延迟非常小、交换非常快,这是它的优点。 缺点:因为数据包内容并没有 被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力。由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。
2.碎片隔离。 它检查数据包的长度是否够64个字节,如果小于64字节,说明是假包,则丢弃该包;如果大于64字节,则发送该包。 缺点:这种方式也不提供数据校验。 优点:它的数据处理速度比存储转发方式快,但比直通式慢分层网络体系结构的缺点有1、降低系统的性能,原本只是简单的问题,经过多层的过程变得复杂2、造成级联修改问题, 在一些问题中,若一部分需要变化或优化,可能会导致所有层都需要变化。2、层次多,会使得效率降低,增加许多协议在当网络较小、简单并且过程很清晰的时候,可以不采用分层结构,比如说用户基数小的私人网络。跨层体系结构设计就是使网络体系结构中实现层之间的跨层交互。优点:减少了没有必要的信息交互,提高了效率。无线通信跨层结构优点是:系统性能增强,提高了网络的综合性能
mooc97533698…2020-5-10
(补充)4. 服务模型
-
服务( Service):低层实体向上层实体提供它们之间的通信的能力
服务用户(service user)
服务提供者(service provider )
- 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
-
服务访问点 SAP (Services Access Point) :上层使用下层提供的服务通过层间的接口—地点;
例子:邮箱
地址(address):下层的一个实体支撑着上层的多个实体,SAP有标志不同上层实体的作用 可以有不同的实现,队列 例子:传输层的SAP: 端口(port)
4.1服务的类型
面向连接的服务和无连接的服务-方式
- 面向连接的服务( Connection-oriented Service)
-
连接(Connection):
两个通信实体为进行通信而建立的一种结合
-
面向连接的服务通信的过程:
建立连接,通信,拆除连接
-
面向连接的服务的例子:
网络层的连接被成为虚电路
-
适用范围:
对于大的数据块要传输; 不适合小的零星报文
- 特点: 保序
-
服务类型:
可靠的信息流 传送页面(可靠的获得,通过接收方的确认)
可靠的字节流 远程登录
不可靠的连接 数字化声音
-
- 无连接的服务(Connectionless Service)
-
无连接服务:
两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)
- 特点: 不可靠、可能重复、可能失序,IP分组,数据包;
- 适用范围: 适合传送零星数据;
-
服务类型:
不可靠的数据报 电子方式的函件
有确认的数据报 挂号信
请求回答 信息查询
-
4.2服务和协议
- 服务与协议的区别
- 服务(Service): 低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直
- 协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
- 服务与协议的联系
-
本层协议的实现要靠下层提供的服务来实现
本层实体通过协议为上层提供更高级的服务
-
4.3 数据单元Data Unit
口水话描述一下:
Layer n 代表本层(第n层),那么 n-1代表上一层,n+1代表下一层。
n+1层的SDU,通过层间的接口Interface,来到n层,n层实体在它们的n层协议中交换n- pdu,然后传输,成为下一层的SDU
(可能说的还是很含糊,等我开动一下脑筋再想想法子)
4.4分层处理和实现复杂系统的好处
对付复杂的系统
-
概念化: 结构清晰,便于标示网络组件,以及描述其相互关系
分层参考模型
-
结构化:模块化更易于维护和系统升级
改变某一层服务的实现不影响系统中的其他层次
对于其他层次而言是透明的
如改变登机程序并不影响系统的其它部分
改变2个秘书使用的通信方式不影响2个翻译的工作
改变2个翻译使用的语言也不影响上下2个层次的工作
- 分层思想被认为有害的地方?(效率比较低,害处就一笔带过了)
5.各层次的协议数据单元
应用层:报文(message)
传输层:报文段(segment):TCP段,UDP数据报
网络层:分组packet(如果无连接方式:数据报datagram)
数据链路层:帧(frame)
物理层:位(bit)
6.发展历史(挂几张图好了)
本篇结束。