Customize RamDisk TFTP Block and Window Sizes for PXE Boot in SCCM. In Configuration Manager we got the option to tweak our PXE boot times, TFTPWindowsSize which we can change in the registry on our PXE enabled DP’s.
Customize the RamDisk TFTP block and window sizes on PXE-enabled distribution points
You can customize the RamDisk TFTP block and window sizes for PXE-enabled distribution points. If you’ve customized your network, a large block or window size could cause the boot image download to fail with a time-out error. The RamDisk TFTP block and window size customizations allow you to optimize TFTP traffic when using PXE to meet your specific network requirements. To determine what configuration is most efficient, test the customized settings in your environment.
- TFTP block size: TFTP (Trivial File Transfer Protocol) is a simple, lightweight protocol used to transfer files over a network. One of the key parameters in TFTP is the block size, which determines the amount of data that can be transmitted in each TFTP packet.
The default TFTP block size is 512 bytes, which means that each packet can carry up to 512 bytes of data. However, this block size can be increased to a maximum of 65464 bytes for some implementations of TFTP.
Increasing the TFTP block size can improve the speed of file transfers by reducing the number of packets that need to be transmitted. However, larger block sizes can also increase the risk of packet loss or corruption, which can lead to slower transfer speeds or even transfer failures.
In practice, the optimal TFTP block size depends on various factors such as network conditions, file size, and the TFTP implementation being used. Therefore, it is recommended to experiment with different block sizes to find the most efficient and reliable setting for a specific use case. - TFTP window size: TFTP requires an acknowledgment (ACK) packet for each block of data that is sent. The server does not send the next block in the sequence until it receives the ACK packet for the previous block. TFTP windowing enables you to define how many data blocks it takes to fill a window. The server sends the data blocks back-to-back until the window is filled, and then the client sends an ACK packet. If you increase this window size, it reduces the number of round-trip delays between the client and server, and it decreases the overall required time to download a boot image.
The window size in TFTP (Trivial File Transfer Protocol) is an important parameter that determines the number of data packets that can be sent before waiting for an acknowledgment from the receiver. The window size is used to optimize the transfer of large files over a network.
The window size is determined by the sender and can be adjusted based on the network conditions and the available resources. Larger window size can improve the transfer speed by allowing multiple packets to be transmitted without waiting for an acknowledgment. However, increasing the window size too much can lead to congestion, packet loss, and network latency, resulting in slower transfer speeds.
The optimal window size in TFTP depends on several factors, such as the network bandwidth, packet loss rate, and latency. A low-latency network with high bandwidth can allow for a larger window size, while a high-latency network with low bandwidth may require a smaller window size to avoid congestion and packet loss.
In conclusion, the window size in TFTP is a critical parameter that can significantly impact the efficiency and speed of file transfers over a network. Properly adjusting the window size based on network conditions can help optimize file transfer speeds and reduce the risk of packet loss or congestion.
Modify the RamDisk TFTP window size
To customize the RamDisk TFTP window size, add the following registry key on PXE-enabled distribution points:
- Location:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP
- Name: RamDiskTFTPWindowSize
- Type: REG_DWORD
- Value: (customized window size)
- The default value is 1 (one data block fills the window).
Modify the RamDisk TFTP block size
To customize the RamDisk TFTP window size, add the following registry key on PXE-enabled distribution points:
- Location:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP
- Name: RamDiskTFTPBlockSize
- Type: REG_DWORD
- Value: (customized block size)
- The default value is 4096.
Both Windows Deployment Services and the Configuration Manager PXE responder service support these TFTP configurations.
The default value is 4096 (4k).
Conclusion UEFI boot is slower! and the values used will be different for many customers as there are now optimal values that will be best in all environments
Thanks for putting this info together. Those boot time comparisons are interesting. TFTP just seems an extremely old school and inefficient protocol. I’m surprised something else hasn’t superseded it yet.
I’ve used the tool before and greatly appreciated. Tried to use it today and it seems to be handling the keys/values backwards. Registry screenshot attached…
Do you update SCCM recently? What happens if you remove keys and create again? What version of SCCM do you use?
War bei mir auch so. Werte von BlockSize und WindowsSize vertauscht. Hab es manuell in der Registry korrigiert