OSI七层经典模型架构以及网络的基本概念
在大、中型网络中,通常通过模块化方式将网络功能结构进行分解。但是在各个模块内部,还是存在结构的扩展和弹性问题。
譬如一个园区网络需要接入大量用户等,这个问题一般通过网络的层次化来解决。 传统的网络采用三个层次,核心、汇聚、接入各司其职,核心层提供数据高速通路,汇聚层进行流量汇聚和控制策略,接入层为终端提供多种接入方式。
但是呢?在实际的环境中呢?比如我们以一个典型园区网络架构为例:
OSI:Open System Interconnect Reference Model, 开放式系统互联参考模型。
OSI模型的设计目的是成为一个开放网络互联模型,来克服使用众多网络模型所带来的互联困难和低效性。
OSI参考模型很快成为计算机网络通信的基础模型。
在设计时遵循了以下原则: 各个层之间有清晰的边界,便于理解; 每个层实现特定的功能,且相互不影响;
每个层是服务者又是被服务者,即为上一层服务,又被下一层服务;
层次的划分有利于国际标准协议的制定;
层次的数目应该足够多,以避免各个层功能重复。
OSI参考模型具有以下优点:
简化了相关的网络操作;
提供即插即用的兼容性和不同厂商之间的标准接口;
使各个厂商能够设计出互操作的网络设备,加快数据通信网络发展;
防止一个区域网络的变化影响另一个区域的网络,因此,每一个区域的网络都能单独快速升级;
把复杂的网络问题分解为小的简单问题,易于学习和操作。
OSI七层模型中,给每一个对等层数据起一个统一的名字为:协议数据单元(PDU,Protocol Data Unit)。相应地,应用层数据称为应用层协议数据单元(APDU,Application Protocol Data Unit),表示层数据称为表示层协议数据单元(PPDU,Presentation Protocol Data Unit),会话层数据称为会话层协议数据单元(SPDU,Session Protocol Data Unit)。通常,我们把传输层数据称为段(Segment),网络层数据称为数据包(Packet),数据链路层称为帧(Frame),物理层数据称为比特流(Bit)。 封装(Encapsulation)是指网络节点(Node)将要传送的数据用特定的协议头打包,来传送数据,同样在某些层进行数据处理时,也会在数据尾部加上报文,这时候也称为封装。OSI七层模型的每一层都对数据进行封装,以保证数据能够正确无误的到达目的地,被终端主机接受、执行。
物理层涉及到在通信信道(channel)上传输的原始比特流,是OSI参考模型的基础,它实现传输数据所需要的机械、电气功能特性。它不关心每一bit流(0,1)所代表的含义( 如代表地址还是应用数据),只关注如何把bit流通过不同物理链路传输至对端。典型的像中继器、集线器(hub)就属于物理层设备。 链路层主要任务是提供对物理层的控制,检测并纠正可能出现的错误,使之对网络层显现一条无错线路,并且进行流量调控。 网络层检查网络拓扑,以决定传输报文的最佳路由,转发数据包。其关键问题是确定数据包从源端到目的端如何选择路由。网络层设备通过运行路由协议(Routing Protocol)来计算到目的地的最佳路由,找到数据包应该转发的下一个网络设备,然后利用网络层协议封装数据包,利用下层提供的服务把数据发送到下一个网络设备。 传输层位于OSI参考模型第四层,最终目标是向用户(一般指应用层的进程),提供有效、可靠的服务。 在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。 表示层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。 应用层为操作系统或网络应用程序提供访问网络服务的接口。
TCP/IP(Transfer Control Protocol/Internet Protocol,传输控制协议/网际协议)模型的开放性和易用性,以致在实践中得到了广泛应用,从而使TCP/IP协议栈事实上的标准协议。 TCP/IP模型与OSI参考模型的不同点在于TCP/IP把表示层和会话层都归入应用层,所以TCP/IP模型从下至上分为四层:网络接口层,网络层,传输层和应用层。在有些文献中也划分成五层,即把物理层也单独列出。
TCP/IP协议每一层都有对应的相关协议,且均为达成某一网络应用而产生,对于某些协议在分层上还不能严格对其定义。
比如ICMP、IGMP、ARP、RARP协议我们把他们放在与网络层IP协议同一层。
但在某些场合我们可能会把ICMP、IGMP放在IP协议的上层,而把ARP、RARP放在IP协议的下层。
应用层 HTTP(超文本传输协议):用来访问在WWW服务器上的各种页面。
FTP(文件传输协议):为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上。
DNS(域名服务系统):用于实现从主机域名到IP地址之间的转换。
传输层 TCP (传输控制协议) :为应用程序提供可靠的面向连接的通信服务,适用于要求得到响应的应用程序。目前,许多流行的应用程序都使用TCP。
UDP(用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
网络层 IP(互联网协议):IP协议和路由协议协同工作, 寻找能够将数据包传送到目的端的最优路径。IP协议不关心数据报文的内容,提供无连接的、不可靠的服务。
ARP(地址解析协议):把已知的IP地址解析为MAC地址。
RARP(反向地址解析协议):用于数据链路层地址已知时,解析IP地址。
ICMP(网际控制消息协议):定义了网络层控制和传递消息的功能。
IGMP(网际组管理协议):用于组播组成员管理。
数据链路层 数据链路层分为两个子层:逻辑链路控制子层(LLC, Logic Link Control Sublayer),介质访问控制子层(MAC, Media Access Control Sublayer)。