marți, 28 ianuarie 2014

Ipv6

Motivation and origins The first publicly used version of the Internet Protocol, Version 4 (IPv4), provides an addressing capability of about 4 billion addresses (232). This was deemed sufficient in the early design stages of the Internet when the explosive growth and worldwide proliferation of networks was not anticipated. During the first decade of operation of the TCP/IP-based Internet, by the late 1980s, it became apparent that methods had to be developed to conserve address space. In the early 1990s, even after the introduction of classless network redesign, it became clear that this would not suffice to prevent IPv4 address exhaustion and that further changes to the Internet infrastructure were needed. By the beginning of 1992, several proposed systems were being circulated, and by the end of 1992, the IETF announced a call for white papers (RFC 1550) and the creation of the "IP Next Generation" (IPng) area of working groups. The Internet Engineering Task Force adopted IPng on July 25, 1994, with the formation of several IPng working groups. By 1996, a series of RFCs were released defining Internet Protocol Version 6 (IPv6), starting with RFC 2460. The technical discussion, development and introduction of IPv6 was not without controversy and the design has been criticized for lack of interoperability with IPv4 and other aspects, for example by noted computer scientist D. J. Bernstein. Incidentally, the IPng architects could not use version number 5 as a successor to IPv4, because it had been assigned to an experimental flow-oriented streaming protocol (Internet Stream Protocol), similar to IPv4, intended to support video and audio. It is widely expected that IPv4 will be supported alongside IPv6 for the foreseeable future. google_ad_client = "pub-2311940475806896"; /* 300x250, created 1/6/11 */ google_ad_slot = "0098904308"; google_ad_width = 300; google_ad_height = 250; IPv4-only nodes are not able to communicate directly with IPv6 nodes, and will need assistance from an intermediary; see Transition mechanisms below. IPv4 exhaustion Main article: IPv4 address exhaustion Estimates of the time frame until complete exhaustion of IPv4 addresses used to vary widely. In 2003, Paul Wilson (director of APNIC) 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 dry up in as little as 4 to 5 years. As of May 2009[update], a daily updated report projected that the IANA pool of unallocated addresses would be exhausted in June 2011, with the various Regional Internet Registries using up their allocations from IANA in March 2012. There is now consensus among Regional Internet Registries that final milestones of the exhaustion process will be passed in 2010 or 2011 at the latest, and a policy process has started for the end-game and post-exhaustion era. Features and differences from IPv4 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 network-layer addresses, such as FTP or NTPv3. IPv6 specifies a new packet format, designed to minimize packet-header processing. Since the headers of IPv4 packets and IPv6 packets are significantly different, the two protocols are not interoperable. Larger address space The most important feature of IPv6 is a much larger address space than that of IPv4: addresses in IPv6 are 128 bits long, compared to 32-bit addresses in IPv4. An illustration of an IP address (version 6), in hexadecimal and binary. The very large IPv6 address space supports a total of 2128 (about 3.41038) addressesr approximately 51028 (roughly 295) addresses for each of the roughly 6.5 billion (6.5109) people alive in 2006. In another perspective, there is the same number of IP addresses per person as the number of atoms in a metric ton of carbon. While these numbers are impressive, it was not the intent of the designers of the IPv6 address space to assure geographical saturation with usable addresses. Rather, the longer addresses allow a better, systematic, hierarchical allocation of addresses and efficient route aggregation. With IPv4, complex Classless Inter-Domain Routing (CIDR) techniques were developed to make the best use of the small address space. Renumbering an existing network for a new connectivity provider with different routing prefixes is a major effort with IPv4, as discussed in RFC 2071 and RFC 2072. With IPv6, however, changing the prefix announced by a few routers can in principle renumber an entire network since the host identifiers (the least-significant 64 bits of an address) can be independently self-configured by a host. The size of a subnet in IPv6 is 264 addresses (64-bit subnet mask), the square of the size of the entire IPv4 Internet. Thus, actual address space utilization rates will likely be small in IPv6, but network management and routing will be more efficient because of the inherent design decisions of large subnet space and hierarchical route aggregation. Stateless address autoconfiguration IPv6 hosts can configure themselves automatically when connected to a routed IPv6 network using ICMPv6 router discovery messages. When first connected to a network, a host sends a link-local multicast router solicitation 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 autoconfiguration is unsuitable for an application, a network may use stateful configuration with the Dynamic Host Configuration Protocol for IPv6 (DHCPv6) or hosts may be configured statically. Routers present a special case of requirements for address configuration, as they often are sources for autoconfiguration information, such as router and prefix advertisements. Stateless configuration for routers can be achieved with a special router renumbering protocol. Multicast Multicast, the ability to send a single packet to multiple destinations, is part of the base specification in IPv6. This is unlike IPv4, where it is optional (although usually implemented). IPv6 does not implement broadcast, which is the ability to send a packet to all hosts on the attached link. The same effect can be achieved by sending a packet to the link-local all hosts multicast group. It therefore lacks the notion of a broadcast addresshe highest address in a subnet (the broadcast address for that subnet in IPv4) is considered a normal address in IPv6. Most environments, however, do not currently[update] have their network infrastructures configured to route multicast packets; multicasting on single subnet will work, but global multicasting might not. IPv6 multicast shares common features and protocols with IPv4 multicast, but also provides changes and improvements. When even the smallest IPv6 global routing prefix is assigned to an organization, the organization is also assigned the use of 4.2 billion globally routable source-specific IPv6 multicast groups to assign for inner-domain or cross-domain multicast applications [RFC 3306]. In IPv4 it was very difficult for an organization to get even one globally routable cross-domain multicast group assignment and implementation of cross-domain solutions was very arcane [RFC 2908]. IPv6 also supports new multicast solutions, including Embedded Rendezvous Point [RFC 3956] which simplifies the deployment of cross domain solutions. Mandatory network layer security Internet Protocol Security (IPsec), the protocol for IP encryption and authentication, forms an integral part of the base protocol suite in IPv6. IPsec support is mandatory in IPv6; this is unlike IPv4, where it is optional (but usually implemented). IPsec, however, is not widely used at present except for securing traffic between IPv6 Border Gateway Protocol routers. Simplified processing by routers A number of simplifications have been made to the packet header, and the process of packet forwarding has been simplified, in order to make packet processing by routers simpler and hence more efficient. Concretely, The packet header in IPv6 is simpler than that used in IPv4, with many rarely used fields moved to separate options; in effect, although the addresses in IPv6 are four times larger, the (option-less) IPv6 header is only twice the size of the (option-less) IPv4 header. IPv6 routers do not perform fragmentation. IPv6 hosts are required to either perform PMTU discovery, perform end-to-end fragmentation, or to send packets smaller than the IPv6 minimum MTU size of 1280 octets. The IPv6 header is not protected by a checksum; integrity protection is assumed to be assured by both a link layer checksum and a higher layer (TCP, UDP, etc.) checksum. In effect, IPv6 routers do not need to recompute a checksum when header fields (such as the TTL or Hop Count) change. This improvement may have been made less necessary by the development of routers that perform checksum computation at link speed using dedicated hardware, but it is still relevant for software based routers. The Time-to-Live 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 Unlike mobile IPv4, Mobile IPv6 (MIPv6) avoids triangular routing and is therefore as efficient as normal IPv6. IPv6 routers may also support Network Mobility (NEMO) [RFC 3963] which allows entire subnets to move to a new router connection point without renumbering. However, since neither MIPv6 nor MIPv4 or NEMO are widely deployed today, this advantage is mostly theoretical. Options extensibility IPv4 has a fixed size (40 octets) of option parameters. In IPv6, options are implemented as additional extension headers after the IPv6 header, which limits their size only by the size of an entire packet. The extension header mechanism allows IPv6 to be easily 'extended' to support future services for QoS, security, mobility, etc. without a redesign of the basic protocol. Jumbograms IPv4 limits packets to 65535 (216 - 1) octets of payload. IPv6 has optional support for packets over this limit, referred to as jumbograms, which can be as large as 4294967295 (232 - 1) octets. The use of jumbograms may improve performance over high-MTU links. The use of jumbograms is indicated by the Jumbo Payload Option header. Packet format The IPv6 packet is composed of three main parts: the fixed header, optional extension headers and the payload. Fixed header The fixed header makes up the first 40 octets (320 bits) of an IPv6 data packet. The format of the fixed header is presented in the table below. The octet (byte) offsets are in hexadecimal (base16) and the bit offsets are in decimal (base10). Octet Offset 0 1 2 3 Bit Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 Version Traffic Class Flow Label 4 32 Payload Length Next Header Hop Limit 8 64 Source Address C 96 10 128 14 160 18 192 Destination Address 1C 224 20 256 24 288 The fields used in the header are: Version: The number 6 encoded (bit sequence 0110). Traffic class: The packet priority (8 bits). Priority values subdivide into ranges: traffic where the source provides congestion control and non-congestion control traffic. Flow label: Used for QoS management (20 bits). Originally created for giving real-time applications special service, but currently unused. Payload length: The size of the payload in octets (16 bits). When cleared to zero, the option is a "Jumbo payload" (hop-by-hop). Next header: Specifies the next encapsulated protocol. The values are compatible with those specified for the IPv4 protocol field (8 bits). Hop limit: Replaces the time to live field of IPv4 (8 bits). Source and destination addresses: 128 bits each. The protocol field of IPv4 is replaced with a next header field. This field usually specifies the transport layer protocol used by a packet's payload. In the presence of options, however, the next header field specifies the presence of one or more out of six extension headers, which then follow the IPv6 header in distinct order; the payload's protocol itself is specified in the next header field of the last extension header. Extension header Extension Header Type Size Description RFC Hop-By-Hop Options 0 variable Options that need to be examined by all devices on the path. RFC 2460 Routing 43 variable Methods to specify the route for a datagram. (Used with Mobile IPv6) RFC 2460, RFC 3775, RFC 5095 Fragment 44 64bits Contains parameters for fragmentation of datagrams. RFC 2460 Authentication Header (AH) 51 variable Contains information used to verify the authenticity of most parts of the packet. (See IPsec) RFC 4302 Encapsulating Security Payload (ESP) 50 variable Carries encrypted data for secure communication. (See IPsec). RFC 4303 Destination Options 60 variable Options that need to be examined only by the destination of the packet. RFC 2460 No Next Header 59 empty A placeholder indicating no next header. RFC 2460 Payload The payload can have a size of up to 64KB in standard mode, or larger with a "jumbo payload" option in a Hop-By-Hop Options extension header. Fragmentation is handled only in the sending host in IPv6: routers never fragment a packet, and hosts are expected to use Path MTU discovery. Addressing Main article: IPv6 address The increased length of network addresses emphasizes a most important change when moving from IPv4 to IPv6. IPv6 addresses are 128 bits long, whereas IPv4 addresses are 32 bits; where the IPv4 address space contains roughly 4.3109 (4.3 billion) addresses, IPv6 has enough room for 3.41038 (340 trillion trillion trillion) unique addresses. IPv6 addresses are normally written with hexadecimal digits and colon separators like 2001:db8:85a3::8a2e:370:7334, as opposed to the dot-decimal notation of the 32 bit IPv4 addresses. IPv6 addresses are typically composed of two logical parts: a 64-bit (sub-)network prefix, and a 64-bit host part. IPv6 addresses are classified into three types: unicast addresses which uniquely identify network interfaces, anycast addresses which identify a group of interfacesostly at different locationsor which traffic flows to the nearest one, and multicast addresses which are used to deliver one packet to many interfaces. Broadcast addresses are not used in IPv6. Each IPv6 address also has a 'scope', which specifies in which part of the network it is valid and unique. Some addresses have node scope or link scope; most addresses have global scope (i.e. they are unique globally). Some IPv6 addresses are used for special purposes, like the loopback address. Also, some address ranges are considered special, like link-local addresses (for use in the local network only) and solicited-node multicast addresses (used in the Neighbor Discovery Protocol). IPv6 in the Domain Name System Main article: IPv6 address#IPv6 addresses in the Domain Name System A quad-A record (AAAA) is defined in the DNS for returning IPv6 addresses to forward queries; a new format of PTR record is also defined for reverse queries. Transition mechanisms Until IPv6 completely supplants IPv4, a number of transition mechanisms are needed to enable IPv6-only hosts to reach IPv4 services and to allow isolated IPv6 hosts and networks to reach the IPv6 Internet over the IPv4 infrastructure. For the period while IPv6 hosts and routers co-exist with IPv4 systems various proposals have been made: RFC 2893 (Transition Mechanisms for IPv6 Hosts and Routers), obsoleted by RFC 4213 (Basic Transition Mechanisms for IPv6 Hosts and Routers) RFC 2766 (Network Address Translation - Protocol Translation NAT-PT), obsoleted as explained in RFC 4966 (Reasons to Move the Network Address Translator - Protocol Translator NAT-PT to Historic Status) RFC 2185 (Routing Aspects of IPv6 Transition) RFC 3493 (Basic Socket Interface Extensions for IPv6) RFC 3056 (Connection of IPv6 Domains via IPv4 Clouds) RFC 4380 (Teredo: Tunneling IPv6 over UDP through Network Address Translations NATs) RFC 4214 (Intra-Site Automatic Tunnel Addressing Protocol ISATAP) RFC 3053 (IPv6 Tunnel Broker) RFC 3142 (An IPv6-to-IPv4 Transport Relay Translator) Dual IP stack implementation A fundamental IPv4-to-IPv6 transition technology involves the presence of two Internet Protocol software implementations in an operating system, one for IPv4 and another for IPv6. Such dual-stack IP hosts may run IPv4 and IPv6 completely independently, or they may use a hybrid implementation, which is the form commonly implemented in modern operating systems on server and end-user computers. Dual-stack hosts are described in RFC 4213. Modern hybrid dual-stack implementations of TCP/IP allow programmers to write networking code that works transparently on IPv4 or IPv6. The software may use hybrid sockets designed to accept both IPv4 and IPv6 packets. When used in IPv4 communications, hybrid stacks use IPv6 semantics internally and represent IPv4 addresses in a special IPv6 address format, the IPv4-mapped address. IPv4-mapped addresses Hybrid dual-stack IPv6/IPv4 implementations typically support a special class of addresses, the IPv4-mapped addresses. This address type has its first 80 bits set to zero and the next 16 set to one while its last 32 bits are filled with the IPv4 address. These addresses are commonly represented in the standard IPv6 format, but having the last 32 bits written in the customary dot-decimal notation of IPv4; for example, ::ffff:192.0.2.128 is the IPv4-mapped IPv6 address for IPv4 address 192.0.2.128. Because of the significant internal differences between IPv4 and IPv6, some of the lower level functionality available to programmers in the IPv6 stack might not work with IPv4 mapped addresses. Some common IPv6 stacks do not support the IPv4-mapped address feature, either because the IPv6 and IPv4 stacks are separate implementations (e.g., Microsoft Windows 2000, XP, and Server 2003), or because of security concerns (OpenBSD). On these operating systems, it is necessary to open a separate socket for each IP protocol that is to be supported. On some s

access point vs router

Niciun comentariu:

Trimiteți un comentariu