W5500 dns網域名稱解析

2021-09-27 00:22:30 字數 1086 閱讀 1536

使用w5500最好使用wiznet官方原始碼,使用某火的例程被坑死。

dns網域名稱解析基於udp協議的,對mac位址有要求,對於網絡卡mac要使用單播位址,即mac的32位為0,可以參考sambookshelf的mac位址規則,如圖1。

免費的dns伺服器如下圖2.也可以將dns伺服器設定為閘道器位址,閘道器會自動解析網域名稱。

在工程中新增dns相關檔案如圖3.utility.c中包含一些字串處理的演算法,dns.c中包含網域名稱解析的相關操作。

w5500官方原始碼中,dns網域名稱解析分為兩步:

初始化dns的socket和快取區。

進行網域名稱解析。

程式**如下,**中的串列埠輸出程式基於rtthread作業系統,使用時可以進行修改。

/**

*@brief:網域名稱解析

*@input: domain_name: 網域名稱字串

*@return: 無

*/void dnslink(uint8_t *domain_name)

;//閘道器位址,根據實際情況修改

uint8_t dns_2nd[4]=;//定義乙個備用的dns

uint8_t domain_ip[4];//存放dns返回的網域名稱對應的ip位址

dns_init(sock_dns,dnsbuf);

rt_kprintf("domain name:%s\r\n",domain_name);

rt_kprintf("try to connect first dns server %d.%d.%d.%d\r\n",dns_1st[0],dns_1st[1],dns_1st[2],dns_1st[3]);

ret = dns_run(dns_1st,domain_name,domain_ip);

if(ret != 1)

if(ret>0)else

}

參考連線:

DNS網域名稱解析

dns是動態網域名稱系統的英文簡稱,是用來把我們輸入的網域名稱解析成ip位址的,如果沒有dns我們輸入的例如www.baidu.com這樣的網域名稱就無法被訪問。如果我們訪問 的時候要輸入ip位址的話,顯然既不方便也不容易記憶,所以我們用網域名稱來訪問 網域名稱雖然便於人們記憶,但網路中的計算機之間...

DNS網域名稱解析

一次請求過程大約經過三步 第一,dns網域名稱解析 第二,cdn獲取離使用者最近的節點 第三,建立http連線。今天和大家聊的是dns網域名稱解析。既然是dns網域名稱解析,那麼什麼是dns?dns domain name system,網域名稱系統 網際網路上作為網域名稱和ip位址相互對映的乙個分...

網域名稱解析 DNS

網際網路的網域名稱解析系統dns是乙個聯機分布式資料庫系統,並採用客戶 伺服器體系。tcp ip應用程式使用它來完成主機名稱和ip位址之間的對映。dns使大多數名字都在本地解析,僅少量解析需要在網際網路上通訊,因此系統效率很高。由於dns是分布式系統,即使單個計算機除了故障,也不會妨礙整個系統正常執...