Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

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.
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."
+ -
story

Related Stories

[+] 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
More
Loading... please wait.
  • Sweet (Score:5, Funny)

    by mypalmike (454265) on Wednesday October 15 2008, @02:27PM (#25387763) Homepage

    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.

    • C'mon, you and I both know that an IPv6 Spectrum would kick its ass, with or without hardware sprite support.

    • Re:Sweet (Score:5, Insightful)

      by fm6 (162816) on Wednesday October 15 2008, @02:43PM (#25388077) Homepage Journal

      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.

      • CTOS (Score:4, Funny)

        by turgid (580780) on Wednesday October 15 2008, @03:05PM (#25388489) Journal

        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.

    • Re:Sweet (Score:4, Funny)

      by Talderas (1212466) on Wednesday October 15 2008, @03:09PM (#25388557)

      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.

      • Re:Sweet (Score:5, Funny)

        by NoOneInParticular (221808) on Wednesday October 15 2008, @03:32PM (#25389079)
        Well, even then we might be hard pressed to exhaust the space. Remember: 2^128 ~ 10^38. With 10^49 atoms on earth, if we convert the entire earth mass into ipv6 stacks, we would need stacks using less than 10^11 atoms to actually exhaust the address space. 10^11 atoms is pretty small, e.g., taking silocon at 28 grams/mole, this will roughly translate to 10^-11 grams of chip per ipv6 stack. That's a very small chip, and no earth left to move around on.

        Though I really like your take on multi-threading.

          • 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

  • by snowraver1 (1052510) on Wednesday October 15 2008, @02:31PM (#25387839)
    Why would anyone want to have a light bulb with a data connection? Oh the switch to the bathroom? Go to the computer, click file --> power --> lights -->bathroom. Select lights 1, 2, & 3. Click enable, then confirm. Got that?
    • Re: (Score:3, Funny)

      by Anonymous Coward

      Stop flashing my bathroom lights!

    • by Shados (741919) on Wednesday October 15 2008, @02:35PM (#25387911)

      IP Addresses on everything is useful so you can ping the chocolate cake you made to see if your significant other stole it.

    • by stoanhart (876182) on Wednesday October 15 2008, @02:35PM (#25387915)
      So your standard $50 DVD player can dim the lights in your living room when a movie starts?

      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.
      • Re: (Score:3, Insightful)

        Now that is a feature that I would rewire my house and buy new light recepticles for! Wait, who still uses DVD?
      • by Splab (574204) on Wednesday October 15 2008, @02:50PM (#25388215)

        Gonna be real fun when the local script kiddie turns your house into a disco.

        • by snowraver1 (1052510) on Wednesday October 15 2008, @02:49PM (#25388189)
          Yes, a lightbulb conroller. Lets keep the lingo with the networking world and call it a "switch". We could give it a nice simple human interface and place it on the wall, about chest height. Perhaps one per room. Then all users would have to do is go to the light panel and "switch" on the light. I like where this is going.
            • Ah, but the one we had did. It was of the hand-wavy type, infrared switch. Whenever I adjusted the volume on the TV (= iMac) using the remote, the lights on the dining room went on. Or off. So, you see, I didn't even need the DVD player!
              • by Anpheus (908711) on Wednesday October 15 2008, @04:26PM (#25390137)

                "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."

        • by Joce640k (829181) on Wednesday October 15 2008, @11:19PM (#25394389) Homepage

          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.

        • Re: (Score:3, Interesting)

          So your car can turn off all of the lights when you drive away, using the same protocol and address that your DVD player uses? And with the amount of address space IPv6 gives you, you could have a subnet for lightbulbs and a subnet within this for each room, so you just send a packet to the broadcast address in this subnet to toggle a group of lightbulbs.
          • Dammit honey! You drove off and left me in the dark again!
            • 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'

    • 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.

          • Re: (Score:3, Interesting)

            And, based on this amazing success, you think that they would do any better with IPv6? Maybe the method of addressing isn't the real problem there.
            • 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)

      by apankrat (314147) on Wednesday October 15 2008, @02:55PM (#25388301) Homepage

      > 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 ?

    • A program you have just launched is trying to turn on your lights. Cancel or Allow.

    • by ChrisA90278 (905188) on Wednesday October 15 2008, @03:49PM (#25389393)

      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.

      • Re: (Score:3, Funny)

        by Anonymous Coward

        Get off your candles or you'll wave your lawn?

      • Re: (Score:3, Interesting)

        I can understand the argument for lightbulbs, but light sockets make sense (single expense, rather than perpetual). It could tell you whether the bulb is on, could be turned on/off remotely or on a timer controlled by your comp, whether the bulb needs to be replaced, estimated life, energy used.

        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
  • by pembo13 (770295) on Wednesday October 15 2008, @02:32PM (#25387855) Homepage

    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

  • I assume this wouldn't easily integrate with Linux's current networking setup?
    • 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)

    by EdIII (1114411) * on Wednesday October 15 2008, @02:37PM (#25387947)

    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)

      by cavtroop (859432) on Wednesday October 15 2008, @02:42PM (#25388055)

      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.

      • by kamochan (883582) on Wednesday October 15 2008, @03:25PM (#25388941)
        I certainly would hate it if someone DDOS'd my toilet.
        • Re: (Score:3, Informative)

          A firmware is an OS... an operating system. It operates the system for which it was designed. The firmware, if easily upgraded, is also easily hacked. If the thing has an IP address, it also means it has some remote interactivity, even if it is as simple as receive read (no write/execute) request, send data, buffer overflows can still be exploited, DDOS's can be used, etc. So that is another intrusion vector.
  • by John.P.Jones (601028) on Wednesday October 15 2008, @02:37PM (#25387951)

    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.

    • by c_oflynn (649487) on Wednesday October 15 2008, @03:11PM (#25388587)

      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...

      • by diablovision (83618) on Wednesday October 15 2008, @03:34PM (#25389117)

        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.

  • 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.

  • by johnw (3725) on Wednesday October 15 2008, @02:38PM (#25387975)

    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)

      Note that this 11KB can go in ROM, and only 1.8KB needs to be RAM. The same guy wrote an IPv4 stack that is much smaller, but IPv6 is a huge protocol comparatively. Considering that the MTU size for most of the Internet is 576 bytes, implementing TCP on IPv4 or v6 in 301 bytes for RAM would be tricky...
  • by wandazulu (265281) on Wednesday October 15 2008, @03:01PM (#25388403)

    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.

  • by FunkyELF (609131) on Wednesday October 15 2008, @03:08PM (#25388521)
    Someone skilled in photoshop please show me a lightbulb or socket with an ethernet port
    • Re: (Score:3, Insightful)

      You turn me on. -Kitchen "sparky" Lightbulb
      • 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"