On 5 March 2011 07:38, Ken Wesson <kwess...@gmail.com> wrote:
> On Fri, Mar 4, 2011 at 8:07 PM, Christopher Brown <cjbrown...@gmail.com> 
> wrote:
>> It will always return a MAC address, but in a virtualized environment those 
>> are a fiction and under the control of the VM creator (and hence, not real 
>> physical hardware).
>>
>> Since those MAC addrs are only required to be unique within the L2 domain, 
>> two separate "private clouds" in the same organization, routable at L3 but 
>> in separate L2, can have VMs with conflicting MAC addrs.
>> Admittedly, it's a nit to pick, but who would want to debug that?
>
> Define "L2 domain".

e.g. an ethernet network.  Machines that are directly connected to
each other (possibly via a bridge/hub/switch).  Somewhere where "ARP"
makes sense.

If you have something like this:

[A]---[B]---[C]

where "B" has two network cards and is an IP router.  Then (A-B) and
(B-C) would be two separate layer 2 domains.  A and C could have the
same MAC address without any confusion, because layer 2 traffic can't
get from one side of B to the other.  For that you need layer 3 (e.g.
IP), where the IP packet would be removed from the ethernet frame when
received by B and then encapsulated in a new ethernet frame before
sending it on its way.  A and B's left interface would have to have
different MAC addresses, as would B's right interface and C.

> Of course, if you consider cases like this, there can *be* no
> sure-fire way to generate a node-unique number. IP addresses are right
> out, thanks to local network addresses like 192.168.1.1. There must be
> millions of machines out there that think their name is 192.168.1.1 in
> particular. :)
>
> MAC address probably gets you as close as you can get without having
> manually-assigned node IDs, or requiring every node have a domain name
> registered (yum! expensive! Verisign would love that suggestion!) :)

Well, MAC address and IP address together would get you closer, and
probably close enough.  Is 22 bytes short enough? :)

-- 
Michael Wood <esiot...@gmail.com>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to