开发者主要是面向应用层
应用层的常见协议
◼ 超文本传输:HTTP、HTTPS
◼ 文件传输:FTP
◼ 电子邮件:SMTP、POP3、IMAP
◼ 动态主机配置:DHCP
◼ 域名系统:DNS
域名(Domain Name)
◼ 由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名(比如baidu.com)
但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址
路由器只认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等
baidu是com通用顶级域名之下的二级域名。
在国家及地区顶级域名下,它一般指注册类别的,例如com、edu、gov、net等
完整的域名后面有一个点,它代表根域名
DNS
◼ DNS的全称是:Domain Name System,译为:域名系统
利用DNS协议,可以将域名(比如baidu.com)解析成对应的IP地址(比如220.181.38.148)
在浏览器第一次输入百度域名,客户端会先去访问DNS服务器,获取到IP地址,在去通过路由器,访问百度的服务器
本地DNS服务器是有缓存的,会保留DNS记录,以后可以直接访问目标服务器
DNS是一种协议,帮助你拿到这个域名对应的IP地址
在DNS服务器上存储有域名对应的IP地址
发送一个DNS协议的数据包,它就会返回一个域名对应IP地址的响应包
DNS可以基于UDP协议,也可以基于TCP协议,它总是占用服务器53端口
首先请求本地的DNS服务器(有缓存记录),它会检查一下自己有没有记录,没有就会去找根名称服务器,根服务器会检查一下,发现我知道com在哪里,我就会返回给本地服务器,告诉它com服务器在哪里,然后本地服务器就会去找com服务器,寻问它域名对应IP地址多少,依次类推,直到找到能告诉它对应IP地址的DNS服务器(从根开始一级一级的找下去)
一台DNS服务器不可能把全球的DNS对应的IP地址给存起来,全世界的域名多了去了,所以他是分开管理的,每台DNS服务器知道的信息是有限的(分级管理)
DNS—服务器
◼ 客户端首先会访问最近的一台DNS服务器(也就是客户端自己配置的DNS服务器)
(可以自己配置离自己最近的DNS服务器,一般我们是自动获得)
◼ 所有的DNS服务器都记录了DNS根域名服务器的IP地址
◼ 上级DNS服务器记录了下一级DNS服务器的IP地址
域名服务器是分级管理的
◼ 全球一共13台IPv4的DNS根域名服务器、25台IPv6的DNS根域名服务器,总共38台
DNS—常用命令
◼ ipconfig /displaydns:查看DNS缓存记录
◼ ipconfig /flushdns:清空DNS缓存记录
◼ ping 域名
ping baidu.com
◼ nslookup 域名
nslookup baidu.com
服务器: cache-xm.fj133165.com,是记录着baidu.com对应IP地址的DNS服务器(本地DNS服务器,因为我有记录)
域名前面加WWW跟没加是一样的
既然前面都是一样的,那不输,不就代表我输了
每个人都要输,量变会引起质变,开机时长会边长,会带来电量的消耗,会加剧全球气候变暖,
C++是降低温室效应的一门语言,因为它缩短了程序的运行时间,效率高,提高程序的应用性能,是给全球带来福祉的语言