设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
TFTP协议的内容
返回列表
发新帖
TFTP协议的内容
[复制链接]
11
|
0
|
2006-5-24 17:15:31
|
显示全部楼层
|
阅读模式
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,其中端口为692. B机向A机发出ACK,块号为0,包括B和A的TID此时连接建立,第一个数据包以序列号1从主机开始发出。以后两台主机要保证以开始时确定的TID进行通信。如果源ID与原来确定的ID不一样,这个包会被认识为发送到了错误的地址而被抛弃。错误的包是被发送到正确端口的,但是包本身有错误。设想发送方发出一个请求,这个请求在网络的那个设备中被复制成两个包,接收方先后接收到两个包。接收方会认为为这是两个独立的请求,会返回两个应答。当这两个应答其中之一被接收到时,连接已经建立。第二个应答再到达时,这个包会被抛弃,而不会因为接收到第二个应答包而导致第一个建立的连接失败。5. TFTP包TFTP支持五种类型的包,我们在以上已经说明这五种类型的包:opcode operation1 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和目的=692. 主机B发送DATA,其中包号=1,这个包被传送到A,源=B的ID,目的=A的ID错误码Value Meaning0 未定义,请参阅错误信息(如果提示这种信息的话)1 文件未找到2 访问非法3 磁盘满或超过分配的配额4 非法的TFTP操作5 未知的传输ID6 文件已经存在7 没有类似的用户Internet用户数据报头(TFTP不一定非要在UDP上实现。)Format0
1
2
30 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允许下载数据而不允许上传数据。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
dota新建素质群
2
关于胡庆余堂珍珠粉
3
储存卡格式化
4
今下班稀里糊涂的跑到坟地去了 懂这个的给解释一下
5
像大明宫词这样的历史剧 还有哪些? 最好是 盛唐,春秋战国 明清的~
6
plc的发展及前景
7
(讨论)当你还是个啥也不懂的白菜时,你最害怕什么英雄?
8
如果展开式(x+1/x)^2n中,第四项与第六项的系数相等,求n及展开式中的常数项
9
谁知道冬天的几个简单好做的美食22782
10
二十四史中,为什么有的称《某书》,如《汉书》;有的称《某史》如《宋史》呢?
11
premiere
12
许昌网通(联通)宽带现在禁用路由器了怎么办?
13
谁能赏小弟1元钱(1百度币)本人送30财富行吗?不行的话您开价100一下都可以!
14
如图,已知AB=AC,若CE=BD,则GE=GD,说明理由。
15
梦幻西游新
16
梦想世界新区科技不到,升到50级有必悟的50级群技能吗?
17
(判断题)共射极放大器既有电压放大能力,也有电流放大能力,所以共射极放大器有功率放大能力
18
根据方程组写应用题 初二
19
八年级人教版语文上册基训第20课[落日的幻觉}的题目
20
A(a,a1),B(b,b1)是圆x^2+y^2=2上任意的两点,若ab+a1b1=-1,则线段AB的长是
21
我从不把什么东西珍藏在心里这篇文章提两个问题并回答
22
你好,我也是一名理科高考生
23
新手问下林肯法球的作用
24
甲乙两数的和是8.25,如果把乙数上午小数点向右移动一位,正好和甲数相等。那么乙数是( ),甲数是( )
25
1 5 6 7 11 9 16 13 按规律填空有什么规律
26
当M=( )或( )时,㎡=2m
27
直线2x-y+3=0关于直线x-y+2=0对称的直线方程是
28
谁知道救世主刚演几分钟的那个背景音乐叫什么?就是李连杰揍警察的那段!50分正确再追加
29
怎么注册国外的域名
30
以The Internet and I为题写一篇作文,描述因特网给你的生活带来的变化,不少于50词。
31
惠普笔记本(CQ B1200 现已停产)装个1G内存条要多少钱?
32
推荐木吉他,初学者,价格适中别太贵了就行了
33
巴黎有没有刷图正常PK场很卡的
34
七上期末语文测试题
35
射手座性格分析:我的生日公历198412月5日,血型A型
36
湖北哪里卖有罗汉果?罗汉果有什么用处?谢谢!
37
如何用键盘精灵控制键盘一直点击方向右键??请详细一步步解答
38
求文档: 鲁教版七年级上册语文配套练习册答案
39
皮肤黄怎么祛?
40
有一桶油,第一次用去30千克 第二次用去30千克 第三次用去的=前两次用去的总和 最后剩下24千克 这桶油有
41
东芝硬盘 ,重映射扇区,黄色警告,问题严重吗?
42
一次数学竞赛共12道题,每做对一题得9分,做错一题倒扣3分,不做不得分也不扣分,王刚得了84分,问错几道?
43
问一道数学题
44
曲射什么的 射蜜蜂最给力了!
45
2010个人所得税算法
46
谁有红色警戒3命令与征服1.12版本修改器?
47
中外合作办学的学校好吗?
48
盐腌的乌榄肉适合什么体质的人吃
49
请问一下小儿信用贷款的利息是多少?谢谢!
50
鸡为啥有时候会独立?
51
怎么用放大镜能让制燃烧? 大约需要多少度的放大镜?当天温度大约多少?在太阳底下
52
腊月十五生小孩好不好?
53
我的唐朝兄弟哪里能下载?
54
“cute”的过去式
55
我家是光纤接入,请问路由器怎么与电脑连接,还有就是先连接好再设置,还是先设置好再连接?
56
PSP上的《我的妹妹不可能那么可爱》会汉化吗?
57
萨满的野性狼魂的技能栏找不到了,怎么调出来
58
芳草如啥
59
出国务工都需要什么条件
60
作业题,帮帮忙,要快
61
dnf女枪炮和男枪炮什么装备都不穿 包括首饰 和时装 站街的属性是一样的么
62
只有右侧臀部酸痛。其他并没有什么症状。谢谢啦!
63
我的前男友还是很喜欢我 常常发短信给我 说会一直默默保护我
64
场强为零处,电位一定为零。电位为零处,场强一定为零。这句话对吗?如果错了,错在哪?
65
这几天要买台电脑,能全画质魔兽世界就行,(包括开大灾变)找个 WOWER或懂电脑的大神来帮我搞下、、
66
怎样才能经营好自己的婚姻?
67
词牌名的资料
68
你觉得网店开什么好赚钱呢
69
请问从渭南市到城固县怎么乘车最方便?
70
怎么查手机串号
71
中央空调清洗工艺
72
今年过年是阳历几号?
73
帮忙取一个搞笑的三字名字 有内涵的 姓吕
74
女孩子、中专毕业,学的旅游与酒店管理。在酒店也学习过一段时间。现在在公司做文员。打算明年去扬州工...
75
及加什么偏旁能组成一个字 谢谢
76
【在线急等!!】广州现在雕塑公园要门票吗!?樱花展还有吗??
77
文曲星A1000C学习机无法开机蓝屏了,插在电脑上也不显示硬盘。请问是什么原因,太原何处有维修点。 谢谢。
78
明天我依然爱你的皮贡的美好的感觉 谁有的?
79
360扫描老卡在桌面快捷方式,一款游戏的快捷方式点击不能进去,怎么办
80
我在北京参加中考(籍贯在吉林没有特殊身份),但是可以用中考分数上高中吗(普高就行)尽量不花钱
81
急~寒假快到了,请问绍兴哪里培训英语最好?
82
显卡催化剂问题
83
各位大哥大姐!帮小弟查下这是在哪个南宁工商银行分行开的户。拜托了。
84
如何在华为8506交换机上实现ip和mac绑定
85
谁有实况足球2011一球成名修改器啊 ? 跪求!! 发我邮箱
[email protected]
86
参数错误
87
cos^2 wt求导
88
削笔器恰子坏了怎么修
89
要做一首关于我们《和睦路小学》的校歌请各位会做歌的人帮帮忙。
90
用某物做某事用英语怎么说?高手进!
91
1983年农历九月初一
92
同样都是1G内存,海力士DDR2 667MHz 和三星DDR2 667MHz 兼容吗?
93
小孩子吃槟榔对智力有没有影响18234
94
求不像情侣网名的情侣网名。
95
数学问题已知正整数x,y满足x^2-y^2=24,求xy(x+y)的值
96
总感觉电脑不稳定游戏变的很快。有时候看不人就挂了。什么问题下面是配置
97
如图,直线AB,CD相交于O,OE平分∠BOD,∠AOE=140°,求∠AOC的度数
98
年度总结
99
请问大家谁知道这个卡通兔子的名字~ 急呀