TCP/IP-学习笔记4-UDP协议

一、UDP 数据封装

 

UDP数据长度= IP数据长度- IP首部数据长度

UDP提供不可靠性:它把应用程序传给IP层的数据发送出去,不保证能否达到目的地。

源端口号:发送端的端口

目的端口号:接收方端口号

UDP长度:值为UDP首部和数据的总长度

校验和: 覆盖UDP首部和数据

UDP数据报最好不要太大,越大就可能会引起IP切片传输,导致出错的概率也就可能越大。

二、应用

2.1 TFTP 简单文件传输协议

 操作码(2字节): 

*读请求(RRQ =1) 和 写请求 ( W R Q =2)

  • 文件名字段说明客户要读或写的位于服务器上的文件。这个文件字段以0字节作为结束(见图15-1)。
  • 模式字段是一个ASCII码串netascii或octet(可大小写任意组合),同样以0字节结束。netascii表示数据是以成行的ASCII码字符组成,以两个字节—回车字符后跟换行字符(称为CR/LF)作为行结束符。
  • octet则将数据看作8bit一组的字节流而不作任何解释

*数据(data=3)和 ACK=4

  • 每个数据分组包含一个块编号字段,它以后要在确认分组中使用。以读一个文件作为例子,TFTP客户需要发送一个读请求说明要读的文件名和文件模式(mode)。如果这个文件能被这个客户读取,TFTP服务器就返回一个块编号为1的数据分组。TFTP客户又发送一个块编号为1的ACK。TFTP服务器随后发送块编号为2的数据。TFTP客户发回块编号为2的ACK。重复这个过程直到这个文件传送完。除了最后一个数据分组可含有不足512字节的数据,其他每个数据分组均含有512字节的数据。当TFTP客户收到一个不足512字节的数据分组,就知道它收到最后一个数据分组。

*差错码(error=5) 

  • 用于服务器不能处理读请求或写请求的情况。在文件传输过程中的读和写差错也会导致传送这种报文,接着停止传输。差错编号字段给出一个数字的差错码,跟着是一个ASCII表示的差错报文字段,可能包含额外的操作系统说明的信息。

TFTP使用不可靠的UDP,TFTP就必须处理分组丢失和分组重复。分组丢失可通过发送方的超时与重传机制解决。

2.2 Bootstrap 引导程序协议

....

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章