Why did we start at IPv4? What happened to IPv5?

Posted on April 29, 2009 by Andy Callaghan.
Categories: Internet, Uni, Work.

On looking at the various protocols in network communication, the most puzzling version numbering is with IPv4 to IPv6 without version 5, 3, 2 or 1. Most people believe that IPv5, 3, 2 or 1 were not even developed, but this is not true. This article aims to clarify the history of IP and answering potentially difficult about the version numbers.

Why did we start at IPv4?

When the internet was known as ARPANET – a US government research project, the TCP protocol had a lot more functionality than what we are now used to. The research scientists that developed TCP were designing it for not only host-level point-to-point transmission but also for encapsulation and routing across the ARPANET network. After the scientists realised that they were using the one protocol for too much work on the network, they decided to fork the encapsulation and routing to another protocol called the Internet Protocol, IP. But by this time, the researchers had done enough work on this protocol for it to be deemed in its third version, so was informally known as IPv3. After the full TCP/IP stack had been fully developed as we now know it, further work had been completed on IP and so was called IPv4.

What happened to IPv5 then?

Soon after this, IPv4 was standardised by the IETF. Many different scientists and professionals alike noted that IPv4 would not scale well as it was in the future, and so in the 1970s work on the next version of IP was started, the Internet Stream Protocol (ST). The ST protocol was designed to be the connection-oriented complement to IPv4 and used the same link-layer framing as IPv4. ST used the same addressing scheme as IP and was always intended to run concurrently with IPv4. The researchers were attempting to ue a connection-oriented IP so that real-time internet applications such as VoIP, multiplayer gaming etc. will have more latency garuantees and be generally more reliable than IPv4.

The development of IPv6

ST was considered a great advance at the time against IPv4, but at the same time as ST was being developed, so was IP next generation (IPng). IPng was developed in 1994 and was aware of the dwindling address space offered by both IPv4 and IPv5/ST, and so used a 128-bit addresses for destination and source which offers a much broader availability of addresses. The IPng protocol was therefore seen as future proof in the eyes of research scientists and the industry in terms of solving the IPv4 addressing problem, so IPng was adopted as the next defacto standard of IP. IPng was given the version number IPv6, as a direct future replacement for IPv4 in the RFC in 1996.

Post taken in part from CS revision Wiki at Microplop.com.

Steps to learn Ruby on Rails

Posted on April 12, 2009 by Andy Callaghan.
Categories: Final project, Open source, Rails, Tips and tricks, lists.

I have pretty sucessfully taught myself Ruby on Rails from scratch with no real help from any one resource or book – in this post I will show you in some steps on how to learn the basics of Ruby on Rails, as well as some of the more detailed and difficult concepts to grasp.

In this post I will assume that you have already programmed in an interpreted or compiled language – C++, Java, Perl, Python are all perfect starts to a programming career.

Make sure you read all of this article before you begin, so you can see how your Rails skills will develop.

Start hacking

This is how all good programmers begin: with a weekend of time and an old fashioned hack-a-thon. I personally started with building a simple recipe app with collections of recipes in according to ingredients etc… 

  • Install Ruby, Rails and Gems and get them working
  • If you’re on Windows, you need a Linux virtual machine to do your development in. You’ll have A LOT of problems with Rails’ incompatibilities with Windows. Just do it, trust me!
  • Make the simple ‘Hello World’ app.
  • Hack away.

It is up to you this stage however.

Buy a few decent books

It’s all good me saying “Just get stuck in”, but I did need a lot of physical textual help with my learning curve of Ruby on Rails more complex areas. Not all the books that I bought were helpful or even in date, but there was a few that I found were invaluable to my learning.

Book one: Advanced Rails Recipes

Book two: RailsSpace

Book three: Rails Recipes

 

Subscribe to Railscasts

Ryan Bates presents a weekly video podcast in all areas of Rails. The later episodes tend toward more advanced areas of Rails, but if you get all of the episodes, you will find it difficult to get stuck with development in Rails.
www.railscasts.com