Affinity Meta-Data Service 介绍

来源:互联网 发布:网络映射 重启后消失 编辑:程序博客网 时间:2024/06/05 02:13


参考网站:https://wiki.opendaylight.org/view/Project_Proposals:Affinity_Metadata_Service

描述:

亲和服务(Affinityservice)提供了API,允许控制器和更高级别的应用程序来创建和共享抽象,拓扑结构和与实现无关的基础设施,以彼此的工作负载和偏好需要使用网络的“交流(talk)”。术语亲和力(Affinity)定义为认识工作负载之间的许多相互作用不是随机的和不可预测的,但已知的模式(用户、开发者和运营商)都知道。使用术语亲和力的方法之一是,它描述了整个基础架构及其参与者“对话”的性质。该API允许意图在独立的方式和地点的通信负载连接到网络,与转发设备的任何细节的应用和服务条款的规定,供应商或技术包括在内。这可以使用户,例如,自定义虚拟网络的行为,以更好地支持他们的应用程序,而无需了解网桥,路由器,VLAN或隧道任何东西。SDN控制器服务和控制器应用程序可以使用亲和力信息来决定如何编程数据平面的设备,可以提供故障排除和监控产出,用户关心谈话的上下文。

亲和是基于一个分层架构模型的概念,其中智能控制器动态地提供数据中心网络基础设施,以满足工作量的亲和力,作为外部应用程序主导。(见图1)该模型具有一个抽象的API,它屏蔽了细微差别和底层基础架构的复杂性,使程序员能够更快速,更轻松地开发应用程序。专为易于使用,灵活性和便携性,它采用了少量的简单的概念,并提供了一个广泛的实施方案。

该亲和模型在应用层和控制层中提炼尽可能小的一套简单的图元之间的信息交换:亲和识别,亲和团体,亲和链接,亲和属性。程序员可以很容易地使用这四个简单的构建模块定义的亲和力。图2总结并以图形方式描绘了基本亲和概念。

Figure2. Affinity Constructs

AffinityIdentifier:如何定义关系到一个特定“对话”的流量。该标识符的类型可以被扩展用于任何指定流量。一种类型的标识符是网络中直接可见的,像匹配在以太网报文头中的MAC地址。另一种类型可能是一个对象的引用,它将放在数据包。例如,它可能是用来查找MAC地址或租户ID(包分类中切换数据路径中被匹配的)的虚拟NIC设备“vm235”

亲和力标识符代表在亲和对话中的一个特定的参与者或一组参与者。该标识符可以在一个物理或虚拟装置中划定所有流量,有些流量与这种装置相关联,或者是设备集合的总流量。它可以以一个单一的以太网端口,存储设备,虚拟机,一个多端口网卡端口,或所有虚拟网络成员确定一个裸机服务器。亲和标识符类型的多个实例,包括MAC地址,IP地址,IP组播组,VXLAN网络标识符(VNIIPDSCP标识等。

AffinityGroup亲和关系组是一个或多个亲和识别码或其它亲和组的集合。正如其名称所暗示的,它允许对象组合在一起,这样亲和的一组通用的属性可以应用到所有的人。例如,人们可以创建一个使用以太网MAC地址的“服务器”组作为亲和识别,使用IP地址的“存储”组作为亲和标识符,或使用一个单一VNI“虚拟网络X”作为亲和标识符。

亲和组构建体旨在高度灵活。组可以由各种资源组成(如承租人组和应用程序),一个资源可以属于多个组,一个组可以包括任何组或单个对象。亲和组可以用来模拟各种常见的数据中心的情况(例如,一组租户共享的数据中心,或者说,有亲和力的应用程序中的参与者)。

AffinityLink亲和链接(AffinityLink)是一个属于一个或多个亲和组之间的通信对端点单向关系的表示。该亲和链接允许亲和属性被分配到亲和组之间或内部的通信流量。亲和链接是单向的,这样不对称的交通流量,以及其他复杂的工作负载应用程序可以得到满足。例如,流媒体网络可能包含一个“服务器”组和“客户”组。网络流量模式从客户端到服务器与服务器和客户机之间完全不同。(流量绝大多数从服务器流向下游客户)为了使网络资源得到最佳利用,两个单向亲和链接的定义:一个是从“服务器”组到“客户”群体,和一个从“客户端“组到”服务器“组。不同的亲和属性分配给每个亲和链接。亲和链接也可以用来分配共同的亲和属性的一组端点,如VLANVXLAN的成员。例如,该隔离亲和属性(表示流量应使用单独的物理链路或不通过其他通信共享的路径转发)可以适用于一个特定的VLAN,以提供在共享的多应用或多网络路径隔离或分离的部件租户环境。

AffinityAttribute亲和属性(AffinityAttribute)描述了分配给亲和链接,以满足工作负载性能,服务质量,安全性或其他要求的网络性能。对于工作负载进行通信具有亲和力的链接,这些属性不是由抽象的亲和力指定的方式实现的。
亲和属性的实例包括:
跳数敏感(HopCount Sensitive)- 分配到最短可用路径(不是所有的流量需要这个)
隔离(Isolate)-分配到不被其他流量共用的独家路径
加密(Encrypt)-应用工作负载之间的终端到终端加密
服务类别(Classof Service)- 例如使用连接负载“银”级服务
路径拦截(PathIntercept)- A组和B组之间发送流量,插入虚函数之间的路径图

Examplesof conversations that benefit from affinity-based forwarding:

  • 防止在一个共享的数据/存储局域网内网络之间受影响。创建一个“存储节点”亲和组,它包括所有的存储节点的地址。为该组创建一个链接,并给它隔离属性。接下来创建一个“存储用户”亲和力组包含所有非存储节点的地址。创建一对“存储节点”和“存储客户端”亲和组并分配分离属性,这两个节点之间是双向链接。该SDN控制器实现可以编程转发设备把一组不同的客户端-服务器链接分配到节点内的流量。这将确保在节点内链路活动不可能与存储在客户端和存储群集之间的物理上独立的多路径链接上的流量抗衡。

  • 限制Web前端和后端系统之间的延迟。创建一个“网络服务器”亲和集团,它拥有这些系统地址的前端服务器和一个独立的“数据库服务器”。在组与“跳数敏感”的属性之间创建两条链路。SDN控制器可以在必要时给服务器数据库流量分配到短路径,移动流量对未被认定为跳数较长的路径很敏感。

Motivation(动机)

一个由SDN提供的最强大的功能是用精心挑选的抽象来封装复杂性,并允许不同的方法来提供抽象功能。该项目的搭建以封装设备/端口/接口/媒体等具体的设备层为基础,并提出了一个更抽象的接口选项。我们认为,使用共同的方法来描述应用程序的网络需求是网络解决方案供应商和网络运营商感兴趣的,采用了一个可扩展的API,它可以涵盖转发技术的广泛的多样性和使用案例。其中一个主要的动机是允许应用程序来表达一个共同的,不太联网专用白话的网络需求。这样做的目的不是要重新创建策略(VLANs和访问控制列表(ACLs)),但这些抽象可能包括政策性的元素。最终的目标是可以通过IT基础架构中不同的亲和属性应用到不同元素来创建工作量抽象。我们相信,控制器上SDN逻辑应该将拓扑结构和实现独立的要求翻译为低层的以设备为中心的规则。

原创粉丝点击