Friday, December 2, 2011

Cloud Computing.


Thursday, July 7, 2011

Some more technicalities of IPv6

IPv6 Address representation.


Where x is a 16-bit hexadecimal field.

Some more examples.


1) 2031:0000:130F:0000:0000:09C0:876A:130B


We can write this address in other alternate ways as well for example

a) 2031:0:130F:0:0:9C0:876A:130B

* The leading zeros in a field are optional, so that 09C0 = 9C0 and 0000 = 0.
* Successive fields of zero can be represented as : : (double colons) but only once per address.


b) 2031:0:130F::9C0876A:130B


* Using the double colon "::" notation greatly reduces the size of most addresses look at the following address.

2) FF01:0:0:0:0:0:0:1 --> FF01::1


* An unspecified address is written as "::" because it contains only zeros.
3) 0:0:0:0:0:0:0:0 --> ::


NOTE: For example for address FF01::1, An address parser identifies the number of missing zeros by separating the two parts and entering 0 until the 128 bits are completed. If two double colon notations are placed int the address then there is no way to identify the size of each block of zeros.

IPv6 address types.


Unicast Address:

  •  Address is for single interface.
  •  IPv6 has several types (for example: global and IPv4 mapped)

Broadcast storm.
Broadcasting in IPv4 results in a number of problems. Broadcasting generates a number of interrupts in every computer on the network and in some cases triggers malfunctions that can completely halt an entire network. This disastrous network event is known as "Broadcast Storm".

In IPv6 , broadcasting does not exist. Broadcasts are replaced by multicasts and anycasts.

Multicast Address: 

  • One to many.
  • Enables more efficient use of the network.
  • Uses a larger address range.
Multicast enables efficient network operations by using a number of functionality specific multicast groups to send requests to a limited number of computers on the network.

The multicast groups prevent most of the problems that are related to broadcast storms in IPv4. The range of multicast addresses in IPv6 is larger than in IPv4.

For the foreseeable future, allocation of multicast groups is not being limited.

Anycast Address.


IPv6 also defines a new type of address called an "anycast address". An anycast address identifies a list of devices or nodes; therefore, an anycast address identifies multiple interfaces.

A packet sent to an anycast address is delivered to the closest interface as defined by the routing protocol in use- Identified by the anycast address.

Anycast addresses are syntactically indistinguishable from global unicast addresses because anycast addresses are allocated from the global unicast address space.

NOTE: Anycast addresses must not be used as the source address of an IPv6 packet.

  • One-to-nearest (allocated from unicast address space).
  • Multiple devices share the same address.
  • All anycast nodes should provid uniform services.
  • Source devices send packets to anycast address.
  • Routers decide on closest device to reach that destination.
  • Suitable for load balancing and content delivery services.

IPv6 global Unicast (and anycast) addresses.


IPv6 has same address format for global unicast and for anycast addresses.

  • Uses a global routing prefix- a structure that enables aggregation (route summarization) upward, eventually to the ISP.
  • A single interface may be assigned multiple addresses of any type (Uni-cast, anycast, multicast).
  • Every IPv6-enabled interface must contain at least one loopback (::1/128) and one link-local address.
  • Optionally, every interface can have multiple unique and global addresses.
  • Anycast address is a global unicast address assigned to a set of interfaces (typically on different nodes).
  • IPv6 anycast is used for a network multihomed to several ISPs that have multiple connections to each other.

The global unicast and the anycast share the same address format. The unicast address space allocates the anycast addresses. To devices that are not configured for anycast, these addresses appears as unicast addresses. When a unicast address is assigned to more than one interface, thus turning it into an anycast address, the nodes to which the address is assigned must be explicitly configured to use and recognize the anycast address.

Wednesday, June 15, 2011

IPv6 Packet header details.

IPv6 Header.
In IPv6 packet, the header length has a fixed length of 40 bytes, or 320 bits (1 bytes = 8 bits). Today we will take a closer look on the fields in the IPv6 packet header.

Version
The first 4-bit field contains the version of the protocol or in another words, it is to indicate the version of the Internet protocol. In the case of IPv6 packet, the version number is 6 or 0110 in bit sequence.

Traffic Class
This is a 8-bit field and it replaces the Type of Service (ToS) in IPv4 header. This field defines the class-of-service (CoS) priority of the packet.
This field can be used by sending nodes and forwarding routers to identify between different priorities of IPv6 packets.

Flow Label
This is a 20-bit field and it is to identify all packets belonging to a specific flow. A sending nodes can use this field to label those packets that requires special handling by the IPv6 routers. Routers can identify these packets and handle them in a similar fashion. In short, it is for QoS management.

Payload Length
This is a 16-bit field and it is to specify the length of the IPv6 payload. This field replace the Total Length field in IPv4. The calculation of the Total Length field in IPv4 is not the same with the Payload Length in IPv6 header. The Total Length field in IPv4 includes the length of the IPv4 header, wherease the Payload Length in IPv6 does not includes the length of IPv6 header. Please be aware that the Extension Headers are not part of the IPv6 header, therefore Extension Headers are included in the calculation of Payload Length in IPv6.

