物理网络上的数据传输的实现:
我们可以认为是这样的:
数据被分成一个一个的包(Packet)
发送端:
1) 包的数据头(或数据尾)被第一层协议(比如TFTP协议) 加上第一层应用层协议数据;
2) 然后整个包(包括内部加入的TFTP 信息头)被下层协议再次包装(比如UDP),
3) 再这之后数据包会再次被下层协议包装(比如IP 协议),
4) 最后是被最底层的硬件层(物理层)包装上最后一层信息(Ethernet 信息头)。
当接受端的计算机接收到这个包后,
1) 硬件首先剥去数据包中的Ethernet 信息头,
2) 然后内核在剥去IP 和UDP 信息头,
3) 最后把数据包提交给TFTP 应用程序,由TFTP 剥去TFTP信息头,最后得到了原始数据
硬件设施:
计算机网络的硬件系统通常由五部分组成:文件服务器、工作站(包括终端)、传输介质、网络连接硬件和外部设备。文件服务器一般要求是配备了高性能CPU系统的微机,它充当网络的核心。除了管理整个网络上的事务外,它还必须提供各种资源和服务。而工作站可以说是一种智能型终端,它从文件服务器取出程序和数据后,能在本站进行处理,一般有有盘和无盘之分。接下来谈谈传输介质,它是通信网络中发送方和接受方之间的物理通路,在局域网中就是用来连接服务器和工作站的电缆线.目前常用的网络传输介质有双绞线(多用于局域网)、同轴电缆和光缆等.常用的网络连接硬件有网络接口卡(NIC)、集线器(HUB)、中继器(Repeater)以及调制解调器(Modem)等。而打印机、扫描仪、绘图仪以及其它任何可为工作站共享的设备都能被称为外部设备。
㈡ TFTP协议的内容
TFTP协议
1. 目的
TFTP是一个传输文件的简单协议,它其于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。
2. 概况
任何传输起自一个读取或写入文件的请求,这个请求也是连接请求。如果服务器批准此请求,则服务器打开连接,数据以定长512字节传输。每个数据包包括一块数据,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认。如果一个数据包的大小小于512字节,则表示传输结构。如果数据包在传输过程中丢失,发出方会在超时后重新传输最后一个未被确认的数据包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。大部分的错误会导致连接中断,错误由一个错误的数据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据包内容错误,而这种错误不能由延时或重发解释,对需要资源的访问丢失(如硬盘满)。TFTP只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的包会被发送到源机。这个协议限制很多,这是都是为了实现起来比较方便而进行的。
3. 与其它协议的联系
因为TFTP使用UDP,而UDP使用IP,IP可以还使用其它本地通信方法。因此一个TFTP包中会有以下几段:本地媒介头,IP头,数据报头,TFTP头,剩下的就是TFTP数据了。TFTP在IP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。对它的初始化我们在后面讨论。TFTP头中包括两上字节的操作码,这个码指出了包的类型下面我们看看大体上的TFTP包格式,相关的内容我们在后面的章节中进行讨论。
---------------------------------------------------
| Local Medium | Internet | Datagram | TFTP |
---------------------------------------------------
图3-1: 包头次序
4. 初始连接
初始连接时候需要发出WRQ(请求写入远程系统)或RRQ(请求读取远程系统),收到一个确定应答,一个确定可以写出的包或应该读取的第一块数据。通常确认包包括要确认的包的包号,每个数据包都与一个块号相对应,块号从1开始而且是连续的。因此对于写入请求的确定是一个比较特殊的情况,因此它的包的包号是0。如果收到的包是一个错误的包,则这个请求被拒绝。创建连接时,通信双方随机选择一个TID,因此是随机选择的,因此两次选择同一个ID的可能性就很小了。每个包包括两个TID,发送者ID和接收者ID。这些ID用于在UDP通信时选择端口,请求主机选择ID的方法上面已经说过了,在第一次请求的时候它会将请求发到TID 69,也就是服务器的69端口上。应答时,服务器使用一个选择好的TID作为源TID,并用上一个包中的TID作为目的ID进行发送。这两个被选择的ID在随后的通信中会被一直使用。下例是一个写入的例子,其中WRQ,ACK和DATA代表写入请求,确认和数据。
1. 主机A向主机B发出WRQ,其中端口为69
2. B机向A机发出ACK,块号为0,包括B和A的TID
此时连接建立,第一个数据包以序列号1从主机开始发出。以后两台主机要保证以开始时确定的TID进行通信。如果源ID与原来确定的ID不一样,这个包会被认识为发送到了错误的地址而被抛弃。错误的包是被发送到正确端口的,但是包本身有错误。设想发送方发出一个请求,这个请求在网络的那个设备中被复制成两个包,接收方先后接收到两个包。接收方会认为为这是两个独立的请求,会返回两个应答。当这两个应答其中之一被接收到时,连接已经建立。第二个应答再到达时,这个包会被抛弃,而不会因为接收到第二个应答包而导致第一个建立的连接失败。
5. TFTP包
TFTP支持五种类型的包,我们在以上已经说明这五种类型的包:
opcode operation
1 Read request (RRQ)
2 Write request (WRQ)
3 Data (DATA)
4 Acknowledgment (ACK)
5 Error (ERROR)
包头中包括了这个包所指定的操作码。
2 bytes string 1 byte string 1 byte
------------------------------------------------
| Opcode | Filename | 0 | Mode | 0 |
------------------------------------------------
Figure 5-1: RRQ/WRQ包
RRQ和WRQ包(代码分别为1和2)的格式如上所示。文件名是NETASCII码字符,以0结束。 而MODE域包括了字符串"netascii","octet"或"mail",名称不分大小写。接收到NETASCII格式数据的主机必须将数据转换为本地格式。OCTET模式用于传输文件,这种文件在源机上以8位格式存储。假设每个机器都存在一个8位的格式,这样的假设是最一般的。比如DEC-20,这是一种36位机,我们可以假设它是4个8位外加另外4位而构成。如果机器收到OCTET格式文件,返回时必须与原来文件完全一样。在使用MAIL模式时,用户可以在FILE处使用接收人地址,这个地址可以是用户名或用户名@主机的形式,如果是后一种形式,允许主机使用电子邮件传输此文件。如果使用MAIL类型,包必须以WRQ开始,否则它与NETASCII完全一样。我们的讨论建立在发送方和接收方都在相同模式的情况下,但是双方可以以不同的模式进行传输。例如一个机器可以是一台存储服务器,这样一台服务器需要将NETASCII格式转换为自己的格式。另外,我们可以设想DEC-20这种机器,它使用36位字长,用户这边可以使用特殊的机制一次读取36位,而服务器却可以仍然使用8位格式。在这两种情况下,我们看到了两台机器使用不同格式的情况。可以在两台主机间定义其它的传输方式,但是定义要小心,因为这种传输方式不为人知,而且也没有权威机构为其指定名称或定义它的模式。
2 bytes 2 bytes n bytes
----------------------------------
| Opcode | Block # | Data |
----------------------------------
Figure 5-2: DATA包
数据在数据包中传输,其格式如上图所示。数据包的OP码为3,它还包括有一个数据块号和数据。数据块号域从1开始编码,每个数据块加1,这样接收方可以确定这个包是新数据还是已经接收过的数据。数据域从0字节到512字节。如果数据域是512字节则它不是最后一个包,如果小于512字节则表示这个包是最后一个包。除了ACK和用于中断的包外,其它的包均得到确认。发出新的数据包等于确认上次的包。WRQ和DATA包由ACK或ERROR数据包确认,而RRQ数据包由DATA或ERROR数据包确认。下图即是一个ACK包,操作码为4。其中的包号为要确认的数据包的包号。
2 bytes 2 bytes
---------------------
| Opcode | Block # |
---------------------
Figure 5-3: ACK包
WRQ数据包被ACK数据包确认,WRQ数据包的包号为0。
2 bytes 2 bytes string 1 byte
-----------------------------------------
| Opcode | ErrorCode | ErrMsg | 0 |
-----------------------------------------
Figure 5-4: ERROR包
一个ERROR包,它的操作码是5,它的格式如上所示。此包可以被其它任何类型的包确认。错误码指定错误的类型。错误的值和错误的意义在附录中。错误信息是供程序员使用的。
6. 正常终止
传输的结束由DATA数据标记,其包括0-511个字符。这个包可以被其它数据包确认。接收方在发出对最后数据包的确认后可以断开连接,当然,适当的等待是比较好的,如果最后的确定包丢失可以再次传输。如果发出确认后仍然收到最后数据包,可以确定最后的确认丢失。发送最后一个DATA包的主机必须等待对此包的确认或超时。如果响应是ACK,传输完成。如果发送方超时并不准备重新发送并且接收方有问题或网络有问题时,发送也正常结束。当然实现时也可以是非正常结束,但无论如何连接都将被关闭。
7. 早终结
如果请求不能被满足,或者在传输中发生错误,需要发送ERROR包。这仅是一种传输友好的方式,这种包不会被确认也不会被重新传输,因此这种包可能永远不会被接收到。因此需要用超时来侦测错误。
I. 附录
包头的次序
2 bytes
----------------------------------------------------------
| Local Medium | Internet | Datagram | TFTP Opcode |
----------------------------------------------------------
TFTP格式
Type Op # 没有包头的格式
2 bytes string 1 byte string 1 byte
-----------------------------------------------
RRQ/ | 01/02 | Filename | 0 | Mode | 0 |
WRQ -----------------------------------------------
2 bytes 2 bytes n bytes
---------------------------------
DATA | 03 | Block # | Data |
---------------------------------
2 bytes 2 bytes
-------------------
ACK | 04 | Block # |
--------------------
2 bytes 2 bytes string 1 byte
----------------------------------------
ERROR | 05 | ErrorCode | ErrMsg | 0 |
----------------------------------------
读文件的初始连接
1. 主机A发RRQ到A,包括源=A的ID和目的=69
2. 主机B发送DATA,其中包号=1,这个包被传送到A,源=B的ID,目的=A的ID
错误码
Value Meaning
0 未定义,请参阅错误信息(如果提示这种信息的话)
1 文件未找到
2 访问非法
3 磁盘满或超过分配的配额
4 非法的TFTP操作
5 未知的传输ID
6 文件已经存在
7 没有类似的用户
Internet用户数据报头
(TFTP不一定非要在UDP上实现。)
Format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
域的值
Source Port 由传输发起方选择
Dest. Port 由目的地选择(如果是RRQ或WRQ,其值为69)
Length 包括UDP包头的包长度
Checksum 校验码,如果是0,则未使用校验
注意:TFTP将传输标记TID传送给UDP作为源和目的端口
安全问题
因为TFTP没有安全控制机制,因此安全问题应该多加考虑。通常TFTP允许下载数据而不允许上传数据。
㈢ FTP、TFTP、NFS的区别是什么
FTP_TFTP_NFS三种文件传输协议的区别
文件传送协议FTP(File Transfer Protocol)是Internet上使用比较广泛的文件传送协议。
FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
FTP屏蔽了各种计算机系统的细节,因此适用于在异构网络中任意计算机之间传送文件。它的基本应用就是将文件从一台计算机复制到另一台计算机中。
它要存取一个文件,就必须先获得一个本地文件的副本,如果修改文件,也只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。
您只要记住几个关键词:交互式、存取权限和副本。
单文件传送协议TFTP(Trivial File Transfer Protocol)是一个小而易于实现的文件传送协议。TFTP是基于UDP数据报,需要有自己的差错改正措施。TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别。但它的代码所占内存较小,不需要硬盘就可以固化TFTP代码,很适合较小的计算机和特殊用途的设备。
您会发现TFTP和FTP一个主要的区别就是它没有交互式,且不进行身份验证。
NFS最初应用于UNIX操作系统下,它允许应用进程打开一个远地文件,并能够在该文件中某一个特定位置上开始读写数据。
㈣ 路由器的TFTP服务器是什么意思
TFTP服务器是指使用TFTP协议的服务器。
TFTP是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
TFTP作为一个传输文件的简单协议,是基于UDP协议而实现的,但是也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。
因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。
(4)计算机网络tftp啥意思扩展阅读:
TFTP服务器的有点:
1、TFTP可用于UDP环境;比如当需要将程序或者文件同时向许多机器下载时就往往需要使用到TFTP协议。
2、TFTP代码所占的内存较小,这对于较小的计算机或者某些特殊用途的设备来说是很重要的,这些设备不需要硬盘,只需要固化了TFTP、UDP和IP的小容量只读存储器即可。当电源接通后,设备执行只读存储器中的代码,在网络上广播一个TFTP请求。
3、网络上的TFTP服务器就发送响应,其中包括可执行二进制程序。设备收到此文件后将其放入内存,然后开始运行程序。这种方式增加了灵活性,也减少了开销。
参考资料来源:网络-TFTP
㈤ 简单文件传输协议TFTP与FTP的主要区别是什么各用在什么场合
一、使用方式不同:
TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。需要进行远程文件传输的计算机必须安装和运行ftp客户程序。
TFTP在IP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。
二、作用不同
FTP 是完整面向会话,常规用途文5件传输协议。 TFTP 用作 bones bare - 特殊目的文件传输协议。TFTP允许仅单向传输的文件。
(5)计算机网络tftp啥意思扩展阅读
标准的daemon(在服务器端)在TCP的21端口监听客户端的请求,当客户端发送出一个请求后,就会启动一个TCP连接,此时远程用户就通过了FTP服务器的验证,会话开始。
传统的基于文本的FTP会话需要远程用户利用命令行界面通服务器进行交流,典型的命令语句可以开始或停止FTP会话、远程浏览目录结构,以及上载或下载文件等。新的图形界面FTP客户端提供图形接口(而非命令行界面)来测览目录和移动文件。
㈥ tftp协议是基于什么的协议
TFTP是一个简洁的传输文件协议,基于UDP协议,主要用于小文件传输、网络引导等。
㈦ 什么是TCP/IP
TCP/IP协议(Transfer Controln Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。
TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。
TCP/IP是用于计算机通信的一组协议,我们通常称它为TCP/IP协议族。它是70年代中期美国国防部为其ARPANET广域网开发的网络体系结构和协议标准,以它为基础组建的INTERNET是目前国际上规模最大的计算机网络,正因为INTERNET的广泛使用,使得TCP/IP成了事实上的标准。
㈧ ftp和tftp区别
ftp和tftp区别有以下几点:
一、二者的含义不同:
1、ftp:
文件传输协议(英文:FileTransferProtocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。
2、tftp:
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
二、二者使用方式的不同:
1、ftp:
TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。需要进行远程文件传输的计算机必须安装和运行ftp客户程序。
在windows操作系统的安装过程中,通常都安装了tcp/ip协议软件,其中就包含了ftp客户程序。但是该程序是字符界面而不是图形界面,这就必须以命令提示符的方式进行操作。
2、tftp:
TFTP使用UDP,而UDP使用IP,IP可以还使用其它本地通信方法。因此一个TFTP包中会有以下几段:本地媒介头,IP头,数据报头,TFTP头,剩下的就是TFTP数据了。
TFTP在IP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。TFTP头中包括两个字节的操作码,这个码指出了包的类型。
三、二者所使用的网络端口号不同:
1、ftp:使用的端口号为 20和 21 。
2、tftp:用于 UDP 的端口号为 69 。
㈨ windows下的http,ftp,tftp,smtp,dns,tcp,udp,telnet这些协议的用处
1 http ftp tftp smtp dns tcp udp telnet
这些都是internet协议栈里面的上层协议,与操作系统无关;windows linux都使用这些协议
2 具体功能
http是一种文本(或叫内容)描述语言;是一种描述和解释表达内容的规范。我们现在使用的网页就是按照该种规范做出来;浏览器(netscape ie)使用该规范解释出来展现给我们看
ftp 是用来进行文件传输的规范,这种规范使用的传输层协议是tcp(可靠传送)
tftp 也是用于文件传输的规范,不过一般是小文件,因为它使用的传输层协议是udp(非可靠传送)
smtp 是邮件传送规范,用来进行电子邮件传送,这种规范使用的传输层协议是tcp(可靠传送)
telnet 是进行字符传送的规范,主要应用在bbs 设备控制,这种规范使用的传输层协议是tcp(可靠传送)
dns 是域名解析服务,比如将www.sina.com.cn解析成对应的ip地址(网络通信使用的是ip地址,但是人习惯于记域名),它使用的传输层协议是udp
上面的协议都是应用协议,下面的tcp和udp是传输协议
tcp 可靠传输协议,会保证接收方收到的内容正确、无丢失、顺序与发送方一致(如果无法恢复错误和乱序会通告上层协议)
udp 非可靠传输协议,不保证接收方收到的内容正确、缺漏、乱序;这样只有依靠上层的处理来保证传输的可靠性
㈩ 什么是TFTP,怎么用
ghost8.2 网克服务器端
一、安装3com dabs,不用管它是什么软件了,反正它能提供TFTP服务,下载这个软件并安装它(真是费话)。双击“dabs101_install.exe”安装,“NEXT”,然后需要输入注册码,输入SN里的数字“0111151111111111”,然后再“NEXT”,在选择安装类型时选“SERVER”,然后一直“NEXT”到“FINISH”。
二、安装DHCP服务,进入“控制面板”,然后再进入“添加/删除程序”,再点“安装WINDOWS组件”,在“网络服务”里找到“动态主机配置协议(DHCP)”,选中它,然后确定,一直到安装结束。
好了,第一步骤完成,还仅仅完成了1/3,如果不是为了多数人的话,这些都成了费话中的费话了。
现在该设置服务器了。
服务器设置:
一、设置DHCP:
1、建立IP作用域:
打开“管理工具”的DHCP,新建的是不会有作用域的,所以我们先来建个作用域,右键单击你的服务器,选择“新建作用域”,然后在“名称”及“描述”里随便填就行了,好记就行,在“ip地址范围”里填写合法的起始IP和结束IP,再下一步,“添加排除”里不用填它,下一步,一直到“配置DHCP选项”,选择“否,我想稍后配置这些选项”,因为后面那些关于上网的设置已经不用了,下一步完成即可,一个作用域建立好了,但目前还没激活,右键单击“作用域”,然后选择“激活”。
2、添加作用域选项:
右键单击“作用域选项”,选择“配置选项”,在“可用选项”里选中“067 启动文件名”,字符串值里输入“mba.pxe”,点确定后完成如图。
3、设置作用域属性:
右键单击作用域选择属性,然后在高级里选择“两者”,默认只启用了DHCP。确定即DHCP服务就设置好了。
二、生成无盘启动所需的软件镜象文件:
1、在你的硬盘上新建个目录,我在D盘建了个TFTP目录;
2、找个DOS启动软盘,打开3COM目录下的“Boot Image Editor”第一次启动有些需要回答的,点下一步,然后在网络里去掉“NETWARE”,现在很少人用它了,再下一步,出现多个菜单,选择“CreateTCP/IP Image File”在Options里勾上Writeable和Pre_OS,点OK就可以制做网络启动映像了,至于怎么编辑这个映像,该往这个映像里放些什么文件不用我说了吧!嘻嘻!!!把这个网络启动映像取个名(比:netboot.img),放在TFTP目录里。
三、建立PXE目录启动文件:
1、运行3COM工具里的“3COM Boot Image Editor”,选择第三个“Create a PXE menu boot file...”;
2、点“Add”添加一个文件,在image file里选择D:\FTFT\netboot.img文件,点“OK”;
3、然后点“SAVE”,保存在D:\TFTP目录下,文件名取“MBA.PXE”,和前面DHCP里的配置选项对应,切记;
四、设置TFTP SERVER:
1、运行3COM工具里的“TFTP SERVER”,在网络适配器里选择你的本地网卡,“OK”;
2、点菜单上的“OPTIONS”,选择“Setting...”,然后在标签“File Transfer”里勾选“Transmit secure mod”,然后点旁边的“Browse”,目录选择刚才的D:\TFTP,确定设置完毕退出。
五、运行“services.msc”,然后在服务里找到“3Com TFTP”服务,启动它,如果你想下次不必再手动了,可改为自动。
到这里你的服务器就算做好了!