Category Archives: General

UNIX, Beards and Orange Wallpaper

I am currently writing a dissertation about the move away from proprietary software, while doing some research I re-discovered this little gem! It is a video that Bell Laboratories produced in 1982 about the UNIX operating system. It is a must watch, not only because it offers a great insight into the contemporary thinking of this little part of computing history, but also because it is a time capsule of early 80s retro geekery goodness. This video has it all, the jazzy music, the grainy film, the blocky graphics, the orange wall paper and an impressive collection of beards. But if you’re not interested in beards it also has some footage of the then contemporary computers and x-terminals, I’m not going to try and identify any of them because I will almost certainly be wrong, but if you recognise them, then please let me know.

The video also has Dennis Ritchie and Ken Thompson being interviewed (and pulling some excellent set up for the video poses). They published the original UNIX white paper, which I have included in this post. Have a look at that, you will see that many of the concepts survive in UNIX and Linux OS’s today. Dennis Ritchie also discuses the C programming language and its inception, so it may be of interest to any programmers out there as well.

The UNIX Time-Sharing Operating System by Dennis M. Ritchie and Ken Thompson. Bell Laboratories 1974

Just a quick update on the IPv6 series, I am delaying the rest of it until January, as I said I am in the middle of a dissertation and that is taking up all of my free time at the moment. I am aiming to have most of complete by early January. As soon this the dissertation is complete I will write up the rest of the IPv6 series.

100 Greatest Hacking Tools! (Link)

100 Greatest Hacking Tools!

I thought I would share this handy guide from the EFYTimes for some of the best, most popular and widely used hacking security tools. They have gathered together a list of 100 security tools and broken them down into different categories, so you can easily find the correct tool for the job. Conveniently they have also linked to each tool, so downloading them should be a breeze.

One of the tools they have on their list is the Metasploit Framework, which you can read about here a very user-friendly security tool for exploiting security holes in software without too much effort. They also have a range of password crackers, wireless crackers plus many more categories to keep even the most committed of you busy for a while. Whatever tool you decide to play about with, have fun with it, but most importantly don’t go getting yourself in trouble by carelessly breaking the law.

I haven’t forgotten about my series on Mobile IPv6, part 2 will be up in the next few weeks. If you haven’t read part 1 yet, then you can here.

100 Greatest Hacking Tools! – EFYTimes

100 Greatest Hacking Tools!
efytimes.com

Mobile IPv6 Part 1

Mobility in IPv6

One of my favourite protocols is IPv6, this post is going to be part of a three part series covering IPv6 or more specifically: Mobility in IPv6. For me IPv6 is the hero of the network layer protocols, and will soon become the main network protocol of the internet. IPv6 was developed by the Internet Engineering Task Force and had its specification laid out in RFC 2460. This new version of the IP protocol was designed to make up for the folly of IPv4, whose finite number of addresses are all but completely exhausted. IPv6 addresses are of course also finite, but the amount of them is significantly greater than IPv4, there are so many IPv6 address that it is anticipated that we may never run out of them. If you want to find out how many IPv6 addresses there are exactly and compare the amount with the total number of IPv4 address, then have a look here.

IPv6 didn’t just bring extra addressing capacity, it also brought along a number of other improvements including a simplified header, security improvements, improved support for extensions and options.

In an earlier post I talked about IPv6 and how to enable and use it with common enterprise network technologies such as address allocation, DNS, email, web services and printing, if you want to get an overview of IPv6 and some of its uses then go and have a read here.

In this post I am going to concentrate on how IPv6 fits in with today’s mobile world, a world where nodes can be anything from mobile phones, vehicles, sensors and many other wide and varying devices from the common to the uncommon, from the normal to the bizarre, this mobile world and its vast array of devices are part of what is colloquially known as the Internet of Things.

It can be argued that the Internet of Things is merely just the internet, or more precisely the extension of the internet to more than just fixed stationary networks with fixed stationary nodes such as PC’s, servers or printers. Traversing the internet today is data traveling from a range of mobile devices, probably the most visible being smartphones connected via technologies such as Wi-Fi and a range of mobile data networks run by the telecommunication companies plus various other types of network that support mobile nodes. The amount of mobile devices on the internet is far from saturation point, in the coming years we will see an increase of the amount of nodes transmitting and receiving data while on the move.

This post, and the following parts are going to talk about Mobile IPv6 and a selection of the protocols that extend and support it. Before we get on to Mobile IPv6, let’s have a look at its predecessor, Mobile IPv4.

Mobile IPv4

