202CH579M学习开发以太网例程DNS域名解析

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH579M" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

DNS是什么

最开始的网络都是直接一个IP地址访问,后来呢出现了域名访问,比如baidu.com

然后记住哈,咱使用域名访问,其实网络设备会先根据这个域名找到对应的IP地址

然后再通过IP地址访问.

怎么通过域名找到IP地址呢? 就是访问DNS服务器.

DNS服务器上记录了所有域名对应的IP地址,访问方式呢是UDP方式.端口号默认是53

假设我使用上面阿里的DNS服务器,我想知道域名 mnif.cn对应的IP地址是多少

我就把mnif.cn这个字符串封装成DNS协议数据,然后通过UDP把数据发送到223.5.5.5 端口:53

然后服务器找到对应的IP并返回.

协议啥的自己去百度下.

测试本节代码

1.把这节的程序下载到开发板

2.连接路由器或者交换机

注意哈,连接的是 LAN端口

3.查看串口打印的日志

程序说明

1.为便于大家移植使用,我封装了下

2.移植的话把下面的文件放到自己的工程里面

3.把超时检测函数放到1ms定时器里面轮行执行

4.把网络接收的数据丢给 net_dns_socket_data 函数

5.假设要解析 mnif.cn这个域名

其它

如果要更改其它设置

原文地址:https://www.cnblogs.com/yangfengwu/p/15780814.html