[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: What's wrong with having devices communicate in their own nativelanguages
Subject changed because discussion was veering far from EMIE It all depends on where you define the system boundaries. I don’t care if you and your family walk around naked in
your house. When you go on the street, and expect to interact with others, then
societal expectations for behavior and dress kick in. I don’t care if you
create small naturist clubs where you can walk around naked with a larger
group. Every naturist camp always has a sign by the door “Did you remember
to put on clothes?” Streaking, though, is always disruptive. As someone
who has managed any number of “native protocols” interacting on a
campus backbone, I know that those are much more disruptive then the kids who
streak the library each semester before exams. Tunneling protocols over IP is the like late night explicit
romantic phone call. It may be an expedient solution to a short term problem in
a niche situation, but it is no architecture. If the communication style extends
to other phone calls, you get social problems, and potential law suits. Tunneling
protocols, xxxx over IP, are just problematic. They are barriers to
interoperability. They often don’t recognize external costs. I have seen
dozens of man hours expended to avoid a second $500 gateway. I’ve seen similar
amounts of man hours expended again and again by network operations staff to
sustain the protections that these tunneled protocols need. The great wide internet is non-deterministic – which causes
problems in lots of native protocols. Native protocols have all sorts of
untested and undefined dependencies. I can regale you with stories of control
protocols over IP disrupted by replacement of a router blade…and of
broadcast storms stopped only by unplugging all building system gateways, and
then rebooting all routers, and then letting things stabilize, and then turning
on each building gateway one at a time…why? Because the makers of that
proprietary “it’s our own variant of UDP” control protocols
over IP just didn’t anticipate the obscure interaction, and even
extensive use of VLANs could not protect these systems. At another University located near UNC, almost a year was spent
figuring out that merely putting an un-configured HP Jet Direct card on-line
would take the control system of the coal plant off line. Now that was fun. The net of these experiences is a few principles that *I*
hold dear… -
Systems should be small and coherent, and should not have
the internet in the middle. If the internet is in the middle, or perhaps even
if IP is in the middle, it should be defined as two systems. -
Internal “native” protocols should not be used to
communication between systems. -
Anything that can be attached to the internet, will be. This
means that it will be exposed to unanticipated protocols, hostile interactions,
and even accidental DOS attacks. We should define interfaces to systems
accordingly. -
The communication stack at the edge of a system should be well
tested and well debugged, and have been used in as many open scenarios as possible
so that all exceptionalism will have been eliminated. I never want to find that
“unanticipated interaction” -
When any combination of systems gets to a sufficient size,
interoperability (or the lack thereof) becomes the most significant determinant
of expense. (Every now and then, someone turns to me and says “wouldn’t
it be easier if we just picked one vendor, one brand, and…I point out
that if we did that, it would take us 20 years to get the “one true
protocol” installed, and by that time, we would be unable to buy the
legacy systems any more. At the edge of the system, we should have well defined
discoverable interfaces. There will be circumstances, few and rare, in which we
legitimately need to split a system in half – but not many. Does this
mean I want IP everywhere? Well, almost. Zigbee is not IP, but for purposes of
this conversation it might be. Take my PC. It has two IP addresses for its two interfaces
(wired and wireless). I do not need an IP address on my mouse, nor on my
screen. See, I don’t want IP everywhere. But I uses KVM to access my
servers, with an IP based communications from my mouse keyboard, and display.
KVM is a special case, with special needs, and special costs, and I can break
that one IP per system rule because I can articulate the reasons, and support
the special security requirements this requires. My KVM also has no
interoperability requirements. How do you define system? What is the interoperability requirement? Do you want the integration to scale? Will one integrator be responsible for all systems, and all
systems that interact with them? On one side of those questions is “native protocols”
and “xxx over IP” On the other side IP is not enough, and you have services and
discoverability and mature security and… Take your pick. Answer all 4 questions. Then, and only then, is
it time to listen to the justification of the native protocol. It would be
interesting if to see how many want to put *that* explanation into the sales
literature for the product… tc "A man should never be ashamed to own that he has been in
the wrong, which is but saying ... that he is wiser today than yesterday."
-- Jonathan Swift
From: Michel Kohanim
[mailto:michel@universal-devices.com] Hi Brian, I had to think about this for a day! Perhaps my
statements are going to cause a heated debate, but, here I go: I really do not see why everything has to communicate IP.
What’s wrong with having devices communicate in their own native
languages and over their desired (most optimal) media? What do we gain by
having all devices communicate IP if – and as you (Brian) suggested
– we do not first come up with the abstract model? We have a hammer? With kind regards, ******************************** Michel
Kohanim, C.E.O Universal
Devices, Inc. (p)
818.631.0333 (f)
818.708.0755 http://www.universal-devices.com ******************************** From: Brian Frank
[mailto:brian@skyfoundry.com] Couple of my thoughts since Toby cross-posted some of my
oBIX ideas... |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]