为什么会有TCP/IP协议?

世界各地有各种各样的计算机,每台计算机装有不同的操作系统,这就会导致他们对同一种信息存在多种不同的表达方式,这就好比世界各地的人们会说不同的语言。我们使用互联网可以把不同地方的计算机连接起来,但是还不能通信,就好比一个中国人和一个日本人可以见面,但是见面时时候谁也听不懂谁说的话。这个时候我们规定了一个规则,大家都用同一种方式来表达信息,于是英语就成了全球通用语言,在计算机的世界,TCP/IP协议就起到这样一个作用,有了它,世界各地的计算机就可以实现实现通信了。

应用层

负责与用户交互,处理用户通过不同的应用发出的请求和接收的回应,TCP/IP协议中预存了各类通用的应用服务,比如FTP(文件传输协议),网络共享文件的传输协议,比如将本地文件上传到远程计算机,这时就使用ftp协议。HTTP(超文本传输协议),使用万维网就是在使用HTTP协议,DNS(域名解析协议)负责域名和IP地址的映射,电子邮件传输使用SMTP协议,远程登陆使用talent协议。

DNS协议

全称是Domain Name System,域名系统,是负责将域名转换为对应的ip地址。如百度的机器域名是www.baidu.com,对应的IP地址是http://119.75.217.109/。

为什么会有DNS协议呢?

在计算机的世界里面,每一台计算由一个IP地址唯一标识,我们需要和目标计算机通信时首先需要获得目标主机的IP地址,但是IP地址不方便记忆,所以我们只需要查询域名,计算机内部会查询DNS服务器,有DNS服务器检查数据库,得到域名对应的目标主机的IP地址,总的来说就是IP地址是面向计算机的,而域名则是面向用户的。

最初的域名和IP地址的映射保存在一个hosts文件,通过互联网信息中心来管理这个文件,如果有一个新的计算想要接入网络,或者某个计算机的IP改变了。都需要到信息中心申请变更hosts文件,其他计算机也要定期更新,才能上网,但是这样太麻烦了,所以就出现了DNS系统,直接将域名和IP的地址映射存储到一个DNS服务器里面,如果有电脑要上网直接去DNS服务器注册接可以了。

DNS协议是怎么将域名转化为IP地址的呢,域名解析过程

当用户在地址栏里输入www.baidu.com是,DNS解析的过程大致如下:

静态映射阶段:

1.浏览器会先检查自身缓存中有没有解析过这个域名所对应的IP地址,如果有就结束。

2.如果没有命中,浏览器会检查操作系缓存中有没有对应的已经解析过的结果,这个时候操作系统就会查看一个叫hosts里面的信息,如果这里指定了一个域名对应的IP地址,那浏览器就会首先使用这个地址。

动态映射阶段

3.如果还没有命中域名,这个时候就会真正的请求本地域名服务器(LDNS)来解析这个域名,这台服务器一般位于所在城市的某个角落,距离不会太远,而且性能良好,大部分的域名解析过程到这里就已经完成了。

4.如果本地域名服务器(LDNS)仍然没有命中,就直接跳到Root Server域名服务器来请求解析。根域名服务器返回给LDNS一个所查询域名的主域名服务器(gTLD Server 国际顶级域名服务器的 .com.cn.org)ip地址。在这个案例中就是返回存储.com域名解析服务器对应的IP地址。

5.此时LDNS再发送请求给顶级域名服务,顶级域名服务查找并返回存储这个baidu这个域名对应的域名服务器地址(Name Server)

6.然后LDNS请求Name Server 找到www.baidu.com 对应的IP地址,NameServer根据映射关系表找到目标IP返回给LDNS。

7.LDNS缓存这个域名和对应IP,并把解析后的结果返回给用户,用根据TTL值缓存到本地系统缓存,域名解析过程到此结束。

域名结构

说完了域名解析过程,或许已经能够大致了解整个流程,但是对于其中的域名服务器的分级,以及域名的层析结构还感到困惑,接下来介绍DNS域名结构。

首先要明确ip和域名需要是唯一的,而且ip地址的与域名的对应关系是多对多的,一个域名可以对应多个ip,一个ip也可对应多个域名。在不同的地方访问www.baidu.com,域名解析后的服务器ip地址是不同的。要想保证域名唯一,因特网命名的时候采用了层次结构的命名方法。域名服务主要值基于UDP实现的,服务器端口号为53.

域名服务器:

有了域名结构,还需要有一个东西去解析域名,域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名系统的主机。同样域名服务器也分结构,不同层次的服务器,负责处理不同层次的域名。每个域名服务其存储的是下一域名与ip地址的映射,这种思想就如同索引方式里面的多级索引,根域名服务器存储了 .com .cn .edu 这些顶级域名服务器的ip地址。根服务器主要用来管理互联网的主目录,最早是IPV4,全球只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。

