DNS
DNS(Domain Name System 域名系统)
DNS是对IP地址和域名进行相互转换的系统,核心为DNS服务器。
(IP地址和域名地址:百度为例)
IP地址:119.75.217.109
域名地址:www.baidu.com
在浏览器上访问,进入的都是百度的搜索页面,但是他们访问的接入过程不同。
域名是分配给服务器端的虚拟地址,DNS要将这虚拟地址转化为实际地址(IP地址)。
ping www.baidu.com (可以获得百度的IP地址)
为什么要使用域名?
IP地址并非一直不变的!
在每次程序运行时根据域名来获得IP地址从而接入服务器,不再依赖IP地址。
利用域名获取IP地址&利用IP地址获取域名
//Linux
#include<netdb.h>
//根据域名获取IP地址
struct hostent * gethostbyname(const char* hostname);
//利用IP地址获取域名
struct hostent * gethostbyaddr(const char* addr,socklen_t len, int family);
//Windows
#include<winsock2.h>
struct hostent * gethostbyname(const char* name);
struct hostent * gethostbyaddr(const char* addr,int len, int type);
代码(Windows实现,只有gethostbyname()):
本文深入探讨了DNS(域名系统)的基本概念,解释了其在互联网中如何将易记的域名转换为IP地址的工作原理。文章详细介绍了DNS服务器的作用,以及在Linux和Windows环境下通过编程接口获取域名对应的IP地址和反之亦然的方法。
1159

被折叠的 条评论
为什么被折叠?



