【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 次都不一定访问
相关推荐
num_killer3 小时前
小白的Langchain学习
java·python·学习·langchain
期待のcode4 小时前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐4 小时前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
a程序小傲4 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红4 小时前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥4 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
小楼v4 小时前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地4 小时前
NIO的三个组件解决三个问题
java·后端·nio
czlczl200209255 小时前
Guava Cache 原理与实战
java·后端·spring
yangminlei5 小时前
Spring 事务探秘:核心机制与应用场景解析
java·spring boot