运输层为应用进程提供了端对端的通信服务,但不同的网络应用的应用进程之间,还需要有不同的通信规则。因此在运输层协议之上,还需要有应用层协议。

应用层中有这些常见的协议

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

这篇文章先来说说域名系统 DNS、动态主机配置 DHCP

域名

根据级别不同,域名系统可以划分为顶级域名、二级域名、三级域名,每一个域名都由标号序列组成,各标号之间用隔开,如:mail.cctv.com

顶级域名(Top-level Domain) 分为以下三类。

  • 国家顶级域名(Country Code Top-level Domain):如 cn(中国)、us(美国)、uk(英国)
  • 通用顶级域名(General Top-level Domain):如 com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)、edu(教育机构)、gov(政府部门)
  • 新通用顶级域名(New Generic Top-level Domain):如 vip、xyz、top、club、shop

二级域名 指顶级域名之下的域名

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

域名最上层是根,用一个点(.)表示,然后依次往下是顶级域名、二级域名、三级域名、四级域名,类似树状结构。

如域名 mail.cctv.com 中,com 是顶级域名,cctv 是二级域名,mail 是三级域名。

DNS

DNS(Domain Name System)可以基于UDP协议,也可以基于TCP协议,服务器占用53端口。

用户与互联网上某台主机通信时,需要知道对方的IP地址,但用户很难记住长达32位的二进制主机地址,所以在应用层为了便于记忆各种网络应用,除了IP地址,还有主机地址。域名系统DNS能够把互联网上的主机名字转换为IP地址。

  • 客户端首先会访问最近的一台DNS服务器(也就是客户端自己配置的DNS服务器)
  • 所有的DNS服务器都记录了DNS根域名服务器的IP地址
  • 上级DNS服务器记录了下一级DNS服务器的IP地址(比如顶级域名服务器记录了二级域名服务器的地址)

当我们需要查找 example.microsoft.com 这个域名地址时,按照查找规则

  • 首先会在本地名称查找,找不到返回根域名服务器的IP地址(Q1-A1过程)
  • 接着去根域名服务器查找,找不到返回com顶级域名服务器的IP地址(Q2-A2过程)
  • 再去com顶级域名服务器查找,找不到返回microsoft.com二级域名服务器地址(Q3-A3过程)
  • 然后去microsoft.com 二级域名服务器查找,找不到返回 example.microsoft.com三级域名服务器地址(Q4-A4过程)
  • 最后去example.microsoft.com三级域名服务器查找,终于找着了!(Q5-A5过程)

我们的计算机中也会缓存dns记录,通过 ipconfig/displaydns可以查看

也可以通过 ipconfig/flushdns 清除缓存

IP地址

IP地址按照分配方式,可以分为静态IP地址、动态IP地址。

静态IP地址需要手动设置,适用于不常移动的台式机(如学校机房中台式机),优点是便于维护和管理,可以针对指定的IP地址做一些设置,如禁用网络等。

动态IP地址从DHCP服务器自动获取IP地址,适合无线设备。比如带着笔记本到全是台式机的机房时,分配已有的静态IP地址可能会与其它台式机冲突,如果另外指定静态IP地址,那么笔记本到另外一个机房又不可用。

DHCP

DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,基于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等信息(可能会有多个服务器提供租约)
③ RRQUEST: 选择IP地址
客户端选择一个OFFER,发送广播包进行回应
④ ACKNOWLEDGE:确认
被选中的服务器发送ACK数据包给客户端,此时IP地址分配完成

在终端输入 ipconfig/renew 重新连接网络,可以抓包到数据

DHCP存在自动续约的机制,它分配的IP地址比如时间限制一天,在当客户端租期不足时,会自动向DHCP服务器发送REQUEST信息申请续约。

以上就是 应用层协议之DNS、DHCP的内容 , 更多有关 前端网络协议 的内容可以参考我其它的博文,持续更新中~


一颗冰淇淋
170 声望18 粉丝

开心学前端 : )