【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 次都不一定访问
相关推荐
rell33612 小时前
机顶盒播放udp/rtp马赛克
java·网络·网络协议·udp
Arya_aa12 小时前
多个对象通过集合实现io流的读写
java
白云如幻12 小时前
【JDBC】集合、反射和泛型复习-3
java·开发语言·jdbc
tang7778912 小时前
哪些行业用动态代理ip?哪些行业用静态代理IP?怎样区分动态ip和静态ip?(互联网人必码·实用长文)
大数据·网络·爬虫·python·网络协议·tcp/ip·智能路由器
Du_chong_huan13 小时前
《网络是怎样连接的》精读版 第四章总述
网络·网络协议·计算机网络
tang7778913 小时前
爬虫代理IP池到底有啥用?
网络·爬虫·python·网络协议·tcp/ip·ip
冬夜戏雪13 小时前
实习面经摘录(六)
java
把你毕设抢过来13 小时前
基于Spring Boot的演唱会购票系统的设计与实现(源码+文档)
java·spring boot·后端
⑩-13 小时前
Redis内存淘汰策略?如何处理大Key?
java·数据库·redis
淡泊if13 小时前
eBPF 实战:一次诡异的 Nginx 高延迟,我用 5 分钟在内核里找到了真凶
java·运维·nginx·微服务·ebpf