初入网络系列笔记(6)TFTP协议

一、借鉴说明,本博文借鉴以下博文

  1.锤子,FTP协议,http://www.cnblogs.com/loadrunner/archive/2008/01/09/1032264.html

  2.sunada,FTP协议及工作原理详解,http://www.cnblogs.com/sunada2005/articles/2781712.html

  3.wang_j,FTP协议及数据包浅析,http://www.cnblogs.com/wangj08/archive/2013/05/29/3106501.html

  4.Hundre,FTP协议详解,http://www.cnblogs.com/li0803/archive/2010/11/16/1878833.html

二、TFTP协议

  • 基础知识

  TFTP(Trivial File Transfer Protocol),即小文件传输协议。

  它是一个网络应用程序,它比FTP简单也比FTP功能少。它在不需要用户权限或目录可见的情况下使用,它使用UDP协议而不是TCP协议。

  TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的,因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。

  任何传输起自一个读取或写入文件的请求,这个请求也是连接请求。如果服务器批准此请求,则服务器打开连接,数据以定长512字节传输。每个数据包包括一块数据,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认。如果一个数据包的大小小于512字节,则表示传输结构。如果数据包在传输过程中丢失,发出方会在超时后重新传输最后一个未被确认的数据包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。大部分的错误会导致连接中断,错误由一个错误的数据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据包内容错误,而这种错误不能由延时或重发解释,对需要资源的访问丢失(如硬盘满)。TFTP只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的包会被发送到源机。这个协议限制很多,这是都是为了实现起来比较方便而进行的。

  初始连接时候需要发出WRQ(请求写入远程系统)或RRQ(请求读取远程系统),收到一个确定应答,一个确定可以写出的包或应该读取的第一块数据。通常确认包包括要确认的包的包号,每个数据包都与一个块号相对应,块号从1开始而且是连续的。因此对于写入请求的确定是一个比较特殊的情况,因此它的包的包号是0。如果收到的包是一个错误的包,则这个请求被拒绝。创建连接时,通信双方随机选择一个TID,因此是随机选择的,因此两次选择同一个ID的可能性就很小了。每个包包括两个TID,发送者ID和接收者ID。这些ID用于在UDP通信时选择端口,请求主机选择ID的方法上面已经说过了,在第一次请求的时候它会将请求发到TID 69,也就是服务器的69端口上。应答时,服务器使用一个选择好的TID作为源TID,并用上一个包中的TID作为目的ID进行发送。这两个被选择的ID在随后的通信中会被一直使用。

转载于:https://www.cnblogs.com/MGKKKK/p/6195163.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机科学与技术班级口号八字,班级的八字口号

第1篇:初中班级八字口号1.拼搏奋进、永远进步2.全民健身、利国利民3.健康第一、从我做起4.零二零二,独一无二5.零三零三,奋勇争先6.四班四班,锐不可当7.展现自我、争创新高8.奥运精神、永驻我心9.强身健体、立志成材10.顽强拼搏、…

Prolog学习笔记100805

//love(zhangxueyou,wanfei). 爱(张学友,王菲). “张学友爱王菲”。prolog是不允许使用除了基本字符以外字符的。最末尾的“.”一定不能掉,它表示一个句子结束。 //“:-”在prolog中表示“如果”的意思,我们使用它来定义规则。lovers(X,Y):-love(X,Y),lo…

charts引入icon图片_v-charts 踩坑之路

最近要做一个大屏 没有使用echarts 使用了更适合vue封装的v-charts组件库,第一次使用 期间踩了不少坑,记录下来和大家分享一下。废话不多说 开始搞起来!一、安装 引入什么的大家自行百度 百度一下,你就知道​www.baidu.com二、2.1…

今天星期一在家值班

只盼着不要出问题 转载于:https://www.cnblogs.com/bkchengzheng/p/6196193.html

高一学生计算机知识现状分析,关于高中信息技术课教学现状的思考

