共青森林公园 小黄车:网络七层结构介绍

来源:百度文库 编辑:偶看新闻 时间:2024/05/06 11:19:34

网络七层结构介绍

OSI开放式系统互联模型是1984年国际标准化组织(ISO)提出的一个参考模型。此模型作为网络通信的概念性标准框架,使通信在不同的制造商的设备和应用软件所形成的网络上的进行成为可能。现在此模型已成为一個主要的结构模型用于计算机之间和网络间的通信。目前使用的大多数网络通信协议都基于OSI模型的结构。OSI将其定义为七层,即将网络计算机中有关活动信息的任务划分为七个更小、更易于处理的任务组。一个任务或任务组被分配到一个OSI层。每一层都是独自存在的,因此分配到各层的任务能够独立地执行。这样使得由其中某层提供的解决方案能够在不影响其他层的情况下被更新。

一、网络七层结构定义

OSI七层模型的每一层具有清晰的特点。基本来说,第七至第四层处理首尾相连的数据源和目的地址间的通信,而第三至第一层处理网络设备间的通信时。另一方面,OSI模型的七个层可以划分为两组:上层(层7、层6和层5)和下层(层4、层3、层2和层1)。OSI模型的上层处理应用信息,并且只在软件上执行。最高层,即应用层是与终端用户最接近的。OSI模型的下层是处理数据传输的。物理层和数据链路层上的信息执行是在硬件和软件上。最底层,即物理层是与物理网络媒介(比如说电线)最接近的,并且负责在媒介上替换数据。图2-1是OSI七层模型的示意。

图2-1OSI七层模型

二、网络七层协议的功能

1、物理层(Physical)

物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

媒体和互连设备物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设备。DTE即数据终端设备,又称物理设备,如计算机、终端等都包括在内。而DCE则是数据通信设备或电路连接设备,如调制解调器等。数据传输通常是经过DTEDCE,再经过DCEDTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆,T形接头、插头,接收器,发送器,中继器等都属于物理层的媒体和连接器。

2、数据链路层(DateLink)

数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接。媒体是长期的,连接是有生存期的。在连接生存期内,收发两端可以进行不等的一次或多次数据通信。每次通信都要经过建立通信联络和拆除通信联络两过程。这种建立起来的数据收发关系就叫做数据链路。而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。数据链路的建立、拆除,对数据的检错、纠错是数据链路层的基本任务。

3、网络层(Networt)

网络层的产生也是网络发展的结果。在联机系统和线路交换的环境中,网络层的功能没有太大意义。当数据终端增多时。它们之间有中继设备相连。此时会出现一台终端要求不只是与惟一的一台而是能和多台终端通信的情况,这就产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或寻径。另外,当一条物理信道建立之后,被一对用户使用,往往有许多空闲时间被浪费掉了。于是人们自然会希望让多对用户共用一条链路。为解决这一问题,就出现了逻辑信道技术和虚拟电路技术。

在具有开放特性的网络中的数据终端设备,都要配置网络层的功能。现在市场上销售的网络硬件设备主要有网关和路由器等。

4、传输层(Transport)

传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。传输层也称为运输层。传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层。因为它是由源端到目的端对数据传送进行控制从低到高的最后一层。

世界上各种通信子网在性能上存在着很大差异。例如电话交换网、分组交换网、公用数据交换网。局域网等通信子网都可互连,但它们提供的吞吐量、传输速率、数据延迟通信费用各不相同。对于会话层来说,却要求有一性能恒定的界面。传输层就承担了这一功能。它采用分流/合流,复用/介复用技术来调节上述通信子网的差异,使会话层感受不到。

此外传输层还要具备差错恢复、流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异。传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口。上述功能的最终目的是为会话提供可靠的、无误的数据传输。传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。

5、会话层(Session)

会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。会话层、表示层、应用层构成开放系统的高3层,面对应用进程提供分布处理、对话管理、信息表示、恢复最后的差错等。

