STM32 基础系列教程 36 - Lwip_dns
前言
域名系統(英文:DomainNameSystem,縮寫:DNS)是互聯網的一項服務。它作為將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便地訪問互聯網。DNS使用TCP和UDP端口53。當前,對于每一級域名長度的限制是63個字符,域名總長度則不能超過253個字符。
開始時,域名的字符僅限于ASCII字符的一個子集。2008年,ICANN通過一項決議,允許使用其它語言作為互聯網頂級域名的字符。使用基于Punycode碼的IDNA系統,可以將Unicode字符串映射為有效的DNS字符集。因此,諸如“XXX.中國”、“XXX.臺灣”的域名可以在地址欄直接輸入并訪問,而不需要安裝插件。但是,由于英語的廣泛使用,使用其他語言字符作為域名會產生多種問題,例如難以輸入,難以在國際推廣等
本實險主要目的是學習stm32 + LWIP的DNS功能, 利用DNS實現得到得到網站的IP地址。
?
示例詳解
基于硬件平臺: MCU 的型號是?STM32F407VGT6, 使用stm32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。本示例所用的最小系統板原理圖:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
同時給工程加入我們事先準備好的tcp_echoserver.c文件并指定tcp_echoserver.h路徑:
?
?
?
?
?
?
?
?
?
?
?
?
?
開啟程序仿真,在My_Dns_CallBack 中加入斷點,可以看到DNS解析后的結果:
同樣在TCP調試工具也可以看到DNS上報結果:
直接用命令行輸ping www.baidu.com 的結果,可以看到DNS解析得到的結果有同能還不一樣:
OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,會有不定期技術干貨推出!!
?
?
?
?
?
?
?
?
文中資料下載,在公眾號里給十三發消息:
下載|STM32基礎系列教程36
?
關注十三公眾號
?
總結
以上是生活随笔為你收集整理的STM32 基础系列教程 36 - Lwip_dns的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: STM32 基础系列教程 35 - Lw
- 下一篇: STM32 基础系列教程 37 - Lw
