主要内容
网络体系结构(分层)
接口、服务与协议
网络参考模型
分层
分层带来的好处
- 各层独立,职责单一,只需要本层功能
- 灵活,接口不变,上下层不影响
- 每层结构分开,每层使用合适的技术实现
- 易于维护实现
- 促进标准化。每一层及其提供的服务都有明确的定义
分层太多的缺点
- 经过的处理越多,效率越低
- 每层经过封装后报文增加附加信息,传输效率低。
层次设计问题
编址机制(每个节点一个全球唯一地址,各种地址共存如网卡地址,ip,端口号等)
数据传输 不仅是数据的交换还有数据的协调准备控制(如保证可靠性,有序等)
差错控制(检测、恢复;其中检测是必须的,回复可能不需要做;这也是他们分开做的原因)(为什么每层差错检测?层接口交互可能出错,各个层检测标准不同)
顺序控制
流量控制(收发处理能力不匹配,如A网卡100MB网卡10M;AB都是10M,而A缓冲区大)根据接收能力发送
拆分重组(最大长度限制MTU最大传输单元,不同网络类型不同)
复用和解复用
路由选择
【研究体系结构的方法:如何分层,服务(下层为上层提供服务,每层提供什么服务),协议(具体的传输规则,不同网络同层对等实体之间信息交互的规则)】
服务
为上层提供信息交换的能力(只定义接口)
层间通过服务进行信息交互通过服务原语描述(请求原语、指示原语、相应原语、确认原语)(Request、Indication、Response、Confirm)
协议
定义:同层对等实体之间的具体规则
服务和协议的关系:实体利用协议实现服务定义的接口;只要服务不变,可以任意改变协议。
组成:
- 语法:以二进制形式表示的命令和相应的结构(数据传输格式)
- 语义:通讯如何进行的,通讯双方的理解和如何处理控制信息
- 定时关系:有关时间顺序的说明。如是否确认到达
协议的目的:保证上层数据的传输(满足质量要求的数据传输)
服务访问点SAP Server Access Point
任何层间服务是在接口的SAP上进行的
每个SAP有唯一的识别地址(如果是一个进程则有唯一的id)
每个层间接口可以有多个SAP(如TCP、UDP)为上层服务上层根据自己的需求选择具体的服务
数据单元
服务传输数据,数据的内容就是数据单元
不同层次划分为以下三种
协议数据单元PDU
结构:PCI(协议控制信息)+用户数据
定义:不同系统的对等实体为实现该层协议所交换的信息单位
控制信息一般放在前面(传输层TCP报头,网络层IP分组头,链路层帧头帧尾)(IP是通讯最高层,如果IP层接收到的TCP报文长度大于MTU会分组,分别加上IP分组头,注意目的地的IP层收到拆分的IP分组合并成原始数据(原始服务数据单元)后才会交给TCP层)
结构固定 :实现简单,不灵活;当前网络一般是固定的,也存在可选项(即不固定内容),但是会存在问题,如果加入不固定内容需要对网络中的所有节点升级才能识别该扩展信息。如何不中断升级路由器等节点存在问题。
长度:越短越好,信道利用率高
数据单元:最大长度,最小长度 (用的最多的有线局域网:以太网 (广播)最大1500+18 ,最小 46 +18Byte)
大于最大长度,分段(重组)
小于最小长度,自动填充(为什么不合并呢?合并会带来问题,如需要加入控制信息确定分界,下一个数据报不一定需要合并,处理效率受影响)
接口数据单元IDU
定义:同一系统的相邻层实体的一次交互中,经过层间接口的信息单元
ICI+接口数据(上层的PDU)
同一系统的相邻层实体的一次交互中经过层间接口的信息单元
进入下层时会丢掉,下层收到接口控制信息时,根据接口控制信息添加一定的协议控制信息
服务数据单元 SDU
上层服务用户所需要传递的数据单元
由于PDU的大小一般有固定长度要求。因此,PDU的用户数据部分可能是经过分段或合并的SDU
n+1层协议数据单元,通过n层数据接口(通过接口时需要加入接口控制信息,转换为协议控制信息并丢掉接口控制信息)进入第n层后,成为第n层服务数据单元,如果满足第n层的协议长度要求,加上控制信息称为第n层的协议数据单元。
第n层的协议数据单元,通过第n-1层数据接口进入第n-1层后,成为第n-1层服务数据单元,满足第n-1层的协议长度要求,加上控制信息成为的n-1层的协议数据单元。
服务分类
面向连接服务:服务质量(时延一定,可靠,有序)有保证,贵(资源消耗大),需要先建立连接(入网时延大),连接不足时不能提供服务
无连接服务:网络利用率高,不会拒绝服务,服务质量不能保证(是否丢失,无序)
选择要素
- 协议的网络环境(有线网络,误码率低和可靠性高更倾向于无连接,简化设计;无线网倾向于面向连接)
- 提供什么样的服务
注意:1.上层可能是面向连接的协议,而传输到下层,下层可能不是面向连接的协议;2.同一层可以提供面向连接的服务也可以提供无连接服务(传输层TCP、UDP)
研究网络的方法
- 选择模型 (如何分层的,各层提供的服务)OSI (Open System Interconnection 开放系统互联)
- 研究实例 (和模板的对应关系) TCP/IP协议集