【网络编程】域名及网络地址

DNS(Domain Name System,域名系统),是对IP地址和域名进行互相转换的系统,其核心是DNS服务器。

域名:提供网络服务的服务器端也是通过IP地址去份额,但IP地址难记,因此将容易记、易表述的域名分配并取代IP地址。

DNS服务器:用IP地址、或域名进入网页,接入过程不同。域名是默认DNS赋予服务器的虚拟地址,非实际地址。DNS可以将虚拟地址转化为实际地址。

一般不会轻易改变服务器域名,但会相对频繁地改变服务器 IP 地址。ping 命令用来验证 IP 数据报是否到达目的地,但执行过程中会同时经过"域名到IP地址"的转换过程,因此可以通过此命令查看IP地址。

计算机内置的默认DNS服务器并不知道网络上所有域名的IP地址信息。若该DNS服务器无法解析,则会询问其他DNS服务器。

IP地质与域名之间的转换

程序中使用域名的必要性,由于系统的原因IP地址会变更,而域名一旦注册就可能永久不变。

利用域名获取IP地址

cpp 复制代码
#include<netdb.h>
struct hostent *gethostbyname(const char * hostname);
cpp 复制代码
struct hostent
{
    char *hname;//official name
    char **h aliases;//alias list
    int h_addrtype;//host address type
    int h_length; //address length
    char **h_addr_list;//address list
}

转换域名只需关注h_addr_list

用IP获取域名

cpp 复制代码
#include<netdb.h>
struct hostent * gethostbyaddr(const char * addr,socklen_t len,int family);
相关推荐
以太浮标25 分钟前
华为eNSP模拟器综合实验之- 路由黑洞场景解析及实验
运维·网络·网络协议·网络安全·华为·智能路由器·信息与通信
MetrixAeroCore1 小时前
Metrix 国际物联网卡资费及套餐 — 全球流量池·按量付费·无隐形费
网络
志栋智能1 小时前
超自动化巡检:在混合云时代更显其必要性
大数据·运维·网络·人工智能·自动化
小二·3 小时前
Python 异步编程深度解析:Async/Await 实战
网络·python·github
Yang96113 小时前
宽温大功率输出,LDMN-GM7 助力矿区雷达性能验收工作
网络·能源
网安小白的进阶之路3 小时前
B模块 安全通信网络 第二门课IPv6与WLAN 03
网络·安全
dong__csdn3 小时前
websocket实现简单的单聊、群聊demo
网络·websocket·网络协议
一只小鱼儿吖3 小时前
代理IP与内网穿透:网络世界的“隐形斗篷”与“任意门”
网络
天行健,君子而铎3 小时前
自适应、全链路与智能识别——政务数据安全泛监测系统
java·网络·政务
搞科研的小刘选手4 小时前
【西安交通大学主办】第六届人工智能、自动化与高性能计算国际会议 (AIAHPC 2026)
网络·人工智能·机器学习·数据挖掘·自动化·云计算·并行式