前言
在此之前,我对于网络通讯上的一些基础概念总是含糊其辞,感觉自己知道都又道不出个所以然,总之就是不成体系难以有个整体的把握。因此有了本文,目的是对一些平时颇为关注的网络概念进行总结,描绘出它们的关系,借此也希望能去扫清你的一些障碍,给小伙伴们分享一波。
正文
如标题所示,会针对每个基础概念分别作出即使,并且尽量给以示例。
IP地址
IP地址为每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址被用来给Internet上的电脑一个编号。可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”。
注意:“电话号码”也有局域和广域之分,比如你的员工号只在公司内部唯一,属于局域网IP。你的身份证号在全国范围内是唯一的,可类比为广域网IP。当然喽,局域和广域永远是个相对的概念~
ip地址从两种维度上来分,可以有多种:
- IPv4和IPv6
- 静态IP和动态IP
IPv4和IPv6
为何会有IPv6???因为IPv4使用32位(4字节)地址,所以它最多能够表示2的32次方,也就是4,294,967,296个地址。40亿+个地址这是远远不够的,因此IPv6就出现了。
关于IPv6诞生的大事记:
- 1992年初,一些关于互联网地址系统的建议在IETF(互联网工程任务组)上提出,并于1992年底形成白皮书。
- 1996年开始,一系列用于定义IPv6的RFC发表出来,最初的版本为RFC1883。
- 2011年开始,主要用在个人计算机和服务器系统上的操作系统基本上都支持高质量IPv6配置产品。
- 2012年6月6日,国际互联网协会举行了世界IPv6启动纪念日,这一天,全球IPv6网络正式启动。
- 2013年9月,互联网318个中的283个顶级域名支持IPv6接入它们的DNS。
- 2017年11月26日,中共中央办公厅、国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》。
- 2018年6月,三大运营商联合阿里云宣布,将全面对外提供IPv6服务,并计划在2025年前助推中国互联网真正实现“IPv6 Only”。
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资源是有限的(特别是IPv4),因此静态IP都是收费的(而且一般还不便宜)。
静态IP由ISP(互联网服务提供商,如中国电信、中国联通等)它们分配给我们(当然你得花钱),为了节约开销,我们一般会在一个公网IP后搭建一个局域网,然后让局域网内的所有机器共享这一个/多个静态IP地址(也叫出口IP)。
当然喽:因为ip资源非常短缺,通过拨号上网/宽带上网的用户(比如你的家庭)一般不具备固定ip(毕竟宽带费并不贵嘛),而是由ISP动态分配给你一个暂时ip,这就是下文要讲的动态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的负载均衡。
域名和主机hostname的区别和联系
- 主机名代表一台主机,域名代表一个区域的名称,所以它的范围更大
- 一个域名下面可以有多台主机,如:
- abc.com这个域名下可以有这两台主机(名):server1.abc.com和server2.abc.com
- 当然取名也可以是www.abc.com和baike.abc.com
- 所以完整的主机名很多时候这样命名:计算机名.域名
- 外网域名中,全世界不会存在相同的域名
域名解析
域名解析:根据域名解析得到IP地址。域名的解析工作由DNS服务器完成。
说明:在各大云厂商中,域名解析一般都是免费服务的。但由于各服务商规模和实力良莠不齐,解析系统的稳定性得不到有效保障,所以建议选择比较知名的域名服务商,如阿里云、腾讯云、新网等
域名解析的类型
DNS服务器会把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。域名解析时会添加解析记录,这些记录有如下常见类型:
- 主机名(A记录):A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的网页服务器(web server)上。同时也可以通过域名解析设置子域名。
- 将域名指向一个IPv4地址(例如:100.100.100.100),需要增加A记录
- 别名(CNAME记录):即:别名记录。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。 它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个域名解析别名(CNAME):WWW和MAIL。
- 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录
- 邮件交换记录(MX记录):即:邮件路由记录。用户可以将该域名解析到自己的邮件服务器上,然后即可自行操控所有的邮箱设置。您在线填写您服务器的IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。
- 建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录
- 文本记录(TXT记录):设置 TXT ,域名解析设置TXT记录以便使别人联系到您。也会提升域名邮箱发送外域邮件的成功率,之所以会提升成功率,是因为企业邮箱公司把你的域名加入白名单,以企业邮箱公司的名义发送邮件,企业邮箱公司不会互相屏蔽的。TXT的应用之一,SPF(Sender Policy Framework)记录,以防止你的邮件服务器发送的邮件被当作垃圾邮件。很典型的spf格式的txt记录例子为“v=spf1 a mx ~all”,表示只有这个域名的a记录和mx记录中的ip地址有权限使用这个域名发送邮件。更多关于SPF的信息请参见:http://www.openspf.org/
- 可任意填写,可为空。一般做一些验证记录时会使用此项,如:做SPF(反垃圾邮件)记录
A记录是把一个域名解析到一个IP地址,而CNAME记录是把域名解析到另外一个域名,而这个域名最终会指向一个A记录,在功能实现在上A记录与CNAME记录没有区别。