Top Banner
1 CHAPTER 1 INTRODUCTION 1.1 GENERAL INTRODUCTION: Internet protocol was designed and came in 1981,objective was to interconnect heterogeneous network technologies[1].The current networking protocol will be unable to support additional requirements of new applications.IPV6 is a new networking protocol that provides improved security,routing,scalability and higher performance when compare to IPV4.[1] Internet protocol version4 is the fourth version of the internet protocol and route traffic on the internet.IPV4 is a connectionless protocol and it is used in packet switched network.It works on a best effort delivery model,in that delivery is not guaranted.IPV4 contain 32 bit addresses,in which total address possible is 2^32 which are approximately 4294967296.when addresses will be assigned to users then number of unassigned addresses will decrease.The drawback of IPV4 stimulted the development of IPV6 in the 1990s.IPV4 reserves special address block for private network and multicast addresses. An IPV4 address can be 172.16.254.1(dotted-decimal notation),in this address 172 can be written as 10101100,
49
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

CHAPTER 1INTRODUCTION1.1 GENERAL INTRODUCTION:Internet protocol was designed and came in 1981,objective was to interconnect heterogeneous network technologies[1].The current networking protocol will be unable to support additional requirements of new applications.IPV6 is a new networking protocol that provides improved security,routing,scalability and higher performance when compare to IPV4.[1] Internet protocol version4 is the fourth version of the internet protocol and route traffic on the internet.IPV4 is a connectionless protocol and it is used in packet switched network.It works on a best effort delivery model,in that delivery is not guaranted.IPV4 contain 32 bit addresses,in which total address possible is 2^32 which are approximately 4294967296.when addresses will be assigned to users then number of unassigned addresses will decrease.The drawback of IPV4 stimulted the development of IPV6 in the 1990s.IPV4 reserves special address block for private network and multicast addresses.An IPV4 address can be 172.16.254.1(dotted-decimal notation),in this address 172 can be written as 10101100, 16 can be written as 00010000,254 can be written as 111111101 can be written as 00000001.IPV4 contains 32 bits which is equal to 4 byte each byte contain 8 bit.Originally IP address was divided in two parts which was network identifier and host identifier in which network identifier was the high order octet of the address and the host identifier was the rest of the address.This was found to be not adequate then to overcome this drawback classful networking and classless inter-domain routing came.[2]IPV6 is also called IPng(internet protocol-next generation) and it is the newest version of the internet protocol reviewed by the IETF committees to replace the current version.IPV6 is the successor to the IPV4.IPV6 is designed to make the internet grow in terms of the no off hosts connected and the amount of data transmitted.IPV6 is called as next generation.This protocol is still under development.IPV6 addresses are 128 bit IP address written in hexadecimal and separated by colons.example: 3ffe;1900;4545;3;200;f8ff;fe21;67cf.In case of IPV4 data packages have a limit of 64 KB while IPV6 may be extended up to 4GB.[2]BENEFITS OF IPV61.MORE EFFICIENT ROUTING: IPV6 reduces the size of routing tables and makes routing more efficient and hierarchical.2.MORE EFFICIENT PACKET PROCESSING: IPV6 make simple the packet header makes processing more efficient.IPV6 does not contain checksum so there is no need to recalculate checksum at each hop level.3.SECURITY: IPsec is inbuilt in IPV6 by which confidentiality,authentication and data integrity is maintained.4.DIRECTED DATA FLOWS: IPV6 does not support broadcast ,it support multicast which means it saves network bandwidth.[3]

TRANSLATOR FOR AN IPV6 SITE

Figure 1. Translator for an IPV6 siteTRANSLATOR FOR AN IPV4 SITE

Figure 2. Translator for an IPV4 site 1.2 IPV4 AND IPV6 HEADER FORMAT

Figure 3. IPV4 and IPV6 header formatThough, there exist several analyses on IPv4 and IPv6 protocol stacks under different implementation environments like Windows NT, Windows 2000. IPv6 protocol stack was not that much mature that time, but in recent version under Microsoft Windows 2007, Macintosh & Red Hat Linux Enterprise Version 4 are quite mature and can be used in the industry. It is difficult to test IPv6 functionalities under Cisco router in real time Internet use. Some experiments used software router and PC (Personal Computer) environment which actually do not give the real results. It is often impossible to arrange such latest equipment in a laboratory because of its high cost.Moreover, we tested three different platforms, namely Microsoft Windows 2007,Macintoshand Red Hat Linux Enterprise version 4, side by side, throughout all of our experiments;we covered both TCP and UDP transport protocols. Our metrics included bandwidth utilization (throughput), round trip time (latency) parameters. The following paragraphs cover some of the related work that we are going to do.Layered approach [3] is a network architecture has been so successful is one of the important reasons. A great success story is the Internet, which shows how powerful and scalable it has not foresee exponential growth, it is used despite the initial design goals.Layered help break complex problems into smaller, more manageable chunks. 1.2.1 IPV4 HEADER:

