1、OSI参考模型
1.1 产生背景
在网络发展的早期时代,网络技术的发展变化速度非常快,计算机网络变得越来越复杂,新的协议和应用不断产生,而网络设备大部分都是按厂商自己的标准生产,不能兼容,很难相互间进行通信。为了解决网络之间的兼容性问题,实现网络设备间的相互通讯,国际标准化组织ISO于1984年提出了OSIRM(Open System Interconnection Reference Model,开放系统互连参考模型)。'OSI参考模型很快成为计算机网络通信的基础模型。由于种种原因,并没有一种完全忠实于OSI参考模型的协议族流行开来。相反,源于美国国防部高级研究项目机构(DARPA,Defense Advanced Research Project Agency)六十年代开发的ARPANET的TCP/IP协议得到了广泛应用,成为Internet的事实标准。
1.2 概念
OSI参考模型也采用了分层结构技术,协议定义了网络中设备所遵守的层次结构。从概念上来讲,每一层都与一个远方对等层通信,但实际上该层所产生的协议信息单元是借助于相邻下层所提供的服务传送的。因此,对等层之间的通信称为虚拟通信。
1.3 优点
- 开放的标准化接口,协议不再封闭
- 多厂商设备兼容
- 易于理解、学习和更新协议标准
- 实现模块化工程,降低开发难度
- 便于故障排除
1.4 层次结构及功能
1.4.1 物理层
物理层是参考模型中的最底层,主要定义电压、接口、线缆标准、传输距离、传输介质等物理参数
1.4.2 数据链路层
-
编帧和识别帧。编帧是指由于物理层只发送和接收比特流,而不关心这些比特的次序、结构和含义,因此链路层需要编帧。识别帧是指从一系列比特流中识别帧,并将帧解开传递给网络层。
-
数据链路的建立、维持和释放。数据链路的建立是指当网络中的设备需要进行通讯时通信双方就需要建立数据链路通道。数据的维持是指在建立链路时需要保证安全性,在传输过程中就需要维持数据链路。释放是指在通信结束后就要释放数据链路
-
传输资源控制。在一些共享介质上,多个终端设备可能同时需要发送数据,此时必须由数据链路层协议对资源的分配加以裁决
流量控制。为了确保正常地收发数据,防止发送数据过快,导致接收方的缓存空间溢出,网络出现拥塞,就必须及时控制发送方发送数据的速率 -
差错验证。由于比特流传输时可能产生差错,而物理层无法辨别错误,所以数据链路层协议需要以帧为单位实施差错校验
-
寻址。数据链路层协议应该能够标识介质上的所有节点,并且能够寻找到目的节点,以便将数据发送到正确的目的
-
标识上层数据。数据链路层采用透明传输的方法传送网络层包,它对网络层呈现为一条无错的线路。为了在同一链路上支持多种网络层协议,发送方必须在帧的控制信息中标识载荷所属的网络层协议,这样接收方才能将载荷提交给正确的上层协议处理
-
局域网数据链路层分为两个层次:
MAC子层。识别和寻找MAC地址。MAC地址全球唯一。共48位,前24位为厂商标识,后24位为厂商定义 -
LLC(逻辑链路控制)子层。LLC子层的主要功能:1.提供传输可靠性保障和控制;2.数据包的分段与重组;3.数据包的顺序传输。LLC子层三种服务:1.无确认无连接的服务,这是数据包类型的服务;2.连接方式的服务,这种服务类似于HDLC(高级数据链路控制协议)提供的服务;3.有确认无连接的服务,提供有确认的数据包,但不建立连接
1.4.3 网络层
-
网络层地址寻址。网络层为每个节点分配标识,这就是网络层的地址,地址的分配也从源到目的的路径选择提供了基础
-
路由。确定从源到目的的数据传递应该如何选择路由,网络层设备在计算路由之后按照路由信息对数据包进行转发
-拥塞控制。网络中同时传送过多的数据包,可能会产生拥塞,导致数据丢失或延迟,网络层也负责对网络上的拥塞进行控制
-异种网络互联。通信链路和介质类型是多种多样的,每一种链路都有其特殊的通信规定,网络层必须能够工作在多种多样的链路和介质类型上,以便能够跨越多个网段提供通信服务
1.4.4 传输层
数据分段、建立端到端连接、维护传输可靠性
1.4.5 会话层
建立、维护、拆除应用程序间的会话
1.4.6 表示层
定义数据格式、结构;数据加密、压缩
1.4.7 应用层
为应用程序进程提供网络服务
1.5 可路由协议和路由协议的定义
可路由协议
可路由协议。是定义数据包内各个字段的格式和用途的网络层封装协议,该网络层协议允许将数据包从一个网络设备转发到另一个网络设备
路由协议
路由协议。运行与路由器上,在路由器之间传递信息,计算用于转发的路由并形成路由表,以便为可路由协议提供路由选择服务。路由协议使路由信息能在相邻路由器之间传递,确保所有路由器了解到达各个目的的路径
1.6 OSI参考模型的问题
- 划分层次过多,会话层、表示层存在意义不大
- IP协议成为事实的网络层唯一协议
2、TCP/IP参考模型
层划分方法
- 网络接口层:物理层、数据链路层
- 网络层
- 传输层
- 应用层:会话层、表示层、应用层
3、数据封装和解封装
3.1定义
封装
- 在原始数据的基础上加入一些额外信息形成新的格式
解封装
- 拆除掉封装的额外信息,还原成原始数据
3.2 TCP/IP分层封装
- 物理层:比特流
- 数据链路层:数据帧
- 网络层:数据包
-传输层:数据段
-应用层:数据
3.3 数据封装和解封装过程
- 数据发送时,从上至下逐层封装
- 数据接收时,从下至上逐层解封装
- 只有拆除外层封装,才能看到内层封装