When IP protocols where developed they were designed to operate over wired media, although IP protocols are technically media independent, the addressing structure of the IP protocols was designed with fixed networks in mind, Stationary local networks with stationary nodes, and stationary wide area networks with stationary nodes. The system worked well, each network would have a fixed prefix and each node on the network would have a unique address from the range of the prefix. Around the last fifteen years of the 20th century however things began to change, wireless media was fast becoming a practical alternative to its wired cousins.

The network was evolving, and the IP protocols had to evolve with it. In 2002 in the Internet Engineering Task Force’s (IETF) RFC 3344, the specification for IP mobility support for IPv4 was laid out, it described a process of allowing an IPv4 node to travel from one network to another while being able to manage the mobility of the node and how a node would be handed off from one network to another all while maintaining a connection with a Corresponding Node (CN). This was revised and improved in RFC 5944. This specification allowed for location independent routing of IP packets on the internet to a roaming Mobile Node (MN), it introduced the Home Addresses (HoA) and Care of Address (CoA), in simple terms the HoA would deal with the end to end communication and the CoA would deal with the routing the data to and from the MN. The basic premise being that a node was issued with an IPv4 HoA by a Home Agent (HA), when a node roams into a foreign network, it sends out a solicitation message looking for a Foreign Agent (FA). The FA replies to the solicitation message with a solicitation advertisement, when this is accepted the node is issued with a second IPv4 address from the FA, this second address is the CoA.

So now the node is in a foreign network with two IPv4 address, a HoA and a CoA, the next step is to send a RegReq (Registration Request) message to its HA, when the HA receives this request it replies with a RegReply (Registration Reply) message. Once this process is done the two addresses are linked on the HA. So now this is all in place, the MN is able to communicate with other devices on the internet. Let’s say there is a PC wanting to send data to the MN. How exactly would it find the mobile device? OK so we have two devices, a mobile phone roaming around, this is our MN and our other device is a PC, this is our CN. When the PC sends data, it sends it to the HA, the HA looks up its database to see what addresses it has linked with MN’s HoA and then forwards the data through a tunnel to CoA, delivering the data to the MN. When the MN wants to reply this process is reversed. So far so good, but this process is designed to work with IPv4, and as we already know, IPv4 is no longer a viable addressing scheme for the long term sustainability of the internet.

Mobility Support in IPv6

IPv6 also requires mobility, and has its own set of extensions and support protocols that allow the saviour of the internet to be mobile, fast and efficient. In this section I begin to cover them. Let’s start with mobility management.

Mobility Management

The role of mobility management is to locate the MN and maintain connection to them during the handover from one network to the other. Different systems, such as Wi-Fi or the Telecommunication Networks like GSM, 3G, 4g etcetera, use different mobility management schemes. They can be broken down into two broad groups. The first is horizontal mobility, this is intra-system mobility, dealing with handoffs in a homogenous system, the other is vertical mobility, intra-system mobility with handovers taking place between two heterogeneous systems. Horizontal mobility can have a lot of the work placed on layer 2 protocols such as Stream Control Transmission Protocol (SCTP). Vertical mobility in many cases however relies on layer 3 IP protocols, although higher level protocols such as Session Initiation Protocol (SIP) can be used in some scenarios. It is in layer 3 of the TCP/IP protocol stack that we will find the Mobile IPv6 family of protocols.

Mobile IPv6

Mobility in IPv6 works differently from mobility in IPv4, it replaces the Agent advertisement with IPv6’s Neighbour Discovery function and there is no longer the requirement for a FA. Address allocation similarly uses IPv6’s build in ability to auto configure, although a DHCPv6 server can also be used. The RegReq and RegReply messages are gone, replaced with Binding Updates (BU) and Binding Acknowledgements (BA).

So how do all these differences change the way IPv6 works?…I thought you would never ask.

A mobile node is powered on, ready for a day exploring the big bad world, its first port of call is to acquire an address, as I said before two methods for this are via auto-configuration or via a DHCPv6 server. If you would like to read about that process in more detail have look at this blog post I posted a while ago.

Once our MN has a topologically correct IPv6 address it is ready to start communicating with other nodes, this address is the HoA. But when the device wants to leave its home network and travels into a foreign network, mobility is required. When the device enters a foreign network it will configure a second topologically correct address for the foreign network, in the same way it did for its HoA. This new address is the CoA, the node now needs to bind these two addresses together on the HA, an agent that belongs to the nodes original network. The node sends a BU to the home agent, the HA then performs Duplicate Address Detection (DAD), if there is no duplicate address the HA binds the HoA and the CoA in its database and replies to the node with a BA.

