Slashdot Log In
World's Smallest IPv6 Stack By Cisco, Atmel, SICS
Posted by
timothy
on Wed Oct 15, 2008 02:25 PM
from the is-beautiful dept.
from the is-beautiful dept.
B Rog writes "Cisco, Atmel, and the Swedish Institute of Computer Science have released uIPv6, the world's smallest IPv6 compliant IPv6 stack, as open source for the Contiki embedded operating system. The intent is to bring IP addresses to the masses by giving devices such as thermometers or lightbulbs an IPv6 stack. With a code size of 11 kilobytes and a dynamic memory usage of less than 2 kilobytes (yes, kilobytes!), it certainly fits the bill of the ultra-low-power microcontrollers typically used in such devices. When every lightbulb has an IP address, the vast address range of IPv6 sounds like a pretty good idea."
Related Stories
Submission: World's Smallest IPv6 Stack by Cisco, Atmel, SICS by Anonymous Coward
[+]
BSD: TwIP - An IP Stack In a Tweet 81 comments
Adam Dunkels writes "Inspired by the Twitter-sized program that crashes Mac OS X, I just wrote a really, really rudimentary IP stack called twIP, small enough to fit in a Twitter tweet. Although
twIP is very far away from a real IP stack,
it can do the first task of any IP stack: respond to
pings. The entire source code can be found in this 128-character-long tweet. For those who are interested in low-level network programming, a code walkthrough with instructions on how to run the code under FreeBSD is available here. The FAQ: Q: why? A: for fun."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Sweet (Score:5, Funny)
With a code size of 11 kilobytes and a dynamic memory usage of less than 2 kilobytes (yes, kilobytes!), it certainly fits the bill of the ultra-low-power microcontrollers typically used in such devices.
With my IPv6-enabled Commodore 64, I'm ready to surf both IPv6 websites.
Re: (Score:2)
C'mon, you and I both know that an IPv6 Spectrum would kick its ass, with or without hardware sprite support.
Atari all the way (Score:2)
Your are both wrong. The Atari 1200XL is the one to beat, with a RANA disk drive with its motor covered in aluminum foil!
Re:Sweet (Score:5, Insightful)
And in fact, the Wikipedia page for Contiki links to a web server running on a C64! Shall we see if we can Slashdot it?
Whenever I trash MS-DOS 1.0 on Slashdot, I get a contradictions ("arguments" presumes too much actual knowledge) from people who insist that it's the best OS that could have been implemented on the hardware available in 1981. The counterexamples I usually answer are things like CP/M (the leader before commodity PCs took over), QNX (now sold as an embedded OS, but originally meant as a desktop system), and CTOS (utterly dead now, but my favorite at one time) that all had more power and lower hardware requirements. These examples go right by people because they've never heard of these OSs. (Except maybe CP/M, and then they assume that it's the same level as MS-DOS 1.0, because 1.0 was based on QDOS, and QDOS pretended to be a CP/M clone.) I'm very pleased to learn about Contiki, even though I'll probably never work with it, since it's a prime example that you can even do high-powered OSs with GUIs on 80s-era hardware.
Parent
CTOS (Score:4, Funny)
I hear that the first version of Duke Nukem Forever was written for CTOS and that Elvis, Roy and George are basing the next AmigaOS on its source code. Jesus is not available for comment.
Parent
Re:Sweet (Score:4, Funny)
This is how it all begins. Soon each thread in your clothing will have an IPv6 stack powered by the static built up by movement. Then when it detects a thread break, it sends a notification to your iDoEverything to let you know your shirt is damaged.
Yes, this is how we'll end up running out of IPv6 addresses, thermometers and light bulbs.
Parent
Re:Sweet (Score:5, Funny)
Though I really like your take on multi-threading.
Parent
Re: (Score:3, Informative)
Thermometers could have network access to report temperatures to a central server. You're talking about potentially simplifying devices to measure temperatures, or devices which traditionally never had network components because of power or other concerns. A hospital could use those chips in their digital thermometers to report a patients temperature to a server so that it's automatically timestamped and loaded into the patients record. With a push towards digitizing patient records, it would provide a simp
Lightbulb on the internet? (Score:5, Funny)
Re: (Score:3, Funny)
Stop flashing my bathroom lights!
Re:Lightbulb on the internet? (Score:5, Funny)
IP Addresses on everything is useful so you can ping the chocolate cake you made to see if your significant other stole it.
Parent
Re:Lightbulb on the internet? (Score:4, Funny)
My significant other has her own IP address so I can ping her to check her latency.
Parent
Re:Lightbulb on the internet? (Score:5, Funny)
About 1,000 ms from connect to 220
Although she gave me a 452 when I pulled my DATA from its envelope, she was 354 soon enough and after about 570,000 ms she 250'd,
That might be why she's been giving you the 521 to you lately.
Parent
Re:Lightbulb on the internet? (Score:5, Funny)
With IPv6, instead of using multiple ports at one address, she can use the same port at multiple addresses! It all depends on whether she likes to multiplex or be serially promiscuous.
Parent
Re:Lightbulb on the internet? (Score:5, Interesting)
That's just one example of hundreds of little features that become trivial when everything in your house (not just bulbs) has a data connection.
Parent
Re: (Score:3, Insightful)
Re:Lightbulb on the internet? (Score:5, Funny)
Gonna be real fun when the local script kiddie turns your house into a disco.
Parent
Re:Lightbulb on the internet? (Score:5, Funny)
Parent
Re: (Score:3, Funny)
Re:Lightbulb on the internet? (Score:5, Funny)
"Could you turn up the volume"
"Sure thing"
"Ok, now can you turn off the lights please?"
"Yeah, no problem."
"Ok, now the volume is low again. Could you do both?"
"Uh..." *fiddles with remote control* *picks up laptop and opens a terminal and starts coding*
"I'm... I'm leaving you for someone who can watch a movie without opening up vim. It's not you, it's... I'm just an emacs girl at heart."
Parent
Re:Lightbulb on the internet? (Score:4, Interesting)
What happens when your "controller" runs out of output connectors?
Say I want to add another lamp but the controller box has no more ports. Am I supposed to go and replace it? I bet that won't be cheap.
Now if each bulb has it's own intelligence I don't need to, I just plug it in and it will report to the central PC over the power cable.
Parent
Re: (Score:3, Interesting)
Re: (Score:3, Funny)
Re: (Score:3, Informative)
>But I don't want them addressable from the world at large;
>I want to go through a controller that verifies access and coordinates changes.
You would already have this at home anyway, in the form of an LDAP server or at least coordinated LDAP rules. E.g. in my house the Xbox can read the network shares to play MP3s and AVIs but it can not delete them, this is controlled via LDAP and protects against hard-wired attacks, so even someone visiting who plugs their laptop into the socket behind the sofa can'
Re:Lightbulb on the internet? (Score:4, Interesting)
It's not just for internet connectivity purposes. The range of addresses used by IPv6 is broad enough that everyday objects can be identified with an IPv6 address for indexing and tracking purposes.
Let's say Wallmart is selling a lawn furniture set, and each one has a unique IPv6 address. Suddenly, keeping track of the stock is immensely easier. Need to know if the furniture set that the person returned was really the one that he bought from Wallmart? No worries, just scan the IPv6 chip in it. An employee has a garden gnome that looks suspiciously like the one that disappeared from the store a few weeks ago? Scan it and find out.
It's uses are significant. Don't dismiss the possibilities of having mundane objects having an address.
Parent
Re: (Score:3, Interesting)
Re: (Score:3, Interesting)
They have unique SERIAL numbers, but serial numbers aren't tracked by the store and are not part of the barcode.
The also have model numbers, but those often aren't tracked either. 2000 model Playstation 2 versus an 8000 is a minor revision of internal components. Externally they are pretty much identical. Stick one into the box of another and the cashier of any big box store could never tell the difference. As a matter of fact unless you suspected the person, opened the package, recorded the model, and
Re: Better than that (Score:4, Interesting)
> Go to the computer, click file ..
Now imagine that this computer is a size of a card deck, with a touchscreen. And it understands which area of the house it is in. And it automatically shows you all actionable elements in the interior - lights, fireplace, shades, speakers, etc. And it has an IR transmitter, so it also acts as a TV remote. And it has a WiFi, so it is hooked up to all networked devices in the house such as DVR and media box. And it run a SIP client that is hooked up to a landline. And a module for the cell calls. That would've been pretty sweet, wouldn't it ?
Parent
Re: (Score:3, Funny)
A program you have just launched is trying to turn on your lights. Cancel or Allow.
Re:Lightbulb on the internet? (Score:4, Informative)
Why would anyone want to have a light bulb with a data connection?
Car manufactures want this. Have you ever seen the wire bundles in cars? If the lights had network address all you'd need one just ONE wire ad the switch on the dash would broadcast the "turn on" command. Every light bulb and every switch could have just one wire.
In your house it is the same. Light switches would simply issue commands and the light woould wait for a command to turn off/on. Housewiring would be hugely simplifed. and then automation would be easy. Room sensors could detect if people were there and kill the lights. All of this without mods to existing building.
Think of how much you could save if a 20 story building used network lights? Millions.
Parent
Re: (Score:3, Funny)
Get off your candles or you'll wave your lawn?
Re: (Score:3, Interesting)
Just imagine a house that gives you recommendations for power savings: "If you turned your computer off at night, you could save $50/year!" OR, with the click of a button you could put your house in "power savings
Please specify OS licence (Score:5, Insightful)
At least on Slashdot, it would be nice if posters specified the OSI approved license as it tends to be import for different types of software.
The FAQ says it uses the 3-clause BSD license.
I personnaly like stuff like this to be BSD, while applications are GPL
Linux? (Score:2)
Re: (Score:3, Informative)
Wrongo. The USB stick plugs into Linux and shows up as a network interface, instantly working with Linux (or Windows) IPv6 network.
There is a quick demo at http://www.youtube.com/watch?v=yjztYx_F2Ko [youtube.com]
And you can browse some of the documentation. It is fully IPv6 compliant, hence should work with anything...
Lightbulb? (Score:5, Interesting)
Not everything needs an IP address. That's just silly.
There is still the rather big issue of security. I don't think it has been addressed to anyone's satisfaction yet. Certainly not mine.
Right now the worst somebody could do is take out my computer. I could deal with that, given enough time and resources. However, dealing with the loss of my computer requires "light" and "coffee". You take that away from me and I am really screwed. Without my computer I am bereft of all the wonderful porn on the internet. Of course, I have a backup plan that involves a rather large library of tapes and magazines. Once again, I still need light!
Put IP addresses in light bulbs and other appliances and you risk a natural disaster creating a large population of pissed off men in the dark unable to "relieve their stress".
How's that for a "Ripple of Evil"?
Re:Lightbulb? (Score:5, Interesting)
How about more nefarious things, like home heating/cooling systems. Power outlets that heart monitors are plugged into. Space heaters, electrical closets.
Kill the power to the fridge. Damn, there goes $400 worth of food. Turn on someones microwave while they are on vacation, and they come back to a $500 electric bill.
Not to mention the worry about botnets. Right now, they number in the millions. If every appliance can suddenly participate, it'll be billions.
No thanks, you can keep my appliances/lights/furnaces/toiletpaper off the net. Thanks, k, bye.
Parent
Re:Lightbulb? (Score:4, Funny)
Parent
Re: (Score:3, Informative)
The IP stack isn't the limiting factor (Score:5, Insightful)
Making the IP stack smaller will not allow low power devices to harness the power of the Internet because while it lowers the bar for technically interacting on the Internet we can't do so safely with a device that can't also implement sane security.
If a light fixture can't execute a secure authentication mechanism to determine whether it really should be turned off/on then it really shouldn't be taking those controls (or reporting its status) to IP queries. These requirements are already beyond the resources needed for less optimized IPv6 implementations this brings us back to Amdahl's law doesn't it... Don't optimize blindly.
Re:The IP stack isn't the limiting factor (Score:4, Interesting)
You CAN fit authentication into these devices. The Contiki example was in a device with 16K of RAM and 128K of ROM.
So the fact you have a tiny stack leaves enough room to run authentication. Simple authentication, yes, but hopefully enough...
Parent
Re:The IP stack isn't the limiting factor (Score:4, Insightful)
That's actually a really huge microcontroller, on the order of $10 a unit. The cheaper ones, under $1, often have 256 bytes or fewer of RAM. Some don't even have RAM, just a set of general purpose registers and some IO addresses. And RAM is relatively power hungry, which acts as a continual anchor on microcontroller designs. Power is far more important than memory size.
Personally, I think 2KB of RAM is ludicrous for a software stack. But the again, my favorite model has just 4KB.
802.15.4 can be implemented in 100 bytes of RAM. Who in hell needs IPv6 on a MCU? And why in hell would manufacturers add $10 to their unit costs (of say, a $.50 light socket) to enable IPv6 and its attendant problems?
Braindead.
Parent
IIGS (Score:2)
This would be freaking awesome, if I could afford an ethernet card, ram card, and transwarp GS for my IIGS. But hey, it plays Ultima, so I'm not complaining.
Which way is this impressive? (Score:5, Insightful)
With a code size of 11 kilobytes and a dynamic memory usage of less than 2 kilobytes (yes, kilobytes!)
I'm left wondering whether the submitter thinks this is impressively small or impressively large. Perhaps I'm getting old, but to me 11 kilobytes seems rather large. I might be impressed by someone squeezing a stack into, say, 301 bytes, but surely you can implement *anything* in 11 kilobytes.
Re: (Score:3, Informative)
Any idiot ( even you ) could do a simple stack in much less than 11KB. It just depends on how much functionality you want to drop.
I've an IPv4 webserver running here:
http://mikehibbett.dyndns.org/ [dyndns.org]
that's running* a Microchip stack on a PIC micrcontroller in about 16KB of code. I bet I could get that down to less than 1KB if I knock much of the functionality out. Want to have a bet on it?
* it's running now. Not sure what a slashdotting would do to it.
Re: (Score:3, Informative)
Actually that's a pretty good idea (Score:5, Interesting)
Laugh if you will, but a light bulb with an IP address would be a good idea for an environment which has thousands and thousands of them. Any industrial plant, stadium, etc., would probably benefit from being able to generate a report based on pinging each bulb to see which responded and which didn't, and to change the ones that didn't.
One place I think this could really be useful is an airport...think of all those lights everywhere, scattered about the runways and taxiways.
Photoshop Please!!! (Score:3, Funny)
Re: (Score:3, Insightful)
dateline november 12, 2016: (Score:3, Funny)
a man drowned today in his sinking boat, but not before he had his laptop reprogram a lightbulb in his house to blink SOS in morse code to get attention. his wife and children, who did not know morse code, simply tried changing the lightbulb 2 times, not understanding the bulb wasn't faulty. the man took his last breath reading his last email message: "honey, you need to fix the lightbulb in the study"