Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Networking Open Source Technology

Contiki 2.6: IPv6 For Everything, Everywhere 62

An anonymous reader writes "The Contiki project just released version 2.6 of its open source operating system for the Internet of Things, used to track city sound pollution, control street lights, read power meters, monitor radiation, among other things. The technology behind it? A really tiny IPv6 stack that fits in a few kilobytes of memory, allowing everything, everywhere to have an IPv6 address."
This discussion has been archived. No new comments can be posted.

Contiki 2.6: IPv6 For Everything, Everywhere

Comments Filter:
  • by skydave ( 593566 ) on Wednesday July 18, 2012 @12:10AM (#40682187)
    Is it bad that the first thing I thought of when I read the "your-footstool-is-broadcasting-an-IP-address dept" was that IPv6 doesn't support broadcast?
    • Re: (Score:2, Informative)

      by Anonymous Coward

      IPv6 doesn't support broadcast?

      Err...


      ping6 -I wlan0 ff02::1

      There are alots of "All nodes" IPv6 broadcast addresses.

    • by unixisc ( 2429386 ) on Wednesday July 18, 2012 @01:25AM (#40682583)
      IPv6 doesn't support broadcast. However, a multicast to address ff02::1 would result in a transmission to all nodes within the same local link, resulting in effectively the same thing (In fact, that's how router discovery happens in IPv6). Similarly, one could do a multicast to ff05::1 to reach all nodes in an organization, In other words, there are a lot more scopes in IPv6 that one can address.
  • by Anonymous Coward

    Yet Wikipedia admins still checkuserblock thinking it will stop sockpuppets.

    • Once IPv6 becomes common, administrators of Wikimedia sites and other sites based on user contributions will start blocking sockpuppets by their /64, /56, or even /48, depending on what home ISPs hand out at various service levels.
  • Sure, a decent enough platform I guess.

    Now, to solve the routing problem! I want to send an email to one of my Contiki buddies down the street. How does the name get resolved and how does a resolved IPv6 address get turned into a route? How about a few miles away? To my buddies in Australia?

    And how do we firm critical mass in the mesh, or provide a network effect to get everyone on board?

    Finally, let's not forget about the electromagnetic sensitivity problem.

    But these are all solvable. Let's go!

    We'll l

    • by Anonymous Coward

      Same as IPv4! It is called DNS. It is called "default route". IPv6 has RA so you don't have to set it up manually. It has IPv6 autoconf via same mechanism. What's the problem???

      • Assuming that either the RA support RDNSS, or there's a tiny DHCPv6 client onboard to get that information.
        • I see, this is about providing an embedded platform for things that want to get on some local Internet drop. It isn't really about creating an Internet from things.

          • I see, this is about providing an embedded platform for things that want to get on some local Internet drop. It isn't really about creating an Internet from things.

            I.e., "the Internet of things" is the same damn Internet as "the Internet of people posting captioned cat pictures to icanhascheezburger.com" - it's not a special Internet for "things", it's just putting a lot more things on the plain old Internet, such as thermostats and smart cards and refrigerators and washing machines and strain gauges and....

            • by mcgrew ( 92797 ) *

              it's just putting a lot more things on the plain old Internet, such as thermostats and smart cards and refrigerators and washing machines and strain gauges and....

              Thermostats and strain guages, sure, but why would one need their washing machine, refrigerator, or toaster on the internet? "Just because" is a dumb reason for doing something, especially something that costs cash. Plus, you could already put your thermostat on the internet, this simply allows you to put tinier things on it, because it uses less

              • Thermostats and strain guages, sure, but why would one need their washing machine, refrigerator, or toaster on the internet?

                The Internet? No, but a home-area network...

                I'd love to be able to turn on my dishwasher and washing machine at the same time and have them negotiate usage of the hot-water supply, or have the microwave tell the refrigerator to hold off on starting the compressor for 30 seconds while it finishes up. Having my window box fan and air conditioner consult my home weather station to decid

      • by unixisc ( 2429386 ) on Wednesday July 18, 2012 @01:40AM (#40682671)
        Precisely - just do a multicast transmission to address ff02::fb to get to all DNS servers on the local link, or to ff02::1:3 for all DHCP6 servers on the local link. In fact, that's how router advertizements would work.
  • Significance? (Score:3, Interesting)

    by mister2au ( 1707664 ) on Wednesday July 18, 2012 @12:15AM (#40682213)

    Back in 2008, the same project was quoting "a code size of 11 kilobytes and a dynamic memory usage of less than 2 kilobytes" http://tech.slashdot.org/story/08/10/15/1839209/worlds-smallest-ipv6-stack-by-cisco-atmel-sics [slashdot.org]

    Now we have "fits in a few kilobytes of memory" ...

    So this seems to be a nice incremental improvement?

    Any experts on embedded systems able to give insight into the importance of (lets say) 16kB in the old version versus (lets again say) 4-6kB including dynamic stack ??

    • by Anonymous Coward

      Mostly depends on the device it is going to be built into. If you have devices that run Contiki including uIP (the IP stack) to control relatively simple functions, then this reduction in size means a smaller micro controller will do. That reduces per-device cost in the order of $0.50 - $1, IIRC.

      So it mostly depends on whether we're talking about devices where every dollar counts. Think consumer electronics. Street lights -- not so much.

      • Essentially, what it seems to suggest is that the stack can be hard coded into a micro-controller, if its density is that low, and given the process lithographies that are @ the sweet spot today. I doubt that serial E-squares are manufactured any more, since the densities under discussion can be easily embedded in a microcontroller in either flash or ROM.
      • It's not so much consumer electronics. The main place for Contiki is sensor networks. For example, consider a building with electricity usage and IR / motion sensors in every light fitting. You may have a few thousand sensors in a single building, and you want to make them as cheap as possible.

        The problem that Contiki will have in the next few years is that the price of the IC is increasingly limited by the cost of the package at the low end. This means that in a few years you'll be able to buy a 100

        • by tibit ( 1762298 )

          Their API is much cleaner than the BSD/Linux accretion disc. Size is only a collateral benefit. You're very much right about the IC pricing being tied to packaging at the low end. I'd still gladly use Contiki no matter how much memory is there.

  • ...but not all at the same time. Server slashdotted at time of posting. And lo! Not for the first time. [www.sics.se] From the link

    Contiki was created by Adam Dunkels at SICS in 2003 and was quickly slashdotted. Its impact has been growing ever since.

    Plus ça change, plus c'est la même chose.

  • The Hollywood fantasy of everything everywhere being open to attacks over the internet was such an awesome idea.

    I can't wait for "they hacked into the traffic lights" to become an actual statement rather than a punchline.

    • I was expecting Slashdot users, of all people, to at least have heard of firewalls [wikipedia.org]... but alas, once again I see how naive my expectations are.

      Just to head off the other common complaint, I'd like to mention another recent invention called DNS [wikipedia.org], which allows people to use textual strings as aliases to IP addresses, saving them from needing to remember the latter all the time.

      • Re:Oh good (Score:4, Insightful)

        by JSG ( 82708 ) on Wednesday July 18, 2012 @03:28AM (#40683247) Homepage

        Yes you'd like to think there would firewalls installed on things like traffic lights. However as the fairly recent SCADA attacks demonstrate ...

        • by tibit ( 1762298 )

          It's easy, really. SCADA typically runs on some embedded platform, other than Unix, that doesn't come with a built-in firewall, and isn't really kept up-to-date to plug security holes. Sure you could run a traffic light controller on Linux, set up with vnc, firewall and selinux, only letting authenticated VNC traffic through. Alas, there seems to be no one out there who provides a full-featured PLC stack on top of Linux. Most everything runs on Windows XP, CE or Embedded, or some industrial RTOS that's prob

        • Do finish the sentence. I guess you wanted to say ", there aren't.", which also implies that they're not behind NAT either.

          And if they're not behind NAT in the first place, then the whole original argument of "IPv6 will be less secure than IPv4 because your stuff won't be behind NAT" doesn't even apply, does it?

          And if you're thinking of putting them behind NAT "for the security" -- just put them behind a firewall instead. The hardware and software required to do so is the same, and the configuration is very

      • by mcgrew ( 92797 ) *

        Just to head off the other common complaint, I'd like to mention another recent invention called DNS

        Your thermostat will no more need a dot whatever address than the computer on your desk does. DNS is for web sites, nothing more. As to connecting, it will be as easy as using wifi to connect your two computers, neither of which has a domain name but both of which have IP addresses..

  • The tech which we're really talking about here is 6LoWPAN, which is IPV6 for these low-power wireless sensor networks. It's a pretty simple software solution, but it's built on some cool stuff. I'm partial to TinyOS over Contiki, but I guess that's just my exposure to it (plus it uses the superb nesC language).

  • Arithmetically, this would be possible - Contiki would need just one router, assign an address to everything in the world that needs one, and be off to the races. In practice, of course they'd have many routers, but how do they define their various scopes, like their organization, their sites and so on, so that everything in the 'internet of things' is actually within a/their network?

    In IPv6, as we know, there are several scopes, such as local link, site, organization, admin and global. Does Contiki act

  • Sure. Let's do that. Let's make it even easier for malicious types to hack everything.

    No. Just, no.

Keep up the good work! But please don't ask me to help.

Working...