TFTP 子网广播选项

广播风暴是在大量系统从网络启动时可能发生的性能问题。 "次要文件传输协议 (TFTP) 子网广播" 选项可帮助解决此问题。

当大量客户机同时请求其引导代码时,会发生这些广播风暴。 当数百个系统启动时,必须在每个系统与 TFTP 服务器之间通过网络中的每个中继段路由相同的数据。

TFTP 子网广播选项允许服务器基于子网向系统广播引导代码。 通过使用子网定向广播, "子网广播" 数据包将在路由器之间传输,直到它们到达系统所在的子网为止。 包传输是单点广播。 此时,目标子网上的路由器会将数据包广播到子网上的系统。 子网上无兴趣的主机会将数据包丢弃。 通常,在主机的 IP 层确定没有应用程序对接收广播所指向的端口上的数据感兴趣之后,这些包将被该主机的 IP 层丢弃。 请参阅 图 1 以获取子网定向广播的图示。 此解决方案可大幅减少网络流量以及需要许多系统启动 (同时启动时) 的时间。

TFTP 子网广播选项使客户机能够加入广播文件组。 它还允许客户机接收文件的所有后续块,直到客户机成为主客户机为止。 当客户机从 TFTP 服务器接收指示它是主客户机的选项确认 (OACK) 包时,它将成为主客户机。 客户机必须跟踪其接收的块。 在客户机成为主客户机之后,它可以请求未接收到的块。 主客户机通过在主客户机需要的块之前发送包含块的块号的 ACK 包来请求块。 例如,如果客户机需要块 5 ,那么它将发送块号为 4 的 ACK。

当客户机接收指示它是主客户机的 OACK 包时,客户机必须发送请求它需要的第一个块的 ACK。 从那时起,客户机必须以升序请求块,但不一定是连续顺序。 主客户机继续向服务器发送 ACK 包以指示它需要的下一个块。 当主客户机接收到它需要的所有块时,它将发送一个 ACK ,其中包含正在传输的文件上的最后一个块的编号。 在服务器接收到具有正在传输的文件的最后一个块号的 ACK 后,将发送 ACK 的客户端的传输视为完成。 客户机可以随时通过为最后一个块发送 ACK 或通过发送错误 (ERR) 包来停止其传输。 客户机可以结束此传输,而不考虑它是否是主客户机。

注: 此 "TFTP 子网广播" 选项旨在改进将大型文件同时传输到公共子网上的多个客户机的过程。 此选项对于只需要几个块即可传输或单个客户机传输的文件没有帮助。
图 1。 通过子网广播的示例
通过子网广播的样本图