用于生成功能地址的系统和方法_2

文档序号:9814411阅读:来源:国知局
可以具有操控地址的1-3个字节的自由度,并且因此使用这些字节来携带功能指示器14和实例指示器16。然而,在其它实施例中,网络设计者可以使用IPv6地址来用于功能寻址方案。利用IPv6协议,网络设计者可以自由操控所选择的多个字节,并且使用IPv6地址来携带功能指示器14和实例指示器16。
[0024]图3图示了直接可寻址的目的地地址的另一个实施例。特别地,网络设计者可以操控媒体接入控制(MAC)地址以包括功能指示器14和实例指示器16。
[0025]如本领域所公知的那样,MAC地址是硬件地址。它们通常与联网设备中的特定网络适配器或网络接口卡(NIC)相关联,并且与适配器在网络中的物理地址无关。通常,制造商将为它们的特定设备限定MAC地址;然而,网络设计者还将具有对该地址空间的至少一些的控制。与上面的IP地址10—样,网络设计者可以使用该自由度来操控MAC地址的至少一部分以便更好地适应其特定网络的需要。
[0026]图3图示了包括六个字节的48位MAC地址30。前三个字节是“固定的”前缀32,在这种情况下它是“00:08: 79”。前缀32可以限定托管服务实例的联网设备的制造商,或者它可以是由网络设计者指定的预定值。MAC地址30中的第四字节(即“50”)被用作功能指示器14来指示服务。MAC地址30中的第五和第六字节(即“2F:81”)被用作实例指示器16。如上面那样,本发明并不将功能指示器14和实例指示器16限制于字节边界,并且MAC地址30中用于指示功能和实例的位的其它分配也是可能的。例如,网络运营商可以自由地操控MAC地址30的所有可用位以限定前缀32、功能指示器14和实例指示器16。
[0027]在操作中,网络设计者可以以上面图2所述的相似方式来划分MAC地址空间的可用部分。特别地,网络运营商可以将MAC地址空间分成多个地址子空间,并且使功能与每个地址子空间相关联。然后,网络设计者可以将MAC地址30指定给地址子空间中的功能的每个实例。
[0028]利用本发明,由联网设备托管的应用能够发送数据分组来基于与数据分组相关联的服务对其它联网设备起作用。举例来说,由浏览器应用生成的分组将被发送到由HTTP服务器所托管的HTTP服务实例。同样,而由电子邮件客户端生成的分组可以被发送到由SMTP服务器托管的SMTP服务实例。如本发明所完成的寻址数据分组以用于递送到服务偏离了依赖于基于位置的寻址方案来路由其数据分组的现有技术系统。特别地,传统的方案仅提供关于它们的联网设备的位置信息。然而,本发明的寻址方案还提供了关于该网络的功能拓扑的信息。
[0029]实践中,在联网设备上执行的应用将生成数据分组的直接可寻址目的地地址。在一个实施例中,这通过确定网络前缀(例如前缀12或前缀32)并且将功能指示器14和实例指示器16附加到该前缀来完成。一旦被汇编,应用就会将目的地地址插入到每个数据分组中,并且通过网络将其发送到该目的地地址。这避免了对创建和保持转换表并且在整个网络内分发它们的需要。
[0030]应用可以以多种方式中的任何一种来生成目的地地址的各部分。例如,网络前缀是对生成数据分组的应用来说先验的已知值。它可以被硬编码到应用中,或者它可以被存储在存储器中并且使得它可供该应用所用。在一些实施例中,前缀包括标识联网设备的制造商的固定值。在其它实施例中,前缀包括由该网络设计者指定的预定值。生成目的地地址的应用仅需要用该值来填充目的地地址。
[0031]类似地,应用可以根据预定义的恒定值来创建功能指示器14。例如,如果值“50”用于标识以HTTP服务器为目的地的数据分组,则创建那些分组的应用(例如浏览器)将简单地将“50”附加到每个数据分组的网络前缀上。在其它实施例中,应用可能监控通过其来发送数据分组的端口或套接字(socket),并且将该ID用作功能指示器14。例如,如果所有HTTP分组都通过套接字“80”而发送,则应用可以将值“80”用作功能指示器14。在使用MAC地址30的情况下,应用可能将套接字ID转换成十六进制数(即“50”),并且将该十六进制同等值用作功能指示器14。在一些实施例中,应用可以保持不同功能的表(每个功能都由不同的预定值来标识),并且基于其生成的数据分组的类型来从该表选择功能指示器14的值。
[0032]还存在应用可以创建实例指示器16的多种不同方式。在一个实施例中,应用使用其自己的主机ID。在使用MAC寻址的情况下,应用可以首先将主机ID值转换成十六进制值并且将那些附加到目的地地址。在其它实施例中,应用对其主机ID、或者部分数据字段或全部数据字段(例如字符串、消息内容)、或者IP地址(例如源或目的地IP地址)进行哈希(hash)。在一些实施例中,一旦功能指示器14已经被确定,应用就可以对包含在数据分组的第2层一第4层字段中的任何信息进行哈希。与所使用的方法无关,通常被限制在某一值范围内的所产生的哈希值然后被附加为实例指示器16。在某些情况下,应用可以采用算法来随机生成值或从某一值范围中选择值。假定随机分布,则以这种方式来生成数据分组的目的地地址可以帮助平衡网络负载。
[0033]另外,应用可以动态地选择通过其来生成实例指示器16的方法。选择可以基于例如当前或者预期的负载状况,或者基于由网络运营商输入的参数。在某些情况下,网络运营商可以规定用于生成实例指示器16的一个或多个参数,或者引入生成实例指示器16的新的或经修改的方法。存在任意数目的用来实现该功能的方式,但是在一个实施例中,在扩展标记语言(XML)文件中描述了参数和/或生成方法。网络运营商将该文件置于网络上以使得生成实例指示器的应用能够访问该文件。
[0034]图4图示了网络可以使用根据本发明而形成的MAC地址来路由数据分组的一种方式。图4描绘了具有网络基础结构50的局域网(LAN)40,所述网络基础结构50互连多个联网设备60IAMO可以例如是以太网。如本领域所已知的那样,以太网被广泛使用并且以各种不同的速度来传输数据。一些以太网可以以100兆比特/秒来传送数据分组,而其它以太网可以以I吉比特/秒或更高的速度来传送数据。然而,特定的网络类型和网络的速度对于本发明都不是要紧的。本领域技术人员应该认识到本发明对于任何类型的通信网络都起作用并且将LAN40表征为以太网仅用于说明性的目的。
[0035]网络基础结构50包括发送往来于每个联网设备60的数据的分组所必需的硬件和软件部件。在该实施例中,网络基础结构50包括第2层交换机52,不过其它类型的交换机也适于供本发明使用。交换机52操作于数据链路层的媒体接入控制(MAC)子层,并且包括专用集成电路(ASIC)54以及绑定表56。每个联网设备60都经由各自的物理端口 70、72、74、76连接到交换机52。
[0036]如上所述,每个联网设备60托管服务64的一个或多个实例。例如,服务64可以包括功能(例如HTTP服务、SMTP服务等等)的一个或多个实例。每个服务的每个实例都使用直接可寻址的目的地地址来标识,在该实施例中,该直接可寻址的目的地地址包括先前描述的MAC地址30。每个服务的地址具有前缀32、功能指示器14以及实例指示器16。
[0037]另外,每个联网设备60包括应用62。该应用可以是例如web(网络)浏览器、邮件客户端等等,其将与由联网设备60所托管的各种服务64传送数据分组。根据本发明,应用62生成每个数据分组的功能目的地地址并且将分组发送到交换机50。在收到时,该交换机50接收数据分组并且基于它们的目的地地址将分组发送到对应的物理端口。
[0038]特别地,当数据分组从应用64到达时,ASIC54检查数据分组以确定MAC地址30。例如,ASIC54可以检查传入的数据分组的首部来确定相关联的MAC地址30。然后,ASIC54将所接收到的MAC地址30与存储在绑定表56中的信息相比较来确定将数据分组路由到哪里。在该实施例中,绑定表56将MAC地址30映射到对应的物理端口号70、72、74、76。如果发现匹配,贝1JASIC54确定对应的物理端口,并且将该数据分组发送到该端口。如果没有发现匹配,则可以丢掉该数据分组,或者交换机52可以将该数据分组发送到缺省端口。
[0039]图5是图示应用62通过其来生成功能地址的方法80的流程图。为了清楚的目的,图5将方法80图示为生成M
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1