一、 当前信息技术教学现状的分析(一)课程开设的现状高中信息技术课已经开展好多年了,总的来说,越来越被教育部门重视了,从刚开始的仅仅要求学生认识计算机,到学习一些简单处理软件,到把信息技术整合成一门象样的…

魔兽争霸 地图编辑器 常用属性【原创】

物体单位 技能-英雄:选择英雄的技能文本-名字:英雄的名字状态-初始力量、敏捷、智力:初始三围状态-初始属性:初始英雄类别(力量、敏捷、智力)状态-每等级所加力量、敏捷、智力:每升一级增加三围…

pla3d打印材料密度_模具粉必看!总有一款粉末能解决您的问题-毅速3D打印研制...

金属3D打印最常见的形式是粉末床熔融。这类工艺使用热源(SLM工艺使用激光,EBM工艺使用电子束)逐点将粉末颗粒熔融在一起,逐层加工至物件完成。在金属3D打印过程中,可能存在很多设备操作者试图避免的问题,包…

魔兽争霸 地图编辑器 笔记

//高级——游戏平衡常数英雄最大XP取得范围:最大经验值英雄最大等级限制 //玩家属性——势力重新定义添加势力——我方共享单位控制、共享高级单位控制

【Networking】容器网络大观 SDN 资料汇总

SDNLAB技术分享(十五):容器网络大观SDNLAB君 • 16-06-17 •2957 人围观编者按:本文系SDNLAB技术分享系列,本次分享来自SDN撕X群(群主:大猫猫)群直播,我们希望通过SDNLAB…

七年级计算机室使用计划表,七年级信息技术教学工作计划

时间眨眼而过,又是一年工作计划的时刻啦!下面是出国留学网小编为大家整理的“七年级信息技术教学工作计划”,欢迎参阅。内容仅供参考,了解更多关于工作计划内容,请关注出国留学工作计划栏目。七年级信息技术教学工作计划【一】一、…

java 建立ssh隧道_SSH基础

SSH基本概念SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有…

windows 批处理

暂停 pause>nul 批处理删除自身 attrib -h -s -r -a %0 del %0 第一行是把自身可能有的隐藏,系统,只读,存档属性去掉 第二行代码是删除自身(%0代表自身) 设置默认的控制台前景和背景颜色 COLOR [attr] attr …

GJM : Unity3D HIAR -【 快速入门 】 三、导入 SDK

导入 SDK 本文将向您介绍如何在 Unity 工程中导入 HiAR SDK for Unity。在开始之前,请先访问 HiAR 官网下载最新版本的 SDK。 下载 HiAR SDK for Unity Step 1. 下载解压 SDK 前往下载页面下载 SDK 包,可以获得一个 zip 文件:hiar_sdk_unity_…

5g时代计算机网络过时,5g云电脑 取代主机(5g时代云电脑会普及吗)

云电脑会是未来的发展方向,但是要完全取代传统的个人电脑,还需要一段时间。云电脑相比传统个人电脑,更方便灵活,更环保,更便宜。但是目前网络速度还有一定瓶。有一定关系,首先5g的普及,电脑网速…

蚁群算法

蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究…

中修改环境变量_Golang入门(1):安装与配置环境变量的意义

摘要在几年前学习Java的时候,环境的配置就会劝退一部分的初学者。而对于Golang来说,也需要从环境的配置开始学起。这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量GOROOT和GOPATH的配置以及这两个环境变量起到什么样的…

1219个人总结

我们团队使用的工具有:Eclipse,github(保存代码,实现代码合并) 使用的API:Bmob(云数据)官网:http://www.bmob.cn/ Mob(短信验证):http…

华科计算机学院有博士吗,华科计算机学院博士毕业条件

华中科技大学计算机学院2008级博士论文规定根据《华中科技大学申请博士学位发表学术论文的规定》,我院博士研究生申请博士学位前,须按以下要求之一发表学术论文:1、A类、B类或学院规定的国际顶尖学术会议论文一篇;2、SCI期刊论文一…