DNS和ARP的工作原理

DNS(Domain Name Syatem)域名系统

域名系统是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。因此,域名系统实际上就是名字系统。用户与互联网上某台主机进行通信时,必须要知道对方的IP地址。但是用户很难记住长达32位的二进制主机地址,即使是点分十进制的IP地址也不容易记忆。但是在应用层为了便于用户记忆各种网络应用,连接在互联网上的主机不仅有IP地址,而且还有便于用户记忆的主机名字。域名系统DNS能够把互联网上的主机名字转换为IP地址。

从理论上讲,整个互联网可以只使用一个域名服务器,使它装入互联网上所有的主机名,并回答所有对IP地址的查询。然而这种做法并不可取,因为互联网规模很大,这样的域名服务器肯定会因为过负荷而无法正常工作,而且一旦域名服务器出现故障,整个互联网就会瘫痪。因此,早在1983年互联网就开始采用树状结构的命名方法,并使用分布式的域名系统DNS。

互联网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地进行解析,仅少量名字的解析需要在互联网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机出现了故障,也不会使整个DNS系统瘫痪。

域名到IP地址的解析过程的重点为:当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器,使用UDP数据报是为了减少开销。本地域名服务器在查找域名后把对应的IP地址放在应答报文中并返回。应用进程获得目的主机的IP地址后即可进行通信。

互联网的域名结构

前面我们说过,互联网采用层次树状结构的命名方法,就像全球邮政和电话系统那样。其实早期的互联网使用了非等级的名字空间,其优点是名字简短。但当互联网上的用户数急剧增加时,用非等级的名字空间来管理一个很大而且是经常变化的名字集合时非常困难的。所以才有了后来的树状结构命名方法。采用这种命名方法,使得任何一个连接在互联网上的主机或路由器都有唯一的层次结构的名字,即域名。域是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。

从语法上讲,每一个域名都由标号序列组成,而各标号之间用“.”(小数点)分隔。DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,但是为了记忆方便,最好不要超过12个字符。同时,每一个标号中也不区分大小写。标号中除连字符“-”外不得使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级的域名代表着什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。用这种方法可使每一个域名在整个互联网范围内是唯一的,并且也容易设计出一种查找域名的机制。

顶级域名共分为三大类:

(1)国家顶级域名nTLD:采用ISO 3166的规定。cn表示中国,us表示美国,uk表示英国等。国家顶级域名又常记为ccTLD(cc表示国际代码country-code)。到2012年5月为止,国家顶级域名总数已达到296个。

(2)国家顶级域名gTLD:通用顶级域名的总数已经达到20个,最先确定的通用顶级域名由7个:com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)、edu(美国专用的教育机构)、gov(美国的政府部门)、mil(美国的军事部门)。后来又陆续增加了13个通用顶级域名:aero(航空运输企业)、asia(亚太地区)、biz(公司和企业)、cat(使用加泰隆人的语言和文化团体)、coop(合作团体)、info(各种情况)、jobs(人力资源管理者)、mobi(移动产品与服务的用户和提供者)、museum(博物馆)、name(个人)、pro(有证书的专业人员)、tel(Telnic股份有限公司)、travel(旅游业)。

(3)基础机构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名。

在国家级顶级域名下注册的二级域名均由该国家自行确定。例如,顶级域名为jp的日本,将其教育和企业机构的二级域名定为ac和co,而不用edu和com。

我国把二级域名划分为“类别域名”“行政区域名”两大类。“类别域名”共七个,分别为:ac(科研机构)、com(工、商、金融等企业)、edu(中国的教育机构)、gov(中国的政府机构)、mil(中国的国防机构)、net(提供互联网络服务的机构)、org(非营利性的组织)。“行政区域名”共34个,适用于我国的各省、市、自治区和直辖市,例如bj(北京市)、js(江苏省)等。

用域名树来表示互联网的域名系统是最清楚的。它实际上是一棵倒过来的树,在最上面是根,没有对应的名字。根下面一级的节点就是最高一级的顶级域名。顶级域名可往下划分子域,即二级域名。再往下划分就是三级域名、四级域名等。

