目录
计算机网络是一个非常复杂的系统,涉及许多组成部分:
主机(hosts)
路由器(routers)
各种链路(links)
应用(applications)
协议(protocols)
硬件、软件
……
分层结构可以有效地描述网络。
·结构清晰,利于识别复杂系统各部件及其关系
·模块化的分层易于系统更新、维护
·有利于标准化
·网络体系结构是从功能上描述计算机网络结构(区别于物理上:这里是什么硬件,那里是什么硬件……)
·计算机网络体系结构简称网络体系结构(network architecture)是分层结构
·每层遵守某个/某些网络协议完成本层功能
·计算机网络体系结构是计算机网络各层次及其协议的集合
·体系结构是一个计算机网络的功能层次及其关系的定义
·体系结构是抽象的
基本概念
·实体(entity)表示任何可发送或接收信息的硬件或软件进程
·协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”
·任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”
·下层协议的实现对上层的服务用户是透明的(不可见)
·同系统的相邻层实体间通过接口进行交互,通过服务访问点SAP(Service Access Point),交换原语,指定请求的特别服务
OSI参考模型
·开放系统互连(OSI)参考模型是由国际标准化组织(ISO)于1984年提出的分层网络体系结构模型
·目的是支持异构网络系统的互联互通
·异构网络系统互连的国际标准
·理解网络通信的最佳学习工具(理论成功,市场失败)
·7层(功能),每层完成特定的网络功能
OSI参考模型解释的通信过程
OSI参考模型数据封装与通信过程
为什么要数据封装?
·增加控制信息
构造协议数据单元(PDU)
·控制信息主要包括
地址(Address):标识发送端/接收端
差错检测编码(Error-detecting code):用于差错检测或纠正
协议控制信息(Protocol control):实现协议功能的附加信息,如优先级(priority)、服务质量(Qos)和安全控制等
各层功能
物理层
实现每一个比特的传输
·接口特性
机械特性:接口什么形状,方形口?圆形口?卡头在哪侧?
电气特性:使用多大电平?多高电压?
功能特性:多少引脚?每个有什么功能?这个接地、那个发送信号……
规模特性:工作过程中要遵循什么过程,要先干嘛后干嘛
·比特编码
·数据率:以多快的速率传输
·比特同步
时钟同步
·传输模式
单工(Simplex):只能A给B,不能B给A。如电视
半双工(half-duplex):A可以给B,B可以给A,但不能同时进行。如呼叫机
全双工(full-duplex)
数据链路层
·负责结点-结点(node-to-node)数据传输
·组帧(Framing)
·物理寻址(Physical addressing)
在帧头中增加发送端或接收端的物理地址标识数据帧的发送端或接收端
·流量控制(Flow control)
避免淹没接收端
·差错控制(Error control)
检测并重传损坏或丢失帧,并避免重复帧
·访问(接入)控制(Access control)
在任一给定时刻决定哪个设备拥有链路(物理介质)控制权
网络层
·负责源主机到目的主机数据分组(packet)交付
可能穿越多个网络
·逻辑寻址(Logical addressing)
全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址
·路由(Routing)
路由器(或网关)互连网络,并路由分组至最终目的主机
路径选择
·分组转发
传输层
·负责源-目的(端-端)(进程间)完整报文传输
·分段与重组
·SAP寻址
确保将完整报文提交给正确进程,如端口号
·连接控制
·流量控制
·差错控制
会话层
·对话控制(dialog controlling)
建立、维护
·同步(synchronization)
在数据流中插入“同步点”
·最“薄”的一层
表示层
处理两个系统间交换信息的语法和语义(syntax and semantics)问题
·数据表示转化
转化为主机独立编码
·加密/解密
·压缩/解压缩
应用层
·支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
·典型应用层服务
文件传输(FTP)
电子邮件(SMTP)
Web(HTTP)
TCP/IP参考模型
5层参考模型
·综合OSI和TCP/IP的优点
·应用层:支持各种网络应用
FTP,SMTP,HTTP
·传输层:进程-进程的数据传输
TCP,UDP
·网络层:源主机到目的主机的数据分组路由与转发
IP协议、路由协议等
·链路层:相邻网络元素(主机、交换机、路由器等)的数据传输
以太网(Ethernet)、802.11(WiFi)、PPP
·物理层:比特传输
分层结构的缺点:
层次太多,会导致层间功能混杂,层次结构不够清晰,接口增多,每层对信息都要处理,会导致延时严重,降低整体性能。
分层结构是复杂系统实现通信的较好方法,但是对于简单系统就不适用。
存在跨层结构的网络设计。跨层设计的层间可以交互,可以共享信息,减少处理开销,优化传输性能。但是层间交互的出现就会要求有更多的层间接口,层与层之间要互相了解到对方的行为,使得设计变得复杂。