局域网文件传输方式分析
一、概述
在C/S结构的软件开发过程中通常被限于局域网范围内, 常常会遇到需要传输数据文件、音视频文件、升级文件到服务器端或者客户端。每个工作站点都是通过交换机或者集线器、路由器等设备相互连接在一起。由于需要传输的站点数量、局域网环境、OS系统的不同,传输上的性能上也有很大的区别, 传输方式也是多种多样的,比如常见的局域网共享传输、基于FTP协议传输、点对点传输等方式。不同的网络操作系统(NOS)在局域网内采用的底层通信协议是不一样的。现在就和大家分享一下局域网文件传输的分析和比较。
二、传输方式的特点和原理
局域网文件共享传输:
从开发角度来说文件共享方式传输是一种简便的方式,只需要将文件设置成共享,共享权限开放即可。这样就需要开启OS的SERVER服务,它主要提供了支持本计算机通过网络的文件、打印、和命名管道共享,包括了C$、IPC$等共享,开启了135和445等危险端口.所以优点很明显,就是简易了共享的操作,缺点就是安全性降低了。
它的特点是:
1 需要开启文件共享服务,文件通信方式方便、简易
2 传输过程、速度等由操作系统自动调整,无需用户设置
3 需要以共享文件的方式存在于网络
4 由于采用文件共享,安全性能较低,遇到IO读写访问错误、断网、断电时,恢复后没有断点续传等功能
5 明文传输,数据易被篡改和窃听从而存在很大的安全隐患
工作原理:
文件共享传输方式,主要采用TCPIP协议访问资源,通过本局域网上的网络邻居,UNC路径访问,一般是利用名字解析NETBIOS,dns,wins获得对方的IP地址,获取对方共享资源列表,当点击共享资源时候,客户机对服务器端点发出建立会话请求,这发生在传输层。为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟电路,也就是TCP连接,建立TCP连接的标准过程是这样的:
第一步,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;
第二步,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一,ACK即确认(Acknowledgement)。
第三步,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。
以上的连接过程在TCP协议中被称为三次握手(Three-way Handshake)。
会话连接建立后,对方检查共享资源的设置,通过注册表中的共享级别。
共享信息在册表中,跟踪操作系统的不同,注册表位置也有所不同。
HKEY_CURRENT_MACHINE/Software/Microsoft/Windows/Current_Version/Network/Lanman/共享名
A.Parm1enc为“完全共享”密码
B.Parm2enc为“只读共享”密码
确定是何种级别后,客户端就可以访问到相应的资源了。
这种共享加密的方式很简单,都是明文的,只要到对方的机器上,查看注册表就可以知道密码。(16进制,需要对照翻译)
使用现状
常见的局域网共享工具
FTP协议传输:
FTP文件传送协议(File Transfer Protocol,简称FTP)。中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。
与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。
它的特点是:
1 不需要开启文件共享服务,与OS无关性。
2 提供交互式的访问,使得用户更容易通过操作命令与远程系统交互
3 允许客户指定存储文件的类型与格式
4 具备鉴别控制能力,允许文件具有存取权限
5 屏蔽了计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件
6 支持断点续传传输。
工作原理:
FTP的连接过程中,一般会大开两个连接端口,一个用于控制连接的命令发送,一个用于数据传输。FTP协议不像HTTP协议一样需要一个端口作为连接(默认时HTTP端口是80,FTP端口是21)。FTP协议需要两个端口,一个端口是作为控制连接端口,也就是FTP的21端口,用于发送指令给服务器以及等待服务器响应;另外一个端口用于数据传输端口,端口号为20(仅用PORT模式),是用建立数据传输通道的,主要作用是从客户向服务器发送一个文件,从服务器向客户发送一个文件,从服务器向客户发送文件或目录列表。
使用现状
常见的FTP服务器端工具
一种被广泛运用的FTP服务器端软件,支持 全Windows系列。它设置简单,功能强大,性能稳定。FTP 服务器用户通过它用 FTP协议能在 internet上共享文件。它并不是简单地提供文件的下载,还为用户的系统安全提供了相当全面的保护。
常见的FTP客户端工具
CuteFtp是一款非常受欢迎的FTP工具,界面简洁,并具有的支持上下载断点续传、操作简单方便等特征使其在众多的FTP软件中脱颖而出,无论是下载软件还是更新主页,都是一款不可多得的好工具。
点对点传输:
点对点技术简称P2P是目前互联网上最流行、最有优势的传输技术,它们的传输是通过网络以不同的形式,也许是FTP传输,也许是使用QQ这样的工具传输等等.
它依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P网络通常用于通过Ad Hoc连接来连接节点。这类网络可以用于多种用途,各种文件共享软件已经得到了广泛的使用。P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中, 如迅雷看看、PPLive等。
通常我们把点对点技术分为两种,纯点对点技术与非纯点对点技术。
纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。这种方式也非常适合在局域网中应用,可以有效的减少服务器的负载过重等问题。
非纯点对点技术如电驴(eMule)、BT、KuGoo等。它们使共享包含各种格式的音频,视频,数据等的文件在网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。就是人与人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。
它的特点是:
1 巨大的扩展力,与OS无关性。
2 在C/S模式中的好处是不用费力的去查找连接服务器,与服务器端无关性,站点与站点之间是平等关系
3 提供稳定、 可预测的资料传送服务
4 有效的利用了网络中的带宽,使得带宽能最大化使用
5 支持断点续传传输、低成本的所有权和共享
6 匿名和隐私
工作原理:
纯点对点局域网传输由多个站点都同时在线,每个站点都开放一个监听端口,每个站点每次启动时读取局域网上的ARP表查询局域网中开放该端口的站点,并进行连接。然后发送在线站点表到连接的站点。传输文件时打开一个传输端口,很容易实现站点与站点之间的数据传输。
使用现状
常见的局域网点对点传输工具
如飞鸽传书局域网文件传输工具,它是一款流传非常广的局域网实用软件,相比Windows 文件共享系统,飞鸽在实用性,速度,快捷,方便程度上都有提高。可以一次性传送单文件超过8G的文件。
三、各方式比较
在C/S结构的开发过程中,我们常常需要站点与站点之间的传输和通信.从产品的应用角度不同,到底哪种方式更适合我们呢?下面将对以上三种方式做一个比较。
四、总结
总的来看,使用FTP方式传输方式较为灵活和实用,能够很好的完成多站点同时完成上传下载的任务,在FTP服务器端还能够支持平衡负载,传输速度上也比较快,在不同的操作系统上消除了不兼容性等问题。
文件共享的高层协议基本都采用SMB协议,曾经就有人通过对局域网内所窃取的用于文件输出的SMB数据包进行分析及重组,从而得到最初的传输文件。所以在安全方式上不如其他的传输方式,传输采用协议时一定要用tcp来保证数据的可靠性 ,udp在传输过程中没有数据效验,在网络环境较差的情况下,很容易发生丢包现象。在多站点同时传输时较慢。
总之在C/S结构中需要使用哪种传输方式,需要根据实际情况来综合考虑。
局域网文件传输方式分析相关推荐
- 详细介绍!Linux 上几种常用的文件传输方式
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 责编:乐乐 来源:https://dwz.cn/VWIHhsOw 昨天发布一篇Linux文章( ...
- 小试跨平台局域网文件传输工具NitroShare,几点感想
随着电脑系统国产化的推进,单位用的OA系统已转移到国产电脑上了,但是国产电脑上的操作系统基于Linux,软件商店里可选的应用软件还不够多,功能也还有待提高.为了提高处理效率,经常需要把文件从国产电脑传 ...
- python 编写一个局域网文件传输的程序
可以使用 Python 的 socket 模块来编写一个局域网文件传输程序. 首先,你需要在服务端程序中创建一个 socket 对象,并绑定到特定的 IP 地址和端口上.然后,服务端可以通过调用 so ...
- 局域网传输还在用飞鸽?还在用QQ,其实Python也可以实现类似的功能!Python基于scoket实现多路复用TCP局域网文件传输
局域网传输的基本信息 1.IO是什么? ⦁定义 ⦁ 阻塞IO ⦁ 非阻塞IO 2.IO多路复用 定义 select具体用法 3.实现多路复用局域网文件传输 server.py client.py Fi ...
- 如何将数据从旧电脑传输到新电脑,哪种文件传输方式更好
迁移到新的Windows 10 电脑是一个令人兴奋的时刻,尤其是如果您有幸从我们现在可用的最佳Windows笔记本电脑列表中选择一个选项.问题是您熟悉的文件位于旧电脑上,并且您不想重新开始.为了简化电 ...
- 局域网文件传输神器Feem(Feem使用教程)
局域网文件传输神器Feem 官网地址,下载后一路安装就可以了 有免费版(限制人数下载).也有收费版 另一台局域网内的电脑,浏览器打开http://192.168.55.2:3456 就可以直接传输文件 ...
- WindowsLinux文件传输方式总结
技术交流 关注微信公众号 Z20安全团队 , 回复 加群 ,拉你入群 一起讨论技术. 直接公众号文章复制过来的,排版可能有点乱, 可以去公众号看. 在渗透过程中,通常会需要向目标主机传送一些文件,来达 ...
- 钉钉小程序可以上传文件_怎样禁止钉钉外发文件?钉钉文件传输协议分析
钉钉(DingTalk)是中国领先的智能移动办公平台,用于商务沟通和工作协同.越来越多企业采用钉钉来进行办公自动化,但是由此带来的信息安全问题也不能忽视.钉钉软件可以很容易的上传附件.外发和接收文件, ...
- Linux中文件传输方式
TFTP : FTP是文件服务器,可实现将文件上传至远程服务器,也可以从服务器下载文件到本地主机. scp: scp能够将不同主机的文件进行相互传输,使用简单方便. rz : 用于linux与wind ...
- Linux 几种文件传输方式
本文记录linux系统中文件传输的多种方式,留作备忘.linux中文件传输的方式有ftp,scp,rsync,rz,sz等,但各个工具的功能又有所区别: FTP : FTP是文件服务器,可实现文件的上 ...
最新文章
- mysql设置约束l命令_2、MYSQL 基本数据库命令及约束
- 办公室28个经典赞美句子【转】
- SAP MM 盘点凭证上的posting block
- 安装python缺少dll_解决Python安装时报缺少DLL问题【两种解决方法】
- Kafka设计解析(七)- Kafka Stream
- 函数进阶之生成器和迭代器
- 二十七、oracle 异常
- 数据分析师的个人感悟
- 教你以一秒钟10万+个密码的速度破解WiFi
- 嵌入式单片机基础篇(十九)之一般TFTLCD 模块的使用流程
- c语言二次方程的实根,C程序求二次方程的根
- Road to Coder _Game
- 嵌入式学习路径之单片机 | 月薪5个k到5个w的路径全在这了
- 静态资源文件无法加载导致jsp页面渲染不成功问题
- Spring漫画学习笔记(一) 什么是BeanDefinition
- window文件格式转换成linux格式
- 洛谷——P1361 小猫爬山
- SQL “varchar转换为numeric时出错” 的小插曲
- python 工作流workflow_Workflow笔记1——工作流介绍
- 熵权法、主客观权重及matlab应用