TCP/IP详解学习笔记(11)-- TFTP:简单文本传输协议,BOOTP:引导程序协议

1.TFTP:
     TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,基于UDP实现。提供不复杂、开销不大的文件传输服务。端口号为69。
2.TFTP的报文格式,如图所示
TCP/IP详解学习笔记(11)-- TFTP:简单文本传输协议,BOOTP:引导程序协议_第1张图片
     图中显示了5种TFTP报文格式(操作码1和2的报文使用相同的格式)。
     TFTP报文的头两个字节表示操作码,对于读请求和写请求(WRQ),文件名字段说明客户要读或写的位于服务器上的文件。模式字段是一个ASCII码串netascii或octet
    •      netascii表示数据是以成行的ascii码字符组成,以两个字节\r \n作为行结束符
    • octet则将数据看做8bit一组的字节流而不作任何解释。
     最后一种TFTP报文类型是差错报文,它的操作码为5.它用于服务器不能处理读请求或者写请求的情况。在文件传输的过程中的读和写也会导致传送这种报文,接着停止传输。
3.TFTP的工作过程
     TFTP的工作过程很像停止等待协议,发送完一个文件块后就等待对方的确认,确认时应指明所确认的块号。发送万数据后在规定时间内收不到确认就要重发数据PDU,发送确认PDU的一方弱在规定时间内收不到下一个文件块,也要重发确认PDU。这样保证文件的传送不致因某一个数据报的丢失而告失败。
 
4.BOOTP:
     BOOTP是一个基于IP/UDP协议的协议,它可以让无盘站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。使用BOOTP协议的时候,一般包括Bootstrap Protocol Server(自举协议服务端)和Bootstrap Protocol Client(自举协议客户端)两部分。
5.BOOTP的分组格式
     BOOTP请求和应答均被封装在UDP数据报中,长度为300字节的BOOTP请求和应答的格式如图所示:
TCP/IP详解学习笔记(11)-- TFTP:简单文本传输协议,BOOTP:引导程序协议_第2张图片
  • 操作码:1请求,2应答
  • 硬件类型:1表示10Mb/s的以太网
  • 硬件地址长度:对于以太网,硬件地址长度字段为6个字节
  • 跳数:由客户端设置为0
  • 事务标识:一个由客户端设置并由服务器返回的32bit整数。客户用它对请求和应答进行匹配。
  • 秒数:客户开始进行引导时,将设置一个时间值,备用服务器能看到这个时间,超过这个时间备用服务器会响应客户的请求,这意味着主服务器没有启动。    
  • 客户IP地址:客户端写入,否则将设置为0
  • 客户硬件地址: 有客户设置。
  • 服务器主机名:一个空值终止的字符串,由服务器填写。
  • 特定厂商区域:用于对BOOTP进行不同的扩展。
     端口号:    
     BOOTP服务器为67, BOOTP客户为68

你可能感兴趣的:(TCP/TP)