网络传输模型

网络数据传输,是通过网络分层模型来完成的。对分层的方式,在理论上有 OSI/ISO 七层模型,在实践中,使用最为广泛的是 TCP/IP 四层模型等。

OSI/ISO 七层模型

OSI, Open System Interconnect,开放系统互连

服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务。

来源于 Figure 1-19 the relationship between a service and a protocol

这个模型很经典,影印版P39有图1-20如下:

the OSI reference model
  1. 应用层(Application Layer)
    • 应用层是面向用户的最高层,通过软件应用实现网络与用户的直接对话,如:找到通讯对方,识别可用资源和同步操作等。
  2. 表示层(Presentation Layer)
    • 定义了一系列代码和代码转换功能以保证源端数据在目的端同样能被识别,比如大家所熟悉的文本数据的ASCII码,表示图象的GIF或表示动画的MPEG等。
  3. 会话层(Session Layer)
    • 在网络实体间建立、管理和终止通讯应用服务请求和响应等会话。
  4. 传输层(Transport Layer)
    • 提供对上层透明(不依赖于具体网络)的可靠的数据传输。如果说网络层关心的是“点到点”的逐点转递,那么可以说传输层关注的是“端到端”(源端到目的端)的最终效果。它的功能主要包括:流控、多路技术、虚电路管理和纠错及恢复等。其中多路技术使多个不同应用的数据可以通过单一的物理链路共同实现传递;虚电路是数据传递的逻辑通道,在传输层建立、维护和终止;纠错功能则可以检测错误的发生,并采取措施(如重传)解决问题。
  5. 网络层(Network Layer)
    • 网络层将数据分成一定长度的分组,并在分组头中标识源和目的节点的逻辑地址,这些地址就象街区、门牌号一样,成为每个节点的标识;网络层的核心功能便是根据这些地址来获得从源到目的的路径,当有多条路径存在的情况下,还要负责进行路由选择。
  6. 链路层(Data link Layer)
    • 实际的物理链路是不可靠的,总会出现错误,数据链路层的作用就是通过一定的手段(将数据分成帧,以数据帧为单位进行传输)将有差错的物理链路转化成对上层 来说没有错误的数据链路。它的特征参数包括:物理地址、网络拓朴结构、错误警告机制、所传数据帧的排序和流控等。其中物理地址是相对网络层地址而言的,它 代表了数据链路层的节点标识技术;“拓朴”是网络中经常会碰到的术语,标记着各个设备以何种方式互连起来,如:总线型—所有设备都连在一条总线上,星型— 所有设备都通过一个中央结点互连;错误警告是向上层协议报告数据传递中错误的发生;数据帧排序可将所传数据重新排列;流控则用于调整数据传输速率,使接收端不至于过载。
  7. 物理层(Physical Layer)
    • 定义了通讯网络之间物理链路的电气或机械特性,以及激活、维护和关闭这条链路的各项操作。物理层特征参数包括:电压、数据传输率、最大传输距离、物理连接媒体等。

以上,底三层(物理层、数据链路层和网络层)通常被称作媒体层,是网络工程师所研究的对象;上四层(传输层、会话层、表示层和应用层)则被称作主机层,是用户所面向和关心的内容。

TCP/IP 四层模型

TCP/IP 可以看着是 OSI/ISO 模型的一个非标准实现,是网络中用应用最广的模型。OSI/ISO 是一个理想的理论模型,但并没有完整实现的产品。TCP/IP 并非只有 TCP 和 IP 两个协议,它包含一组协议:TCP, IP, UDP, ARP, RARP 等等

  • 应用层:SMTP, FTP, TELENET
  • 传输层:解释数据
  • 网络层(IP):定位 IP 地址和确定连接路径
  • 链路层(link):与硬件驱动对话

参考

  1. 本页大量内容来源于:OSI 七层模型
  2. 维基词条:OSI模型
  3. 还有其他模式,如ATM机器的网络模式是不同于上面两个的。