我是靠谱客的博主 完美黑裤,最近开发中收集的这篇文章主要介绍【网络 】两台电脑之间如何收发文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、在讲解之前,咱们先准备一些理论知识

1、OSI七层模型(参考模型)

OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。如下图。

这里写图片描述

其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。

2、七层的作用,与为什么会出现七层

为什么会出现七层,先给大家整张图

这里写图片描述

首先两台电脑需要通信,如何进行通信呢,就是发一些比特流,于是最基本的物理层建立出来,但是在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路层出现,数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。如图,现在两台要通信的电脑连接了多个路由器,意思就是可以有很多条路径进行通信,但是,具体选择哪条路径最为合理,于是出现了网络层;两个电脑在传输的过程中有时候是避免不了数据的丢失的,尤其是在传输大量的数据时,如何保障数据传输的可靠性呢,这时候出现了传输层传输层解决了数据封装打包传送的问题!现在我们已经完成了两台电脑之间可以正确的收发消息了。但是两台电脑之间的信息是如何到传输层的呢,这时候出现了会话层,会话层将会话地址映射为运输地址!(具体就是根据一系列的协议)会话层的作用就是建立和管理应用程序之间的通信。由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异.例如linux系统与windows就是两个区别很大的系统!exe文件在windows下可以使用,但是在linux 下就不可以使用!.表示层和应用层就担负了消除这种障碍的任务.

3、tcp/ip5层协议的划分

这里写图片描述

这里的网卡究竟在哪一层,查了好多资料,有的资料说是在数据链路层,有的说是在物理层,其实就是在数据链路层的mac子层和物理层之间!谁说的都有道理!这个就是看自己的理解吧!现在就先将它规范到数据链路层吧,因为网卡的确可以识别mac

接下来看这这几层的一些常用的协议!

这里写图片描述

二、理论知识准备完毕,开始解答疑问

1、七层封装数据过程

这里写图片描述

如图,在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。在应用层,用户的数据被加上应用层的报头(Application Header,AH),形成应用层协议数据单元(Protocol Data Unit,PDU),然后被递交到下一层-表示层
  
表示层并不”关心”上层-应用层的数据格式而是把整个应用层递交的数据包看成是一个整体进行封装,即加上表示层的报头(Presentation Header,PH)。然后,递交到下层-会话层。
  
同样,会话层、传输层、网络层、数据链路层也都要分别给上层递交下来的数据加上自己的报头。它们是:会话层报头(Session Header,SH)、传输层报头(Transport Header,TH)、网络层报头(Network Header,NH)和数据链路层报头(Data link Header,DH)。其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(Data link Termination,DT)形成最终的一帧数据
  
当一帧数据通过物理层传送到目标主机的物理层时,该主机的物理层把它递交到上层-数据链路层。数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。如果数据没有出错,则递交到上层-网络层
同样,网络层、传输层、会话层、表示层、应用层也要做类似的工作。最终,原始数据被递交到目标主机的具体应用程序中。
  

2、用tcp/ip 5层模型解释两台电脑收发文件的过程

这里写图片描述

首先一个电脑要发送信息,这时候数据经过了应用层,调用了文件传输的协议FTP,然后又走到了传输层,加上了TCp协议,经过了网络层调用了ip协议,到了数据链路层,调用了以太网协议(如ieee802.3),然后这里的数据,将会封装成帧(帧就是指网络上传输数据的最小传输单位),在将帧转换为比特流,然后现在就到了物理层,物理层负责传输数据,将数据通过一些介质(如光纤)传送到了另一台电脑!

此时另一台的电脑收到打包好的数据,数据开始进行解封,如图,每经过一层,就会解封一层,相当于封装数据的逆过程!这样,当经过了应用层以后,数据解封完毕,现在我收到的就是用户给我发的信息了!

后记:

小编用了很多心血总结了此篇博客,希望可以对大家有所帮助,如果大家有什么疑惑或者此文章有什么问题,欢迎前来找小编探讨,大家一起进步,一起研究知识!后续还有一系列网络的知识……

最后

以上就是完美黑裤为你收集整理的【网络 】两台电脑之间如何收发文件的全部内容,希望文章能够帮你解决【网络 】两台电脑之间如何收发文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部