6、表示层(Presertation)

表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。在这种情况下,便需要会话层来完成这种转换。通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠、无差错的传送。但是数据传送只是手段而不是目的,最终是要实现对数据的使用。由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异。这自然给利用其他系统的数据造成了障碍。表示层和应用层就担负了消除这种障碍的任务。

对于用户数据来说,可以从两个侧面来分析,一个是数据含义被称为语义,另一个是数据的表示形式,称做语法。像文字、图形、声音、文种、压缩和加密等都属于语法范畴。表示层设计了3类15种功能单位,其中上下文管理功能单位就是沟通用户间的数据编码规则,以便双方有一致的数据形式,能够互相认识。

7、应用层(Application)

应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分成组,并称之为服务元素。有些可为多种应用程序共同使用,有些则为较少的一类应用程序使用。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE。CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信、分布系统实现提供基本的控制机制。特定服务SASE则要满足一些特定服务,如文卷传送、访问管理、作业传送、银行事务、订单输入等。

通过OSI层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。例如,计算机A要将信息从其应用程序上发送到计算机B的应用程序,计算机A中的应用程序需要将信息先发送到它本身的应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。在物理层,数据通过物理网络媒介被替换,并且被发送至计算机B。计算机B的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),再转送给网络层,依次继续直到信息到达计算机B的应用层。最后,计算机B的应用层再将信息传送给应用程序接收端,从而完成通信过程。下面图示说明了这一过程:

OSI的七层使用各种各样控制信息框架,来和其他计算机体系的对应层进行通信。控制信息由特殊请求和说明构成,这些请求和说明在对应OSI层间进行交换。每一层数据的协议头和协议尾都是两个携带控制信息的基本框架。

  对于從上层传送至下层的数据来说,要附加协议头,同時要添加协议尾。然而,在来自上面层的数据上增加协议头和协议尾,对一个OSI层来说并不是必需的。

  每个协议层都有可能在数据上增加协议头和协议尾,在传送的时候每层数据由上层协议头、尾和数据组成。协议头包含了有关层对层通信信息。协议头和协议尾以及数据只是相对概念,它们取决于分析信息单元的协议层。例如,传输层协议头包含了只有传输层可以看到的信息,传输层下面的其他层只將此协议头作为部分数据传递至下面的层此。对于网络层,一个信息单元由第三层的协议头和数据组成。对于数据链路层,经网络层(第三层协议头和数据)向下传递的所有信息是作为数据处理的。换句话说,在特定的OSI层,信息单元的数据部分可能包含来自于所有上层的协议头和协议尾以及数据,即称之为封装。

例如,如果计算机A要将应用程序中的某数据发送至计算机B,计算机A要将数据发送至其应用层。计算机A的应用层传送任何计算机B的应用层所必需的控制信息,都是通过预先在数据上添加协议头。最终的消息单元,其中包含协议头、数据,可能有协议尾,发送至表示层,表示层再添加包含为计算机B的表示层而理解控制信息的协议头。消息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机B的对应层要使用的控制信息。在物理层,整个的信息单元通过网络媒介传输。

计算机B中的物理层接收信息单元并将其传送至数据链路层。然后B中的数据链路层读取控制信息,其中包含计算机A的数据链路层预先添加的协议头。其次协议头和协议尾被除去,信息单元的剩余部分被传送至网络层。每一层执行相同的动作。协议层从对应层读取协议头和协议尾,并除去,再将剩余信息发送至高一层。应用层执行完后,数据就被传送至计算机B中的应用程序接收端,最后收到的正是计算机A的应用程序所产生的数据。

一个OSI层与另一层之间的通信是利用第二层提供的服务完成的。相邻层提供的服务帮助特定的OSI层与另一网络系统的对应层进行通信。OSI模型的特定层通常是与三个其他的OSI层进行通信:与之直接相邻的上一层和下一层,还有目标网络体系的对应层。例如,计算机A的数据链路层应与其网络层,物理层以及计算机B的数据链路层进行通信。下面的图表可以解释这个例子。

