理解TCP/IP协议分层(一)

1.为什么分层?

  通过分层,每层只负责通信的一个方面。分层设计允许开发人员分别实现系统的不同部分,它们通常由在不同领域的专业人员完成。最常提到的协议

分层概念基于一个称为开放系统互连标准(OSI)的模型,该模型是由国际标准化组织(ISO)定义的。如下图所示:

 

1.1 物理层

  物理层定义了一种通过某种通信介质(如一条点电话线或光纤电缆)传输数字信息的方法。以太网和无线局域网(Wi-Fi)标准的一部分也在这一层。

1.2 链路层

  链路层包含为共享相同介质的邻居建立连接的协议或方法。有些链路层网路(如DSL)只连接两个邻居。当超过一个邻居可以访问共享网络时,该网络

称为多接入网络。Wi-Fi和以太网是这种多接入链路层网络的例子,特定协议用于协调多个站在任何时间访问共享介质。

1.3 网络层

  对于分组网路(例如TCP/IP),它提供了一种可互操作的分组格式,可通过不同类型的链路层网络来连接。本层也包括针对主机的地址方案和用于决定

将分组从一台主机发送到另一台主机的路由算法。

1.4 传输层

  提供了一个会话之间的数据流,可能相当复杂,取决于它提供的服务类型(例如,分组网络的可靠交付可能会丢弃数据)。

1.5 会话层

  会话表示运行中的应用(例如,cookies用于Web浏览器的Web登录会话过程中)之间的交互,会话层协议可提供例如连接初始化和重新启动、增加检查

点(保存到当前为止已经完成的工作)等功能。

1.6 表示层

  负责信息的格式转换和标准化编码。Internet协议不包括正式的会话层和表示层,如果需要的话,这些功能由应用程序来实现。

1.7  应用层

  各种应用通常来实现自己的应用层协议,如FTP、Skype等。

2. 分层实现中的复用、分解和封装

  分层体系结构中的一个主要优点是具有协议复用的能力。这种复用形式允许多种协议共存于同一基础设施中,也允许相同协议对象(例如连接)的多个实例同时存在,并且不会被混淆。

复用可以发生在不同层,并在每层都有不同类型的标识符,用于确定信息属于哪个协议或信息流。例如,在链路层,大多数链路技术(例如以太网和Wi-Fi)在每个分组中包含一个协议标识

符字段,用于指出链路层帧携带的协议(IP是这种协议)。当某一层的一个PDU(协议数据单元)的对象(分组、消息等)被低层携带时,这个过程称为在相邻低层的封装(作为不透明数据)。

因此,第N层的多个对象可以通过N-1层的封装而复用。如下图所示:

  封装通与分层一起使用。单纯的封装涉及获得某层的PDU,并在低层将它作为不透明的数据来处理。封装发生在发送方,拆封(还原操作)发生

在接收方。多数协议在过程中使用头部,少数协议也使用尾部。

  封装的本质:每层都将来自上层的数据看成不透明、无须解释的信息。

  分解是接收方基于标识符执行的操作。在TCP/IP网络中,这类标识符通常是硬件地址、IP地址和端口号。

  头部中也包含一些重要的状态信息,例如一条虚电路是正在建立还是已经建立。由此产生的对象是另一个PDU。

下图是理想化小型互联网,包括两种端系统,即交换机和路由器。

  不同的网络设备实现协议的不同子集。端主机通常实现所有层。路由器实现传输层之下的各层。但这种理想化的结构经常被破坏,

这是由于路由器和交换机通常包含类似于主机的功能(例如管理和建立),因此它们需要实现所有层,即使有些层很少使用。

 

posted @ 2021-07-19 16:28  一瞬光阴  阅读(578)  评论(0编辑  收藏  举报