目录
一、前言
国际标准化组织(ISO,International Organization for Standardization)提出的网络体系结构模型,称为开放系统互连参考模型(OSI/RM,Open System Interconnect),通常简称为OSI参考模型。
OSI参考模型的三级抽象:体系结构、服务定义、协议规范
OSI(7层)是理论上理想化的标准模型,实际上并没有应用;我们现在实际用的是TCP/IP模型(4层);综合两者的优点,我们计算机网络学习5层
二、层次
OSI有7层,自下而上依次为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
注:
①每个端系统拥有完整的7个层次
②路由器最高到网络层;链路层交换机最高到数据链路层;
③在我们这本书中,我们就把链路层交换机叫做交换机,把路由器叫做路由器;广义的说法为交换机分为链路层交换机和路由器,在这本书里我们交换机就特指链路层交换机
④低三层统称为通信子网,它是为了联网而附加的通信设备,完成数据的传输功能
⑤传输层作为通信子网和资源子网的间隔
⑥高三层统称为资源子网,它相当于计算机系统,完成数据的处理等功能
三、物理层
传输单位
比特
任务
透明的传输比特流
透明:上面6层,不用关心传输比特的细节【以快递为例,快递层往下肯定还有很多层,但我说不出来(客运铁路可能会对快递服务),因为对我来说底下各层是透明的,我不需要了解,全部屏蔽掉了】
考虑问题
1、用多大的电压代表“0”或“1”
2、接收方如何识别出发送方所发送的比特
3、确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接
功能
在物理媒体上为数据端设备透明地传输原始比特流
物理层协议
别名:物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法,所以物理层协议也称物理层接口标准;在通信技术的早期阶段,通信规则称为规程(Procedure),因此物理层协议也称为物理层规程。
常见的物理层接口标准:EIA-232C;EIA/TIA RS-449;CCITT的X.21等
物理层主要研究内容
研究内容一:
通信链路与通信结点的连接需要一些电路接口,物理层规定了这些接口的一些参数(这些参数如机械形状和尺寸、交换电路的数量和排列等),比如说笔记本电脑上的网线接口
研究内容二:
规定了通信链路上传输的信号的意义和电气特性,比如说物理层规定信号A代表数字0(传输数字0时,就会发出信号A;接收到信号A时,知道接收到的是数字0)
注:第0层
物理媒体:双绞线、光缆、无线信道等(不在物理层协议之内)
物理媒体在物理层协议下面,因此有人把物理媒体当作第0层
四、数据链路层
传输单位
帧
任务
①将网络层传来的IP数据报组装成帧
②将有差错的物理线路变成无差错的数据链路,实现相邻结点之间即点到点的数据传输
作用
①成帧
将网络层传来的IP数据报组装成帧;每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)
②差错控制
由于外界噪声的干扰,原始的物理连接在传输比特流时可能发生错误(如传输的是0(表现为信号A),传输过程由于受到干扰,收到的是1(表现为信号B))
数据链路层可以检测出上述差错,然后丢弃错误信息
③流量控制
两个节点的性能不同,导致发送结点速率更快时,如果不进行控制,那么会丢失很多来不及接收的正确数据,造成传输线路效率下降
流量控制可以协调两个结点的速率,使结点A发送数据的速率刚好是结点B可以接收的速率
④传输管理
⑤物理寻址 MAC地址
⑥数据重发
等等
功能
链路连接的建立、拆除、分离;帧界定和帧同步;差错检测等
数据链路层协议
SDIC、HDLC、PPP、STP、帧中继等
注
①广播式网络在数据链路层
还要处理新的问题:控制对信道的访问(某一个时刻只能有一个主机发消息,否则负载大会崩溃)
为了专门处理这个问题,我们引入了介质访问子层,它是数据链路层的特殊子层
②数据链路层简称为链路层
③成帧时的控制信息
使接收端能够知道一个帧从哪个比特开始和到哪个比特结束,所以这一层不仅加头还加尾
数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层
控制信息还使接收端能够检测到所收到的帧中有无差错(有差错,数据链路层就简单地丢弃这个出了差错的帧,再重新发数据)
不仅仅加头部,还加尾部:下层物理层传送的是比特流,我需要知道一帧的开始与结尾(开始:头部,结尾:尾部);
上面层次为啥只有头部:因为数据链路层已经做好界定了,上层不用管了
④拥塞控制:传输层、网络层
⑤流量控制:存在于数据链路层及其之上各层中;主要是数据链路层、网络层、传输层;各层的流量控制功能是在各层实体之间进行的
五、网络层
传输单位
数据报、分组、IP数据报(同义词)
关心的问题
通信子网的运行控制(通信子网的最上层就是网络层)
任务
任务一:把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务
任务二:选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的的主机
例子
从A到B,网络层关键设备是路由器
实现功能
①流量控制
协调结点A的发送速率,结点B的接收速率
②拥塞控制
当结点都来不及接收分组而要丢弃大量分组的情况,此时网络处于瘫痪状态(丢失就要重传,我们要避免重传现象的发生);拥塞状态使得网络中的两个结点无法正常通信;所以网络层要采取一定的措施来缓解这种拥塞
③差错控制
通信两结点之间约定的特定检错规则
如奇偶校验码:接收方根据这个规则检查接收到的分组是否出现差错,如果出现了差错,那么能纠错就纠错,不能纠错就丢弃重新发;从而确保向上层提交的数据都是无误的
④网际互连
等等
网络层协议
IP、IPX、ICMP、IGMP、ARP、RARP、OSPF等等
注
①因特网是一个很大的互联网,它由大量异构网络通过路由器相互连接起来
②异构网络
定义:许多厂家都生产出具有自己独特体系结构的计算机网络
异构网络是客观已经存在,并不是专门去设计了这个东西,异构计算机网络它们的网络硬件和物理编址方法都不一样。
IP协议:只要你的网络使用IP协议并给连接在网络上的主机分配了合法的IP地址,那么连接到这种虚拟的互联网上的任何一个计算机都可以很方便地进行通信
来连接异构网络的设备是路由器
③因特网的主要网络层协议是无连接的网际协议(InternetProtocol,IP)和许多路由选择协议
④网络层关键问题:对分组进行路由选择
⑤网络层别称:因特网的网络层也称网际层或IP层
六、传输层
别称
运输层
传输单位
报文段(TCP)或用户数据报(UDP)
任务
负责向两台主机中进程之间的通信提供通用的数据传输服务
注:
①应用进程利用该服务传送应用层报文;
②通用的:是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务
③传输层具有复用和分用的功能:复用指多个应用层进程可同时使用下面传输层的服务;
分用指传输层把收到的信息分别交付给上面应用层中相应的进程
功能
为端到端连接提供可靠地传输服务(流量控制、拥塞控制、差错控制、服务质量和数据传输管理等)
传输层协议
TCP、UDP
注
①点到点
含义:主机到主机之间的通信
点:指一个硬件地址或IP地址;IP地址在网络层;硬件地址(MAC地址)在数据链路层
网络中参与通信的主机是通过硬件地址或IP地址标识的
②端到端
含义:运行在不同主机内的两个进程之间的通信
一个进程由一个端口来标识,所以称端到端通信
范围:传输层及其以上各层的通信,才能叫作端到端
③点与端的关系:一台主机可同时运行多个进程,一点多段
④通信子网屏蔽:使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在;通过传输层的屏蔽,高层用户看不到子网的交替和变化
七、会话层
任务
会话层允许不同主机上的各个进程之间进行会话
会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务
这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)
功能
会话管理、同步(实际上,我们所使用的网络没有会话层,对于上述功能由程序自己去实现)
例子
聊天内容不混乱
视频播放拖动进度条
Java后台开发中的Session
断点续传,迅雷下一半暂停了,第二天可以接着从暂停位置下,有的程序就不行,就是因为该程序没有实现该功能
注
会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话
会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步
八、表示层
任务
主要处理在两个通信系统中交换信息的表示方式
功能
表示出用户看得懂的数据格式,实现与数据表示有关的功能(数据解密;加密、压缩、格式转换;数据字符集转换等等)
注:实际上,我们所使用的网络没有表示层,对于上述功能由程序自己去实现
例子
数据加密解密
编码问题
注
①不同机器采用的编码和表示方式不同,使用的数据结构也不同
②为了使不同表示方式的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式
③数据压缩、加密和解密也是表示层可提供的数据表示变换功能
九、应用层
传输单位
报文
地位
应用层是OSI模型的最高层,是用户与网络的界面
任务
应用层为特定类型的网络应用提供访问OSI环境的手段
通过应用进程间的交互来完成特定网络应用
协议要做的工作
应用进程间通信和交互的规则;对于不同的网络应用需要有不同的应用层协议
协议
传送文件相关:FTP
电子邮件相关:SMTP
万维网应用相关:HTTP
域名系统:DNS
等等
注
用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多
十、OSI失败
1)OSI的专家们缺乏实际经验,他们在完成OSI标准时缺乏商业驱动力
2)OSI的协议实现起来过分复杂,而且运行效率很低
3)OSI标准的制定周期太长,因而使得OSI标准生产的设备无法及时进入市场
4)OSI的层次划分不太合理,有些功能在多个层次中重复出现