3.1.1对象存储命名应用
对象存储作为复杂 的云服务,综合应用了 结构化命 名、平坦命名、基于属性命名技术,支撑不同的场景和功能需求 。
客户端请求 访问 ” image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg"对象时,将按照如下步骤执行 ,如图 3-9所示。
图3-9 对象存储命名技术应用
(1) 解析 URL的主机名 image-demo.oss-cn-hangzhou.aliyuncs.com, 得到对象 存储服务主机的 IP地址,该过程采用结构化命名的树形解析方法。
· 解析域名时,从com顶级域名查询到 aliyuncs机构/企业 。
· 企业在内部解析时按照aliyuncs-oss-cn-hangzhou---->image-demo 顺序,找到该域名绑定的主机的IP地址,如 118.31.219.189的1Pv4地址。
( 2) 客户端将请求包 发送到 IPv4地址为 118.31.219.189的机器(如服务器 X),同时包含完整的 URL名。此时服务器 X会将请求和 URL发送到对象存储的后 端服务器(如服务器B)。
( 3) 服务器 B通过传入的 URL得到对象 名 example.jpg, 然后按照平坦空间 寻址方法找到数据所 在硬盘的 UUID。其中平坦空间寻址方法通常有两种:按范围分区 ( RangePartition)的字节比对查找和按哈希分区 ( HashPartition) 的计算查找。
( 4) 根据对象 名 example.jpg对应的硬盘的 UUID, 就可以取回数据。
( 5) 同时,对象存储支持标签功能 。标签按照基千属性命 名技术组织,提供 Key-Value
的键值对,从而为该对象提供更多维度的信息。
1. . 域名解析
域名系统( DomainNameSystem, DNS ) 除定义 域名规则外,其核心是要做域名解 析,以下是典型的域名配置记录
其中 NAME字段表示 要解析的名字 ,TTL表示记录的缓存有效时间 ,RPT表示 DNS记录的类型,VALUE表示该类型的值,第二条记录就是将名字 www.taobao.com解析为 1Pv4地址 101.37.183.170。
DNS支待常见的记录类型 ( RPT字段)如下。
• A类型。1Pv4记录,支持将域名映射 到 1Pv4地址。
• AAAA类型。1Pv6记录,支持将域名映射到 1Pv6地址。
• CNAME类型。别名记 录,支持将域 名指向另外一个域名。
• MX类型。电子邮件交互记录,支待将域 名指向邮件服务器地址。
• TXT类型。文本记录,是任意可读的文本 DNS记录。
• SRV 类型。服务器资源记录,用来标志某台服务器 使用了某 个服务 ,常见千微软系统的目录管理。
• NS类型 。名称服务器 记录,支持将子域名委托给其他 DNS服务商解 析。
• CAA类型。证书资源记录,可以限定域名颁发证书和 CA(证书颁发机构)之间的联系 。
域名查询的解析方法 有两种:递归查询和迭代查询,如图 3-10 所示。DNS 客户端查询服务时 ,通常都采用递归查询,DNSResolver 全权处理客户端的 DNS查询请求,直到返回最终结果 ,如图 3-10中的步骤 l和步骤8。而DNS服务 端之间 ,通常采用迭代查询,如图3-10中的步骤2~步骤 7。
1. 公网地址路由
通过 DNS查询到对象存储域名image-demo.oss-cn-hangzhou.aliyuncs.com的互联网 IP地址(也叫作公网 IP 地址)为 118.31.219.189, 客户端将数据包 的目的地址填写为I18.31.219.189, 通过互联网 的路由就可以到达对象存储服务。
互联网带宽通常分为普通线 路和边 界网关协议 ( BorderGatewayProtocol, BGP) 线路,BGP线路质量高,绑定单个 IP地址就可以支持多个 运营商的链路,并具有链路冗 余备份、消除环路等特性,只是价格比普通线 路贵 。
2. 专有网络地址交 换
对象存储服务提供海 量数据存储能力 ,数据中心内的大规模服务器不需要使用 公网 IP对外提供服务,而且也不安全,为此采用专 有网络地址来 进行通信 。例如,1Pv4的专有网络地址段 10.0.0.0/8、172.16.0.0/12、I92.168.0.0/16, 常常作为数据中 心内服务器的地址。
专有网络通常采用 数据中 心交换机进 行数据交 换,通过将专有网络地址转 换为 MAC地址,从而在交换机内实 现 MAC地址转发端口的映射 ,最终可以将数据包 发送到和交换机连接的服务器 。
3. MAC地址访问
地址解析协议 ( AddressResolutionProtocol, ARP ) 将 IP地址转换为MAC地址,从而支撑数据包的转发。例如,服务器 X的 IP地址为 172.16.1.1, 对应的 MAC地址为 OA-12-34-56-78-91; 服务器 Y的 IP地址为 172.16.11.2 , MAC地址为 OA-12-34-16-38-91。当服务
器 X要与服务器 Y通信时,ARP将服务器 Y的 IP地址 072.16.11.2) 解析成服务器 Y的
MAC地址,处理步骤如下 。
(1) 根据服务器 X的路由表,确认访问服务器 Y的 IP地址是 172.16.11.2。服务器 X在本机 ARP缓存中检查服务器 Y的 MAC地址。
( 2) 如果服务器 X在 ARP缓存中未 找到服务器X的 MAC地址,那么 ARP将查询得到它的 MAC地址,此时 ARP将请求包广播到本地专 有网络上的所有服务器,并且服务器X的 IP地址和 MAC地址都包含在请求中。本地网络的每台 服务器 都将接收到 ARP请求,并且检查是否与自己 的 IP地址匹配。若服务器 Y发现 ARP请求中的 IP地址与自己 的 IP地址不匹配,则丢弃 ARP请求。
( 3) 若服务器 Y发现 ARP请求中的 IP地址与自己的 IP地址匹配,则将服务器 X的 IP
地址和 MAC地址映射添加到本地 ARP缓存。
( 4) 服务器 Y将包含自身 MAC地址的ARP响应直接返回给服务器X。
( 5) 服务器 X收到从服务器 Y发来的 ARP响应后,用服务器 Y的 IP地址和 MAC地址信息更新 ARP缓存。本机缓存具有有效期 ( TimeToLive, TTL), TTL结束后将再次重复上述过程。
通过 ARP得知到服务器 Y的 IP地址和 MAC地址后,服务器 X就能通过交 换机向服务器 Y发送数据包 。
1. . 盘标志符
每台服务器 上的硬盘都有 UUID, 保证在服务器 重启、更换盘槽位后 都能提供固定的硬盘访问路径,如 Linux操作系 统下的/dev/sda、/dev/sdb、/dev/sdz盘符。
基于盘 的 UUID和访问路径 ,就可以保证对象存储的数据访问请求会发送到正确的盘 ,从而得到正确的数据,并最终将它返回给客户 端。