Figure 4. IPV4 header1.Version - indicates the version of IP, and is set to 4. The size of this field is 4 bits.2. Internet Header Length - represents an IPv4 header 4-byte blocks. The size of this field is 4 bits. Since the size of the IPv4 header is a minimum 20 bytes, Internet Header Length (IHL) "field is the smallest value 5. IPv4 option to set the minimum size of the IPv4 header 4 byte increments, if a IPv4 option does not use all 4-byte IPv4 option field, the remaining bytes padded with zeros, making the IPv4 header 32-bit (4-byte) integer multiple. 0xF of the maximum, including the selection of the IPv4 header max the size is 60 bytes (15 4).3. Type of service - said it expects to deliver the required service package across the IPv4 network through a router. This field size is 8, which contains the priority bits, delay, throughput, and reliability characteristics4. Total Length - indicates an IPv4 packet (IPv4 header + IPv4 payload) of the total length, not including the link layer frame. This field size is 16, it can be shown to be 65535 bytes long IPv4 packets.5. Identification - identify a specific IPv4 packets. The field size is 16. Select the ID field of the IPv4 packet's source. If the IPv4 packet fragmentation, all of the fragments retained identification field value to the target node can be grouped fragment reassembly.6. Sign - a sign of identity fragmentation processes. The size of this field is 3, however, only two are defined as currently used. There are two flags to indicate whether the IPv4 packets may be segmented and another indicating whether there are more fragments in accordance with the current clip.7. Fragment Offset - means relative to the original IPv4 payload snippet. The size of this field is 13 bits.8. Survival time - Specifies the maximum number of links to IPv4 packets before being discarded. The field size is 8. Survival time (TTL) field was originally used as a time count the length of the IPv4 router determines the time required (in seconds) of the IP v4 packet forwarding, the corresponding decrement TTL.Modern router performance is almost always less than the second time an IPv4 packet, and is required by the RFC 791, by at least one of the TTL decrement.Thus, TTL becomes a maximum value set by the sending node's link count. 9. Agreement - identify the upper layer protocol. The field size is 8. For example,TCP protocol using 6, UDP 17 using a protocol, and ICMP Use Agreement 1.Protocol field for demultiplexing of upper layer protocols IPv4 packets.10. Header Checksum - provides an only IPv4 header checksum. The field size is 16.Does not include an IPv4 IPv4 payload payload checksum calculation, and usually contains its own checksum. Each IPv4 node receives the IPv4 packet validate IPv4 header checksum IPv4 packets discarded if the checksum verification fails. When a router IPv4 packet forwarding, it must decrement the TTL. Therefore the source and target each hop, the checksum is recalculated head.11. Source Address - IPv4 address stored in the original host. The field size is 32.12. Destination Address - storage destination host IPv4 address. The field size is 32.13. Options - options for storing one or more IPv4. This field size is a multiple of 32. If the IPv4 option or option does not use all of the 32.1.2.2 IPV6 HEADER1. Version - 4 bits are used to indicate the version of IP is set to 6.2. Traffic class - which means the class or IPv6 packet priority. The field size is 8.Traffic Class field in the IPv4 Type of Service field provides similar functionality. As defined in RFC 3697 Traffic Class field use.3. Flow Label (Flow Label) - said that the data packets between the source and destination of data packets belonging to a specific sequence, require special handling intermediate IPv6 routers. The size of this field is 20 bits. Flow label for non-default quality of service connections, such as real-time data needed (voice and video). As the default router processing, flow label is set to 0. There can be multiple streams in the source and destination to distinguish the separate non-zero flow label.4. Payload Length - indicates an IPv6 payload length. The field size is 16. Payload Length field includes the extension headers and the upper layer PDU. With 16, IPv6 payload of up to 65,535 bytes. For longer than 65535 bytes of payload, the payload length field is set to 0, Hop-by-Hop Options extension header and large payload option is used.5. Next head - a first extension header (if present) or the upper layer protocol PDU(such as TCP, UDP, or ICMPv6). The field size is 8. When instructs Internet layer above the upper layer protocol, IPv4 Protocol field used the same value used here.6. "Hop limit - means that IPv6 packets can be discarded before the maximum number of links of the field size is 8. Hop limit is similar to the IPv4 TTL field, but there is no historical data in the router packet queue are time required (in seconds).'s Hop Limit is equal to 0, send an ICMPv6 time Exceeded message source address, the packet will be discarded.7. Source Address - store the original host's IPv6 address. The size of this field is 128 bits.8. Destination Address - Stores the current IPv6 address of the target host. The size of this field is 128 bits. In most cases, the destination address set to the final destination. 1.2.3 The IPv6 Address SpaceIPv6 is the most obvious distinguishing feature is its use of the larger address. The size of IPv6 address is 128 bits, which is four times larger than an IPv4 address. A 32-bit address space allows 232 or 4,294,967,296 possible addresses.A 128-bit address space allows for 2128 or 40, 282, 366, 920, 938, 463, 463, 374 ,607 ,431 ,768 ,21 1,456 (3.4 1038) possible addresses.For IPv6, it is difficult to even conceive of IPv6 address space will be exhausted. To help put this figure in perspective, a 128-bit address space per square meter of the Earth's surface to provide (6.5 1023) addresses.It is important to remember that the decision to make the IPv6 address length is 128, is not the case, per square meter of the Earth could have 6.5 1023 addresses. In contrast, the relatively large size of the IPv6 address design can be broken down to reflect the modern Internet topology hierarchical routing domains. Use 128 to allow multiple levels of hierarchy and flexibility in designing hierarchical addressing and routing is currently lacking IPv4-based Internet.The following is an IPv6 address in binary form:00100001110110100000000011010011000000000000000000101111001110110000001010101010000000001111111111111110001010001001110001011010128-bit address is divided along 16-bit boundaries:00100001110110100000000011010011000000000000000000101111001110110000001010101010000000001111111111111110001010001001110001011010Each 16-bit block is converted to hexadecimal, separated by colons. The result is:21DA: 00D3: 0000:2 F3B: 02AA: 00FF: FE28: 9C5AIPv6 representation can be further simplified by removing each 16-bit block in the leading zero.However, each block must have at least a single digit. With leading zeros address representation becomes 21DA: D3: 0:2 F3B: 2AA: FF: FE28: 9C5A1.3 Types of IPv6 AddressesThere are three types of IPv6 addresses:1. Unicast: a unicast address identifies the type of unicast address within the scope of a single 24 interface. With the appropriate unicast routing topology to a unicast address of the packet is delivered to a single interface.2. Multicast: Multicast address identifies multiple interfaces. With the appropriate multicast routing topology to a multicast address of the packet is sent by the all interfaces identified by that address. One to many communication, the multicast address is used for delivery to multiple interfaces.3. Anycast address: an anycast address identifies multiple interfaces. With the appropriate routing topology, packets anycast address is delivered to a single interface identified by that address is the most recent of the interface. "Nearest" interface is defined as the closest distance it is routed. Anycast addresses, one for the pair number of the communication is transmitted to a single interface.In all cases, IPv6 address identifies the interface, not the node. A node determines unicast address assigned to any one of its interfaces1.3.1 Links and SubnetsSimilar to IPv4, an IPv6 subnet prefix is assigned to a single link. Multiple subnet prefixes can be assigned to the same link. This technique is called multinetting.1.3.2 Unicast IPv6 AddressesThe following types of addresses are unicast IPv6 addresses:1. Global unicast addresses2. Link-local addresses3. Site-local addresses4. Unique local IPv6 unicast addresses5. Special addresses1.3.3 Global Unicast Addresses25 Global unicast address is equivalent to public IPv4 addresses. They are global routing and IPv6 portion of the Internet access the current structure of the global unicast address assigned by the IANA, as defined in RFC 3587. Figure 2.4 The global unicast address as defined in RFC 3587The fields in the global unicast address are the following:1. Fixed part set to 001 - three high-order bit is set to 001. Global address currently assigned address prefix of 2000 :: / 3.2. Global routing prefix - global routing prefix indicates a specific organization's site. Three fixed bits and 45 generic routing prefix combinations are used to create a 48, and is assigned to a single organization website site prefix. Once allocated, IPv6 Internet routers forward on the 48 prefix matching IPv6 traffic router the organization's website.3. Subnet ID - Subnet ID is used to identify subnets within the organization's website. The field size is 16. The organization's website can use these 16 on its Web site created 65,536 subnets or multiple levels of addressing hierarchy and an efficient routing infrastructure.4. Interface ID - represents a particular site within a subnet interface. The field size is 64.In the field of global unicast address create a three structure .The three-level structure of the global unicast address Public topology collection larger and smaller Internet service providers, to provide access to the IPv6 Internet. Site topology is an organization's website subnet collections. Interface identifier identifies a subnet on the organization's website specific interface. Global unicast address for more information, see RFC 3587.1.3.4 Local-Use Unicast AddressesThere are two types of local-use unicast addresses:1. Link-local addresses are used between on-link neighbors and for Neighbor Discovery processes.2. Site-local addresses are used between nodes communicating with other nodes in the same site.1.3.5 Link-Local AddressesLink-local addresses are used by nodes when communicating with neighboring nodes on the same link-local address link.Figure2.6 shows the structure. The link-local address Link-local addresses always begin with FE80. With the 64-bit interface identifier, the prefix is the link-local address FE80 :: / 64. IPv6 routers do not forward link-local traffic beyond the link.1.3.6 Site-Local AddressesSite-local addresses are equivalent to the IPv4 private address space(10.0.0.0/8,172.16.0.0/12, and 192.168.0.0/16). Unlike link-local addresses, site-local addresses are not automatically configured and must be assigned either through stateless or stateful address configuration processes. The site-local address The first 10-bits are always fixed for site-local addresses (FEC0::/10). After the 10 fixed bits is a Subnet ID field that provides 54 bits with which you can create a hierarchical and summarizable routing infrastructure within the site. After the Subnet ID field is a 64-bit Interface ID field that identifies a specific interface on a subnet.1.3.7 Unique Local IPv6 Unicast AddressesTo replace site-local addresses with a new type of address that is private to an organization, yet unique across all of the sites of the organization, RFC 4193 defines Unique Local IPv6 Unicast Addresses, also known as local addresses. 1.4 IPv4 TO IPv6 TRANSITION MECHANISMS AND SCENARIOFor IPv6 designers recognize that the transition from IPv4 to IPv6 will take years, there may be institutions or organizations, will continue indefinitely using IPv4 host. Thus, while the migration is considered equal long-term goal must take into account the coexistence of IPv4 and IPv6 mid nodes. There are different types of nodes in the network, such as [14] IPv4-only, IPv6 only IPv6/IPv4 nodes, IPv4 nodes and IPv6 nodes exist. There are many different types of compatibility address, such as IPv4-compatible addresses, IPv4 mapped address, 6over4 address, 6to4 addresses, ISATAP address, Teredo address. To coexistence of IPv4 infrastructure and provide the final transition to IPv6-only infrastructure, using the following mechanisms.1.4.1 Dual IP layerDual IP layer [15] is an implementation of the TCP / IP protocol suite includes an IPv4 and an IPv6 network layer of the Internet layer. This mechanism IPv6/IPv4 nodes with IPv4 and IPv6 nodes can make communication occurs. Dual IP layer contains a host-to-host layer protocol implementation (such as TCP and UDP). Dual IP layer in the upper-layer protocols can all IPv4, IPv6 communication in IPv4 or IPv6 tunnels.1.4.2 IPv6 Over IPv4 Tunneling IPv6 over IPv4 tunneling is the encapsulation of IPv6 packets with an IPv4 header so that IPv6 packets can be sent over an IPv4 infrastructure. Within the IPv4 header: The IPv4 Protocol field is set to 41 to indicate an encapsulated IPv6 packet. The Source and Destination fields are set to IPv4 addresses of the tunnel endpoints. The tunnel endpoints are either manually configured as part of the tunnel interface or are automatically derived from the sending interface, the next-hop address of thematching route, or the source and destination IPv6 addresses in the IPv6 header.IPv6 over IPv4 tunnel IPv6 path maximum transmission unit (MTU) for the target is usually less than 20 IPv4 path MTU as the goal. However, if the path is not stored for each of the tunnel MTU, IPv4, IPv4 packet case will need to be distributed in the middle of IPv4 routers.In this case, the IPv6 over IPv4 tunnel packet must be sent to the Do not Fragment flag in theIPv4 header is set to 0 [10], define the following tunnel configuration tunnel IPv6 traffic over IPv4 infrastructure between IPv6/IPv4 nodes: router to router host router or router to the host Host-to-HostRouter to routerThe router-to-router tunneling configuration, three IPv6/IPv4 router to connect three IPv4 or IPv6 in IPv4 infrastructure infrastructure. Tunnel endpoints over a logical link between thesource and destination paths. For the IPv6 over IPv4 tunnel between the three routers as a single hop. Course in each of the IPv4 or IPv6 infrastructure superiority in IPv6/IPv4 router. For each IPv6/IPv4 router, there is a tunnel interface IPv6 over IPv4 tunnels and tunnel interfaces using the internet.

