zoukankan      html  css  js  c++  java
  • TFTP协议

    1:TFTP的概念

    简单文本传输协议,主要用于UDP实现,实现简单,不考虑高吞吐量

    2:协议

    UDP(首部)|操作码(1:RRQ表示一个读请求|2:WRQ表示一个写请求|3:表示一个后面跟数据的TFTP字段|4:ACK,表示一个应答|5:error表示一个错误,在读写过程中都可能引起错误)|...........

    2.1:当操作码位1或者是2的时候:表示一个读请求或者一个写请求

    2.2:文件名0(文件名不限长度,文件名后面加一个0表示结束)|模式(是一个ASCII码串,netascii或octet,也是以0结束)

    2.3:当操作码是3时表示后面跟的是一个数据:

    2.4:块编号(不管是读写,这个块编号表示现在数据进行到哪个位置,两个字节)|数据(0-512字节)

    2.5:当操作码是4的时候表示一个ACK

    2.6:块编号(读的时候,客户发ACK表示应该读取哪一块/写的时候,服务器返回ACK表示此块已经写完)

    3:一个列子

    bsdi.1106>svr4.tftp:19 RRQ "test1.c"

    svr4.1077>bsdi.1106:udp 516(这里表示的是TFTP报文的长度)

    bsdi.1106>svr4.1077:udp 4

    为什么在开始的时候svr4利用的是知名端口号,而在下方的几条报文中,利用的是随机的端口号,因为TFTP在接受一条请求的时候,后期要分配一个随机的端口,以此准备接受下一次的TFTP请求








  • 相关阅读:
    How to make MySQL handle UTF-8 properly
    如何禁用Firefox,chrome浏览器“不安全密码警告”
    How to start a VirtualBox VM headless in Windows 10
    Centos7安装activeMQ
    centos7 redis配置
    VirtualBox配置
    Oracle中序列(Sequence)详解
    oracle函数的创建及调用
    jdbcTemplate insert 封装
    macbook eclipse 快捷键
  • 原文地址:https://www.cnblogs.com/SmileLion/p/5863543.html
Copyright © 2011-2022 走看看