存储寻址转发
A. 交换机的工作原理是什么
交换机工作原理
1、交换机的作用
连接多个以太网物理段,隔离冲突域
以太网帧进行高速而透明的交换转发
自行学习和维护MAC地址信息
交换机工作在二层,可以用来隔离冲突域,在OSI参考模型中,二层的作用是寻址,这边寻址指的是MAC地址,而交换机就是对MAC地址进行转发,在每个交换机中,都有一张MAC地址表,这个表是交换机自动学习的,所以,总得来说交换机的作用是寻址和转发,这边需要注意的是寻址和转发都是MAC地址,需要跟上周分享的路由器区分开来,路由器寻址寻的是IP地址,而交换机是MAC地址。
2、交换机的特点
主要工作在OSI模型的物理层、数据链路层
提供以太网间的透明桥接和交换
依据链路层的MAC地址,将以太网数据帧在端口间进行转发
3、交换机MAC地址表转发过程:
MAC地址表初始化:
B. 什么是存储转发交换方式
存储转发(Store and Forward)是计算机网络领域使用得最为广泛的技术之一,以太网交换机的控制器先将输入端口到来的数据包缓存起来,先检查数据包是否正确,并过滤掉冲突包错误。确定包正确后,取出目的地址,通过查找表找到想要发送的输出端口地址,然后将该包发送出去。正因如此,存储转发方式在数据处理时延时大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,并且能支持不同速度的输入/输出端口间的交换,可有效地改善网络性能。它的另一优点就是这种交换方式支持不同速度端口间的转换,保持高速端口和低速端口间协同工作。实现的办法是将10Mbps低速包存储起来,再通过100Mbps速率转发到端口上。
C. 8088cpu寻址存储器 为什么要进行地址的转换
主要目的是便于存储器的管理,使得可以用16位寄存器来寻址20位的内存空间。
段的开始地址总是是16的倍数。即:若一个段的起始地址为0000h,那么另一个段(重叠第一个段)的起始地址将为:0010h(即16),下一个段的起始地址将为0020h(32)。
一个段的段号由其物理地址的前4个16进制数组成。(如:FFFF)
通常,程序只写出偏移量(从段的第一个字节到要定位地址的距离),段号可以通过上下文判断。偏移量大小从0000到FFFF。
存储器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。
由于存储器的个数和容量都有限,不可能把所有中间结果都存储在存储器中,所以,要对存储器进行适当的调度。根据指令的要求,管理安排适当的寄存器,避免操作数过多的传送操作。
D. 工作在网络上,负责存储转发的是什么交换机还是路由器
存储转发靠交换机交换机
路由器主要是网络寻址和数据报文转发
E. Ceph RGW:数据的存储及寻址
RGW是一个对象处理网关。数据实际存储在ceph集群中。利用librados的接口,与ceph集群通信。RGW主要存储三类数据:元数据(metadata)、索引数据(bucket index)、数据(data)。这三类数据一般存储在不同的pool中,元数据也分多种元数据,存在不同的ceph pool中。
1、 Metadata
元数据信息包括:user,bucket,以及bucket.instance。其中:
user: 主要是对象存储的用户信息
bucket:主要维护bucket name与bucket instance id之间的映射信息
bucket.instance:维护了bucket instance信息
查看user的元数据如下:
radosgw-admin metadata list user:
radosgw-admin metadata get user:testid:
radosgw-admin metadata list bucket:
radosgw-admin metadata get bucket:first:
radosgw-admin metadata list bucket.instance:
radosgw-admin metadata get bucket.instance:first:{bucket_id}
2、Bucket Index
bucket index主要维护的是一个bucket中object的索引信息。一个bucket对应一个或多个rados object(开启bucket shards下)。维护的是一个key-val的map结构,map存放在object的omap(rocksdb)中,key对应的rgw object,val是关于rgw object的一些元数据信息,检索bucket的存放的object时,需要这些信息。omap也包含一个Header,其存放的是bucket account info,如此bucket中Object的个数,总的size等。
3、Data
rgw object内容,存放在一个或多个rados object中。rados object分为header和tail部分,header最多可以容纳512KB的数据,如果一个rgw object的大小小于512KB,那么只有header。否则剩余的数据会按照集群rados object的大小条带化分割成多个rados object。
在Pool: {zone}.rgw.meta利用namespace隔离多个存储空间:
对于Pool: {zone}.rgw.log也包含多个namespace:
当检索对象存储中的一个object时,会包含三个要素:user,bucket,object。user主要是RGW用于获取user id验证ACL;bucket及obejct用于确定object在pool中的位置。
User
user数据存储在 {zone}.rgw.meta:users.uid 中,如下:
包含两部分: ups3: user本身信息; ups3.buckets: 用户所属的bucket。
ups3: 用户的基本信息,及ACL/Bucekt Quota/User Quota等;对应struct RGWUserInfo, 定义于rgw_common.h。
ups3.buckets:用户所属的Buckets,key-value结构,存放于omap结构中;对应struct cls_user_bucket_entry,定义于rgw_common.h,数据操作如下:
通过{uid}.buckets查到用户具有哪些buckets,并且这些bucket以下基本数据。
Bucket
Bucket信息存在在 {zone}.rgw.meta:root 中,如下:
first: 记录了bucket与bucket_instance_id的对应关系,其对应于数据结构:struct RGWBucketEntryPoint
.bucket.meta.first:1c60b268-0a5d-4718-ad02-e4b5bce824bf.44166.4: bucket instance;寻址方式:.bucket.meta.{tenant}:{bucket.name}:{bucket_id};对应结构体:struct RGWBucketInfo。
其中Bucket ACL及IAM Policy存放在bucket instance object的attr中。如下:
获取Bucket ACL及IAM Policy数据如下:
Object
Bucket Index: Bucket中包含的Object信息,都存放在一个或多个Object的 omap 中。此omap为一个key-value结构,key为object的名称,value对应 struct rgw_bucket_dir_entry : cls_rgw_types.h 。
Bucket Index Object:
如下:
在此bucket下,有一个object: ntp.conf:
检索value:
omap header记录了以下统计信息:
对象存储object的数据存放在pool: {zone}.rgw.buckets.data 中。object的构成及寻址分为以下两类:
一个RGW Object可以由一个或多个rados object构成。其中第一个 object 是此RGW 的 head 对象,主要包含一些元数据信息,如 manifest, ACLs, content type, ETag, and user-defined metadata 。这些metadata存放在此head 对象的xattr中。其中 manifest 描述了此rgw object在分布情况。同时,此head对象,最多可额外容纳 4MB 数据,如果RGW Object大小下于 4MB ,那么此 RGW Object就不会分片,只有此 head 对象。
如下检索:
目前bucket下有一个 ntp.conf , <4MB 。检索其 manifest :
如上:
max_head_size: 表示head对象最大size;
head_size: 表示当前head 对象size;
prefix: 用于在rados中分片object的寻址。
RGW OBject ACL:
上传一个 >4MB 的 RGW Object,检索其 manifest 信息:
Manifest信息:
根据 manifest 检索对象:
对于一个大的RGW Object,会被切割成多个独立的RGW Object上传,称为multipart。multipar的优势是断点续传。s3接口默认切割大小为15MB。
在此,上传一个60MB大小的Object。
分成了四个部分上传,查看rados对象:
包含了三类对象, head,multipart,shadow 。
multipart 下的 manifest :
所有的object的检索是根据上述manifest信息构建object index:
在上以上的信息中,此RGW Object大小为48128000字节,分为4段,三段15MB,最后一段为920KB。同时每段存储在rados集群中的条带化大小为4MB。因此15MB大小的分段,也分为4个rados object,一个multipart首部,及3个shadow分片。920KB大小的分段只有一个multipart首部。
.rgw.root :
包含的都是zone,zonegroup,realm等信息
F. 路由器的工作原理简单明了易懂.(适合初学者)
分类: 烦恼 >> 前途就业
解析:
路由器工作原理
传统地,路由器工作于OSI七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址。因此,路由器首先得在转发路由表中查找它的目的地址,若找到了目的地址,就在数据包的帧格前添加下一个MAC地址,同时IP数据包头的TTL(Time To Live)域也开始减数,并重新计算校验和。当数据包被送到输出端口时,它需要按顺序等待,以便被传送到输出链路上。
路由器在工作时能够按照某种路由通信协议查找设备中的路由表。如果到某一特定节点有一条以上的路径,则基本预先确定的路由准则是选择最优(或最经济)的传输路径。由于各种网络段和其相互连接情况可能会因环境变化而变化,因此路由情况的信息一般也按所使用的路由信息协议的规定而定时更新。
网络中,每个路由器的基本功能都是按照一定的规则来动态地更新它所保持的路由表,以便保持路由信息的有效性。为了便于在网络间传送报文,路由器总是先按照预定的规则把较大的数据分解成适当大小的数据包,再将这些数据包分别通过相同或不同路径发送出去。当这些数据包按先后秩序到达目的地后,再把分解的数据包按照一定顺序包装成原有的报文形式。路由器的分层寻址功能是路由器的重要功能之一,该功能可以帮助具有很多节点站的网络来存储寻址信息,同时还能在网络间截获发送到远地网段的报文,起转发作用;选择最合理的路由,引导通信也是路由器基本功能;多协议路由器还可以连接使用不同通信协议的网络段,成为不同通信协议网络段之间的通信平台。
一般来说,路由器的主要工作是对数据包进行存储转发,具体过程如下:
第一步:当数据包到达路由器,根据网络物理接口的类型,路由器调用相应的链路层功能模块,以解释处理此数据包的链路层协议报头。这一步处理比较简单,主要是对数据的完整性进行验证,如CRC校验、帧长度检查等。
第二步:在链路层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧中IP包头的目的IP地址,路由器在路由表中查找下一跳的IP地址;同时,IP数据包头的TTL(Time To Live)域开始减数,并重新计算校验和(Checksum)。
第三步:根据路由表中所查到的下一跳IP地址,将IP数据包送往相应的输出链路层,被封装上相应的链路层包头,最后经输出网络物理接口发送出去。
简单地说,路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳传输路径,并将该数据包有效地传送到目的站点。由此可见,选择最佳路径策略或叫选择最佳路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用。上述过程描述了路由器的主要而且关键的工作过程,但没有说明其它附加性能,例如访问控制、网络地址转换、排队优先级等。
G. 为什么说存储转发技术是智能通讯的基础
这个是一个理论问题。上世纪八十年代以前的网络基本上是拨号独占信道。也就是说,一对通信要独占一个物理信道,其线路效率很低。但在存储转发结构中,每一个节点把数据打包发送至下一个节点,这样大家可以共享这条线路。这样就提高了线路利用率。
存储转发的关键是寻址,能够正确把数据发送的下一站,直至目标节点。
H. 工作在网络上,负责存储转发的是什么交换机还是路由器
不是 交换机 也不是 路由器,他是一个 存储服务器(集 管理服务器、转发服务器、存储服务器于一体)视频监控用到的叫NVR