Figure 5. IPv6 over IPv4 Tunneling1.4.3 Values of the Header FieldsValue (in decimal) Header:0 Hop-by-Hop Options Header6 TCP17 UDP41 Encapsulated IPv6 Header43 Routing Header44 Fragment Header46 Resource ReSerVation Protocol50 Encapsulating Security Payload51 Authentication Header58 ICMPv659 No next header60 Destination Options Header1.5 IPv6 compared to IPv4This chapter will discuss some differences between the two protocols and what is new in IPv6. Address spaceThe most obvious difference between IPv4 and IPv6 is the size of the addresses. In the IPv4 protocol addresses are 32 bits long. This leads to a theoretical limit of 232 = 4,294,967,296 addresses. In the IPv6 protocol the addresses is 128 bit long. This makes the total number of possible addresses to 2128 ~3.4 * 1038 addresses.As the set of available IPv4 addresses were being rapidly depleted there was a clear need to migrate to another Internet protocol. The very large number of addresses that would be available with IPv6 would hopefully last for quite a while. Additionally,these addresses were to be allocated in a hierarchic manner to minimize the size of the global routing tables[7]. However, there are exceptions where this hierarchical structure is not followed. An organization can be assigned Provider Independent (PI)addresses if they intend to use multihoming. These PI addresses are smaller blocks assigned separately directly from Regional Internet Registry (RIR)[8]. To be assigned PI addresses from the Rseaux IP Europens Network Coordination Center (RIPE NCC) the organization must demonstrate that it will be multihomed[9]. Another advantage is that the organization does not need to change all its IP addresses when changing Internet Service Provider (ISP).Address notationThere are some differences in the notation between IPv4 and IPv6 addresses. IPv4 is represented in a dot-decimal notation where every byte in the address is represented by a decimal number. These numbers are demarcated with dots. In IPv6 two bytes are represented as a four digit hexadecimal number separated with colons. As the addresses are 128 bit, or 16 byte, long there can be up to seven colons. Leading zeros can be omitted in both IPv4 and IPv6. In IPv6 one or several fields of zeroes can be compressed and represented with two colons. However, this can only be done once.Example:IPv4 address: 192.168.10.5IPv6 address: 2001:db8:0000:0102:0033:0000:0000:00ab2001:db8:0:102:33:0:0:ab2001:db8::102:33:0:0:ab2001:db8:0:102:33::abPrefix length is represented by a slash and the length in number of bits in both IPv4 and IPv6.IPv4 prefix: 192.168.10.0/24IPv6 prefix: 2001:db8:0:102::/64Payload lengthA 16 bit payload length field specifies the length of the data carried, including any extension headers, in numbers of bytes[11]. This mean that up to 65,535 bytes of payload can be carried. However, there is a Jumbogram extension header that allows for even larger packets, for details see RFC 2675.Next headerAn 8 bit next header field identifies the type of the header directly after the IPv6 header. It replaces the protocol field in the IPv4 header[11]. The values corresponding to different protocols are specified in RFCs (the latest being RFC 1700), but have been replaced with an online database.Hop limitAn 8 bit hop limit field indicates how many hops are left before the packet should be dropped[11].Multicast, unicast, and anycastMulticast, unicast, and anycast addresses are types of addresses that are used for different purposes.Each will be described below. Broadcast, multicast, and unicast addresses are used with IPv4. Anycast is a new type, and the functionality that broadcast addresses served in IPv4 has been replaced by multicast addresses in IPv6.MulticastOne way of transferring, and replicating, a packet to multiple destination addresses is to multicast the packet. Duplicates of the packet will be created as the packet traverses the network, thus distributing the load over the nodes (and as a byproduct of distributing the load over the physical network itself).UnicastA unicast address identifies a single IPv6 interface. A packet destined to such an address is delivered to the interface that is identified by this address.AnycastOne of the new concepts introduced in IPv6 is anycast addresses. The definition of multicast is to send to all the interfaces in a group and unicast sends to a specific interface, while anycast packets are routed to any interface in the group. This routing of an anycast packet should be done as efficiently as possible, thus the packet will be routed to the nearest interface (the distance is calculated according to the routing protocol that is being used). The key concept is that the anycast group consists of any interface that can respond to a request sent to a single anycast IP address.ICMPv6Just as in IPv4, the Internet Control Message Protocol (ICMP) in IPv6 provides very useful information about the network. For example, Traceroute makes use of control messages. ICMP error messages for destination network/host/port unreachable are well known. Probably one of the most fundamental diagnostic functions is to test the connectivity between nodes in a network via ping using ICMP Echo Request/Reply. ICMPv6 is a requirement for every node that is to run IPv6[3]. ICMPv6 has a set of new features not in ICMPv4. An important new feature is Neighbor Discovery (ND). ND handles a variety of operations such as address autoconfiguration, determining the link layer address of nodes on the local network, and detecting routers and any alteration of link-layer addresses. ND provides resolution of network layer addresses into link layer addresses, similar to the Address Resolution Protocol (ARP) of IPv4[4]. Further details of ND are given in the following subsection.Neighbor DiscoveryNeighbor Discovery (ND) comes with modifications, improvements, and new features when compared to the related IPv4 protocols. The ND protocol performs functions similar to ARP, ICMP Router Discovery, and Router Redirect, but with improvements. The function of Neighbor Unreachability Detection (NUD) has been implemented which serves the purpose its name suggests: it is a mechanism for detecting if a neighbor is reachable or not. Router discoveryThe router discovery process discovers active routers on the local link[8]. A router sends out Router Advertisement (RA) messages periodically to inform nodes that it is active. The waiting time between the advertisements can be skipped by the host by sending a Router Solicitation (RS).AutoconfigurationHosts (that are not manually configured) need a Dynamic Host Configuration Protocol (DHCP) server in IPv4 to provide an automated mean to assign an IP address to the host and for the host to get the other information needed to communicate via the network. The IP address, subnet mask, and default gateway are the most fundamental information that is usually provided by DHCP. The address of a Domain Name Service (DNS) sever is another example of information that the host may need. It is up to the network administrator to decide what is the best (and maybe the most convenient) solution to implement. Autoconfiguration in IPv6 was defined so that there is no need for a DHCP server and the hosts will still be automatically configured[5]. This simplifies administration, therefore hosts will be less time consuming to configure and hosts can communicate via a link local IPv6 address even in the absence of any infrastructure. ISPs use DHCP servers in order to dynamically allocate addresses. Eliminating the need for DHCP servers improves reliability, as only the router infrastructure is necessary and it is located nearer the host and has better fault tolerance[8]. However, autoconfiguration in IPv6 does not provide DNS information. This is a severe drawback since a lot of commonly used applications rely on DNS. Fortunately they are multiple ways to bootstrap DNS operations (for example, using public DNS server, anycast discovery of authoritative DNS servers see RFC3258 [7], Multicast DNS (mDNS),).IPv6 and DNSThe Domain Name System (DNS) maps domain names to IP addresses. These mappings are stored in resource records. A new record was needed for storing IPv6 addresses mapped to domain names.The type of record mapping IPv4 addresses is called an A record so, naturally IPv6 addresses being four times as long as an IPv4 address, the records for IPv6 are called AAAA or quad-A records. The type value for AAAA records is 28. An example AAAA record is:example.com. IN AAAA 2001:db8:0:1:2:3:45:6789 An AAAA query has also been defined for fetching AAAA records from DNS servers. When making a query such as MX type queries, this means that you want the canonical name of a mail server with a certain alias, then the DNS server sends in the additional section of the answer an A record providing the IP address for the mail server[6]. These types of queries are redefined to add both relevant A and AAAA records. Returning both answers when possible is done for efficiency reasons.For reverse lookups the special domain in-addr.arpa is defined for IPv4. The domain name is suffixed to the IPv4 address represented in dotted-decimal form in reversed order in a PTR record type. For example the domain example.com with the IPv4 address 10.15.20.25 would have the following PTR record: 25.20.15.10.in-addr.arpa. IN PTR example.comAvoiding NATsNetwork Address Translation (NAT) provides the ability to hide a realm of private IP addresses behind a single public IP address[6].Given a private network behind a NAT-enabled router, the IP address within the private network serves only a local purpose and cannot be used outside of it. The router appears as single device with its public IP address. The packets leaving the network all have the routers IP address as their source address, and all packets destined towards the network will have the routers IP address as their destination address. Since all traffic has the same destination address arriving at the router, the router must use a NAT translation table to be able to forward the data to the correct host within the private network. The NAT translation table consists of a pair of internal and external IP addresses and port numbers. It is the port number that is used as the key to translation. As a result if there are a large number of hosts behind the NAT there can be problems due to the limited port number address space (216) for a given protocol.

