作者:空傅
其实说到远程文件传输,大家一定不会陌生,小到从局域网中其他共享机器上取得数据,大到在INTERNET上浏览网页,下载歌曲等等,无不都是远程文件传输的具体应用。
这篇文章将为你讲述远程文件传输的原理和一个基于TCP/IP协议的远程文件传输的编程实现样例,所以有过使用Winsock编程经历的读者,只需要关心本文中讲到的关键代码就成。因为这是一篇针对初中级网络编程爱好者的文章。
1.TCP/IP协议模型
为使网络中的电脑能相互联系,或者说通信,我们根据规范(也就是协议)在两者之间建立了物理通道(网线等)和软件通道。所以任意电脑之间传输的所有信息都是按照协议规定生成传输的。
我们一定听说过有很多个协议,如TCP/IP协议、IPX/SPX协议、NETBIOS协议等等,都是为了适应不用的网络连接要求或由于开发机构不同而形成的各自规范。国际标准化组织(ISO)在分析了前面协议的结构基础上就提出OSI七层网络模型。所以现在的协议,都是少不了七层模型中概括的功能,只是名称和层数上与这个模型有些差别。另外我们经常会听到一些标准,如IEEE802.3协议,IP协议,TCP协议,HTTP协议,FTP协议等等,这些都是某个协议内完成七层模型中某一或多层功能的标准,所以平时说的FTP,本质是一个用于完成文件传输的协议。底层协议为高层协议提供支持,同一层有多个不同协议,多个小的协议组成一个完整的协议(如TCP/IP协议),所以有时这种协议也被叫做协议簇。
那我们来看现在INTERNET上的最基本的协议TCP/IP协议。
协议组成:主要为底层的IP协议(互联网络协议)和TCP协议(传输控制协议)
分层结构模型:
协议层
|
该层协议
|
||
应用层(第五层)
|
http、ftp、snmp
|
Smtp、telnet
|
|
传输层(第四层)
|
TCP
|
UDP
|
|
互联网层(第三层)
|
|