在与现有IPv4根服务器体系架构充分兼容基础上,“雪人计划”于2016年在全球16个国家完成25台IPv6根服务器架设,事实上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础。中国部署了其中的4台,由1台主根服务器和3台辅根服务器组成,打破了中国过去没有根服务器的困境。

TCP/IP协议应用层之DNS协议相关推荐

  1. 【应用层】DNS协议

    一.概述 本篇文章基于<计算机网络>和<计算机网络:自顶向下方法>,为笔者的读书笔记,主要内容如下所示: DNS提供的服务 互联网的域名结构 DNS服务器的分布 DNS的工作原 ...

  2. OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系

    OSI七层协议模型.TCP/IP四层模型和五层协议体系结构之间的关系 一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Ses ...

  3. TCP/IP网络协议栈:ARP协议详解

    <TCP/IP网络协议栈:以太网数据包结构.802.3> <TCP/IP网络协议栈:ARP协议详解> <TCP / IP攻击:ARP缓存中毒的基本原理.TCP序列号预测和 ...

  4. TCP/IP协议基本概括+ARP协议详解+DNS协议详解---Linux学习笔记

    TCP/IP协议的体系结构: TCP/IP协议族四层模型和OSI七层模型 上层协议使用下层协议的服务,下层协议给上层协议提供一个接口. 四层模型中各个层次的作用和特点 上图说明: 最底层是数据链路层, ...

  5. 信息系统项目管理师教程(第3版)- OSI七层模型TCP/IP四层模型对应网络协议

    一.OSI七层模型: 1.应用层 网络服务与最终用户的一个接口. 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 2.表示层 数据的表示. ...

  6. 《TCP/IP详解卷一:协议》 概述

    分层 TCP/IP协议族是一组不同层次上的多个协议的组合.TCP/IP通常被认为是一个四层次协议系统. 链路层(数据链路层或网络接口层):通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.用 ...

  7. 【TCP/IP】TCP/IP 四层分别有哪些协议|OSI四层/五层/七层协议

    五层协议模型 应用层:http dns TFTP .Telnet .FTP.SMTP.NFS.Rlogin. SNMP(UDP)-- 传输层:TCP.UDP 网络层: ICMP(ping tracer ...

  8. OSI七层协议模型、TCP/IP四层模型和五层协议体系

    先放图 一.OSI七层协议模型 OSI的七层协议主要包括:物理层(physical layer).数据链路层(data link layer).网络层(network layer).运输层(trans ...

  9. mysql是4层协议_OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系...

    一.OSI七层协议模型 OSI的七层协议主要包括:物理层(physical layer).数据链路层(data link layer).网络层(network layer).运输层(transport ...

最新文章

  1. 2015/06/08
  2. 成功解决ConvergenceWarning: lbfgs failed to converge (status=1): STOP: TOTAL NO. of ITERATIONS REACHED L
  3. 25、jdbc操作数据库(2)
  4. ubuntu 安装 mono报错 E: Unable to correct problems, you have held broken packages.
  5. coreos 搭建PHP,Linux_用Mac在CoreOS上搭建WordPress的教程,作者以自己的Mac笔记本为例, - phpStudy...
  6. Eclipse使用问题
  7. 如何用python画矿物分布地图_python怎么画出分布图?
  8. 云服务器发送开锁信息给单车,史上超全共享单车车锁的开锁方式(含具体方案)...
  9. 数字图像处理-冈萨雷斯(学习笔记)
  10. mysql网上图书销售_PHP+MySQL网上书店|网上图书销售系统
  11. oracle数据库 date函数,Oracle 函数(处置Date)
  12. 关于PPT配色的小技巧
  13. 政策的组合拳使得九月无法平凡
  14. 样本量太小怎么做结构方程模型?
  15. Flutter—— 仿自如APP裸眼3D效果
  16. [已解决]关于python无法显示中文的问题:SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no enc
  17. ariang修改默认服务器,Mac小技巧之AriaNg Native配置
  18. 杭州的旅游景点与民间传说故事
  19. 解题:POI 2009 Lyz
  20. 逻辑回归实现数字手写识别

热门文章

  1. 查看项目在服务器日志信息命令
  2. Qt按键长按短按实测
  3. Onvif协议学习:3、了解web services
  4. cuteftp上传文件失败,提示权限失败
  5. SSM毕设项目广西桂林特产销售平台u64r4(java+VUE+Mybatis+Maven+Mysql)
  6. (DUNS)申请流程
  7. 使用keil调试STM32,定时器的CNT寄存器数值在断点读取数值不准确问题
  8. linux添加压缩文件tar,在linux中使用tar创建与解压文件
  9. “前线”与“后方”—数字化转型时代理解华为品质服务的价值
  10. serverlet 原理_什么是serverlet?