三、第四层到第七层的高层交换技术及其应用

Internet的特点就是不断变化发展,目前网络上的信息量和业务量都呈现爆炸性的增长趋势。不断增长的负荷和新需求的出现,使得用单台服务器处理应用服务的结构已成为过去,取而代之的是以单一虚拟IP地址(VIP)来代表整个服务器集群,由集群中的多台服务器来分摊处理访问流量。集群的组成部分也在发生变化,过去一台Web服务器必须处理大部分的静态内容,现在可以由应用服务、高性能数据库和多媒体服务器等协同服务器集群来支持复杂的Web应用。

这些不断增长的服务集群和服务需求要求更高效率和更高服务质量的数据交换技术。数据交换技术已经历了过去的那种单纯的电路交换逐渐发展到二层、三层甚至更高层的交换结构的结合。交换的内部机制也从存储转发、直接连通过渡到路由交换、三层交换以及最新提出四层及更高层的交换。这些先进的交换技术在解决局域网和互联网络的带宽及容量问题上发挥了很好的作用。

1、传统的二、三层交换

传统的第二层交换技术是在最初的总线集线器和网桥的基础上发展而成的,一般用于局域网的数据交换上,是作为对共享式局域网提供有效的数据交换的解决方案而出现的,它可以使每个用户尽可能地分享到最大带宽。

第二层交换技术是在OSI七层网络模型中的第二层,即在数据链路层上进行操作的。它对数据包的转发是建立在MAC(物理端口)地址的基础之上的,对于上层协议来说,它是透明的。交换机在转发数据包时无须知道数据包的IP地址,只需其物理地址即MAC地址。交换机在操作过程中不断地维护着一个简单的地址表,它说明了MAC地址和端口的对应关系,所以当交换机收到一个数据包时对比数据包的MAC地址就可以知道是哪个端口的数据包。整个过程全部是在硬件控制下实现的,因此速度相当快,大大地加速了数据包的传输。

第二层交换非常有利于建立LAN内部或者VLAN之间的数据交换,可以大大提高数据在LAN中的通信速度。但是第二层交换只是一种简单的基于MAC层的数据交换,所以对于不同的IP子网之间的数据交换还是要经过路由器先进行路由。在有大量数据跨越子网的情况下,传统的路由器又成为了网络通信中的瓶颈,这个时候就引入了第三层交换的概念。  

第三层交换就是在OSI参考模型的第三层进行操作。第三层交换技术也称为IP交换技术、交换路由技术。这是一种利用第三层协议中的IP数据包头信息来加强第二层交换功能的机制。网络中的大量数据往往越过本地的网络在网际间传送,因而路由器常常不堪重负地成为瓶颈。在这种情况下要是在源地址和目的地址之间有一条更为直接的第二层通路,就没有必要每次都经过路由器的路由判断来转发数据包。第三层交换使用第三层路由协议确定传送路径,此路径可以只用一次,也可以存储起来,供以后使用,之后数据包通过一条虚电路不需要经过路由判断而直接快速发送,最终目的是将数据通信时的路由次数降至最低。这样的第三层交换式路由器比仅仅路由式的路由器性能上要提高非常多,一般称之为路由交换机。

在第三层交换机连接的情况下,主机A跟主机B第一次通过交换机通信,中间的交换机便会把A和B的IP地址及它们的MAC地址记录下来,当其它主机如C要和A或B通信时,针对C所发出的寻址封包,第三层交换机送出一个回复告诉它A或B的MAC地址,以后C当然就会用A或B的MAC地址“直接”和它通信,不需要理会A、B和C是否属于不同的子网,这样就不用每次进行路由,避免每次路由操作这样一个速度相对比较慢的过程。

将第二层交换和第三层交换结合在一起就成为一种通过第二层连接网络链路在子网中指引业务流,通过第三层交换或路由器将包从一个子网传到另一个子网。目前针对第二层、第三层结合的技术已提出了很多具体的实现方案,和以ATM为代表的链路层结合的MPLS、MPOA技术最为突出。

