【2017年整理】数据是如何在OSI模型中传输
第一种解释: 数据从自己电脑发送到对方电脑是经过从上到下(自己电脑)应用层,表示层,会话层,传输层,网络层,数据链路层,到达最后的物理层,然后转换成比特流,最后通过一定的传输介质,像双绞线,同轴电缆,光纤传到对方电脑上的.在到达对方电脑的物理层时,同样要一层一层往上传.当然在往下传的时候有个封装的过程。所谓封装的过程就是,在传输层到网络层间会加个 tcp 报头,网络层到数据链路层会加个 ip 报头,数据链路层会加个 llc 报头,数据链路层到物理层会加个 mac 报头,最后两层还分别有 fcs 验证.在到达后往上传时有个反封装过程,就是把各个报头清除掉.只有经过封装和反封装才能保证数据的传输。第二种解释: 一个实例说明数据是如何在 OSI 模型中传输例如一个用户想要从一个远程的 SERVER 上读下一段数据,这时候: 1,SERVER 端先启动相应的应用程序,将用户要的数据发到应用层。2,应用层接收了数据,并在数据的开头加上信息头后发往表示层。信息头的作用是记录这个数据是由哪个应用程序发出的。3,表示层接受了数据,在数据前加上一个信息头后进行数据转换,并将数据发到会话层。信息头的作用是记录数据是由应用层的哪个协议发出的。4,会话层在收到数据的时候,开始建立用来同用户端通讯的通讯方式信息头,并且把这个通讯方式的信息加到在应用层和表示层生成的信息头中。5,数据到达传输层以后,传输层根据在之前层加入的信息头和通讯方式能够知道此数据发出的源主机和要抵达的目的主机。之后传输层建立信息头,头中包括传输方法,虚拟电路。然后在将数据分段后将数据发到网络层。6,数据到达网络层后(此时数据已被分段,包括之前的信息头。),网络层在前面加上信息头,头内容为源和目的的网络地址。然后将数据发到数据链路层。7,到达数据链路层后,将会在数据前再加上一个帧头,帧头的内容包括SSAP,DSAP,MAC 源和目的地址。然后把数据发到物理层。8,物理层接受到数据后把数据作为比特流进行传输。9,用户端主机在接收到数据后,在物理层,先把数据由比特流转化为帧发到数据链路层。10,数据链路层接收到数据后首先由 MAC 层判断帧头中的 MAC 目的地址是否正确,若正确将其发送到 LLC 层。LLC 层去掉帧头后分析其中的 DSAP,然后把数据发送到网络层相应的协议。 11,网络层接收到数据以后,去掉数据中的网络层信息头,判断其中的目的地址是否正确。然后将数据发到传输层。12,传输层接收到数据后先去掉数据中的传输层头,先分析头中的传输方法,将分段的数据接收为一个完整的数据。然后分析头中的虚拟电路信息,决定是否断开虚拟电路。后将数据发到会话层。13,会话层接收到数据后先去掉数据中的会话层头,分析头中的通讯方式后将数据发到表示层。14,表示层接受到数据后先去掉数据中的表示层头,分析后先把数据转化成应用层能识别的编码,再把数据传到应用层中的相应协议。15,应用层接受到数据后去掉其中的应用层信息头,分析其中的通讯方式和应用发出的应用程序信息,然后决定把数据发送到相应的应用程序,并决定应用程序是否可以与 SERVER 同时通讯还是只能分时通讯。16,最后,用户端的应用程序接收到了数据并开始处理。第三种解释:2.4 OSI 环境中数据传输过程 图 2-4 给出了 OSI 环境中数据流。从图 2-4 中可以看出,OSI 环境中数据传输过程包括以下几步。(1) 当应用进程 A 的数据传送到应用层时,应用层为数据加上本层控制报头后,组织成应用层的数据服务单元,然后再传输到表示层。(2) 表示层接收到这个数据单元后,加上本层的控制报头,组成表示层的数据服务单元,再传送到会话层。依此类推,数据传送到传输层。(3) 传输层接收到这个数据单元后,加上本层的控制报头,就构成了传输层的数据服务单元,它被称为报文(message)。(4) 传输层的报文传送到网络层时,由于网络层数据单元的长度有限制,传输层报文将被分成多个较短的数据字段,加上网络层的控制报头,就构成网络层的数据服务单元,它被称为分组(packet)。(5) 网络层的分组传送到数据链路层时,加上数据链路层的控制信息,就构成了数据链路层的数据服务单元,它被称为帧(frame)。(6) 数据链路层的帧传送到物理层后,物理层将以比特流的方式通过传输介质传输出去。当比特流到达目的结点计算机 B 时,再从物理层依层上传,每层对各层的控制报表进行处理,将用户数据上交高层,最终将进程 A 的数据送给计算机 B 的进程 B。尽管应用进程 A 的数据在 OSI 环境中经过复杂的处理过程,才能送到另一台计算机的应用进程 B ,但对于每台计算机的应用进程来说,OSI 环境中数据流的复杂处理过程是透明的。应用进程 A 的数据好像是“直接”传送给应用进程 B ,这就是开放系统在网络通信过程中最本质的作用。