网络七层的功能
   网络七层包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。
   那么,网络七层的具体定义和相应职责各是什么呢?下图便是OSI七层模型的协议堆栈示意,它们由下到上分别为:
  第一层—物理层:物理层定义了通讯网络之间物理链路的电气或机械特性,以及激活、维护和关闭这条链路的各项操作。物理层特征参数包括:电压、数据传输率、最大传输距离、物理连接媒体等。
  第二层—数据链路层:实际的物理链路是不可靠的,总会出现错误,数据链路层的作用就是通过一定的手段(将数据分成帧,以数据帧为单位进行传输)将有差错的物理链路转化成对上层来说没有错误的数据链路。它的特征参数包括:物理地址、网络拓朴结构、错误警告机制、所传数据帧的排序和流控等。其中物理地址是相对网络层地址而言的,它代表了数据链路层的节点标识技术;“拓朴”是网络中经常会碰到的术语,标记着各个设备以何种方式互连起来,如:总线型—所有设备都连在一条总线上,星型—所有设备都通过一个中央结点互连;错误警告是向上层协议报告数据传递中错误的发生;数据帧排序可将所传数据重新排列;流控则用于调整数据传输速率,使接收端不至于过载。
  OSL参考模型(简单图一)
  应用层
  表示层
  会话层
  传输层
  网络层
  数据链路层
  物理层
  第三层—网络层:网络层将数据分成一定长度的分组,并在分组头中标识源和目的节点的逻辑地址,这些地址就象街区、门牌号一样,成为每个节点的标识;网络层的核心功能便是根据这些地址来获得从源到目的的路径,当有多条路径存在的情况下,还要负责进行路由选择。
  第四层—传输层:提供对上层透明(不依赖于具体网络)的可靠的数据传输。如果说网络层关心的是“点到点”的逐点转递,那么可以说传输层关注的是“端到端”(源端到目的端)的最终效果。它的功能主要包括:流控、多路技术、虚电路管理和纠错及恢复等。其中多路技术使多个不同应用的数据可以通过单一的物理链路共同实现传递;虚电路是数据传递的逻辑通道,在传输层建立、维护和终止;纠错功能则可以检测错误的发生,并采取措施(如重传)解决问题。
  第五层—会话层:在网络实体间建立、管理和终止通讯应用服务请求和响应等会话。
  第六层—表示层:定义了一系列代码和代码转换功能以保证源端数据在目的端同样能被识别,比如大家所熟悉的文本数据的ASCII码,表示图象的GIF或表示动画的MPEG等。
  第七层——应用层:应用层是面向用户的最高层,通过软件应用实现网络与用户的直接对话,如:找到通讯对方,识别可用资源和同步操作等。
   网络七层的底三层(物理层、数据链路层和网络层)通常被称作媒体层,它们不为用户所见,默默地对网络起到支撑作用,是网络工程师所研究的对象;上四层(传输层、会话层、表示层和应用层)则被称作主机层,是用户所面向和关心的内容,这些程序常常将各层的功能综合在一起,在用户面前形成一个整体。大家所熟悉的网上应用WWW、FTP、TELNET等,都是这多层功能的综合。
   在数据的实际传输中,发送方将数据送到自己的应用层,加上该层的控制信息后传给表示层;表示层如法炮制,再将数据加上自己的标识传给会话层;以此类推,每一层都在收到的数据上加上本层的控制信息并传给下一层;最后到达物理层时,数据通过实际的物理媒体传到接收方。接收端则执行与发送端相反的操作,由下往上,将逐层标识去掉,重新还原成最初的数据。由此可见,数据通讯双方在对等层必须采用相同的协议,定义同一种数据标识格式,这样才可能保证数据的正确传输而不至走形。
  OSI与实际应用模型
   七层模型是一个理论模型,实际应用则千变万化,完全可能发生变异。对大多数应用,我们只是将它的协议族(即协议堆栈)与七层模型作大致的对应,看看实际用到的特定协议是属于七层中某个子层,还是包括了上下多层的功能。
   网络中实际用到的协议是否严格按照这七层来定义呢?并非如此,七层模型是一个理论模型,实际应用则千变万化,完全可能发生变异。何况有的应用由来已久,不可能在七层模型推出后又推翻重来。因此对大多数应用,我们只是将它的协议族(即协议堆栈)与七层模型作大致的对应,看看实际用到的特定协议是属于七层中某个子层,还是包括了上下多层的功能。我们在以前的篇幅中曾介绍过的TCP/IP协议,它与七层模型的对应关系如下:
  OSL与TCP/IP模型的对应关系(简单图二)
  应用层 *
  表示层 应用层
  会话层 *
  传输层 传输层
  网络层 网络层
  数据链路层 网络接口层
  物理层 *
   由图二可看出,TCP/IP的多数应用协议将OSI应用层、表示层、会话层的功能合在一起,构成其应用层,典型协议有:HTTP、FTP、TELNET等;TCP/UDP协议对应OSI的传输层,提供上层数据传输保障;IP协议对应OSI的网络层,它定义了众所周知的IP地址格式,做为网间网中查找路径的依据;TCP/IP的最底层功能由网络接口层实现,相当于OSI的物理层和数据链路层,实际上TCP/IP对该层并未作严格定义,而是应用已有的底层网络实现传输,这就是它得以广泛应用的原因。
TCPIP协议教程    这个tcp/ip的教程时主要是考虑到现在的网际网路几乎全都是基于tcp/ip协议的,所以我们应该明白的一点就是这个tcp/ip的架构究竟是什么?它怎样为我们服务。它成为被称作“全球互联网”或“因特网(Internet)”的基础,能够将绝大部分的计算机连接起来,不管你用什么操作系统,可见tcp/ip体系是本世纪互联网发展的根本基石。对于网络程序员来说;了解tcp/ip的机理,可以有构造任何网络应用程序的基本要素,什么winsocket,串口通讯等等甚至木马,你都会迎刃而解。
  一
  首先说说网络协议的层次,网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如T C P / I P,是一组不同层次上的多个协议的组合。
  (1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
  (2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在T C P / I P协议族中,网络层协议包括I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。
  (3)运输层,主要为两台主机上的应用程序提供端到端的通信。在T C P / I P协议族中,有两个互不相同的传输协议: T C P(传输控制协议)和U D P(用户数据报协议)。T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
  应用层 Telnet、FTP和e-mail等
  运输层 TCP和UDP
  网络层 IP、ICMP和IGMP
  链路层 设备驱动程序及接口卡
  (4)应用层,负责处理特定的应用程序细节。几乎各种不同的T C P / I P实现都会提供下面这些通用的应用程序:?Telnet 远程登录,FTP 文件传输协议,SMTP 简单邮件传送协议,SNMP 简单网络管理协议,现在想要给大家说的是大多数的网络应用程序都被设计成客户—服务器模式在同一层上,双方都有对应的一个或多个协议进行通信。例如,某个协议允许T C P层进行通信,而另一个协议则允许两个I P层进行通信。
  这里实际上就是说应用层本身本不注意数据的传递和交换,它一般只是一个用户进程,而上面我提到的运输层及其以下的三层的目的就是处理通信的过程,他们不管你应用程序的事,分工明确。

相关文章: