JHHK

欢迎来到我的个人网站
行者常至 为者常成

12、应用层

目录

快速开始

一、域名

为了方便记忆
根域名 顶级域名 二级域名 三级域名

二、DNS协议(应用层)

域名需要解析出ip地址
DNS协议,DNS服务器

域名申请的流程

三、DHCP协议(应用层)

ip地址的分配:静态分配和动态分配

动态分配
DHCP协议,DHCP服务器
分配的四个阶段:发现服务器 - 提供租约 - 选择ip - 确认

四、几个思考问题

1、为什么一个域名可以解析出多个ip地址?
2、一个域名从无到注册到被使用经历了哪些步骤?
3、DHCP究竟是怎么工作的?
4、为什么通过ip地址能够获得地理位置?
5、全球的ip地址是如何分配的?

应用层的常见协议

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

域名(Domain Name)

一、域名的作用

由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名(比如baidu.com)
但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址
域名申请注册:https://wanwang.aliyun.com/
那干脆全程直接用域名,不用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等
www.google.com
wwww.baidu.com
www.microsoft.com

在国家及地区顶级域名下,它一般指注册类别的
例如com、edu、gov、net等
xxxx.com.cn
xxxx.edu.cn
xxxx.gov.cn
xxxx.net.cn

img

DNS(Domain Name System)

一、DNS协议

DNS的全称是:Domain Name System,译为:域名系统
利用DNS协议,可以将域名(比如baidu.com)解析成对应的IP地址(比如220.181.38.148)
DNS可以基于UDP协议,也可以基于TCP协议,服务器占用53端口

img

客户端首先会访问最近的一台DNS服务器(也就是客户端自己配置的DNS服务器)
所有的DNS服务器都记录了DNS根域名服务器的IP地址
上级DNS服务器记录了下一级DNS服务器的IP地址
全球一共13台IPv4的DNS根域名服务器、25台IPv6的DNS根域名服务器

example.microsoft.com 其实是example.microsoft.com. 被省略的.是根域名

根域名:.
顶级域名:.com
二级域名:.microsoft
三级域名:example

二、DNS常用命令

ipconfig /displaydns:查看DNS缓存记录
ipconfig /flushdns:清空DNS缓存记录
ping 域名
nslookup 域名

DHCP

一、IP地址的分配

IP地址按照分配方式,可以分为:静态IP地址、动态IP地址
静态IP地址
✓ 手动设置
✓ 适用场景:不怎么挪动的台式机(比如学校机房中的台式机)、服务器等

动态IP地址
✓ 从DHCP服务器自动获取IP地址
✓ 适用场景:移动设备、无线设备等

二、DHCP

DHCP(Dynamic Host Configuration Protocol),译为:动态主机配置协议
DHCP协议基于UDP协议,客户端是68端口,服务器是67端口
DHCP服务器会从IP地址池中,挑选一个IP地址“出租“给客户端一段时间,时间到期就回收它们
平时家里上网的路由器就可以充当DHCP服务器

三、DHCP分配IP地址的四个阶段

DISCOVER:发现服务器
发广播包(源IP是0.0.0.0,目标IP是255.255.255.255,目标MAC是FF:FF:FF:FF:FF:FF)

OFFER:提供租约
服务器返回可以租用的IP地址,以及租用期限、子网掩码、网关、DNS等信息
注意:这里可能会有多个服务器提供租约

REQUEST:选择IP地址
客户端选择一个OFFER,发送广播包进行回应

ACKNOWLEDGE:确认
被选中的服务器发送ACK数据包给客户端

至此,IP地址分配完毕

img

四、DHCP细节

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

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

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

几个问题

一、为什么一个域名可以解析出多个ip地址?

一个域名可以解析出多个IP地址的主要原因是负载均衡和故障恢复。这种配置可以提高网站的性能、可用性和容错能力。以下是一些常见的情况:

负载均衡:通过将多个IP地址与一个域名相关联,可以将流量分散到不同的服务器上,实现负载均衡。这有助于分摊服务器负载,提高网站性能,并防止单点故障。

地理位置分发:通过为不同地理位置的用户提供相应地区的服务器IP地址,可以降低延迟并提高访问速度。这通常被称为地理负载均衡。

故障恢复:如果一个服务器发生故障,DNS解析可以提供其他可用服务器的IP地址,确保服务的连续性。这种配置被称为故障转移或故障恢复。

CDN(内容分发网络):使用CDN服务时,一个域名可能会解析到多个CDN节点的IP地址。这样可以将内容就近提供给用户,减少加载时间。

服务版本控制:某些情况下,不同版本的服务可能部署在不同的服务器上。通过将不同版本的IP地址与域名关联,可以控制用户访问哪个版本的服务。

这种多IP地址解析的方式通常是通过DNS记录中的多个A记录或CNAME记录来实现的。当客户端请求域名的IP地址时,DNS服务器会返回这些记录中的一个地址,客户端可以选择其中一个地址进行连接。负载均衡器或其他网络设备会根据配置决定如何分发流量。

二、一个域名从无到注册到被使用经历了哪些步骤

下面是一个域名从无到注册到被使用的一般步骤的概要,以”example.com”为例:

1、选择并验证域名:
选择域名: 您决定注册一个域名,例如”example.com”。
验证域名可用性: 在域名注册服务商的网站上,通过域名搜索功能验证选择的域名是否可用。

2、选择注册服务商:
选择服务商: 选择一个域名注册服务商(如GoDaddy、Namecheap、Google Domains)来注册域名。
创建账户: 在选定的服务商处创建账户。

3、购买域名:
添加到购物车: 将选定的域名添加到购物车。
选择注册期限: 选择注册的年限,通常以年为单位。
完成购买: 提供支付信息并完成购买。

4、提供联系信息:
WHOIS信息: 提供与域名相关的WHOIS信息,包括域名所有者、技术联系人等。
隐私保护: 可选择开启隐私保护服务,以隐藏WHOIS信息。

5、选择权威域名服务器:
使用默认服务器或自定义: 您可以选择使用注册服务商提供的默认权威域名服务器或配置自己的服务器。

6、登录域名管理界面:
使用账户登录: 使用注册服务商提供的账户信息登录到域名管理界面。

7、设置DNS记录:
A记录、AAAA记录: 配置将域名映射到IPv4和IPv6地址的记录。
CNAME记录: 如果有子域名,配置别名记录。
DNS记录存储在权威域名服务器上
ip地址通常是由你购买主机服务的厂家来提供或者你自己购买的ip地址
xy:如果哪天你的ip地址发生了改变,需要你自己登录管理界面进行更换或添加

8、保存更改:
提交更改: 确保在域名管理界面上保存或提交更改。
DNS传播: DNS记录的更新可能需要一些时间在全球范围内传播。

9、等待DNS生效:
等待传播时间: 等待DNS记录生效,以确保域名能够正确解析到配置的IP地址。 DNS记录的生效时间通常在几分钟到48小时之间,具体取决于您在域名注册服务商和DNS服务提供商处设置的TTL以及全球DNS系统的性能和负载情况。
xy:需要等待TTL过期使旧的DNS记录失效。

10、使用域名:
网站托管: 将网站或应用程序托管到与域名关联的服务器上。
邮箱设置: 配置与域名关联的邮箱服务。
其他服务: 根据需求配置域名与其他在线服务的关联。

通过这些步骤,域名从选择、注册,到最终被使用,经历了一系列的设置和配置过程,确保了域名能够正确地解析到相应的服务器或服务。

三、DHCP究竟是怎么工作的?

公网终端用户的IP地址:
通常由互联网服务提供商(ISP)动态分配。
这意味着每次用户连接到互联网时,ISP会为其分配一个公网IP地址。
这种动态分配可以是通过DHCP协议实现的,因此用户的设备在连接到互联网时会向ISP的DHCP服务器发送请求,获取一个临时的(租用)公网IP地址。

内网终端用户的IP地址:
在家庭或企业内部网络中,通常使用路由器(无线路由器兼具DHCP服务器功能)或者内部的DHCP服务器进行动态分配。
这样的内网IP地址是在私有IP地址范围内的,例如,常见的私有IP地址范围是 192.168.x.x、172.16.x.x 到 172.31.x.x、10.x.x.x。
这些私有IP地址用于在内部网络中标识设备,并在网络边界(例如路由器)上进行NAT转换,使得内部网络可以共享一个或少量的公网IP地址来访问互联网。

总体而言,公网终端用户的IP地址由ISP分配,而内网终端用户的IP地址则在内部网络中通过路由器或DHCP服务器进行动态分配。
这种分层的网络结构有助于提高互联网的安全性和有效利用IP地址资源。

像百度这样的大型公司的服务器的ip地址也是由isp动态分配的吗?

大型公司如百度通常不会使用动态分配的公网IP地址来托管其核心服务和网站。相反,这些公司通常会拥有一系列静态(固定)的公网IP地址,这些IP地址是由互联网注册机构(RIRs)分配给他们的。

大型公司为其服务器和网络基础设施申请静态IP地址的主要原因有几点:

稳定性和可靠性: 使用静态IP地址可以确保公司的服务器具有稳定的、不变的公网标识。这对于提供稳定、可靠的服务非常重要。

网络设备配置: 大型公司的网络设备(例如路由器、防火墙)需要知道公司使用的IP地址范围,以便正确路由流量。静态IP地址更容易集成到网络设备的配置中。

DNS记录管理: 公司通常会在域名系统(DNS)中配置与其静态IP地址相关联的域名记录。这有助于确保域名与服务器的IP地址保持同步。

安全性: 大型公司可能会使用静态IP地址来实现更精细的网络安全策略,例如访问控制列表(ACL)配置、防火墙规则等。

虽然大型公司拥有静态IP地址,但在公司内部的局域网(LAN)中,员工设备可能会使用动态分配的私有IP地址。这些私有IP地址由公司内部的DHCP服务器动态分配,使得内部设备能够灵活、自动地获得有效的IP地址。

四、为什么通过ip地址能够获得地理位置?

通过IP地址获得地理位置的主要原理包括:

IP地址分配的地理局限性: ISP通常将一组IP地址分配给特定地理区域的用户,因为它们在不同地理位置拥有服务器。IP地址的一部分可以用于确定用户的大致地理位置。

IP地址地理数据库: 存在各种IP地址地理数据库,这些数据库包含了IP地址和地理位置之间的映射关系。这些映射基于Internet注册机构和ISP提供的数据,可提供IP地址所在的国家、城市和大致地理坐标。

基于物理地址的定位技术: 一些服务提供商使用物理设备(如Wi-Fi接入点或基站)与IP地址关联,以提供更准确的地理定位。这种技术使用设备周围可见的Wi-Fi网络或基站信息。

五、全球的ip地址是如何分配的?

IANA的IP地址分配: IANA是全球IP地址空间的管理者。它将IP地址空间分配给五个地区互联网注册机构(RIRs)

RIRs
ARIN(美洲地区)
RIPE NCC(欧洲及中亚地区)
APNIC(亚太地区)
LACNIC(拉丁美洲及加勒比地区)
AfriNIC(非洲地区)
每个RIR负责管理其指定地区的IP地址资源。
RIRs根据需要将IP地址空间分配给各种组织,包括互联网服务提供商(ISP)、企业、政府机构等。
RIRs通过一定的政策和程序来管理IP地址的申请、分配和归还。

ISP和其他组织的IP地址分配:
互联网服务提供商(ISP)和其他组织需要获得IP地址以为其用户和设备分配唯一的标识符。它们向相应的RIR申请IP地址,根据获得的地址空间,ISP和组织可以在其网络中进行动态或静态的IP地址分配。

动态IP地址分配:
在许多情况下,ISP使用动态主机配置协议(DHCP)等机制,动态地为其客户分配IP地址。这使得可以灵活地利用IP地址池,因为不同时间连接到互联网的设备可以被分配不同的IP地址。

私有IP地址:
在内部网络中,通常使用私有IP地址来标识设备,这些地址在互联网上是不可路由的。这些私有IP地址范围包括:192.168.x.x、172.16.x.x 到 172.31.x.x、10.x.x.x。在网络边界上使用网络地址转换(NAT)技术,允许多个内部设备共享单个公有IP地址。

通过这个分配层次,IP地址资源能够合理地分配给不同的地理区域、ISP和组织,确保互联网的可扩展性和有效使用IP地址的同时,维护全球互联网的稳定性。


行者常至,为者常成!





R
Valine - A simple comment system based on Leancloud.