Dynamic IP, IPv6 and other details
This post attempts to share about what is dynamic IP, the whole hullabaloo about IPv6 and why it’s really necessary to move to IPv6 and potential benefits. Be warned though, this would be a longish post.
I first have to apologize for wandering off without informing anybody else. There had been number of things which prompted me to go way easy on blogging. Some of those reasons are :-
a. Almost all webmail providers using two-step verification (identity) :- While in theory this is good so hate mongers and anti-social elements are taken care of but it has implications on privacy as well as the idea of who or what anti-social element is. While labeling is dangerous but let’s say for instance if you are a communist, and you are in power, and you think that a democratic person is an anti-social element (difference in ideologies) and vice-versa that is not good for the country. Add to it equations of caste,race,identity and we are both in confusion and thinking on narrow lines. With increased political and corporate big brother behavior this sort of thing has increased and we should worry about how we can stop this from happening.
b. The Indian Govt. banned social websites and not really understanding the power of the tools that could be used for common good. I would not be the first person to say this but there are so many good social-networking professionals who are doing wonders in trade and commercial field, why does not the govt. harness these professional’s knowledge while at the same time give them some freedom to bring freshness to communication. The potential for sharing knowledge as well as provide services to people is huge within time and budgets.
c. My own laziness and will to do blogging as well.
So before I go further, let’s see what happened in the last few months, hmm… ah yes,
a. Debian is now in deep-freeze which means we should see a new fresh version coming out in the next few months (wheezy) . The big thing is going to be the multi-arch thing and some other goodies but for that some other blog post would have to happen.
b. Praveen AArimrathodiyil has finally made in as a Debian Developer (DD) which means now he can push in new packages independently. I am guessing lot of Ruby goodness we should see coming out of his efforts in coming weeks, months and years. Good luck Praveen and a beer is pending from you on this good news.
c. The ambitious Mars Curiosity (Mars Science Laboratory for the scientifically inclined) finally landed on Mars safely using that innovative Sky-crane methodology. What has been interesting to read is not just the account from NASA’s site but also on the web. As always it’s interesting to see lot of skepticism on whether it has actually reached Mars or is NASA fooling everybody? I am cautiously on the former side but you never know 😛 It would be interesting to know what it finds or even it doesn’t find. For instance if it doesn’t find water (actually frozen ice) then Earth’s Mars colonization would have a premature death or at least a long siesta. Also the search of life or possibility of life is another one of those things but NASA itself has discounted that Curiosity or MSL doesn’t have the tools accurate or deep enough that it can make statements about possibility of life (I’m sure people remember some of the controversy about Mars and origin of life from the earlier missions) so that’s not going to change soon.
d. Sound in my system has gone out for many months now and it’s a software issue and not a hardware issue. From what I can understand (and that in itself is an overstatement) there is pulseaudio and there libalsa. From what little I have understood so far pulseaudio was supposed to take over all the functions of libalsa (more or less) because alsa is/was broken. Now in debian it seems pulseaudio is more in the higher end while alsa still does the major plumbing (so as to speak) and something has gone wrong at that alsa level. It also seems alsa is no longer supplied via a package as before but is now part of the kernel package so whenever you get the latest kernel package you get the latest alsa goodness/brokenness (depending on your mileage and experience). For me while I’ve the latest kernel from Debian wheezy 3.2.0-3-amd64 (experimental has 3.5 while 3.4 has disappeared completely and why it has is a mystery to me) I can’t get alsa driver version 1.0.25 but it only uses driver version 1.0.24 (dunno why) .
Update: Miraculously, either due to updates or something else, sound is back on the system.
Now let’s come to the main topic of the blog post. The thing is/was somebody asked me about what is dynamic IP and I found out that I haven’t had put a basic document about it on my blog, so here’s what it’s all about.
First of all what is an IP. It’s called IP Address. IP Address stands for ‘Internet Protocol’ Address. The name itself gives a lot of clues. The first part is easy, it’s something to do with what we call or know as ‘Internet’. While there are many implications of the word ‘Internet’, here we simply take it to mean a global system of machines interconnected by various means so that humans can connect and share information,culture etc. with each other.
Now protocol is also clear. It means establishing some rules for conduct. Each Society makes some rules or codes which are generally understand. For e.g. when we meet a friend we say ‘Hi’ or ‘Hello’ by which we express greetings and also build some sort of relationship, trust. Also there is an expectation that the other person would respond in the same way and hence take the relationship further along. Similarly, if we are going to talk with or through other computers, there needs to be a standard way to greet and say hello and go back and forth. So our IP also helps in putting some codes in place.
Address is also easy. Address is where you live. When somebody wants to visit you or you want to visit them, you either give them your temporary/permanent address or you take theirs or you decide on a place where you can meet. In either of the three scenarios you need something that is familiar to either or both of you where you can meet. The same thing is with computers, they need the address for number of uses especially when you are on the Internet.
Note:- IP Address is not limited to Internet but anywhere where you have equal or more than 2 computers.
Put simply, your ISP has a range of IP’s (IP = Internet Addresses) which he buys on behalf of you. To buy such IP’s your ISP goes to one of the 6 registries For instance my ISP (BSNL) has bought one range 18.104.22.168 – 22.214.171.124 from something called regional registry (in this case most probably APNIC.net)
Let’s see how much that is :-
126.96.36.199- 188.8.131.52 = 255*255=65025
now from 255 – 192 (the second in the series) it’s 63. So the final figure would be
63 x 65025 = 40,96,575
so at any given time theoretically there could be something like 4 million people from one ISP for one range can connect. I do know they have some more ranges (for e.g. 184.108.40.206 – 220.127.116.11 and so forth) but that’s topic for another day. That IP range gives different services.
While this may seem a lot, in reality, for different services, they would partition those and for dynamic IP’s if I am not wrong then something like ~70% IP’s are left for giving dynamic IP’s (rest for internal use, leased and corporate stuff). This while seems much can be easily exhausted as future growth needs to be also taken into account. Think of all the next-gen and this-gen appliances which are gonna need 24×7 dynamic or Static IPs so IP’s would exhaust.
Hence the move to IPv6. To put it simply, it’s just adding two more numbers to it. So if’s something like 18.104.22.168.0.0 it will be written as (2002:0:0:0:0:0:101:75c1) or in ipv6 condensed form (ff00::101:75c1) . I am not going to get into how the conversion is done but just give the link for the idea behind it to here. You can find more by looking in your search-engine. A point to note though is, it’s going to be a difficult ride till this conversion is complete. There are multiple reasons for this. One reason is all network-related services would need to be both ipv4 and ipv6 compliant as well as hardware. Doing this will be hard. The other thing is familiarity, while denoting ipv4 addresses is easy/easier for people to understand and remember, the move to even alphanumeric IPv6 condensed will take some time and perhaps the condensed form might not be good/effective in all use-cases (only time will tell). The other part would be there should/would be a slight fall in reliability during the conversion phase. As of right now, millions of requests hit a server/router and ask ack for further relaying or whatever using IPv4. (Think of IPv4 as say language english, with say Victorian dialect). Now when IPv6 also comes into the mix (think of that as modern/business english) each time the request comes, the router will have to spend a moment considering whether it’s an ipv4 or ipv6 address and what it wants to do. This should take some extra time. Also it’s possible that at times it (the router) may completely misinterpret/throwaway/sent to a different destination both the IP and the content and the user/service has to try again. Hence the fall in reliability. (There are quite a few solutions to tackle this, but each one either adds either complexity or/and latency hence not naming/sharing those.) This should improve once everything between users and content providers and in-between become IPv6 then all are talking the same language. Another part of the puzzle is as some people give away their old IPv4 address (as they feel it’s redundant/useless or is demanded by one of the registries) and re-auctioned, people who do not have either the financial or/and engineering capability to move to IPv6 may continue to use IPv4 for long-time to come. So while the goal is to have IPv6 by around 2015 for general use it may take really a long time. It’s also possible that people would be unwilling to buy new devices for IPv6 happiness (or not). There are multiple reasons for moving to IPv6 from greater reliability, security enhancements, multi-homing etc. but all of those will not be discussed here.
Note:- If the ISP does move to IPv6 and give a cut-off date for IPv4 there would no choice if a person wants to stay with a certain ISP. In reality it’s most that both IPv4 and IPv6 co-exist with each other for a long time to come with services migrating and shutting off IPv4 as technology permits (and less number of people break away from the service due to the fact). One big up-shot is that because number of IP’s would be so much, buying Static IP’s would be not be expensive as today, so theoretically you could start your own webserver in your basement the day you have IPv6. Lot of this of course depends on Govt. regulation, Internet Policy, Your ISP as well apart from your own technical skills.
Note 2 :- The IP and the understanding is a simplistic one, in reality IPv4 is 32 bits while IPv6 is 128 bits long so headers for everything will be a bit longish, the downside is everything will take a little more space, the upshot I have already shared above.
Now from the user-perspective dynamic IP is nothing. At its most simplest level it’s like a cookie which is there when you visit any site. The cookie takes care of your preferences and number of other things. While cookies are permanent, dynamic IP’s by their very nature are temporary. Depending on how you structure it at your end as well as how your ISP manages, the IP can stay the same for number of hours to couple of days at the most. I have heard though of people having dynamic IP’s for weeks which is a miracle for me (you need very stable connectivity and a good ISP for both to occur/happen). For users buying new devices, the only advice I would say is check to ensure your device is IPv6 compliant(even if it’s going to be just in your LAN) because you do not know what tomorrow brings and ensure that the firmware of the device can be updated as and when need arises/be.
Hopefully, I have been able to share little bit about basics of dynamic IP with you all.