- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
一、概况DNS协议
提供的是一种主机名和IP地址转化的服务,就是我们常说的域名系统
。它是由分层的DNS
服务器组成的分布式数据库
,是定义了主机如何查询这个分布式数据库的方法
的应用层协议。DNS
协议运行在UDP
协议上,使用53
号端口。
二、域名的层次结构
域名的层次结构可以如下所示:
主机名.次级域名.顶级域名.根域名
host.sld.tld.root
根据域名的层次结构,管理不同层级的域名的服务器,可以分为根域名服务器,顶级域名服务器和权威域名服务器。
三、查询过程DNS
的查询过程一般为,我们首先将DNS请求发送到本地的DNS
服务器,有本地DNS
服务器代为请求。本地DNS
服务器向根域名服务器
查询顶级域名服务器
的NS
记录,然后本地DNS
服务器又向顶级域名服务器
查询次级域名服务器
的NS
记录。最后次级域名服务器
查询主机名
的ip地址
。
比如说我们如果想要查询www.baidu.com的ip地址,首先我们先向本地域名服务器发起请求,判断是否存在缓
存。如果存在缓存,则应该读取缓存中的ip地址。如果不存在缓存,则本地域名服务器应该向根域名服务器发送
请求,根域名服务器返回.com的顶级域名列表。然后本地服务器又向顶级域名服务器发送请求,顶级域名服务器
负责返回.baidu的ip列表。最后本地域名服务器又向权威域名服务器发送请求,最后返回对应的ip地址。
四、DNS记录和报文DNS
服务器中以资源记录的形式存储信息,每一个DNS
响应报文一般包含多条资源记录。一条资源记录的具体格式为:(Name, Value, Type, TTL)。其中TTL是资源记录的生存时间,它定义了资源记录能被其他的DNS
服务器缓存的时间有多长。
其中一共存在四种Type
的值,分别为:A
, NS
, CNAME
,MX
,不同的type
的值,对应资源记录表示的意义不同。
1、如果 Type = A,则 Name 是主机名,Value 是主机名对应的 IP 地址。因此一条记录为 A 的资源记录,
提供了标准的主机名到 IP 地址的映射。
2、 如果 Type = NS,则 Name 是个域名,Value 是负责该域名的 DNS 服务器的主机名。这个记录主要用于
DNS 链式查询时,返回下一级需要查询的 DNS 服务器的信息。
3、如果 Type = CNAME,则 Name 为别名,Value 为该主机的规范主机名。该条记录用于向查询的主机返回
一个主机名对应的规范主机名,从而告诉查询主机去查询这个主机名的 IP 地址。主机别名主要是为了通过给一
些复杂的主机名提供一个便于记忆的简单的别名。
4、 如果 Type = MX,则 Name 为一个邮件服务器的别名,Value 为邮件服务器的规范主机名。它的作用和
CNAME 是一样的,都是为了解决规范主机名不利于记忆的缺点。
五、迭代查询和递归查询迭代查询:
每一次发送请求,都会相应结果,然后拿到结果后,再次发送请求,就是迭代查询。递归查询:
只需要发送一次请求,我们就可以拿到结果。在DNS请求中的迭代查询和递归查询:
在DNS请求中,我们向本地DNS服务器发送的请求就是递归查询
,本地服务器向其他域名服务器的查询是迭代查询
,因为本地服务器先想根域名服务器发送请求,然后拿到结果后,再想顶级域名服务器发送请求.....
。
六、DNS缓存
当某一个DNS服务器接受到一个DNS响应时,此时就会缓存到本地存储器中。返回的资源的报文中TTL
表示可以缓存的时间。
七、DNS实现负载均衡
如果存在一个大型的网站,此时可能存在多台服务器来提供服务,此时存在一个域名对应着多个服务器的ip地址,此时当用户请求DNS解析时,此时会请求到多个ip地址,在每一个请求中会循环的将这些ip地址排序,然后取出第一个返回给用户。由此将用户分配到请求不同服务器上,进而达到负载均衡。
一、http和https的基本概念 http:超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的传输
1. IP 1.1 IP 首部的格式 版本: 表示的是 IP 首部的版本号. IPv4 的版本号为 4 首部长度: 当没有可选项时, IP 首部的长度为 20 字节. 服务类型: 由8位组成,3位优先
1. 网络编程 1.1 什么是网络编程 网络编程 : 指网络上的主机,通过不同的进程,以编程的方式实现网络通信. 简单来说: 网络编程就是通过代码的方式来控制不同进程间能够进行数据交互. 1.2 发送
1. 初始网络 计算机网络,根据其规模可分为WAN ( Wide Area NetWork, 广域网) 和 LAN ( Local Area Network, 局域网). 1.1 局域网LAN 一栋楼
1. 网络编程 1.1 什么是网络编程 网络编程 : 指网络上的主机,通过不同的进程,以编程的方式实现网络通信. 简单来说: 网络编程就是通过代码的方式来控制不同进程间能够进行数据交互. 1.2 发送
1. 初始网络 计算机网络,根据其规模可分为WAN ( Wide Area NetWork, 广域网) 和 LAN ( Local Area Network, 局域网). 1.1 局域网LAN 一栋楼
1. IP 1.1 IP 首部的格式 版本: 表示的是 IP 首部的版本号. IPv4 的版本号为 4 首部长度: 当没有可选项时, IP 首部的长度为 20 字节. 服务类型: 由8位组成,3位优先
📒博客首页:崇尚学技术的科班人 小肖来了🏇 🍣今天给大家带来的文章是《【面试题】计算机网络 -- 常见面试题总结》🍣 🍣希望各位小伙伴们能够耐心的读完这篇文章🍣 🙏博主也在学习阶段,如若
介绍 为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP(Internet Control Message Protocol) ICMP是互联网的标准协议 ICM
介绍 为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP(Internet Control Message Protocol) ICMP是互联网的标准协议 ICM
1. HTTP 协议介绍 基本介绍: HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文
1. UDP 1.1 UDP 首部的格式 源端口号: 发送端端口号 目的端口号: 接收端端口号 UDP长度: 整个UDP的首部长度 与 数据的长度之和 校验和: 检测UDP数据报文在传输过程中是否有错
大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。 如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never
大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。 如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never
大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。 如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never
1. 了解 HTTP 协议 1.1 HTTP 是什么 HTTP (HyperText Transfer Protocol, 超文本传输协议) 是一种应用非常广泛的 应用层协议. 所谓 “超文本” 的含
1. UDP 1.1 UDP 首部的格式 源端口号: 发送端端口号 目的端口号: 接收端端口号 UDP长度: 整个UDP的首部长度 与 数据的长度之和 校验和: 检测UDP数据报文在传输过程中是否有错
1. 了解 HTTP 协议 1.1 HTTP 是什么 HTTP (HyperText Transfer Protocol, 超文本传输协议) 是一种应用非常广泛的 应用层协议. 所谓 “超文本” 的含
大家好,我是【1+1=王】, 热爱java的计算机(人工智能)渣硕研究生在读。 如果你也对java、人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never
抱歉,这个问题可能很愚蠢,但是 Kbps/...(千比特每秒和千字节每秒)是如何计算的?我现在有这样的计算: DWORD ibytesin=0,ibytes_sttime=0,ibytes_st=0,
我是一名优秀的程序员,十分优秀!