【JavaEE网络】从数据链路层到应用层的DNS

目录


数据链路层

越往下与程序员越远

代表协议:以太网。平常用的网线也叫"以太网线",平常用的交换机也叫"以太网交换机"

以太网

认识以太网

"以太网" 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;

例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;

以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等;

以太网帧格式

源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的;作用也是用来区分不同的主机

帧协议类型字段有三种值,分别对应IP、ARP、RARP;

帧末尾是CRC校验码。

已经有了 IP 地址,为啥还要有 mac 地址呢?

IP 地址和 mac 地址,是被各自独立的设计出来了。IP地址负责的是网络层转发,mac地址负责数据链路层转发

网络层负责的是整体的转发过程,数据链路层负责的是局部(相邻设备)转发过程

从西安到东北

规划路线(网络层):

  1. 西安->北京->长春->白城
  2. 西安->长春->白城
  3. 西安->北京->白城
  4. ......

具体的转发过程(数据链路层)

  1. 西安->北京(坐飞机)
  2. 北京->长春(坐高铁)
  3. 长春->白城(坐大巴)

DNS

DNS,即 Domain Name System,域名系统。DNS 是一整套从域名映射到 IP 的系统。

TCP/IP 中使用 IP 地址来确定网络上的一台主机,但是 IP 地址不方便记忆,且不能表达地址组织信息,于是人们发明了域名 ,并通过域名系统来映射域名和IP地址。

上网要访问服务器,要知道服务器的IP地址,IP地址是一串数字,虽然已经使用点分十进制已经清洗不少了,但仍不方便记忆。使用单词来代替IP地址,比如baidu、sogou、taobao这样的,这样的单词就是"域名"。

域名是一个字符串,如 www.baidu.comhr.nowcoder.com

域名系统为一个树形结构的系统,包含多个根节点。其中:

  1. 根节点即为根域名服务器,最早IPv4的根域名服务器全球只有13台,IPv6在此基础上扩充了数量。

  2. 子节点主要由各级DNS服务器,或DNS缓存构成。

  • DNS域名服务器,即提供域名转换为IP地址的服务器。
  • 浏览器、主机系统、路由器中都保存有DNS缓存。
  • Windows系统的DNS缓存在 C:\Windows\System32\drivers\etc\hosts 文件中,Mac/Linux系统的DNS缓存在 /etc/hosts 文件中。

实践中为了保证域名的唯一性,域名往往是分级的。

www.sogou.com从前往后分别是三级、二级、一级

.com公司 .cn中国 .edu教育组织

最早的域名解析系统,是一个文件。(hosts 文件)

每个域名都会对应到一个 IP 地址

一旦新的网站出现了,或者旧的网站下线,这里就需要修改

全世界有很多网站不停的新增和消亡全世界又有这么多的主机上带有 hosts 需要修改

全世界,这么多的主机都在上网,此时 DNS 服务器如何承担这么高的并发量?

两个原则:开源,节流

  1. 全世界会搭建出很多的"DNS 镜像服务器"(一般是网络运营商 或者 一些大厂)
  2. 每个电脑上,在进行域名解析的时候,都会有缓存。我访问 10 次搜狗,只有第一次真的访问 DNS,后面 9 次都不一定访问
相关推荐
草履虫建模3 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
wenzhangli75 小时前
OoderAgent SDK(0.6.6) UDP通讯与协议测试深度解析
网络·网络协议·udp
安科士andxe6 小时前
60km 远距离通信新选择:AndXe SFP-155M 单模单纤光模块深度测评
网络·信息与通信
qq_297574676 小时前
【实战教程】SpringBoot 实现多文件批量下载并打包为 ZIP 压缩包
java·spring boot·后端
老毛肚6 小时前
MyBatis插件原理及Spring集成
java·spring·mybatis
学嵌入式的小杨同学6 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
lang201509286 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
Re.不晚6 小时前
Java入门17——异常
java·开发语言
酥暮沐6 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
缘空如是6 小时前
基础工具包之JSON 工厂类
java·json·json切换