DNS协议(一)
在互联网上要想与另外一台主机通信,要知道对方的IP地址,但是IP地址是很难记忆的,
比如百度的一台服务器的IP地址为115.239.210.27,我们在浏览器中输入http://115.239.210.27/就可以访问百度了,但是如果访问一个网站就要记住它的的IP是很蛋疼的事,人们习惯记住有意义的字符串,比如baidu。
域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。DNS 使用TCP和UDP端口53。
DNS服务是如何实现的呢?
首先我们的电脑里面都会有一个DNS服务器(Name Server)的IP地址,可以手动设置也可以自动获取,有名的DNS服务器包括google的8.8.8.8 阿里巴巴的223.5.5.5等,查看自己电脑的DNS服务器的IP地址可以在windows命令行下输入ipconfig /all,在linux下面则通过more /etc/resolv.conf查看。
客户端发起访问请求www.163.com:
1.查看本地hosts文件,发现没有www.163.com IP 映射关系,将请求发送给本地DNS服务器( ----递归查询----)
2.本地DNS服务器不包含163.com的权威域,不存在对应的www记录,因此将请求转发到根域名服务器(假如 a.root-servers.net.)
3.根域名DNS服务器会返回负责.com域解析的服务器(假如 a.gtld-servers.net.)给本地DNS服务器,本地DNS服务器再将请求发送给 a.gtld-servers.net
4..com域名服务器只能返回负责163.com域的解析服务器(如 ns1.nease.net.)给本地DNS服务器,本地DNS服务器再将请求发送给ns1.nease.net.
5.由ns1.nease.net.域名服务器返回www.163.com 的 IP映射关系给本地DNS服务器
(2-5过程)----迭代查询----
6.本地DNS服务器将结果保存到本地缓存,并保持TTL时间,同时将结果应答给客户端.
7.当其他客户端再次向本地DNS服务器查询www.163.com时,在TTL时间内,本地DNS服务器不再向根域名服务器转发请求,而是直接从缓存中读取数据应答给客户端. 如果已经超过TTL时间,则本地DNS服务器会再次经历一次上诉2-6的过程.
以后会结合Wireshark分析DNS报文的每个字段详细意思,以及DNS查询的其它细节问题。
【参考文献】
http://magic3.blog.51cto.com/1146917/1354084
http://www.360doc.com/content/11/0809/17/706976_139190573.shtml
http://zh.wikipedia.org/zh/域名系统
DNS协议(一)的更多相关文章
- 利用WireShark进行DNS协议分析
一.准备工作 系统是Windows 8.1Pro 分析工具是WireShark1.10.8 Stable Version 使用系统Ping命令发送ICMP报文. 二.开始工作 打开CMD.exe键入: ...
- DNS协议 实践
根据DNS协议发送UDP请求,然后获取IP地址 头文件: #ifndef __DNS__ #define __DNS__ #include <stdio.h> #include <s ...
- 计算机网络——DNS协议的学习与实现
1. 主要内容 不说废话,直接进入正题.先说说本文本文的主要内容,好让你决定是否看下去: 介绍DNS是干什么的: 介绍DNS是如何工作的: 介绍DNS请求与响应的消息格式: 编程实现一个简单的DNS服 ...
- 网络协议 16 - DNS 协议:网络世界的地址簿
[前五篇]系列文章传送门: 网络协议 11 - Socket 编程(下):眼见为实耳听为虚 网络协议 12 - HTTP 协议:常用而不简单 网络协议 13 - HTTPS 协议:加密路上无尽头 网络 ...
- IP、TCP、DNS协议
·······················································IP协议························· 位于网络层,作用是把数据包传送 ...
- 简单谈谈DNS协议
DNS协议也可以称为DNS服务,全称是Domain Name System,即域名系统,和HTTP协议一样,也是一个位于应用层的协议(服务),它是基于运输层的UDP协议的,关于网络协议的分层介绍,见这 ...
- DNS协议工作过程;DNS的安全隐患
DNS协议工作过程 下面以域名为m.xyz.com的主机欲通过另一个主机的域名y.abc.com的IP地址为例,简述DNS协议过程. 主机m.xyz.com先向其本地服务器dns.xyz.com进 ...
- DNS协议详解
DNS协议详解 简介 DNS(Domain Name System)域名系统,主要实现的功能是将域名转换成ip地址的一个服务.它是由一个分层的DNS服务器实现的分布式数据库,同时.他也是一个使得主机能 ...
- 应用层协议FTP、DNS协议、HTTP协议分析
分析所用软件下载:Wireshark-win32-1.10.2.exe 一.阅读导览 1.分析FTP协议 2.分析DNS协议 3. 分析HTTP协议 二.分析要求 (1)ftp部分: 学习 Serv- ...
- 结合Wireshark捕获分组深入理解TCP/IP协议栈之DNS协议
摘要: 本文简单介绍了DNS协议理论知识,给出URL解析步骤,详细讲述了DNS报文各个字段含义,并从Wireshark俘获分组中选取DNS相关报文进行分析. 一.概述 1.1 DNS ...
随机推荐
- xml的SAX解析和dom解析的区别
一,区别 DOM解析 SAX解析 原理: 一次性加载xml文档,不适合大容量的文件读取 原理: 加载一点,读取一点,处理一点.适合大容量文件的读取 DOM解析可以任意进行增删改成 SAX解析只能读取 ...
- 消息队列mq的原理及实现方法
消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行前不需要等待 ...
- jQuery框架-2.jQuery操作DOM节点与jQuery.ajax方法
一.jQuery操作DOM 内部插入操作: append(content|fn):向每个匹配的元素内部追加内容. prepend(content):向每个匹配的元素内部前置内容. 外部插入操作: af ...
- (luogu P4012)深海机器人问题 [TPLY]
网页链接 https://www.luogu.org/problemnew/show/4012 做题背景 在不久的将来,人工智能发展使得人类大量失业,也使得现在的我们做[深海机器人问题]做得想死... ...
- Codeforces Round #466 (Div. 2) 题解
人生中第三次\(CF\)... 考试中切了\(A\)~\(E\) \(F\)题会做没时间写 题解 A:Points on the line 题意 给定一个数列,删最小的数,使最大差不大于一个定值 So ...
- Lintcode360 Sliding Window Median solution 题解
[题目描述] Given an array of n integer, and a moving window(size k), move the window at each iteration f ...
- 搭建maven
1. 下载安装包 打开网址https://maven.apache.org/download.cgi,找到下面这个文件进行下载 2. 解压安装 解压刚下载地文件到自己想要得目录下 3. 配置环境变量 ...
- vc的环境变量配置和缺少mspdb60.dll的解决方法
vc的编译器是cl.exe,我们如果在vc中编译就不用配置环境,但是如果要在任何位置用命令提示符打开编译器cl.exe来编译程序,那么就要配置环境了. 下面我就讲讲vc的环境变量配置和缺少mspdb6 ...
- jemeter 实现接口自动化回归测试
jemeter做接口自动化测试的优点: 1.首先我认为最重要的是不需要编程基础,很多一直想做接口测试但一直徘徊在门边的原因可能就是不想写代码 2.可以更快的上手,能让测试人员更好的理解什么是接口测试, ...
- 纯js生成验证码
实现代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"& ...