LWIP協議TFTP傳輸速度如何提高

看到網上有一些關於嫌tftp速度太慢的帖子,有的說只有幾十KB的速度。

最近也在研究lwip的tftp協議。用的stm32H7單片機,主頻400MHz。剛開始是電腦通過無線連接路由,開發板通過網線連接路由。傳輸速度只有200KB。不能滿足需求。

然後把電腦通過網線直接連路由。速度提高到500KB/s,然後又把電腦直連開發板,但是速度沒有提高。

開始不知道原因出在哪裏。懷疑是不是kai'開發板處理速度慢。然後用電腦對電腦TFTP試驗,發現還是500KB速度。看來不是開發板的問題。

用的3CDaemon軟件。換了tftpd32也是一樣。感覺非常不合理,因爲平時用QQ傳文件也沒有這麼慢。難道FTP更快?但是理論上是TFTPgeng更快啊

後來發現用電腦對電腦時,把塊大小提高可以提高傳輸速度。塊大小越大,速度越快。電腦對電腦4MB/S。

原來是塊大小影響了速度,默認塊大小都是512字節。太小了。但是對開發板通信,即使是改了塊大小,也不能提高速度,因爲LWIP的TFTP協議的程序是不支持塊大小協商的。協商不成功,還是按照512的速度發。

所以要提高速度就要修改tftp協議程序。

讓他支持塊大小協商不算難。要看RFC1782和RFC1783兩個協議文件。然後修改程序就可以了。

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