网络互连模型 (应用层 -- DNS、DHCP)

应用层常见协议:
    超文本传输: HTTP、HTTPS
    文件传输: FTP
    电子邮件: SMTP、POP3、IMAP
    动态主机配置: DHCP
    域名系统: DNS

DNS协议

域名(Domain Name)

由于IP地址不方便记忆, 并且不能表达组织的名称和性质, 人们设计出了域名(比如baidu.com), 但实际上, 为了能够访问到具体的主机, 最终还是得知道目标主机的IP地址; 那干脆全程直接用域名, 不用IP地址?IP地址固定4个字节, 域名随随便便都至少10几个字节, 这无疑会增加路由器的负担, 浪费流量

根据级别不同, 域名可以分为:

  • 顶级域名(Top-level Domain, 简称TLD)
  • 二级域名
  • 三级域名
  • ...

域名 - 顶级域名的分类

通用顶级域名(General Top-level Domain, 简称gTLD)
.com(公司)、.net(网络机构)、.org(组织机构)、.edu(教育)、.gov(政府部门)、.int(国际组织) 等

国家及地区顶级域名(Country Code Top-level Domain, 简称ccTLD)
.cn(中国)、.jp(日本)、.uk(英国)

新通用顶级域名(New Generic Top-level Domain, 简称:New gTLD)
.vip、.xyz、.top、.club、.shop等

域名 - 二级域名

二级域名是指顶级域名之下的域名
在通用顶级域名下,它一般指域名注册人的名称,例如google、baidu、microsoft等
在国家及地区顶级域名下,它一般指注册类别的,例如com、edu、gov、net等

DNS

DNS的全称是:Domain Name System,译为:域名系统, 利用DNS协议,可以将域名 (比如baidu.com) 解析成对应的IP地址 (比如220.181.38.148);

DNS基于UDP协议,服务器占用53端口(理论上, 客户端也可以指定向DNS服务器查询时用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包)

准确来说, DNS同时使用了TCP和UDP协议, 那么DNS在什么时候使用TCP, 什么时候使用UDP呢? 
DNS区域传输的时候使用TCP协议:
       辅域名服务器会定时(每3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动, 会执行一次区域传送, 进行数据同步。区域传送使用TCP而不是UDP, 因为数据同步传送的数据量比一个请求应答的数据量要多得多。TCP是一种可靠连接, 保证了数据的准确性。
域名解析时使用UDP协议:
       客户端向DNS服务器查询域名, 一般返回的内容都不超过512字节, 用UDP传输即可。不用经过三次握手, 这样DNS服务器负载更低, 响应更快。

通俗地讲, 就是DNS服务器之间传输时使用TCP, 而客户端与DNS服务器之间传输时用的是UDP

什么是区域传输?
        DNS的规范规定了2种类型的DNS服务器, 一个叫主DNS服务器, 一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息, 而辅助DNS服务器则从区的权威DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时, 它需要与主DNS服务器通信, 并加载数据信息, 这就叫做区域传送(zone transfer)

 

DNS - 服务器

域名解析流程:

  • 客户端首先会访问最近的一台DNS服务器 (也就是客户端自己配置的DNS服务器), 由该DNS服务器与各级域名服务器交互, 查询IP地址, 并将查询的结果加入缓存并返回给客户端
  • 所有的DNS服务器都记录了DNS根域名服务器的IP地址, 上级DNS服务器记录了下一级DNS服务器的IP地址
  • 分配给IPv4的根域DNS服务器的IP地址在全世界仅有13个, 分配给IPv6的根域DNS服务器的IP地址在全世界仅有25个, 但是根域DNS服务器是有很多个的
  • 在解析域名的过程中, 都是由客户端中配置的最近的DNS服务器各级域名服务器进行交互的, 一旦获取到域名对应的IP地址, 则进行缓存, 下次访问时, 直接返回; 如果某个域名没有对应的IP地址, 那么也会被缓存, 以便下次快速响应 (注意: ①缓存信息是存在有效期的, 过期将被删除; ②在对域名查询进行响应时,DNS服务器也会告知客 户端这一响应的结果是来自缓存中还是来自负责管理该域名的DNS服务器)

DNS - 常用命令:
    ipconfig /displaydns:查看DNS缓存记录
    ipconfig /flushdns:清空DNS缓存记录
    ping 域名
    nslookup 域名


DHCP

DHCP - 简介

IP地址按照分配方式,可以分为:静态IP地址、动态IP地址
静态IP地址
    ① 手动设置
    ② 适用场景:不怎么挪动的台式机(比如学校机房中的台式机)、服务器等
动态IP地址
    ① 从DHCP服务器自动获取IP地址
    ② 适用场景:移动设备、无线设备等

DHCP (Dynamic Host Configuration Protocol),译为:动态主机配置协议
     ① DHCP协议基于UDP协议,客户端是68端口,服务器是67端口
     ② DHCP服务器会从IP地址池中,挑选一个IP地址'出租'给客户端一段时间,时间到期就进行回收; 路由器也可以充当DHCP服务器

DHCP - 分配IP的4个阶段

1. DISCOVER:发现服务器
   发广播包(源IP是0.0.0.0, 目标IP是255.255.255.255, 目标MAC是FF:FF:FF:FF:FF:FF)
2. OFFER:提供租约
   服务器返回可以租用的IP地址, 以及租用期限、子网掩码、网关、DNS等信息; 注意:这里可能会有多个服务器提供租约
3. REQUEST:选择IP地址
   客户端选择一个OFFER, 发送广播包进行回应
4. ACKNOWLEDGE:确认
   被选中的服务器发送ACK数据包给客户端, 至此, IP地址分配完毕

wireshark抓包分析:

Discover:

Offer:

 

Request:

ACK:

DHCP - 细节

DHCP服务器可以跨网段分配IP地址么?(DHCP服务器、客户端不在同一个网段)
可以借助DHCP中继代理 (DHCP Relay Agent) 实现跨网段分配IP地址

自动续约
客户端会在租期不足的时候,自动向DHCP服务器发送REQUEST信息申请续约

常用命令
ipconfig /all:可以看到DHCP相关的详细信息,比如租约过期时间、DHCP服务器地址等
ipconfig /release:释放租约
ipconfig /renew:重新申请IP地址、申请续约(延长租期)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值