计算机网络体系结构
计算机网络是一个非常复杂的系统,涉及许多组成部分
主机、路由器、各种链路、应用、协议、硬件、软件....
问题:是否存在一种系统结构有效描述网络?利用什么结构?用于讨论网络?
A:分层结构!
网络体系结构是从功能上描述计算机网络结构
计算机网络体系结构简称网络体系结构,是分层结构
每层遵循某个/些网络协议完成本层功能
计算机网络体系结构是计算机网络的各层及其协议的集合
体系结构是一个计算机网络的功能层次及其关系的定义
体系结构是抽象的
为什么采用分层结构?
- 结构清晰,有利于识别复杂系统的部件及其关系
分层的参考模型 - 模块化的分层易于系统更新、维护
- 有利于标准化
分层结构的不足?
效率------->跨层设计
实体
表示任何可发送或接收信息的硬件或软件进程
协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”
任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上提供服务,服务是“垂直的”
下层协议的实现对上层的服务用户是透明的
同系统的相邻层实体间通过借口进行交换,通过服务访问点SAP,交换原语,指定请求的特定服务
OSI参考模型
1984 国际标准化组织ISO 提出 开放系统互连参考模型OSI
目的是支持异构网络系统的互联互通
异构网络通信的最佳学习工具(理论模型)
理论成功,市场失败
7层,每层完成特定的功能
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
主机A-----中间系统-----主机B
为什么需要数据封装?
增加控制信息 构造协议数据单元PDU
控制信息包括:地址;差错检测编码、协议控制
OSI参考模型
物理层功能
- 接口特性:机械特性、电气特性、功能特性、规程特性
- 比特编码
- 数据率
- 比特同步:时钟同步
- 传输模式:单工(Simplex),半双工(half-duplex),双工(duplex)
数据链路层
- 负责结点-结点(Node-to-Node)数据传输 物理链路直接相连的两个结点之间的数据传输
- 组帧(Framing)
- 物理寻址(Physical addressing)
- 流量控制(Flow Control) 避免淹没接收端
- 差错控制(Error control) 检测并重传算坏或丢失帧
- 访问(接入控制)(Access Control) 在任一给定时刻决定哪个设备拥有链路的控制使用权
网络层
- 负责源主机到目的主机数据分组(packet)交付 可能穿越多个网络
- 逻辑寻址(Logical addressing) 全局唯一逻辑地址,确保数据分组被送到目的地址
- 路由(Routing)
- 分组转发
传输层
- 负责源-目的(端-端)(进程间)完整报文传输
- 分段与分组
- SAP寻址(确保将完整报文提交给正确的进程)
- 连接控制
- 流量控制
- 差错控制
会话层
对话控制(dialog controlling)建立、维护
同步(synchronization)在数据流中插入“同步点”
最薄的一层
表示层
处理两个系统间交换信息的语法与语义问题
数据表示转化
加密/解密
压缩/解压缩
应用层
支持用户通过用户代理(比如浏览器)或网络接口使用网络(服务)
典型的应用层服务:
文件传输(FTP)、电子邮件(SMTP)、Web(HTTP)...
TCP/IP
五层参考模型
综合OSI和TCP/IP的优点
应用层:支持各种网络应用FTP、SMTP、HTTP
传输层:进程-进程的数据传输 TCP、UDP
网络层:源主机到目的主机的数据分组路由与转发 IP、路由
数据链路层:相邻网络元素(主机、交换机、路由器等)的数据传输 以太网、802.11、PPP
物理层: 比特传输