Next Header
This is a 8-bit header and it is to indicate the type of next header that immediately follows the IPv6 header. It replaced the Protocol field in IPv4 header. As for the contents of this field, it contains the same protocol numbers as in IPv4.

Hop Limit
This is a 8-bit field and is analogous to the TTL field in IPv4. It is to indicates the maximum number of hops allowed. It will be decremented by 1 by each nodes that forwards the packets. Node will not forwards the packet and will discards it when the value of Hop Limit is decremented to 0.

Source Address

This is a 128-bit field and it contains the IPv6 address of the initial sender of the packet.

Destination Address

This is a 128-bit field and it contains the IPv6 address of the intended recipient of the packet. It is a slightly different between the IPv4 and IPv6 Destination field where in IPv4, the Destination field contain the IPv4 address of the final destination, but in IPv6, the Destination field might not necessary contains the final destination address if a Routing header is present.

Monday, June 6, 2011

Technicalities of IPv6.

Implementation of IPv6 in a complex network.


Internet.
The definition of internet with respect to the perspective of Internet Protocol (IP) is like; Internet operates by transferring data in small packets that are independently routed across the networks as specified by an international communication protocol known as IP (Internet protocol). Each data packet contains two numeric addresses that are the packets origin and destination devices.

In the beginning IPv4 ( predecessor of IPv6 ) has performed the role of data transferring as data carrier or in other words as a routed protocol and it is also still the foundation for most internet communication. But as communication networks has grown and become complex IPv4 couldn't fulfil the current requirement of the corporate world and businesses and now IPv6 has replaced and is replacing IPv4 in various parts of the world.

Vocabulary words.
1) Alleviate: To reduce or relieve.
2) rendezvous: An agreement between two or more persons to meet at a certain time.

IPv6.
Like IPv4, IPv6 is an internet layer protocol for packet switched networking and also provides end to end datagram transmission across multiple IP networks. Due to its large address space ,as discussed in my previous article, It allows for many more devices and users on the internet as well as extra flexibility in allocating addresses and efficiency for routing traffic. It also eliminates the primary need for network address translation (NAT), which gained widespread deployment as an effort to alleviate  IPv4 address exhaustion.

Some new features in IPv6.
IPv6 implements additional features not present in IPv4 such as

  1. Larger address space, which has been discussed in my previous article.
  2. Multicasting as a default behavior.
  3. It simplifies aspects of address assignment (stateless address auto-configuration).
  4. Network renumbering and router announcements when changing internet connectivity providers.
  5. Network security is also integrated in to the design of the IPv6 architecture, and the IPv6 specification mandates support for IPsec as a fundamental interoperability requirement.
  • we will talk about on all these new features later in detail.
IPv6 is now supported on all major operating systems in use in commercial, business, and home consumer environments.

IPv6 does not implement interoperability features with IPv4 and creates essentially a parallel, independent network. Exchanging traffic between two networks requires special translator gateways, but modern computer operating systems implement "Dual-protocol" software for transparent access to both networks using "Tunneling."
Not this kind of Tunneling.
Explanation of new features.


Multicasting.



  • Multicast, the transmission of a packet to multiple destinations in a single send operation, is part of the base specification in IPv6 which means this is a default behavior.
  • In IPv4 this is an optional although commonly implemented feature. 
  • IPv6 multicast addressing shares common features and protocols with IPv4 multicast, but also provides changes and improvements by eliminating the need for certain protocols.
  • IPv6 does not implement traditional IP broadcast i.e. the transmission of packet to all hosts on the attached link using a special broadcast address, and therefore does not define broadcast addresses.
  • In IPv6, the same result can be acheived by sending a packet to the link-local all nodes multicast group at address ff02::1, which is analogous to IPv4 multicast to address 224.0.0.1
  • IPv6 also supports new multicast solutions. Including Embedding rendezvous point addresses in an IPv6 multicast group address which simplifies the deployment of inter-domain solutions.

Stateless address auto-configuration.


IPv6 hosts can configure themselves automatically when connected to a routed IPv6 network using ICMPv6 (Internet Control Message version 6 ) router discovery messages. When first connected to a network a host sends a link-local router solicitation multicast request for its configuration parameters; if configured suitably, routers respond to such a request with a router advertisement packet that contains network-layer configuration parameters.
If IPv6 stateless address auto-configuration is unsuitable for an application, a network may use stateful configuration with the DHCPv6 ( Dynamic Host Configuration Protocol version 6 ) or hosts may be configured statically.

Routers present a special case of requirements for address configuration, as they often are sources for auto-configuration information, such as router and prefix advertisements. Stateless configuration for routers can be achieved with a special router renumbering protocol.

Mandatory support for network layer security.


Internet protocol security (IPsec) was originally developed for IPv6, but found widespread deployment first in IPv4, in to which it was back-engineered. IPsec is an integral part of the base protocol suite in IPv6. IPsec support is mandatory in IPv6 but optional for IPV4.

Simplified processing by routers.