Figure 6. Avoiding NATsIf a host with private IP address 192.168.0.2 sends a request to a web server with the public IP address 173.194.32.31 and port number 80. The host sets the source port number of the datagram to some local TCP port number, such as 3333 and sends it. When the router receives the datagram, it replaces theoriginal source IP address with its own public IP address 85.255.31.209 and allocates a new entry in its NAT translation table, perhaps with a new source port number 5555, in which case it replaces the source TCP port number with 5555, recomputes the checksums, and sends the resulting packets towards the web server. When the web server responds it sends a packet towards the router (IP address 85.255.31.209, port 5555). When the router receives this packet it looks in the translation table to find the corresponding IP address and port number of the host using the destination IP address and port number in the packet that the web server sent. In this case the router will find a matching entry, thus it will replace the destination IP address with 192.168.0.2 and it will replace the port number 5555 with port number 3333, recomputes the checksums, and forwards the resulting packet towards the host.People within the IETF argued against the use of NAT for several reasons (see pages 387-388 of [6]).One of them being that IPv6 should be used instead of this short term, and patchy, solution to the shortage of IPv4 addresses. More importantly, NAT breaks the end to end property of IP communication, hence NAT causes problems for services such as peer-to-peer (P2P) file-sharing applications and voice over IP (VoIP) applications when both endpoints are behind different NATs.IPv6 SecurityThere was only limited consideration of security when IPv4 was designed. IPv4 was meant for use by a closed community and it was not thought that IPv4 would be as widely deployed as it is today.However, security became a very important part of the specification of IPv6. This meant that security mechanisms, that were not part of the original IPv4 protocol, had to be applied in order to provide the desired security.Figure 2.15.1 Example NAT translation table for a simple network configuration With this in mind when designing IPv6, built-in security was considered a requirement. This is achieved with IPsec. However, IPv4 is also able to us IPsec,but unlike the case for IPv4 Ipv6 requires that every implementation of IPv6 include support for IPsec.There are an extremely large number of attacks that can be performed on networks today. Some of the most common are[6]: denial of service; fabrication, modification, or deletion; and eavesdropping.Each of these types of attacks is described in the paragraphs below.Denial of ServiceA denial of service (DoS) attack is used to prevent the targeted service from being available. A DoS attack is easy to detect when the service becomes unavailable. Unfortunately, it is difficult to prevent a DoS attack and it is even difficult to detect the onset of such an attack. Common DoS attacks include overloading the target, i.e., to subject it to a load that is greater than it is capable of handling (thus slowing down valid service requests or perhaps even blocking them being handled at all), or disrupting vital network information (such as routing information) which can cause unexpected behavior of the network if nodes do not receive information that is current and operates based upon obsolete information.Fabrication, modification, or deletion of informationThese attacks be can used to forge information in order to fool someone/something to behave the way the attacker wants or just delete certain (or all) information. These attacks are hard to detect unless there is some form of sequence number and authentication.EavesdroppingEavesdropping is often impossible to detect. An attacker can simply intercept packets and hence gain information without the knowledge of the victims, just as a person would eavesdrop on a conversation between two unsuspecting individuals. The man-in-the-middle attack is performed by a person identifying himself as person B in the conversation between person A and B in the eyes of person A and vice versa. A and B (who each think that they are talking directly to each other) sends their information to the man in the middle who relays the information flowing to and from them to the other party, the real person B. The two parties (A and B) will not discover that there is something wrong since they are getting all the information (as is the intruder). The intruder is now able to learn information that can be used against the victims, such as passwords. While IPv6 provides new security features, it is still not flawless. Its new mechanisms also introduce new security issues. A host that has been able to gain access to a network could still cause a lot of damage by exploiting messages sent within a network. IPsec[3]. IPsec is a framework that provides secure communication in networks at the network layer. IPsec is a mandatory component for all implementations of IPv6[6]. However, IPsec can be used with both IPv4 and IPv6; as it was designed for both protocols, but it needs to be retrofitted to IPv4 stacks already in existence AH authenticates parts of the header and the payload[8]. AH can only protect the fields that are not intended to be changed, so called immutable fields. The AH header is in the same format as the otherextension headers. It has a field indicating what type of the immediately following header is and the length of the AH header. However, the payload length field indicates the length in 4 octet units instead of 8 as with the other extension headers. The AH header is inserted between the payload and the IPv4 or IPv6 header[10]. ImplementationIPsec can be implemented in three different ways: Of these alternatives, the integrated structure is considered to be the best way, while BITS and BITW require software and hardware solutions[11].Integrated structureThe preferred way of implementing IPsec is integrated into the IP stack, as the IPsec protocols are integrated with IP which will result in an easy implementation. As mentioned, IPsec a mandatory part of IPv6 thus making it an integrated part of any IPv6 implementation.Bump-in-the-stackBump-in-the-stack (BITS) is a technique that is usually applied by IPv4 hosts. This approach implements IPsec as a separate layer between IP and the data link layer. IPsec perform its security transformation on the datagrams as they pass from the IP layer to the data link layer and the reverse at the destination.The benefit of using BITS is that any IP device can adopt IPsec with the addition of suitable software.The downside is that using software to intercept the datagrams requires extra computing compared to the integrated structure. For example, in Windows one can implement an NDIS Device Driver that provide IPsec functionality (see the Windows OS file ipsec.sys).Bump-in-the-wireBump-in-the-wire (BITW) relies on hardware to implements IPsec functionality.Consider .In this scenario the routers do not implement IPsec (Network 1 and 2). Therefore we introduce an IPsec device (IPsec device 1 and 2) between the router and the Internet to provide IPsec functionalities. As datagrams passes out though the IPsec device, IPsec is applied; as datagrams passes in through the IPsec device, IPsec is removed. The existence of an IPsec tunnel between the two IPsec devices is invisible to the routers.The benefits of BITW are the same as for BITS. The downside is complexity and cost: new hardware needs to be bought, integrated into the existing network and configured. However, an advantage is that no other changes need to be made in the network. This assumes that R1 and R2 only want to communicate with each other. If they also way to send packets to and from the rest of the internet, then there needs to be a way to tell the IPsec devices which packets to not tunnel.Both BITS and BITW provides the same functional outcome in the end, but one has to decide which alternative is best suited to a given application scenario. As mentioned earlier, the integrated structure (IPv6) is the preferred way of implementing IPsec. However, when IPsec has not been integrated BITW and BITS provide a way of adding IPsec after the fact.