Now when a CN wants to send data to the MN it will do so in keeping with the IPv6 protocol it will encapsulate the packets within a IPv6 header. The source address for these packets will belong to itself, but the destination address will not be the nodes address but the address of the HA. When the HA receives these packets they are then encapsulated with an additional IPv6 header, in this second, outer layer the source address belongs to the HA and the destination address is the MN’s CoA, the packets are then routed directly to the MN. When the MN receives these packets it first decapsulates the outer IPv6 header, then the inner IPv6 header, this makes the entire mobility scheme completely transparent to the upper layer applications, allowing them to have a conversation with the CN as if the mobility didn’t exist.

That will do it for part one, here we have covered the basics of mobility in both IPv4 and IPv6, in part two we will delve into Mobility in IPv6 in a little more detail and flesh out the process described above. We will cover Route Optimisation, Hierarchical Mobile IPv6 (HMIPv6) and Fast Handovers for Mobile IPv6 (FMIPv6). In part three we will see Media Independent Handovers (MIH), Network Mobility (NEMO), which provides the mobility not for a single IPv6 node, but for an entire IPv6 Network to become mobile, then Proxy Mobile IPv6 (PMIPv6) will also be discussed, before wrapping up the trilogy of posts about Mobility in IPv6.

See you in Part two.

Remembering Capt Jerry Roberts MBE

Last Tuesday a 93 year old man going by the name of Jerry passed away. Jerry, or to give him his full title, Captain Raymond C ‘Jerry’ Roberts MBE’s death was covered in the papers, and in the broadcast news, tucked away on the inside pages of the printed press, or 20 minutes into a bulletin on the TV news, it perhaps wasn’t covered to the level that someone with Jerry’s achievements deserved, as Jerry was a code breaker, a Bletchley Park code breaker, a code breaker during World War II.

Capt Jerry Roberts MBE

The men and woman that worked at Bletchley Park are credited with shortening the war, arguably saving lives and certainly helping the Allied forces defeat Nazi Germany. Jerry was not part of Alan Turing’s team in Hut 8, Jerry’s section was known as The Testery, a group of talented code breakers and German linguists. A code known by the British as Tunny and to the Germans as Vernam was created by a range of German cipher machines called Lorenz, which had 12 encryption wheels each with a different number of cams (Enigma only had 3 wheels). The cipher, a symmetrical stream cipher, used a keystream made from a random data stream of the same length as the plain text it was encrypting. The messages broadcast via Wireless Telegraphy where intercepted by the British Signal Intelligence sites known as the Y stations at Knockholt in Sevenoaks Kent, and Denmark Hill in London where then passed on to the team at Bletchley Park. The logic of the cipher was cracked by a member of The Testry, Bill Tutte in the spring of 1942, soon after in his role as a senior code breaker Jerry along with his colleagues set about deciphering the messages encrypted in its code.

What made this code of particular importance however was that it was used almost exclusively by the German High Command. Messages from Germany’s top generals and even Adolf Hitler himself where intercepted and deciphered, providing the Allied war effort with vital intelligence. It was thanks to Jerry’s team that the Allies knew that the Germans had bought the carefully planned ruse to convince them that the D-Day landings would be in Calais and not Normandy.

Initially the team deciphered the messages by hand, then the team started using machines developed by a section of Bletchley Park tasked with developing machines to assist with the decoding of intercepted enemy messages, led by a man called Max Newman the section was called Newmanry. The Testery gained access to various Robinson code breaking machines, electro-mechanical machines that used vacuum tube valves to assist with its logic, the Robinson was the predecessor to another machine developed at Newmanry; the Colossus. Designed by engineer Tommy Flower and seen as the world’s first programmable electronic digital computer, The Colossus greatly improved the capacity of the code breakers, through the use of Colossus, The Testery where able to decipher messages faster and more efficiently than ever before, thus contributing to the shortening of the war.

In 1945 Jerry left Bletchley Park, he joined the War Crimes Investigation Unit, before embarking on a career in market research that lasted 50 years. He campaigned for recognition for the work done at Bletchley Park by people like himself, Tommy Flowers, Bill Tutte, Max Newman and Alan Turning, in 2013 he was made an MBE for his work during the war, he saw the commendation as not only a recognition for himself, but for all the men and woman that helped decipher the German codes at Bletchley Park, but in particular his section: The Testry.

Live Transmission

Thanks for visiting and welcome to my blog! Here I will post about my learning’s and journey though the world of Computer Networking, be it routers and switches, Linux, network security, or just my general musings on life. The purpose of this blog is really for my own benefit, to have a place where I can collect my thoughts, ideas, interests and opinions. Hopefully someone, somewhere, will find some of it interesting and/or informative.
In case you haven’t realised, the name of the blog is an amalgamation of the words network and transmission, which is in telecommunication circles is abbreviated to Tx.