人呐,眼光放得长远一些,看到的东西也会多一些,生活也就会过得更有意义一点。
在此之前,我对于网络通讯上的一些基础概念总是含糊其辞,感觉自己知道都又道不出个所以然,总之就是不成体系难以有个整体的把握。因此有了本文,目的是对一些平时颇为关注的网络概念进行总结,描绘出它们的关系,借此也希望能去扫清你的一些障碍,给小伙伴们分享一波。
如标题所示,会针对每个基础概念分别作出即使,并且尽量给以示例。
IP地址为每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址被用来给Internet上的电脑一个编号。可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”。
注意:“电话号码”也有局域和广域之分,比如你的员工号只在公司内部唯一,属于局域网IP。你的身份证号在全国范围内是唯一的,可类比为广域网IP。当然喽,局域和广域永远是个相对的概念~
ip地址从两种维度上来分,可以有多种:
为何会有IPv6???因为IPv4使用32位(4字节)地址,所以它最多能够表示2的32次方,也就是4,294,967,296个地址。40亿+
个地址这是远远不够的,因此IPv6就出现了。
关于IPv6诞生的大事记:
4字节长的ip称为IPv4,目前大部分ip都是IPv4。例如:192.168.1.100
局域网、内网统一采用IPv4,外网IP绝大部分还在使用IPv4,不过随着IPv4的耗尽,开始逐渐步入IPv6的时代。全球IPv4地址耗尽,中国IPv6新体系正在形成
16字节长的ip成为IPv6。它的格式可有多种:
2400:cb00:2048:1:0:0:6ca2:c665
2001:1234:4567:0000:0000:0000:8888
可缩写为2001:1234:4567::8888
2001:1234:4567::c0a8:0a64
可以写为 2001:1234:4567::192.168.10.100
我们已经知道,处在互联网中(若你不联网是不需要ip的,其中不联网指的是单机)的每台机器都会有一个IP地址,而这个ip可以是固定的,也可以是动态的。
顾名思义,IP地址是静态的、固定的。我们上网时的公网IP一般使用的静态IP,它是全球唯一的。但是我们知道IP资源是有限的(特别是IPv4),因此静态IP都是收费的(而且一般还不便宜)。
静态IP由ISP(互联网服务提供商,如中国电信、中国联通等)它们分配给我们(当然你得花钱),为了节约开销,我们一般会在一个公网IP后搭建一个局域网,然后让局域网内的所有机器共享这一个/多个静态IP地址(也叫出口IP)。
当然喽:因为ip资源非常短缺,通过拨号上网/宽带上网的用户(比如你的家庭)一般不具备固定ip(毕竟宽带费并不贵嘛),而是由ISP动态分配给你一个暂时ip,这就是下文要讲的动态IP。当然这一切对你是无感知的~~~
作为网站的服务器需要一个静态的IP地址,便于域名解析。通过Modem、ISDN、ADSL、小区宽带等方式上网的计算机每次上网所分配到的ip都不相同,这就是动态ip。因为ip资源很宝贵,大部分用户都是通过动态ip上网的,普通人一般不需要去了解动态ip,这些都是计算机系统自动完成的。
你可能会问:你每次通过ipconfig
查看你的机器IP都是192.168.x.x
,并木有变化呀,怎么会是动态ip呢?请注意:你这个是局域网ip地址,完全可以是静态的,因为每个局域网都可以有和你一样的ip地址并不冲突(想想不同的公司是不是可以有一样的工号呀?),而本文的动态ip指的是广域网的,它是要求全球唯一的。
IP
地址对于计算机来说很不错,但对于人来说是个问题,毕竟对于人来说非常难以记忆。于是就发明了域名系统(Domain Name System, DNS)。DNS将人们可以记忆的主机名与计算机可以记忆的IP地址关联在一起,可以通过一个域名对应多个ip,来实现DNS的负载均衡。
abc.com
这个域名下可以有这两台主机(名):server1.abc.com
和server2.abc.com
www.abc.com
和baike.abc.com
计算机名.域名
域名解析:根据域名解析得到IP地址。域名的解析工作由DNS服务器完成。
说明:在各大云厂商中,域名解析一般都是免费服务的。但由于各服务商规模和实力良莠不齐,解析系统的稳定性得不到有效保障,所以建议选择比较知名的域名服务商,如阿里云、腾讯云、新网等
DNS服务器会把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。域名解析时会添加解析记录,这些记录有如下常见类型:
A记录是把一个域名解析到一个IP地址,而CNAME记录是把域名解析到另外一个域名,而这个域名最终会指向一个A记录,在功能实现在上A记录与CNAME记录没有区别。
通过任何一个域名可以得到其IP地址,通过任何一个IP地址也能找到它所属的域名。我们可以通过该网站实现互查:https://site.ip138.com
比如我们通过此网站查询到www.baiud.com
对应的ip有:
那么你使用任意一个IP地址都是可以访问到百度首页的:
DNS英文全称:Domain Name System
(域名系统)。是因特网上作为域名和IP地址相互映射的一个分布式数据库。它的作用是我们仅需通过主机名即可获得该主机名对应的ip地址进而完成访问。
DNS服务器也叫域名服务器。域名服务器是提供域名解析的服务器,在有基本的知识下,任何人都可以搭建域名服务器,甚至是根域名服务器,有名的软件有:BIND。
DNS服务器包括路由缓存和互联网DNS服务器(比如阿里云提供的、百度提供的等等),以及13台根服务器。它对于一个域名的基本解析过程如下:
域名服务器就像许多国际组织一样,是需要被承认的,当你的根域名服务器被全世界承认,你的服务器也可以成为这其中的一员。因为互联网起源于美国,域名体系也是诞生于美国,在互联网不断扩张和发展的过程中,逐渐形成了13台服务器为全球根服务器。这13台根服务器由ICANN管理,由12个机构具体运营。13台根服务器如下图所示。
13台根域名服务器从a至m编号,分属12个运营机构运营。另外需要注意的是:13台根域名服务器不是一个物理概念,它是一个逻辑概念。根域名服务器可以由分布在全球的多个服务器组成,形成一个集群,对外统一为1台逻辑的根域名服务器。在https://root-servers.org网站上,我们能查到所有的真实服务器分布(中国境内有大几十个实例)。
全世界只有13台逻辑根域名服务器(这13台根域名服务器名字分别为“A”至“M”),由12个运营者运营,其中8个在美国,欧洲2个,位于荷兰和瑞典,亚洲1个位于日本,而真正的主根服务器并未公开。
以浏览器上键入一个www.baidu.com
地址为例:
chrome: chrome://net-internals/#dns
LDNS
(本地DNS服务器,承担了主要的域名解析工作,通过ipconfig可以查到),LDNS
首先会查询缓存记录
特别声明:域名不包括端口
一个域名必须经过DNS服务器的解析才能得到IP地址,因此DNS服务器非常的重要。
内网域名通过内网DNS服务器去解析,内网DNS服务器一般由公司的运维负责搭建好和维护
作为重要的互联网基础设施,有很多大企业提供了一些好用的、公共的DNS服务器可以给我们使用,这里推荐几个:
百度 BaiduDNS
:180.76.76.76
114 DNS
:114.114.114.114 / 114.114.115.115阿里 AliDNS
:223.5.5.5 / 223.6.6.6DNSPod DNS+(腾讯云)
:119.29.29.29 / 182.254.116.116Google DNS
:8.8.8.8 / 8.8.4.4(你若要解析到国外ip地址可用它,国内不推荐使用)有了这些好用的免费DNS服务器后,若我们自己购买了一个域名就可以交给它来帮我们完成域名解析(当然若你是商用的,最好还是购买付费的域名解析服务,更稳定更有保障些)。
DDNS
:Dynamic Domain Name Server,动态域名服务。相较于DNS就前面加了个Dynamic
表示动态的。我们知道DNS用于域名 -> IP地址的解析,那么何为DDNS呢?
DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
也就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来进行交流。而最终客户所要记忆的全部,就是记住动态域名商给予的域名即可,而不用去管他们是如何实现的。
动态域名服务的对象是指IP是动态的,是变动的。普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个。但DDNS的IP是变动的、随机的。随着市场需求的变化,DDNS需求功能也越来越多,越来越要求方便,市场现在已经有了不少第三方DDNS方支持的设备。
关于动态域名解析服务有个非常著名的软件你肯定不陌生:花生壳
目前来说,对于商业域名绝大部分还是不会使用到DDNS的,而是使用的DNS完成解析。那么什么时候需要DDNS呢,下面举出两例:
Server
**来共享文件,但是你知道家里的网使用的是动态IP(指的出口IP),一旦我的IP发生变化其他人使用原来域名就不能 找到这台Server 了,因此我的诉求是:即使我IP是动态的,但我希望每次通过域名都能解析到我这来,这便是DDNS可以搞定的事。简单描述DDNS能做什么:以把变化的IP动态地映射到域名上,通过不变的域名访问变化IP的主机;
如果自己需要做一个DDNS动态域名解析,本处共介绍三种方案供以参考:
DNSPod
以及其客户端完成关于域名、静态IP和动态IP、域名解析DNS、动态域名解析DDNS这些常用的网络概念就介绍到这了。本文还算详细的介绍了这些概念,希望对大家能够带来帮助。
原创不易,码字不易,多谢你的点赞、收藏、关注。把本文分享到你的朋友圈是被允许的,但拒绝抄袭
。你也可【左边扫码/或加wx:fsx641385712】邀请你加入我的 Java高工、架构师 系列群大家庭学习和交流。