2、第四层交换技术

第二层与第三层交换产品在解决局域网和网络互联的QoS问题上发挥了很好的作用,但是对于当前的网络来说还是不够的,还需要进一步地提高QoS性能,这就需要在更高层上引入交换的概念。

我们知道OSI协议参考模型定义了7层结构,网络层以上也就是第四层即传输层,传输层主要负责端对端的通信。传输层有很多的协议,常用的有TCP、UDP协议,这些协议承载了许多不同的业务,这些业务通常是由一些诸如HTTP、FTP、NFS、Telnet等协议表示,这些协议的类型由TCP或UDP端口地址来决定,就如同第二层的传输是依靠MAC地址来寻址,第三层的传输是依靠IP地址来寻址,那么第四层的主要表示就是传输层的端口地址。通过端口地址可以区分数据包是由哪个传输层协议传送的。

分配端口号的清单可以在RFC1700中找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。

第四层交换中数据包的传输不仅仅依据MAC地址(第二层交换)或源/目标IP地址(第三层路由),还依据TCP/UDP端口地址(第四层地址),也就是说第四层交换除了考虑三层的逻辑地址外还要考虑对端口地址的处理。如同上面所描述的那样,端口地址代表了不同的业务协议,所以第四层交换不仅仅进行了物理上的交换,还包括了业务上的交换。所以说第四层交换的交换域是由源端和终端IP地址、TCP和UDP端口共同决定。因此,第四层交换机是真正的“会话交换机”。

由于带有业务信息,所以第四层交换机就带有了业务智能,可以做出向何处转发会话传输流的决定。对于Internet服务提供商或内容提供商来说,第四层交换的这个功能是尤其重要的。不断增长的负荷和需求的出现,使得用单台服务器处理应用服务的结构已成为过去,一般网络的服务提供商采用多种不同系统来构架一种应用的大型企业数据中心,数据在很多服务器上进行镜像复制。第四层交换在这样的情况下是大有可为的,可以将会话转入性能最佳的目的机器上。

第四层交换尤其可以应用在以单一虚拟IP地址(VIP)来代表整个服务器集群的情况下。具有第四层功能的交换机能够起到与服务器相连接的"虚拟IP"(VIP)前端的作用。每台服务器和支持单一或通用应用的服务器组都配置同样的一个VIP地址。这个VIP地址作为对外提供统一服务的目的地。当某用户申请应用时,用户请求的数据包先通过第三层路由器发送到具有第四层交换功能的交换机,然后第四层交换机可以根据会话和应用层信息做出转发决定,将用户的请求根据不同的规则转发到"最佳"的服务器上。将"最佳"服务器地址中的IP取代VIP,并将连接请求传给相应服务器。因此,第四层交换技术是用于传输数据和实现多台服务器间负载均衡的理想机制。

第四层交换技术通过硬件来实现可以做成第四层交换机,它可以实现基于端到端的服务质量要求对所有联网设备的负载进行细致的均衡,以保证客户机与服务器之间数据平滑地流动。

第四层交换技术的关键问题是如何确定传输流转发给哪台最可用的服务器,也就是策略选择问题。选择策略可以根据不同的需要来制定,对高优先权的业务应首先保证它的QoS,将这种业务引向最大可利用的服务器中。而QoS要求小的就可以作为一般负载处理。目前应用神经网络的学习算法实现在学习中动态的调整策略是一种非常好的实现方法。

3、应用交换技术

在第四层交换大大地提高了网络性能和QoS保证之后,在更高的层次上也引入了交换的概念,可以称之为第七层交换技术,或者高层智能交换。

这时候的交换突破了一般意义上的交换的概念,开始进入以进程和内容级别为主的交换范围。高层由于和应用相关,我们说这时候的交换就有了智能性。交换机具有了区别各种高层的应用和识别内容的能力。这时的交换机不仅能根据数据包的IP地址或者端口地址来传送数据,而且还能打开数据包,进入数据包内部并根据包中的信息做出负载均衡、内容识别等判断。