In IPv6, the packet headers and the process of packet forwarding have been simplified. Although IPv6 packets headers are at least twice the size of IPv4 packet headers, packet processing by routers is generally more efficient, thereby extending the end-to-end principle of internet design, specifically

  • The packet headers in IPv6 is simpler than that used in IPv4, with many rarely used fields moved to separate optional header extensions.
  • IPv6 routers do not perform fragmentation, IPv6 hosts are required to either perform path MTU discovery, perform end-to-end fragmentation, or to send packets no larger than the IPv6 default minimum MTU size of 1280 octets.
  • The IPv6 header is not protected by a checksum; integrity protection is assumed by both link layer and higher layer (TCP, UDP, etc.) error detection. Therefore, IPv6 routers do not need to recompute a checksum when header fields (such as the time to live (TTL) or hop count) change.
  • The TTL field of IPv4 has been renamed to hop limit, reflecting the fact that routers are no longer expected to compute the time a packet has spent in a queue.
Mobility.
    Not like mobile IPv4, mobile IPv6 avoids "triangular routing" and is therefore as efficient as native IPv6. IPv6 routers may also support network mobility which allows entire subnets to move to a new router connection point without renumbering.

    Thursday, June 2, 2011

    Next generation IP addressing IPv6




    Internet protocol IPv6 is the latest IP protocol which also works on layer 3 aka network layer of OSI model. IPv6 fulfills the current deficiency of IPv4 addresses. It is implemented mostly in Asian countries such as Japan and China. Many corporate organizations are working on migrating themselves from IPv4 to IPv6 setup in order to fulfill their current corporate needs.

    A little bit History:
    Let us see a little bit history of the evolution of this powerful IP addressing scheme.

    Vocabulary words:
    1) Proliferation : increase in numbers.
    2) Anticipated : expected.

    In late 1980s even after the redesign of the addressing system using a classless network model, It became clear that this would not suffice to prevent IPv4 (predecessor of IPv6 protocol) address exhaustion and that further changes to the internet infrastructure were needed.

    Some Facts:

    •  In 1992′s end the creation of the working groups on IP next generation (IPNG) area.
    •  IETF (Internet engineering Task Force) adopted the IPNG model on July 25, 1994, with the formation of several IPNG – working groups.
    •  By 1996, a series of RFCs (Request For Comments) were released defining IPv6 .
    •  IPv5 was used for the experimental basis by Internet Stream Protocol.

    It was widely expected that IPv4 will be supported alongside IPv6 for the foreseeable future. IPv4-only and IPv6-only nodes can not communicate directly and need assistance from mechanisms such as tunneling.

    IPv4 Exhaustion:

    •  Estimates of the time of the complete IPv4 exhaustion varied widely in the early 2000’s. But by 2009 all converged  on the time frame from 2011 to 2012.
    •  In 2003, the director of Asia Pacific Network Information Centre (APNIC) is the Regional Internet Registry for the – Asia Pacific region, “Paul Wilson” stated that “based on then current rates of deployment, the available space would last for one or two decades.”
    •  In September 2005, a report by Cisco Systems suggested that ” The pool of available addresses would exhaust in as – little as four to five years. ”
    •  In 2008, a policy process started for the end-game and post-exhaustion Era.
    •  In 2010, a daily updated report projected the global address exhaustion pool for the first quarter of 2011, and depletion of the five regional internet registries before the end of year 2011.
    •  At the end of January 2011, the Internet Assigned Numbers Authority (IANA) assigned the last - two allocation blocks according to its request procedures, leaving only five blocks unused, per policy, each of the - five regional registries receives one of the remaining blocks, effectively depleting the global pool.
    •  It is expected on February 3rd,2011, that there will be a formal announcement in the US that IPv4 addresses have been completely exhausted.


    IPv4 comparison with IPv6:


    Now lets talk about some comparisons between IPv4 and IPv6. Following is the picture of comparison of IPv4 and IPv6 headers.

    Comparison of IPv4 vs IPv6 Headers.



    IPv6 specifies a new "Packet format" , designed to minimize packet headers processing by routers.

    Uninteroperability:


    Because the headers of IPv4 packets and IPv6 packets are significantly different, the two protocols are not "INTEROPERABLE". However, in most regards, IPv6 is a conservative extension of IPv4. Most transport and application layer protocols need little or no change to operate over IPv6; [exceptions are application protocols that embed internet-layer addresses, such as FTP and NTPv3].

    1) Larger address space of IPv6: The most important feature of IPv6 is a much larger address space than in IPv4. The size of IPv6 address is 128 bits compared to 32 bits in IPv4. The address space is therefore supports 2 128 or approximately 3.4 x 10 38 addresses. By comparison, this amounts to approximately 5 x 10 28 addresses for each of the 6.8 billion people alive in 2011.

    While IPv4 has only 2 32 addresses which is very small as compare to IPv6 and in order to make the best use of the address space complex Classless Inter-Domain Routing (CIDR) methods were developed.

    2) Standard size of a subnet of IPv6:

    The standard size of a subnet of IPv6 is 2 64 addresses which is the square of the size of the entire IPv4 address space. Thus, actual address space utilization rates will be small in IPv6. Also network management and routing efficiency is improved by the large subnet space and hierarchical route aggregation.