如上图所示,凡是在顶级域名com下注册的单位都获得了一个二级域名,如cctv和huawei等。在顶级域名cn下有bj、edu等二级域名。在某个二级域名下注册的单位可以获得一个三级域名,如edu下的tsinghua,一旦某个单位拥有了一个域名,它就可以决定是否要一步划分自己下属的子域,并且不必由其上级机构批准。图中cctv和tsinghua都分别划分了自己的子域mail,分别是三级域名和四级域名。域名树的树叶就是单台计算机的名字,它不能再继续往下划分子域了。需要注意的是,虽然cctv和tsinghua都各有一台计算机取名为mail,但它们的域名并不一样,前者是mail.cctv.com,后者是mail.tsinghua.edu.cn。因此,即使是世界上还有很多单位的计算机取名为mail,但是它们再互联网中的域名都必须是唯一的。

 

 

 

 

 

DNS的工作原理和工作过程

DNS的工作原理:当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:指定的DNS域名、指定的查询类型、DNS域名的指定类别。基于UDP服务,默认使用53端口。该应用一般不直接为用户使用,而是为其他应用服务,如HTTP、SMTP等在其中需要完成主机名到IP地址的转换。

DNS的工作过程:

(1)在浏览器输入www.baidu.com时,操作系统会首先检查自己本地的这个host文件是否有这个网址的映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

(2)如果本地的host文件里面没有这个域名的映射,则查找本地DNS解析器缓存,查看是否有这个网址的映射关系,如果有则直接返回,完成域名解析。

(3)如果本地DNS解析器缓存中没有这个网址的映射的话,则查找本地的DNS服务器,如果找到 映射的话,则直接返回。

(4)如果在本地DNS域名服务器中找不到该网址映射的话,此时本地服务器会把请求转发至上一层DNS服务器。如果上一层服务器不能解析的话,继续向上一层进行转发。直到找到对应的域名映射。最后把结果返回给本地DNS服务器,再由DNS服务器返回给客户机。

从客户机到本地DNS服务器的查询属于递归查询,而DNS服务器之间的查询属于迭代查询。

ARP()地址解析协议

ARP欺骗(ARP Spoofing): ARP协议是将IP地址映射为MAC地址的协议。ARP欺骗是指攻击者通过向目标主机发送虚假ARP响应包,从而欺骗目标主机将攻击者的MAC地址映射到目标主机所知道的正确IP地址上,从而使攻击者可以拦截、篡改、伪造目标主机的网络通信。攻击者可以通过欺骗获取目标主机的敏感信息,如用户名、密码等。 防范措施: - 使用静态ARP映射表,手工将IP地址和MAC地址进行绑定,避免动态学习; - 使用ARP检查工具,检查网络中是否存在异常的ARP响应包; - 使用ARP防火墙,对不合法的ARP流量进行过滤。 IP欺骗(IP Spoofing): IP欺骗是指攻击者伪造IP地址,将攻击者的IP地址伪装成受害者的IP地址,从而使攻击者可以绕过网络安全机制,成功进行攻击。攻击者可以利用IP欺骗进行DDoS攻击、网络钓鱼、病毒传播等攻击行为。 防范措施: - 使用防火墙,对IP包进行过滤,禁止非法IP访问; - 使用虚拟专用网络(VPN),加密通信数据,防止IP欺骗攻击; - 使用IP验证技术,对IP包进行验证,确保数据来源的可靠性。 DNS欺骗(DNS Spoofing): DNS欺骗是指攻击者通过伪造域名解析的结果,将受害者引导到错误的网站。攻击者可以通过DNS欺骗篡改网站内容、窃取用户信息、进行钓鱼攻击等。 防范措施: - 使用DNS缓存服务器,缓存域名解析结果,避免频繁进行DNS请求; - 使用DNSSEC技术,对DNS解析结果进行数字签名,保证解析结果的真实性; - 使用安全的DNS服务器,避免使用未知来源的DNS服务器,以免受到DNS欺骗攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值