对于某一个端口来说,我们在第四层交换时候可以对端口进行分析来获得较好的QoS,但是对于通过TCP/IP端口的传输流我们没有办法识别,只能对所有属于这个端口的传输流统一对待,而服务提供商或许需要其中的某些传输流具有高的QoS优先处理权或者将某些流引向性能高的处理机中。而第七层的智能交换能够实现进一步的控制,即对所有传输流和内容的控制。这种交换机可以打开传输流的应用/表示层,分析其中的内容,因此可以根据应用的类型而非仅仅根据IP和端口号做出更智能的流向决策。其中的一个典型例子就是根据URL的具体内容的识别交换。

第七层交换技术可以定义为数据包的传送不仅仅依据MAC地址(第二层交换)或源/目标IP地址(第三层路由)以及依据TCP/UDP端口(第四层地址),而是可以根据内容(表示/应用层)进行。这样的处理更具有智能性,交换的不仅仅是端口,还包括了内容,因此,第七层交换机是真正的"应用交换机"。

这类具有第七层认知的交换机可以应用在很多方面,比如保证不同类型的传输流被赋予不同的优先级。它可以对传输流进行过滤并分配优先级,使你不必依赖于业务或网络设备来达到这些目的,譬如,网络电子商务提供商使用80端口提供用户服务,但是对于不同的Web请求他们希望不同对待,比如浏览一般商品的Web请求的级别比用户发出的定购Web请求要低一些,而且处理起来也不一样。这样需要识别80端口中的具体的URL内容来进行判断,赋予不同的优先权交换到不同的处理器上去。更进一步,可能需要对不同级别的用户的Web请求给予不同QoS优先权,这样就需要对数据请求的内容进行识别,这时候对交换的智能要求就非常高了。

目前关于第七层交换功能还没有具体的标准。第七层交换功能和目前很多类似的技术具有很大的互补性,它可以和其他的网络服务和谐地共存。但是第七层交换和类似的解决方案之间最大的优势,也就是交换技术具有的最大优势,就是高速而且不影响智能处理。采用第七层交换技术可以以交换的线速度做出更智能性的传输流内容的决策。用户将自由地根据得到的信息就各类传输流和其目的地做出决策,从而优化网络访问,为最终用户提供更好的服务。

4、高层交换技术与Web交换机

高层交换技术的一个典型应用就是Web交换机。目前Internet网上提供应用的主要方式就是网站,在网站上的信息量和访问量急剧增长的前提下,怎样为用户提供更多的服务,使每个用户都可以得到QoS保证是一个越来越重要的问题。网站的运营商们正在尝试通过架构新的体系结构以适应其业务的增长。

怎样将数据中心的各种设备,包括各种互联网服务器、防火墙、高速缓冲服务器、数据仓库和网关等组织起来提供对外界面一致和QoS保证的服务,同时提供管理、路由和负载均衡传输成为一个焦点问题。所以必须提供一种处于网络中心地位的交换机,来组织数据中心,我们称之为Web交换机,Web交换机的基本功能是:

·组织数据中心;

·提供对外一致的服务界面;

·管理数据的流向、路由;

·负载均衡;

·提供QoS和CoS(服务等级);

·请求会话定向。

可以看出所需要的Web交换技术仅仅用传统的交换机是无法实现的,必须结合高层交换机的技术来实现。为了实现上述的功能Web交换机必须检查4~7层的协议字段,获取信息来处理数据流的管理和定向。

Web交换机的设计比较复杂,目前Web交换机也只是采用了三层以上的高层交换技术的部分功能。主要的Web交换机设计方案有三种:集中式CPU模式、分布式处理系统和二级混合模式。每种设计方案是采用不同的方法把交换、控制和状态共享组合,因此各有优缺点。