Figure 7. Bump in the wirein through the IPsec device, IPsec is removed. The existence of an IPsec tunnel between the two IPsec devices is invisible to the routers.The benefits of BITW are the same as for BITS. The downside is complexity and cost: new hardware needs to be bought, integrated into the existing network and configured. However, an advantage is that no other changes need to be made in the network.

CHAPTER 2LITERATURE REVIEWThe Internet today relies on the Internet Protocol version 4 (IPv4) protocol. When originally developed in the late 1960s, the need for an enormous number of addresses that we see now was not anticipated. At that time computers had just started to appear but, just like now, they were much more useful if they were able to communicate with each other. A demand for a network that would interconnect and make computer resources available grew. The United States Department of Defense (DoD) needed to make a distributed set of computer recourses available to researchers that were working on contracts for them. A packet switching network was developed by the Advanced Research Project Agency (ARPA) of DoD in 1969, and it was called ARPAnet[1]. After further developments and trials this eventually grew into the modern Internet utilizing IPv4. Initially only universities, large companies with military contracts, and the military could utilize this network, hence only a small number of computers needed an IP address. The approximately 4.3 billion addresses that IPv4 provides seemed like an endless amount when IPv4 was introduced on January 1 1983[2], and even if only 3.7 billion addresses can be allocated to ordinary devices (27*224 + 214*216 + 221*28 = 3,758,096,384), it was considered enough to cover all future needs. But in the early 1990s, with the increasing number of IP addresses being requested, it was clear that they would eventually run out. As of 31 January 2011, the pool of unallocated IPv4 addresses officially ran out[3]. The last two blocks of addresses were assigned by the Internet Assigned Numbers.Authority (IANA) to the Asia Pacific Network Information Centre (APNIC)[4]. This does not mean that there are no more IPv4 addresses whatsoever, but it does mean that each regional Internet registry(the registry is responsible for allocating Internet number resources in its own region) cannot request a new block of addresses to allocate. This means that when a registry runs out of addresses that it cannot allocate any additional addresses within its region.As a result of the realization that the addresses would eventually be depleted, the Internet Engineering Task Force (IETF) was assigned the task to develop a successor to IPv4. The 32-bit IP address space was simply not going to be sufficient as large numbers of devices each needed one or more unique IP address assigned to it. The decision on this successor took some time, but it was decided that a 128-bit address scheme would be adopted. Improvements, in addition to extending the address space, were made based upon the long experience with IPv4. These improvements include autoconfiguration of devices for easier administration and built-in security with IPsec. As a result the specifications of IP version 6 (IPv6) were established in RFC 1883[5] in December 1995 What happened to IPv5 then? The original thought was that the Internet Stream Protocol version 2 (ST-II) protocol was to become IPv5. These packets were identified with Internet Protocol version number 5; however, the Resource Reservation Protocol (RSVP) was favored over ST-II[6]. BITW and BITS provide a way of adding IPsec after the fact.Routing protocols and IPv6To be able to send IP packets to other subnets the router needs to know where to forward the packets so they get to the correct destination. Routing protocols solves this problem. In this section we are going to go through the routing protocols available to distribute connectivity information for IPv6.RIPngThe Routing Information Protocol (RIP) is a commonly used intra domain routing protocol in small to moderate size networks (the maximum diameter of a network is 15 hops). RIP uses a Bellman Ford or other type of distance vector algorithm to calculate the best path in a network. RIP has its limitations,such as the low maximum number of hops for a path, the path cost is based only on the number of hops, and it has slow convergence[6]. Despite these limitations RIP is used because it is generally available and easy to configure.RIPng is based on RIP, and thereby suffers from the same limitations, but is intended for IPv6 networks. RIPng is not intended to be used in networks with both IP protocols. RIPng send its messages over UDP to port 521. Unsolicited response messages are sent every 30 seconds containing the whole routing table. Messages are also sent when triggered by route changes. There are two timers per route in the routing table, a timeout and a garbage-collector time. When the timeout expires the route is invalid, but it is kept in the routing table for a short amount of time so neighbors can be notified. When the garbage-collector time expires, the route is removed from the table. When a route is established the timeout timer is set and every time an update message received the timeout timer is reset. If the timeout is not reset after 180 seconds, then the route is expired and deleted.OSPFv3OSPF (Open Shortest Path First) is a widely used intra domain routing protocol based on Dijkstra's least-cost path algorithm for calculating the best paths to subnets[6]. Every router running OSPF makes its own complete map of the network before calculating the best path with itself as the root node. When routing information changes, or upon initialization, the router generates a link-state advertisement representing all link-states of the router. Link-states are exchanged by flooding. Every router that receives a link-state update saves it in its database and sends a copy to its neighboring routers. Then the best path is recalculated. With OSPF an Autonomous System (AS) can be divided into areas. Subsets of the routers are assigned to different areas. One, or more, of the border routers are set to be part of a backbone area that all communication between the areas goes through.With OSPFv3, also known as OSPF for IPv6, much of the fundamental mechanism of OSPFv2 (OSPF for IPv4) remains unchanged. In OSPFv3 protocol packets and in the main link-state advertisement types addresses are removed, making the core independent of the network-layer protocol. However, OSPFv3 is carried directly over IPv6, so IPv6 must be enabled on the interface.

