序
在此之前,我对网络传播的一些基本概念一直很模糊,感觉自己都懂,说不出个所以然。简而言之,很难对这个系统有一个整体的了解。所以有了这篇文章,目的就是总结一些大家普遍关注的网络概念,并描述它们之间的关系,为你扫清一些障碍,和你的朋友们分享一波。
主体
如题所示,我们将对每个基本概念进行陈述,并尽可能举例说明。
ip地址
IP地址为每个网络和每个主机分配一个逻辑地址,以掩盖物理地址的差异。IP地址用于给互联网上的计算机分配一个号码。你可以把“个人电脑”比作“一部电话”,那么“IP地址”就相当于“电话号码”。
注:“电话号码”还可以分为局域和广域。比如你的员工号在公司内部是唯一的,属于局域网IP。你的身份证号全国唯一,可以比作万IP。当然,局域和广域永远是相对的概念~
Ip地址可以分为两个维度,可以有很多:
IPv4和IPv6
静态IP和动态IP
IPv4和IPv6
为什么会有IPv6???因为IPv4使用32位地址,所以最多可以表示2的32次方,即4294967296个地址。40亿+的地址,远远不够,于是IPv6应运而生。
IPv6诞生大事记;
1992年初,IETF提出了一些关于互联网地址系统的建议,并于1992年底形成了白皮书。
从1996年开始,一系列用于定义IPv6的RFC相继发布,最初的版本是RFC1883。
自2011年以来,主要用于个人电脑和服务器系统的操作系统基本上都支持高质量的IPv6配置产品。
2012年6月6日,互联网协会举办世界IPv6纪念日,全球IPv6网络正式启动。
2013年9月,互联网上318个顶级域名中有283个支持对其DNS的IPv6访问。
2017年11月26日,中共中央办公厅、国务院办公厅印发《推进第六版互联网协议规模部署行动计划》。
2018年6月,三大运营商联合阿里云宣布全面对外提供IPv6服务,计划在2025年前帮助中国互联网真正实现“仅IPv6”。
IPv4
4字节的ip称为IPv4。目前大部分IP都是IPv4。例如:192.168.1.100
局域网和内网统一采用IPv4,外网IP大部分还是用IPv4。但随着IPv4的枯竭,逐渐进入IPv6时代。全球IPv4地址枯竭,中国新的IPv6体系正在形成。
IPv6
16字节ip成为IPv6。它的格式可以变化:
IPv6地址用冒号分成8个块,每个块有4个十六进制数字。例如:2400:cb00:2048:1:0:0:6ca2:c665
两个冒号标识多个0块,但是双冒号在每个地址中最多出现一次。比如2001:1234:4567:0000:0000:0000:8888可以缩写成2001:1234:4567::8888。
在IPv6和IPv4的混合网络中,IPv6地址的最后4个字节有时可以被IPv4点分成四段。例如:2001:1234:4567::c0a8:0a64可以写成2001:1234:4567::192.168.10.100。
静态IP和动态IP
我们已经知道,互联网中的每台机器都会有一个ip地址,这个IP可以是固定的,也可以是动态的。
静态IP
顾名思义,IP地址是静态的、固定的。我们上网的时候,公网IP一般用静态IP,这是全世界唯一的。但是我们知道IP资源是有限的,所以静态IP是要收费的。
静态IP是ISP分配给我们的。为了节省开支,我们通常在一个公共IP后面建立一个局域网,然后让局域网中的所有机器共享这个静态IP地址。
当然:因为ip资源的短缺,通过拨号/宽带上网的用户一般没有固定的ip,但是ISP会动态给你分配一个临时ip,也就是下面要讨论的动态IP。当然这一切你都是察觉不到的~ ~ ~
动态IP
作为网站的服务器,需要一个静态的IP地址来方便域名解析。通过调制解调器、ISDN、ADSL、住宅宽带等上网的电脑。每次上网都会被分配不同的ip。这就是动态ip。因为ip资源很珍贵,大部分用户都是通过动态ip上网,普通人一般不需要了解动态ip,这都是计算机系统自动完成的。
你可能会问:你每次通过ipconfig查你的机器ip都是192.168.x.x,没有变化。怎么可能是动态IP?请注意:这是一个局域网ip地址,可以是静态的,因为每个局域网都可以和你的ip地址一样并不冲突,而本文中的动态ip指的是广域网,要求全球唯一。
和域名解析。
IP地址对电脑有好处,但对人是个问题。毕竟人是很难记住的。所以我发明了域名系统。通过在DNS中将人能记住的主机名和计算机能记住的IP地址关联起来,一个域名可以对应多个IP,从而实现DNS的负载均衡。
域名和主机名的区别和联系
主机名代表一个主机,域名代表一个地区的名称,所以范围更广。
一个域名下可以有多个主机,例如:
在abc.com的这个域名下可以有两个主机:server1.abc.com和server2.abc.com。
当然,它也可以被命名为www.abc.com和baike.abc.com。
所以完整的主机名往往是这样命名的:计算机名。域名。
在国外的域名中,世界各地都不会存在同一个域名。
域名解析
域名解析:根据域名解析获得IP地址。域名解析由DNS服务器完成。
说明:在各大云厂商中,域名解析一般都是免费的。但由于各服务商的规模和实力参差不齐,无法有效保证解析系统的稳定性,建议选择知名域名服务商,如阿里云、腾讯云、新网等。
域名解析的类型
DNS服务器会把域名解析成一个IP地址,然后在这个IP地址的主机上连接一个子目录和addon域。解析域名时,将添加解析记录。这些记录有以下常见类型:
Hostname:记录用于指定与主机名对应的IP地址记录。用户可以将该域名下的web服务器指向自己的web服务器。同时,子域也可以通过域名解析来设置。
将域名指向IPv4地址需要添加记录。
别名:即别名记录。此记录允许您将多个名称映射到同一台计算机。通常用于同时提供WWW和邮件服务的计算机。例如,有一台名叫host.mydomain.com的电脑。它同时提供WWW和邮件服务,以方便用户访问这些服务。您可以为此计算机设置两个域名解析别名:WWW和MAIL。
如果将一个域名指向另一个域名,达到与被指向的域名相同的访问效果,则需要添加CNAME记录。
邮件交换记录:即邮件路由记录。用户可以将域名解析到自己的邮件服务器,然后就可以自己控制所有的邮箱设置了。在线填写自己服务器的IP地址,就可以将自己域名下的邮件全部转移到自己设置的对应邮件服务器上。
邮件服务的建立会指向邮件服务器地址,需要设置MX记录。
文字记录:设置TXT,域名解析设置TXT记录,以便别人联系你。还会提高域名邮箱发送外域邮件的成功率。之所以会提高成功率,是因为企业邮箱公司会把你的域名加入白名单,以企业邮箱公司的名义发邮件,不会互相屏蔽。TXT的应用之一,发件人策略框架,是防止你的邮件服务器发送的邮件被视为垃圾邮件。spf格式的txt记录的一个典型例子是“v=spf1 a mx ~all”,意思是只有该域名的A记录和mx记录中的ip地址才有权使用该域名发送邮件。更多关于SPF的信息,请见:http://www.openspf.org/
可以随便填,可以空。一般在做一些验证记录的时候会用到这一项,比如做发件人策略框架。
一个记录把一个域名解析成一个IP地址,而CNAME记录把一个域名解析成另一个域名,这个域名最终会指向一个A记录。唱片和CNAME唱片在功能实现上没有区别。
查询域名与IP的对应关系
可以通过任意域名获取它的IP地址,也可以通过任意IP地址找到它所属的域名。我们可以通过这个网站互相检查:https://site.ip138.com。
比如我们可以通过这个网站找到www.baiud.com对应的ip如下:
然后,您可以使用任何IP地址访问主页:
DNS域名解析服务
DNS的全称:域名系统。它是互联网上的分布式数据库,将域名和IP地址相互映射。它的作用是我们只通过主机名就可以得到主机名对应的ip地址,然后完成访问。
域名系统
DNS服务器也叫域名服务器。域名服务器是提供域名解析的服务器。有了基础知识,任何人都可以设置域名服务器,甚至是根域名服务器。著名的软件有:BIND。
DNS服务器包括路由缓存和互联网DNS服务器,以及13个根服务器。域名的基本解析流程如下:
通过电脑路由器连接互联网,为了加快访问时间,缓存短时间内使用的域名对应的ip。
互联网服务器,它是路由缓存的上层。一般宽带运营商或云服务提供商
一直到最后,最完整的是根服务器,一共13套,通过物理文件的冗余来分担全局域名查询任务。
域名根服务器
像许多国际组织一样,域名需要得到认可。当你的根域名服务器被全世界认可的时候,你的服务器也可以成为其中的一员。因为互联网起源于美国,域名系统也诞生于美国。在互联网不断扩展和发展的过程中,13服务器逐渐形成为全球根服务器。这13个根服务器由ICANN管理,由12个机构运营。下图显示了13台根服务器。
13个根域名服务器从A到M编号,由12个运营机构运营。还需要注意的是,13根域名服务器不是一个物理概念,而是一个逻辑概念。根域名服务器可以由分布在世界各地的多台服务器组成,形成一个集群,统一为一个逻辑根域名服务器。在https://root-servers.org网站上,我们可以找到所有真正的服务器发行版。
全球只有13台逻辑根域名服务器,由12家运营商运营,其中8台在美国,2台在欧洲,位于荷兰和瑞典,亚洲有1台位于日本,但真正的主根服务器并不公开。
DNS域名解析流程
以在浏览器上输入www.baidu.com地址为例:
首先,浏览器将检查它的DNS缓存。
1.谷歌Chrome可以这样查看Chrome:Chrome://net-internal/# DNS
浏览器寻找操作系统缓存。
本地主机文件
浏览器将把域名发送给LDNS,它将首先查询缓存记录。
使用windows下的ipconfig /all查看您拥有的DNS服务器:
Ipconfig /displaydns可以显示你最近访问过哪些dns。
LDNS服务器向主域名服务器请求解析,并返回名称服务器域名服务器地址。
LDNS服务器在注册时向服务器发送请求,最终得到域名对应的IP地址。
特别声明:域名不包含端口。
公共DNS服务器IP地址的完整集合
域名必须通过DNS服务器解析才能获得IP地址,所以DNS服务器非常重要。
内网域名是通过内网DNS服务器解析的,一般由公司运维来设置和维护。
作为重要的互联网基础设施,很多大型企业都提供了一些简单易用的公共DNS服务器供我们使用。这里推荐几个:
180.76.76.76
https://dudns.baidu.com/intro/publicdns
114个域名:114.114.114.114/114.114.115.115
阿里域名系统:223.5.5.5/223.6.6.6
DNSPod DNS+:119.29.29.29/182.254.116.116
谷歌域名系统:8.8.8.8/8.8.4.4
…
更多更全面的公共DNS服务器的ip地址,请参考这个网站:https://dnsdaquan.com
有了这些好用的免费DNS服务器,如果我们自己买一个域名,可以给它帮助我们完成域名解析。
DDNS动态域名解析服务
DDNS:动态域名服务器,动态域名服务器。与DNS相比,它前面有一个动态,表示动态。我们知道DNS用于域名-> IP地址解析,那么什么是DDNS呢?
DDNS将用户的动态IP地址映射到一个固定的域名解析服务。每次用户连接到网络时,客户端程序都会通过信息传递将主机的动态IP地址传递给位于服务提供商主机上的服务器程序。服务器程序负责提供DNS服务,实现动态域名解析。
也就是说,DDNS捕获用户每次更换的IP地址,然后将其对应到域名上,其他互联网用户就可以通过域名进行通信。最终客户需要记住的只是记住动态域名提供商给的域名,不管他们是怎么实现的。
动态域名服务器的对象意味着IP是动态变化的。常见的DNS是基于静态IP的,可能是一对多,也可能是多对多,所有的IP都是固定的一个或多个。但是DDNS的IP是多变的,随机的。随着市场需求的变化,DDNS要求越来越多的功能和更多的便利。现在,市场上有很多第三方DDNS支持的设备。
有一个非常著名的关于动态域名解析服务的软件你一定不陌生:花生壳。
你什么时候需要DDNS?
目前,大多数商业域名仍然不使用DDNS,而是使用DNS来完成解析。你什么时候需要DDNS?这里有两个例子:
在家庭局域网/公司局域网/学校局域网中,我想设置一个Ftp服务器**共享文件,但是你知道家庭网络使用的是动态IP。一旦我的IP发生变化,别人用原来的域名是找不到这个服务器的,所以我的诉求是:即使我的IP是动态的,我也希望每次都能通过域名解析到我,这是DDNS能做到的。
比如现在流行的远程摄像头,你发现无论你在哪里,都可以通过网络打开摄像头查看家里的情况。虽然IP是公网动态IP,但是每次断开都会发生变化,所以可以想象这也是DDNS解决的。
描述一下简单的DDNS能做什么:动态的将改变后的IP映射到域名,通过不变的域名访问改变后IP的主机;
如何自己实现DDNS
如果您需要做DDNS动态域名解析,我们将介绍三种方案供您参考:
花生壳有很多优点,比如稳定性,内网穿透,内网端口映射。使用起来非常方便:只用内网IP就可以搭建一个服务器。
包括DNSPod及其客户端。
使用阿里云SDK for Java实现动态域名解析,包括Demo。参考地址:https://help.aliyun.com/document_detail/141482.html
摘要
这是对域名、静态IP和动态IP、DNS、DDNS等常见网络概念的介绍。本文详细介绍了这些概念,希望对大家有所帮助。
InetAddress在Java中的使用:域名解析[享受学习Java]
在Java中使用InetAddress:获得本地IP地址的正确姿势[享受学习Java]
【了解杰克逊】首先,第一次了解杰克逊——世界上最好的JSON库
【向杰克逊学习】二。jackson-core和JsonFactory、JsonGenerator和JsonParser的流API
【乐学杰克逊】三。jackson的对象映射器——数据绑定、数据绑定和树模型
【乐学杰克逊】四。JsonFactory。特性,JsonGenerator。特性,JsonParser。控制杰克逊行为的特征的特征
【乐学杰克逊】5。控制杰克逊行为的特征的JsonWriteFeature和JsonReadFeature
【乐学杰克逊】六。控制Jackson行为的特性的MapperFeature、SerializationFeature和DeserializationFeature。
【乐学杰克逊】七。Jackson利用位操作开启/关闭特性的原理分析。
【向杰克逊学习】八。jackson-databind数据绑定基础架构的baseSettings、MapperConfig和MapperConfigbase
【向杰克逊学习】九。jackson-databind数据绑定的序列化/反序列化配置的序列化配置和反序列化配置
【向Jackson学习】十、jackson-databind序列化的ObjectMapper序列化原理和序列化器匹配原理
[向杰克森学习] XI。jackson-databind的JsonSerializer的全面分析
【向杰克逊学习】十二。jackson-databind反序列化的ObjectMapper反序列化原理以及JsonDeserializer的完整解析。
【乐学杰克逊】十三。杰克逊注释模块和杰克逊注释百科全书的全面分析
【乐学杰克逊】十四。深刻理解杰克逊的模块设计和原理分析。
【乐学杰克逊】十五。第三方模块深度实践:JavaTimeModule、JSR310Module、ParameterNamesModule、Jdk8Module
【乐学杰克逊】十六。Spring MVC中Jackson使用的日期和JSR310时间类型的处理
【乐学杰克逊】十七。spring-web集成Jackson2ObjectMapperBuilder的Jackson源代码分析
【乐学杰克逊】18。Spring container深度集成了杰克逊桥的SpringHandlerInstantiator。
【乐学杰克逊】XIX。在Spring-Jackson 2对象映射器工厂bean中使用对象映射器的正确姿势
【乐学杰克逊】XX。Spring MVC下的Jackson-Mapping Jackson 2 http message转换器
【乐学杰克逊】XXI。Spring Boot下Jackson-Jackson自动配置的自动配置
【享受学习杰克逊】二十二、杰克逊和法斯特森的恩怨
————————————————
版权声明:本文为CSDN博主《方向盘》原创文章,遵循CC 4.0 BY-SA版权协议。转载请附上原出处和本声明的链接。
原文链接:https://blog.csdn.net/f641385712/article/details/105193589