1. 校园网络的拓扑结构图
结构图如下:
由网络节点设备和通信介质构成的网络结构图。网络拓扑定义了各种计算机、打印机、网络设备和其他设备的连接方式。换句话说,网络拓扑描述了线缆和网络设备的布局以及数据传输时所采用的路径。网络拓扑会在很大程度上影响网络如何工作。
(1)计算机网络素材图片扩展阅读
星型网络拓扑结构的一种扩充便是星行树,如左图所示。每个Hub与端用户的连接仍为星型,Hub的级连而形成树。然而,应当指出,Hub级连的个数是有限制的,并随厂商的不同而有变化。
树型结构是分级的集中控制式网络,与星型相比,它的通信线路总长度短,成本较低,节点易于扩充,寻找路径比较方便,但除了叶节点及其相连的线路外,任一节点或其相连的线路故障都会使系统受到影响。
适用场合:只适用于低速、不用阻抗控制的信号,比如在没有电源层的情况下,电源的布线就可以采用这种拓扑。
2. 计算机网络之RDMA技术(七)Queue Pair
姓名:周肇星;学号:22011110028;学院:通信工程学院
部分素材取自 https://zhuanlan.hu.com/p/195757767
【嵌牛导读】RDMA技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。本专题将针对RDMA技术进行介绍!
【嵌牛鼻子】计算机网络,高性能网络,RDMA
【嵌牛提问】读完本文,对RDMA技术的QP概念有所认识了吗?
【嵌牛正文】
InfiniBand specification R1.3, Chapter3, 3.2.1, Page 98【QP与相关元素的概念】
InfiniBand specification R1.3, Chapter3, 3.5.1, Page 108【QP与相关元素的概念】
InfiniBand specification R1.3, Chapter3, 3.5.10, Page 117【QPN、QP0、QP1的概述】
InfiniBand specification R1.3, Chapter3, 3.7.5.1, Page 137【SMI使用QP0】
InfiniBand specification R1.3, Chapter3, 3.7.5.2, Page 138【GSI使用QP1】
InfiniBand specification R1.3, Chapter3, 3.8, Page 139【QP包含SQ与RQ】
InfiniBand specification R1.3, Chapter3, 3.8, Page 139【通道适配器对WQE的处理与数据的收发】
InfiniBand specification R1.3, Chapter3, 3.9, Page 143【GSI模型具体描述】
InfiniBand specification R1.3, Chapter3, 3.9.4, Page 145【QP0限定为无连接的数据报服务类型】
InfiniBand specification R1.3, Chapter3, 3.9.5, Page 147【QP1限定为无连接的数据报服务类型】
InfiniBand specification R1.3, Chapter3, 3.9.5.1, Page 147【允许QP1重定向的原因与机制】
根据IB协议中的描述,QP是硬件和软件之间的一个虚拟接口。QP由一个发送队列SQ与接收队列RQ组成,SQ与RQ均是队列结构,按顺序存储着软件给硬件下发的任务(WQE),WQE中包含从哪里取出多长的数据,并且发送给哪个目的地等等信息
通道适配器硬件接收到WQE后,读取WQE、并解析其中的命令,验证WQE的虚拟地址,将其转换为物理地址,并访问对应的数据。数据可通过一个或切分成多个数据包被传输出去,通道适配器为每个数据包添加一个传输头,如果目标位于其它子网上,则再添加上网络头部,随后添加本地路由头、并计算效验和
当数据到达目的节点时,验证校验和后,传输头指出了目标QP,通道适配器通过该QP的QP Context检查数据包是否来自正确的源端。对于SEND操作,QP从其接收队列中取出WQE,从中检索接收缓存区的虚拟地址、并转换成接收物理地址,将数据写入相应的位置,如果这不是消息的最后一个包,QP则在其QP Context中保存当前写的位置,并等待下一个包,然后继续写入缓存区,直至接收到最后一个包,然后该接收WQE退役,并向源端发送ACK确认
当发起者收到确认时,它会在CQ上创建一个CQE,并将WQE从发送队列中退出。一个QP可以在任何时候有多个未完成的消息,但接收端总是按照发送的顺序进行确认,因此WQE会按发送的顺序退役
对于可靠的服务类型,如果QP检测到一个或多个丢失的数据包,它会向发送者发送一条NAK消息指示其下一个预期的序列号。然后发起者可以从预期的数据包开始重新发送
每个QP间都是独立的,彼此通过PD隔离,因此一个QP可以被视为某个用户独占的一种资源,一个用户也可以同时使用多个QP
QP有很多种服务类型,包括RC、UD、RD和UC等,所有的源QP和目的QP必须为同一种类型才能进行数据交互
虽然IB协议将QP称为“虚拟接口”,但是它是有实体的:
QP Number简称为QPN,就是每个QP的编号。IB协议中规定用24个bit来表示QPN,即每个节点最大可以同时使用2^24个QP,每个节点都各自维护着QPN的集合,由通道适配器分配,相互之间是独立的,即QPN编号在各节点内唯一、不同的节点上可以存在编号相同的QP
编号为0的QP用于子网管理接口SMI(Subnet Management Interface),用于管理子网中的全部节点
子网管理器使用通过QP0发送、接收被称为子网管理报文SMP(Subnet Management Packet)的特殊类型的MAD(Management Datagram)报文(并仅发送接收SMP,其余数据无效)
并且QP0被永久配置为不可靠的数据报的服务类型
编号为1的QP用于通用服务接口GSI(General Service Interface)
GSI使用QP1进行初始通信,但允许对特定类的流量重定向到特权QP上,这是因为所有管理类数据包都进入同一队列,将导致瓶颈问题、线头阻塞现象,因此设计了重定向到其它QP的机制。当通道适配器接收到QP1上的GMP报文时,它可能会响应为一个指示新端口和QP的重定向响应,然后发起者将请求重新发送到新地址,并将该地址用于同一管理类的所有后续请求
并且QP1被永久配置为不可靠的数据报的服务类型,QP1上仅能收发MAD数据包
通用服务代理GSA(General Service Agents)是由许多管理服务代理组合而成,通用服务GA(General Service)使用称为通用管理报文GMP(General Service Packet)的报文,该报文是一种特殊的MAD报文
GSA中最出名的就是CM(Communication Management),是一种在通信双方节点正式建立连接之前用来交换必须信息的一种方式
QPC全称是Queue Pair Context,用于存储QP相关属性
QP在硬件上的实体只是一段存储空间而已,硬件除了知道这段空间的起始地址和大小之外一无所知,甚至连这个QP服务类型都不知道。还有很多其他的重要信息,比如某个QP中包含了若干个WQE,硬件怎么知道有多少个,当前应该处理第几个呢?
所以就需要软件通过操作系统提前申请好一大片连续的空间,即QPC来承载这些信息给硬件看。网卡及其配套的驱动程序提前约定好了QPC中都有哪些内容,这些内容分别占据多少空间,按照什么顺序存放。这样驱动和硬件就可以通过通过QPC这段空间来读写QP的状态等等信息
如上图所示,硬件其实只需要知道QPC的地址0x12350000就可以了,因为它可以解析QPC的内容,从而得知QP的位置,QP序号,QP大小等等信息。进而就能找到QP,知道应该取第几个WQE去处理。不同的厂商可能实现有些差异,但是大致的原理就是这样
四种操作都有配套的Verbs接口,类似于ibv_create_qp()这种形式,编写APP时直接调用就可以了
创建一个QP的软硬件资源,包含QP本身以及QPC。用户创建时会写传入一系列的初始化属性,包含该QP的服务类型,可以储存的WQE数量等信息
释放一个QP的全部软硬件资源,包含QP本身及QPC。销毁QP后,用户将无法通过QPN索引到这个QP
修改一个QP的某些属性,比如QP的状态,路径的MTU等等。这个修改过程既包括软件数据结构的修改,也包括对QPC的修改
查询一个QP当前的状态和一些属性,查询到的数据来源于驱动以及QPC的内容
在行为上都是软件向QP中填写一个WQE(对应用层来说叫WR),请求硬件执行一个动作。所以这两种行为都叫做“Post XXX Request”的形式,即下发XXX请求
Post Send本身不是指这个WQE的操作类型是Send,而是表示这个WQE属于通信发起方。这个流程中填写到QP中的WQE/WR可以是Send操作,RDMA Write操作以及RDMA Read操作等
用户需要提前准备好数据缓冲区、目的地址等信息,然后调用接口将WR传给驱动,驱动再把WQE填写到QP中
Post Recv的使用场景就相对比较少了,一般只在Send-Recv操作的接收端执行,接收端需要提前准备好接收数据的缓冲区,并将缓冲区地址等信息以WQE的形式告知硬件
3. 怎样获取多媒体素材
多媒体课件素材,大致可以分为文本、图形、图像、音频(声音)、视频、动画等几种主要形式。
一 文本素材的获取与处理
文本素材通常以文件文本保存,常见格式有: txt文件、doc文件、rtf文件、wps文件和 pdf文件等。
文件的输入通常使用键盘,也可手写输入等。
通常文本素材来源于所学的教材与资料、网站等。
一般情况下,网页文本内容可以选择直接复制下来,或者直接保存为网页文件或者文本文件。
特殊字体或艺术字可以用抓图工具抓取后进行图片化处理后再使用。
二 图形图像素材的获取与处理
图形图像素材的格式一般为: .jpg、.bmp、.gif、.tiff、.png等,目前采集图形图像素材的方法非常多,概括起来主要有以下七种:
1.屏幕捕捉或屏幕硬拷贝
利用 HYPERSNAP或者 Snagit等屏幕截取软件,可以捕捉当前屏幕上显示的任何内容。也可以使用 Windows提供的 ALT+PRINTSCREEN,直接将当前活动窗口显示的画面置入剪贴板中。
2.扫描输入
这是一种常用的图像采集方法。如果我们希望把教材或其他书籍中的一些插图放在多媒体课件中,可以通过彩色扫描仪将图扫描转换成计算机数字图像文件,对这些图像文件,还要使用 Photoshop进行一些诸如颜色、亮度、对比度、清晰度、幅面大小等方面的调整,以弥补扫描时留下的缺陷。
3.使用数码相机
随着数码照相机的不断发展,数字摄影是近年来广泛使用的一种图像采集手段,数字照相机拍摄下来的图像是数字图像,它被保存到照相机的内存储器芯片中,然后通过计算机的通讯接口将数据传送到多媒体计算机上,再在计算机中使用 Photoshop、 isee等软件进行处理之后应用到我们制作的多媒体软件。使用这种方法可以方便、快速地制作出实际物体例如旅游景点、实验仪器器具、人物等的数字图像,然后插入到多媒体课件中。
4.视频帧捕捉
利用超级解霸、金山影霸等视频播放软件,可以将屏幕上显示的视频图像进行单帧捕捉,变成静止的图形存储起来。(链接到豪杰解霸截屏页面)如果电脑已装有图像捕捉卡,我们可以利用它采集视频图像的某一帧而得到数字图像,这种方法常用在当需要把其他多媒体课件中的视频截取出来用在我们制作的多媒体软件中。这种方法简单灵活,但产生的图像质量一般难以与扫描质量相比。
5.光盘采集
目前很多公司、出版社制作了大量的分类图像素材库光盘,例如,各种植物图片库、动物图片库、办公用品图片库等,光盘中的图片清晰度高、制作精良,而且同一幅图还以多种格式存储,这些光盘可以在书店等处买到,从素材库光盘中选择所需要的图像是一条捷径。
6.网上下载或网上图片库
网络中提供了各种各样非常丰富的资源,特别是图像资源。对于网页上的图像,我们可以通过把鼠标放在所需的图片上按右键在弹出的菜单中选择另存图片选项把网页上的图片下载存储在本地机中使用;而对于有些提供了素材库的网站,都提供了图片下载工具我们便可以直接把素材库中的图像素材下载到本地机中使用。
7.使用专门的图形图像制作工具
对于那些我们确实无法通过上述方法获得的图形素材,就不得不使用绘图软件来制作。常用的有 FreeHand、Illustrator、 Careldraw等,这些软件中都提供了强大的绘制图形的工具、着色工具、特效功能(滤镜)等,可以使用这些工具制作出我们所需要的图像。
三 音频素材的获取和处理
课件中的音频,一般为背景音乐和效果音乐,其格式多为 WAV、SWA、MIDI、MP3、CD等几种形式。
音频的获取途径,一是素材光盘;二是资源库;三是网上查找;四是从 CD、VCD中获取;五是从现有的录音带中获取;六是从课件中获取。
对于音频的处理,可以有很多种方法,这里介绍几种实用的操作方法:(1)用系统自带的录音机编辑声音文件;(2)用超级解霸软件的超级音频解霸编辑声音文件;(3)用其他的音频转换软件编辑声音文件。
四 视频素材的获取和处理
视频素材的格式一般为: .wmv、.avi、.mpg、.rm、.flv等。
视频素材的获取主要是从资源库、电子书籍、课件及录像片、 VCD、DVD片中获取,从网上也能找到视频文件。资源库、电子书籍中的视频资料可以直接调用,课件中的视频文件一般也放在 exe文件之外,不会和 exe打包在一起,也可直接调用。录像片中的资料可用采集卡进行采集,若无此设备,可在 VCD制作店进行加工,把录像资料转变为 MPGE格式或 AVI格式,刻录后进行使用。 VCD可直接用超级解霸处理,但要注意, DVD格式(MPGE4)在 Authorware中无法直接使用,要安装 MPGE4转换软件,转换格式后才可以正常使用。
总之,素材的收集与处理,要运用多个软件多种形式。其软件与方法,不一定非用哪个不可,要根据具体的情况、具体的环境来决定如何处理,以求用最经济最方便的方法取得最好的效果。