CHAPTER 3PAST WORKBandwidth Utilization for Point-to-Point ArchitectureUnder Windows, bandwidth utilization results for IPv4 and IPv6 with data size ranging from 128 KB to 1.408 MB as shown earlier shows that the performance indicators are quite close. In comparison to IPv4, the IPv6 incurs 1 to 2% more overhead in this type of data sizes.As the header size of IPv6 is bigger than that of IPv4, probably IPv6 incurs more overhead than IPv4. More overhead results for bigger message of bigger data size happens due to bigger number of data packets and its corresponding acknowledgement time used up by the protocol in comparison to smaller message of smaller data sizes. Under Macintosh, bandwidth utilization results for IPv4 and IPv6 with data size ranging from 128 KB to 1.408 MB as shown earlier shows that the performance indicators are quite close but better than windows. In comparison to IPv4, the IPv6 incurs 2 to 3% more overhead in this type of data sizes. Under Linux, bandwidth utilization results of IPv6 incurs around 2% more overhead in the smaller data sizes ranging from 128 KB to 1.408 MB as shown earlier. As IPv6 has bigger header than IPv4 header, in Linux also, IPv6 incurs more overhead than IPv4.We see that IPv6 under Linux performs better than under, Macintosh, which in turn performs better than Windows for all kinds of data sizes, but at smaller data size level, 1111111111111performance of Windows is poorer. As the data size grows bigger and bigger, the difference becomes lesser and lesser. The reason may be perhaps due to the use of different algorithms and time acknowledgement differences in Windows, Macintosh and Linux platforms 111111.Round Trip Time Computation for Point-to-Point ArchitectureAs seen earlier, both IPv4 and IPv6 protocols perform at the same level of efficiency under Windows. Actually, Windows permits millisecond level time resolution only. So, it isdifficult to capture time in microsecond level directly for smaller sizes data.We see that IPv4 and IPv6 perform quite closely under Windows. IPv6 incurs 1.8 to 2.9% more overhead for all ranges of data sizes, which matches with theoretical speculations also. IPv6 header is 20 bytes bigger than that of IPv4 and the difference happens to be bigger for bigger overhead.Bandwidth Utilization for Router-to-Router ArchitectureUnder Windows, bandwidth utilization results for data size ranges from 1.28 to 1.408 MB (Chapter 4). It appears that IPv6 incurs a 14% more overhead in this type of data size, which is 1 to 2% only for point-to-point Chapter 4). (IPv4 performs better than IPv6 for data sizes ranging from 5.12 to 61.44 MB. For all ranges of data size used in our experiment router-to-router case, IPv6 incurs around 19% overhead, which is only 3% for point-to-point architecture as shown in Fig. 4.3 (Chapter 4). Perhaps more routers contribute to additional overhead which incurs more overhead than point-to-point architecture. It is seen that IPv4 performs better than IPv6 and it incurs around 9% overhead for all data sizes used in our experiments. shows that IPv4 performs better than IPv6. IPv6 incurs 12% overhead for larger data sizes. Perhaps more routers contribute to additional overhead which incurs more overhead than point-to-point architecture.Round Trip Time Computation for Router-to-Router ArchitectureUnder Windows, for data sizes between 5.12 to 61.44 MB both IPv4 and IPv6 perform quite closely. IPv6 incurs around 7% more overhead than IPv4. Here, perhaps router adds extra overhead with data transmission in IPv6 which results to bigger values than IPv4 in total overhead count.Under Linux, for data sizes between 5.120 to 61.440 MB IPv4 and IPv6 perform quite closely. At the starting end of the data size in router-to router architecture, IPv6 incurs around 13% more overhead, which falls to 4% around the finishing end of the data size. This overhead is 1.8 to 2.9% only for point-to-point architecture as shown in Fig. 4.13 (Chapter 4). Here also, the reason is the same for the increase of overhead incurred by IPv6 as in the previous case. Here only platform is different.

CHAPTER 4CONCLUSION AND FUTURE WORKIn the present work, we carried out a series of experiments to compare the performance analysis of IPv4 and IPv6 stack protocols under Windows 2007, Macintosh and Red Hat Linux Enterprise Version 4 platforms. We measured the performance parameters for the protocols in terms of bandwidth utilization and RTT (latency) computation for host-to-host and router-to-router architectures.Performance analysis for point-to-point architecture was carried out to see only the normal operational characteristics of both the protocols. But our experiments are mostly focused on the router-to-router bandwidth utilization and RTT (latency) performance measurements only.Another observation is that under Linux platform, bandwidth utilization is better than, Macintosh, which is better that under Windows. Interestingly, we find from our experimental results that the bandwidth utilization and RTT (latency) parameters of IPv4 are superior to those of IPv6 protocols. For thiscase, we infer that IPv6 results are poorer in comparison to IPv4 due to the bigger overhead constraints of IPv6.It is an overall observation that router-to-router RTT (latency) performance figures are always less than those of the host-to-host values.Our experiment was confined within a prototype kind of experimental setup comprising of three PCs and three IPv6 enabled routers connected through UTP Ethernet cross cables. We found more or less acceptable results in all the experiments carried out so far. But to be more realistic, more experiments are to be carried out in a bigger network domain to get the actual values for the performance parameters.One can also carry out experiments on tunneling of IPv6 packets through IPv4 environment to find out tunneling under router-to-router architecture is better or poorer to that in host-tohost architecture in all the experiments.Also, we were confined within bandwidth utilization and RTT (latency) parameters measurements in our experiments only.More research on the following aspects will be useful for further study in this area:1. Study can be extended to comparative evaluation with IPv6 implementation on other platforms, such as Sun Solaris 10 operating platform;2. Study can be extended to different router platforms, such as Nortel, Juniper etc.3. Study can also be extended to using IPSec in IPv6 implementation to observe the overhead enhancement due to encryption and decryption processes;

CAHPTER 5REFERENCES[1] http://www.engr.iupui.edu/~dskim/ipv4/[2] Charles E. Perkins, , Pearson, First edition, 2008[3] http://www.engr.iupui.edu/~dskim/ipv6/[4] Forauzen, Networking, Network Research Group, University of Plymouth, , Devon PL4 8AA[5] William Stallings,Networking, Dept. of Computer Science,University of . . Massachusetts, MA 01060, 20057[6] Christopher, Security of IPV6, MASSACHUSETTS INSTITUTE OF . . TECHNOLOGY, June 2008[7] http://www.cse.wustl.edu/~jain/cis788-99/ftp/ipv6/[8] Ronald L. Rivest. The MD6 Hash Function. To be released Fall 2008.[9]http://www.cse.wustl.edu/~jain/cis788-99/ftp/ipv4/[10] Radhika. Trust Based Solution for Networking, International Journal of . . . Advanced Research in Computer Science and Software Engineering 4(5), May - . 2014, pp. 73-82[11]Claude Crepeau, Carlton R. Davis and Muthucumaru Maheswaran, A . . . secure networking, Computer Science, McGill University, H3A2A7

1