在分布式系统中制定好服务器命 名 ( Naming) 规则,是管理大规模机器 的关键,每台服务器和每个部件都根据命名规则设置名字 ( Name) ,就可以快速定位所 在位置,就像根据 学校的班级、学号、姓名可以清晰地找到学生。例如,通过机器名字可以快速找到机器 所在地域、数据中心、机架、机位等信息,同样通过机器 的 IP地址也可以快速确定内网、公网等信息,通过对 象的名字也可以快速确认应用名信息。
分布式系 统的数据会在多台机器之间传递,当跟踪数据路径优化性 能或搜集系统日志分析间题时 ,通常会使用 机器名字和时间作为参考,此时就需要分布式系 统的多台机器之间的同步时间 。业界典型时间同步 技术有物理时钟同步 、全球定位系 统及原子钟同步技术 。除此之外,由于多台机器 之间物理时间无误差、精确的同步代价大,所以业界还会使用 逻辑时钟技术,简便地实 现机器间交互时序和同步数据。
3.1 命名技术
3.1.1 命名方式
命名方式分为名字、地址、标识符三种。
· 名字。在信息科技领域 ,名字用字符串表示,它指定到具体的实体 ( Entity) ,如主机、打印机、邮箱、文件、网页等。
· 地址(Address)。在信息科技领域 ,地址是寻址访问实体位置 ( Location) 的信息,众所周知,在网 络环境中常用 IP地址来访间机器,这里分为三种:1Pv4地址、1Pv6地址和 MAC地址。
· 标识符 ( Identifier)。在信息科技领域 ,标识符就是字 符串,可以表示各类实体,如通用唯一标识符 ( UniversallyUniqueIdentifier,UUID)。
通常来说,网页用统一资源定位符 ( URL) 的名字展现 ,先通过域名系统 ( DNS) 解析
为 IP地址,然后基于 IP地址访问数据。而 URL名字和IP地址都算是一种标识符,用来标记具体的资源实 体。
1. URL命名
URI(统一资源标识符)、URL、URN(统一资源名称)都是名字的具体应用 。其中,URI用千描述资源 ,URL是 URI的特定类型,用地址定位资源 ,URN是 URI的特性类型,用名称定位资源,URI的命名策略如图 3-1所示,通常包含 scheme、authority、path、query、fragment等参数。
图3-1 URI的命名策略
URI最常见的形式是 URL, 通常用来描述网址。URI较少见的形式是 URN, 它是 URL的补充,用资源标识符来寻址。
URL遵从 URI的命名规范,例如 “ http://www.example.com/index.html”。其中http就是scheme, www.example.com就是 authority(也叫作 hostname) 、index.html就是 path(对应文件)。URL最常用千网页 ( scheme为 http),也用千文件传输 ( scheme为 ftp)、邮箱( scheme为 mailto)、数据库访问 ( scheme为 JDBC) 等。
URN也遵从 URI的命名规范,只是使用 um作为 scheme,如下是典型示例。
• um:ietf:rfc:2648表示 IETF发布的 RFC2648标准。
• urn:uuid:6e8bc430-9c3a-lld9-9669-0800200c9a66表示 UUID信息。
2. 1Pv4地址
1Pv4(InternetProtocolversion4,互联网协议版本 4) 是互联网协议开发过程中 的第 4个修订版本,也是该协 议第 1个被广泛 部署和使用 的版本。
1Pv4使用 32位( 4字节)地址,因此地址空间中只有 4294967296( 232)个地址,典型的 1Pv4地址为101.207.252.145。尽管有 2“个地址,但某些地址段为特殊用途保留,如专 用网络地址 (约 1800万个地址)和多播地址(约 2.7亿个地址),这减少了互联网上可用地址的数量。
l) 分类地址
基于 1Pv4地址的首字节,按照二进制将 1Pv4地址分为 A类地址、B类地址、C类地址、D类地址、E类地址,如表 3-1所示。
表3-1 1Pv4分类地址
在域名出现大约 10年后,基千分类网络 ( A/B/C/D/E类地址)进行地址分配和路由 IP数据包 的设计就出现了扩展性不足的问题。因为分类网 络的 C 类地址可分配的最小地址块有 256个 ( 24位前缀,8位主机地址,28=256),而这对大多数企业来说太少 。而 B类地址块有65536个 (16位前缀,16位主机,216=65536),而这对大公司来说都太多。因此导致不能充分使用 IP地址块,并且路由配置 也不方便。
2) 无类别域间路由
为了解决以上问题,互联网工程工作小组在 1993年发布一新系列的标准 RFC1518和 RFC1519, 它们描述了重新分配 IP地址块和路由数据包 的方法,这就是无类别域间路由(ClasslessInter-DomainRouting, CIDR) 技术。该技术的核心是基千可变子网掩码 ( VariableLengthSubnetMasking,VLSM) 的地址前缀分配,包括如下特点。
· 可变子网掩码技术 。遵从 CIDR规则的地址,会用数字指定前缀位数。例如,
192.168.0.0/16就是用 16指定前缀长度,从而更高效地使用地址。
· 将多个连续的前缀聚合成超网 ,总体上减少 路由表的表 项数目 ,聚合使得互联网的路由表不用分为多级。
CIDR地址块表示方法和 1Pv4地址块表示方法类 似,如A.B.C.DIN。其中A.B.C.D为四部分组成的点分十进制地址,后跟一个斜线(/) , 最后是范围 在 0~32的一个数字(表示前缀的长度,也就是从左到右被地址块中 的地址共享的比特位数目)。如图3-2所示 ,指定CIDR块为 10.10.1.32/27,根据 CIDR从左到右的比特位比较27位原则,10.10.1.44属于该块,但10.10.1.90不属千该块。
图 3-2IPv4无类别域间 路由 ( CIDR)
3) CIDR地址块包含主机数
CIDR通过前缀路由聚合 ,将多个原有的 C类(/24) 网络聚 合,对外显示为 a.b.c.d/20的网络(假设这些网 络的 地址前 20位都相同),从而有效地减少了对外显示的网络数 ,防止了路由表爆炸。如表3-2 所示,CIDR斜线后的数字N决定该网络的主机数(该值为232- N)。通过合理设置 N值,可以灵活地支持不同规模的子网,而不像 A/B/C/D类地址那 样以 8位为粒度。
表3-2 1Pv4CIDR地址计算主机数
4) CIDR地址块用途
基千 1Pv4CIDR的地址块用途如表 3-3所示。
表3-3 基于1Pv4CIDR的地址块用途
基千 IPv4 CIDR 创建的地址巾互联网号码分配局 O ntem et Assigned Numbers Authority,IANA) 和区域互联网注册管理机构 ( Regional InternetRegistries, RIR) 管理,每个 RIR 均维护着一个公共的 WHOIS数据库,以此提供IP地址分配的详情。由千 1Pv4 的地址 空间有限(总共产 个地址),因此分配地址时应考虑到各种用途,如表 3-3所示 ,特别是专有网络的 3个地址。
• 10.0.0.0/8的 A类专用网 络地址 。地址范围为 10.0.0.0~10.255.255.255,支 持 16777216台专用网 络主机。
• 172.16.0.0/12的 B类专用网络地址。地址范围为 172.16.0.0~172.31.255.255,支待
1048576台专用网络主机。
• 192.168.0.0/16的 C类专用网 络地 址 。地址范 围为 192.168.0.0~192.168.255.255,支持 65 536台专用网络主机。