FLUTE协议是一个为基于IP的通信网络上进行的单向文件传输定制的协议。提出FLUTE的目的是在几秒以上的传输会话时间里给许多用户发送任意大小的文件。FLUTE协议建立在ALC协议组件上,因此有很好的扩展性。FLUTE建立在ALC的基础上,并做了以下的一些扩展:
1)它定义了文件传输会话,这个定义不受ALC协议约束,但是也包括传输细节以及时间限制。
2)在带内给ALC会话和被传文件特性提供传输参数信令。
3)定义一个会话期内的多个文件复用机制。
图2.9展示了FLUTE的内部协议组件结构。在FLUTE里,并不强制包含所有的ALC内部组件,实施严格的资源支配制度的通信网,例如移动通信和卫星系统,不需要拥塞控制协议组件。同样,在FLUTE中,FEC组件也是可选择的。
(www.xing528.com)
图2.9 FLUTE的内部协议组件结构
在FLUTE中,ALC会话就是指文件传输会话,ALC对象是指有待传输的文件。我们默认FLUTE会话的所有ALC数据包都有TOI域。FLUTE使用FDT(File Deliv-ery Table,文件传输表)在带内描述文件的不同相关属性。逻辑上来说,一个FDT是一系列文件描述入口。每个文件描述入口都必须为文件提供TOI,并且提供标识文件的URI。在发送文件时,通常将FDT以一次事件发出。一次FDT事件包含FDT的一个或多个文件描述入口。FDT事件的TOI域值为0,在文件传输期内TOI大于0。FDT将在XML文件里进行描述。ALC提供的推荐后便是文件传输会话的描述。接收端需要知道发送端的IP地址、每个会话信道的端口和指示文件是否为FLUTE文件的标志。
图2.10表示的是接收端处的文件传输步骤。接收端被告知发送方的IP地址、会话用到的TSI、可用目的地址和端口号。这些信息是通过文件传输会话描述获得的。然后接收端加入一个或多个信道。接收端验证接收到的ALC数据包是否与目标TSI联系在一起,然后根据TOI解复用发来的数据包,并将它们存储起来。当接收端接收到足够多包含传输对象的已编码符号的数据包时,就能够恢复传输对象。成功解码所需的数据包数量由FEC方案决定。TOI值为0的接收对象被称为FTD实例。对这类对象来说,接收端将其FTD数据库填充在核实的文件描述中。对于FTD实例以外的对象,接收端会询问FTD数据库,并且如果文件属性可用,就把这些属性分配给相应的文件。检查接收到的业务内容是否符合相应描述也是必要的。
图2.10 FLUTE接收端处的文件传输高级别顺序图解
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。