开发者社区> 异步社区> 正文

《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——2.4节数据通信流程

简介:
+关注继续查看

本节书摘来自异步社区《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》一书中的第2章,第2.4节数据通信流程,作者【美】Anthony Sequeira,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.4 数据通信流程
CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)
网络上的所有通信均来自源位置,并将被发送到目标位置。使用OSI参考模型中列出的全部或部分层的网络协议在设备间传输数据。您应该还记得,第7层是应用程序通信协议的一部分,而第1层则是媒体通信协议的一部分。由于协议的各层结构,数据帧能够游走于整个计算机网络。我们通过以下方法从网络中的一台设备传送数据:将信息从应用向下传送到协议栈,在模型各层分别添加适当的报头。这种将数据传送到协议栈并添加报头和报尾的方法称为封装。封装数据并通过网络传送数据后,接收设备将删除添加的信息,并以报头中的信息作为指引将数据传送到上至协议栈下至适当应用。

数据封装是一个重要的网络概念。其功能在于,促进设备上的类似的层(称为对等层)交流寻址等关键参数和控制信息。

虽然封装看起来似乎是一个抽象概念,但其实相当简单。想象一下,您要将咖啡杯寄给另外一个城市的某位好友。比方说我本人,希望将一个波士顿红袜队纪念版咖啡杯寄给纽约洋基队球迷朋友。如何将这个咖啡杯寄到那里呢?主要通过陆路或航空运输。肯定不能出去直接将咖啡杯丢在公路上或者扔上飞机,这样根本无法送达。需要通过一项服务取件并负责送达。因此,需要致电亲睐的物流公司,将咖啡杯交给他们运送。但是,这还不是全部,下面是完整的流程。

步骤1 将咖啡杯包装到盒子中。

步骤2 在盒子上贴上地址标签,以便物流公司查看送货地址。

步骤3 将盒子交给物流公司。

步骤4 物流公司负责将它运输到最终目的地。

该流程与协议栈用来跨网络发送数据的封装方法类似。包裹抵达后,您的好友必须反向执行这项流程。从物流公司取回包裹,查阅地址标签确定寄件人,最终打开盒子拿出咖啡杯。反向封装过程称为解封。下一节将使用网络数据(而非球队纪念版咖啡杯)更加详细地介绍封装过程和解封过程。

2.4.1 封装
如上一节中所示,数据网络封装与寄送咖啡杯的过程类似。但是,不是将咖啡杯寄送给好友,而是将信息从一台设备的应用程序发送到另一台设备的应用程序。通过网络发送的信息称为数据或数据包。

封装技术会在网络传输之前利用必要的协议信息将数据包装起来。因此,随着沿OSI参考模型的各层向下传送数据,各OSI层会先向数据添加报头(如果需要会添加报尾),然后将其传送到下一层。报头和报尾包含网络设备和接收方控制信息,从而确保妥善发送交付数据,并且确保接收方能够正确解读数据。 图2-2阐释了封装的工作原理,它显示了数据通过各层的方式。


0ce2c0abfb48b2953aece91e3a0a118eadd59cfa

数据封装的步骤如下。

步骤1 用户数据从应用程序发送至应用层。

步骤2
应用层向用户数据添加应用层报头(第7层报头)。第7层报头和原始用户数据变成向下传送到表示层的数据。

步骤3 表示层向数据添加表示层报头(第6层报头)。该数据随即变成向下传送到会话层的数据。

步骤4 会话层向数据添加会话层报头(第5层报头)。该数据随即变成向下传送到传输层的数据。

步骤5 传输层向数据添加传输层报头(第4层报头)。该数据随即变成向下传送到网络层的数据。

步骤6 网络层向数据添加网络层报头(第3层报头)。该数据随即变成向下传送到数据链路层的数据。

步骤7
数据链路层向数据添加数据链路层报头和报尾(第2层报头和报尾)。第2层报尾通常是帧校验序列(FCS)。接收方使用FCS来检测数据是否出错。该数据随即变成向下传送到物理层的数据。

步骤8 接着物理层依据介质类型定义将以位(bit)为单位的数据传送到网络介质。

2.4.2 解封
当远程设备接收到位序列时,远程设备物理层会将以位为单位的数据传送到数据链路层进行操作。数据链路层将执行以下流程,人们将其称为解封。

步骤1 检查数据链路报尾(即FCS),以查看数据是否出错。

步骤2 如果数据出错,则予以丢弃。

步骤3 如果数据没有出错,则数据链路层会读取并解释数据链路报头中的控制信息。

步骤4
剥离数据链路层的报头和报尾,然后根据数据链路层报头中的控制信息将其余的数据向上传送到网络层。 随后的每个层都会执行类似的解封过程,如图2-3所示。


200facf8eef63cf9d2d5909cea3c763585f1cc2d

将解封想象为读取包裹上的地址以确定是否寄送给您。如果确实是寄送给您,则打开并取出包裹物品。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
为程序员和设计师准备的10个流程图2
流程图是一样很有用的工具。它可以用来帮助你做决策,给你一步一步的引导。对于很多复杂的设计和流程来说,流程图是必不可少的。和其他图形一样,流程图让你直观的理解一个流程,甚至有可能帮助你找出流程中的问题或者瓶颈。
643 0
LDD3学习笔记(1):设备驱动简介
 1、几乎每个系统操作都被映射到具体的物理设备上,而任何设备的控制操作都由特定于要寻址的相关代码来进行,这些代码成为设备驱动。 2、linux可以在运行时扩展由内核提供的特性,既可以在系统运行时增加内核的功能(也可以删除)。
823 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载