简述数据传输过程
通过OSI七层协议进行传输,下面给出传输方式:
OSI 参 考 模 型与TCP/IP协议模型结构 OSI 参 考 模 型 也 称 为异 质 系 统 互 联 的 七 层 框 架 ---- ★ 物 理 层(Physical Layer) ---- 提 供 机 械、 电 气、 功 能 和 过 程 特 性。 如 规 定 使 用 电 缆 和 接 头 的 类 型, 传 送 信 号 的 电 压 等。 在 这 一 层, 数 据 还 没 有 被 组 织, 仅 作 为 原 始 的 位 流 或 电 气 电 压 处 理。 ---- ★ 数 据 链 路 层(Data Link Layer) ---- 实 现 数 据 的 无 差 错 传 送。 它 接 收 物 理 层 的 原 始 数 据 位 流 以 组 成 帧( 位 组), 并 在 网 络 设 备 之 间 传 输。 帧 含 有 源 站 点 和 目 的 站 点 的 物 理 地 址。 ---- ★ 网 络 层(Network Layer) ---- 处 理 网 络 间 路 由, 确 保 数 据 及 时 传 送。 将 数 据 链 路 层 提 供 的 帧 组 成 数 据 包, 包 中 封 装 有 网 络 层 包 头, 其 中 含 有 逻 辑 地 址 信 息 — — 源 站 点 和 目 的 站 点 地 址 的 网 络 地 址。 ---- ★ 传 输 层(Transport Layer) 提 供 建 立、 维 护 和 取 消 传 输 连 接 功 能, 负 责 可 靠 地 传 输 数 据。 ---- ★ 会 话 层(Session Layer) ---- 提 供 包 括 访 问 验 证 和 会 话 管 理 在 内 的 建 立 和 维 护 应 用 之 间 通 信 的 机 制。 如 服 务 器 验 证 用 户 登 录 便 是 由 会 话 层 完 成 的。 ---- ★ 表 示 层(Presentation Layer) ---- 提 供 格 式 化 的 表 示 和 转 换 数 据 服 务。 如 数 据 的 压 缩 和 解 压 缩, 加 密 和 解 密 等 工 作 都 由 表 示 层 负 责。 ---- ★ 应 用 层(Application Layer) ---- 提 供 网 络 与 用 户 应 用 软 件 之 间 的 接 口 服 务。 OSI/RM是ISO在网络通信方面所定义的开放系统互连模型,1978 ISO(国际化标准组织)定义了这样一个开放协议标准。。有了这个开放的模型,各网络设备厂商就可以遵照共同的标准来开发网络产品,最终实现彼此兼容。 整个OSI/RM模型共分7层,从下往上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 当接受数据时,数据是自下而上传输;当发送数据时,数据是自上而下传输。 (1)物理层 这是整个OSI参考模型的最低层,它的任务就是提供网络的物理连接。所以,物理层是建立在物理介质上(而不是逻辑上的协议和会话),它提供的是机械和电气接口。主要包括电缆、物理端口和附属设备,如双绞线、同轴电缆、接线设备(如网卡等)、RJ-45接口、串口和并口等在网络中都是工作在这个层次的。 物理层提供的服务包括:物理连接、物理服务数据单元顺序化(接收物理实体收到的比特顺序,与发送物理实体所发送的比特顺序相同)和数据电路标识。 (2)数据链路层 数据链路层是建立在物理传输能力的基础上,以帧为单位传输数据,它的主要任务就是进行数据封装和数据链接的建立。封装的数据信息中,地址段含有发送节点和接收节点的地址,控制段用来表示数格连接帧的类型,数据段包含实际要传输的数据,差错控制段用来检测传输中帧出现的错误。 数据链路层可使用的协议有SLIP、PPP、X25和帧中继等。常见的集线器和低档的交换机网络设备都是工作在这个层次上,Modem之类的拨号设备也是。工作在这个层次上的交换机俗称“第二层交换机”。 具体讲,数据链路层的功能包括:数据链路连接的建立与释放、构成数据链路数据单元、数据链路连接的分裂、定界与同步、顺序和流量控制和差错的检测和恢复等方面。 (3)网络层 网络层属于OSI中的较高层次了,从它的名字可以看出,它解决的是网络与网络之间,即网际的通信问题,而不是同一网段内部的事。网络层的主要功能即是提供路由,即选择到达目标主机的最佳路径,并沿该路径传送数据包。除此之外,网络层还要能够消除网络拥挤,具有流量控制和拥挤控制的能力。网络边界中的路由器就工作在这个层次上,现在较高档的交换机也可直接工作在这个层次上,因此它们也提供了路由功能,俗称“第三层交换机”。 网络层的功能包括:建立和拆除网络连接、路径选择和中继、网络连接多路复用、分段和组块、服务选择和传输和流量控制。 (4)传输层 传输层解决的是数据在网络之间的传输质量问题,它属于较高层次。传输层用于提高网络层服务质量,提供可靠的端到端的数据传输,如常说的QoS就是这一层的主要服务。这一层主要涉及的是网络传输协议,它提供的是一套网络数据传输标准,如TCP协议。 传输层的功能包括:映像传输地址到网络地址、多路复用与分割、传输连接的建立与释放、分段与重新组装、组块与分块。 根据传输层所提供服务的主要性质,传输层服务可分为以下三大类: A类:网络连接具有可接受的差错率和可接受的故障通知率,A类服务是可靠的网络服务,一般指虚电路服务。 C类:网络连接具有不可接受的差错率,C类的服务质量最差,提供数据报服务或无线电分组交换网均属此类。 B类:网络连接具有可接受的差错率和不可接受的故障通知率,B类服务介于A类与C类之间,在广域网和互联网多是提供B类服务。 (5)会话层 会话层利用传输层来提供会话服务,会话可能是一个用户通过网络登录到一个主机,或一个正在建立的用于传输文件的会话。 会话层的功能主要有:会话连接到传输连接的映射、数据传送、会话连接的恢复和释放、会话管理、令牌管理和活动管理。 (6)表示层 表示层用于数据管理的表示方式,如用于文本文件的ASCII和EBCDIC,用于表示数字的1S或2S补码表示形式。如果通信双方用不同的数据表示方法,他们就不能互相理解。表示层就是用于屏蔽这种不同之处。 表示层的功能主要有:数据语法转换、语法表示、表示连接管理、数据加密和数据压缩。 (7)应用层 这是OSI参考模型的最高层,它解决的也是最高层次,即程序应用过程中的问题,它直接面对用户的具体应用。应用层包含用户应用程序执行通信任务所需要的协议和功能,如电子邮件和文件传输等,在这一层中TCP/IP协议中的FTP、SMTP、POP等协议得到了充分应用 TCP/IP协议
TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:
应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。
二、OSI 参 考 模 型与TCP/IP协议模型各层中的协议 TCP/IP协议中有FTP、SMTP、POP TCP/IP的通讯协议
这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。
② 网络数据是怎么传输的
上图是iso的七层网来络体系结构,每一层源都有其相应的工作协议。
数据传输过程如下:(如qq)
在发送主机A上,发送的数据经过应用层时,应用层对数据进行了包装,它在要传输的数据上加了一个应用层首部AH后,继续向传输层传送。
传输层接收到应用层的数据后,将数据+应用层AH当做数据,给它进行包装,加上自己的首部,此时的数据变为数据+应用层AH+传输层PH,继续向会话层传送。
依此类推,数据每传递一层,便增加相应协议的首部。
直到传输至数据链路层,数据链路层将加了自己首部的数据交给物理层后,转换为高低跳跃的比特流,这时候的数据才能在线路上传输。
接收端的接收过程与发送过程相反,在接收主机B上,能够通过电信号识别出比特流识别,将收到的信息递交给数据链路层。
数据链路层收到数据后,剥离发送时添加的数据链路层首部DH,把数据提取出来,递交给网络层。
同样的,网络层剥离自己的首部NH,还原后将数据递交给传输层。依此类推,至应用层将其首部AH剥离后,即可还原成最原始的发送数据了。
③ 数据包传输的具体过程
当A的包发往B时,B收到的是一个数据帧(从二层上看,当然从物理层看就是一些信号),B是路由器,因此对这个帧进行解包,找到其IP地址信息,然后通过路由表查找出相应端口,然后将这个帧发往与C相连的端口,此时帧中的目的MAC已经改变为与C相连的端口的MAC。接着这个帧的目的MAC再一次改变为C的MAC然后到达C。
我们看到,在一个数据包的传递过程中,三层的IP地址信息以及源MAC地址是不改变的,而目的MAC地址是由网络设备动态改变的。
网络设备是如何知道下一跳的MAC地址是什么呢,其实还是靠三层的IP信息计算得出的。在三层上是路由计算,在二层上是通过广播然后根据应答来获取。
顺便解析一下:
在以太网中,数据包最大传输单元MTU为1500个字节,在一个IP包中,去除IP包头的20个字节,可以传输的最大数据长度为1480个字节。在TCP包中,去除20个TCP包头,可以传输的最大数据段为1460个字节。因此,当数据超过最大数据长度时,将对该数据进行分片处理,在IP包头中会看到有多个片在传输,但标识号是相同的,表示是同一个数据包。