TCP / IP stack development: IPv.6 protocol

Lecture



The technology of the TCP / IP stack was formed mainly in the late 1970s and since then the basic principles of the basic protocols, such as IP, TCP, UDP and ICMP, have not changed much. However, the computer world itself has changed significantly over the years, so long-overdue improvements in the TCP / IP stack technology have now become a necessity.

The main reasons for which a modification of the basic protocols of the TCP / IP stack is required are as follows.

  • Improving the performance of computers and communication equipment. During the lifetime of the stack, the performance of computers increased by two orders of magnitude, the amount of RAM increased by more than 30 times, the capacity of the Internet backbone in the United States increased 800 times.
  • The emergence of new applications. The commercial boom around the Internet and the use of its technologies in creating an intranet led to the emergence in TCP / IP networks, previously used mainly for scientific purposes, of a large number of new-type applications working with multimedia information. These applications are sensitive to packet transfer delays, since such delays lead to a distortion of the real-time voice messages and video images. A feature of multimedia applications is also the transfer of very large amounts of information. Some technologies of computer networks, for example, frame relay and ATM, already have in their arsenal mechanisms for bandwidth reservation for certain applications. However, these technologies will not soon supplant traditional technologies of local networks that do not support multimedia applications (for example, Ethernet). Therefore, it is necessary to compensate for this deficiency by means of the network layer, that is, by means of the IP protocol.
  • The rapid expansion of the Internet. At the beginning of the 90s, the Internet network expanded very quickly, the new node appeared in it every 30 seconds, but the 95th year was a turning point - the prospects for commercial use of the Internet became distinct and made its development just stormy. The first consequence of this development was the almost complete depletion of the Internet address space, defined by the four-byte IP address field.
  • New administration strategies. The expansion of the Internet is associated with its penetration into new countries and new industries. At the same time, new administration bodies appear in the network, which are beginning to use new methods of administration. These methods require the emergence of new tools in the basic protocols of the TCP / IP stack.

For several years, the Internet community has been working on the development of a new specification for the basic protocol of the stack - the IP protocol. Many proposals have already been developed, from simple ones, which only provide for expansion of the IP address space, to very complex ones, which lead to a significant increase in the cost of implementing IP in high-performance (and so expensive) routers.

The main proposal for the modernization of the IP protocol is a proposal developed by the IETF group. It is now accepted to call its proposal version 6 - IPv6, and all other proposals are grouped under the name IP Next Generation, IPng.

In the IETF proposal, IPv6 leaves the basic principles of IPv4 unchanged. These include the datagram method of work, packet fragmentation, allowing the sender to set the maximum number of hops for their packets. However, in the details of the implementation of the IPv6 protocol there are significant differences from IPv4. These differences can be briefly described as follows.

  • Use longer addresses. The new size of the address is the most noticeable difference between IPv6 and IPv4. Version 6 uses 128-bit addresses.
  • Flexible header format. Instead of a header with fixed fields of a fixed size (with the exception of the Reserve field), IPv6 uses a basic header of a fixed format plus a set of optional headers of various formats.
  • Support bandwidth reservation. In IPv6, the bandwidth reservation mechanism replaces the IPv4 version service classes mechanism.
  • Supports protocol extensibility. This is one of the most significant changes in the approach to the construction of the protocol - from a fully detailed description of the protocol to the protocol, which allows support for additional functions.

IPv6 addressing

The destination and source addresses in IPv6 are 128 bits or 16 bytes long. Version 6 summarizes the special types of version 4 addresses in the following types of addresses:

  • Unicast is an individual address. Identifies a single host — the computer or port of the router. The package must be delivered to the node along the shortest route.
  • Cluster is the cluster address. Indicates a group of nodes that have a common address prefix (for example, attached to the same physical network). The packet must be routed to the node group along the shortest path, and then delivered to only one of the group members (for example, the nearest node).
  • Multicast is the address of a set of nodes, possibly in various physical networks. Copies of the packet must be delivered to each node of the set, using the hardware capabilities of group or broadcast delivery, if possible.

As in the IPv4 version, addresses in the IPv6 version are divided into classes, depending on the value of several high-order bits of the address.

Most classes are reserved for future use. The most interesting for practical use is the class intended for Internet service providers, called Provider-Assigned Unicast .

The address of this class has the following structure:

010 Identifier
provider
Identifier
subscriber
Identifier
subnet
Identifier
node

Each Internet service provider is assigned a unique identifier that marks all the networks it supports. Next, the provider assigns unique identifiers to its subscribers, and uses both identifiers when assigning a block of subscriber addresses. The subscriber himself assigns unique identifiers to his subnets and nodes of these networks.

The subscriber can use the subnet technique used in the IPv4 version to further divide the subnet ID field into smaller fields.

The described scheme approximates the IPv6 addressing scheme to the schemes used in territorial networks, such as telephone networks or X.25 networks. The hierarchy of address fields will allow trunk routers to work only with older parts of the address, leaving the processing of less significant fields to subscriber routers.

The host ID field requires at least 6 bytes to be allocated in order to be used directly in the MAC addresses of the local networks in the IP addresses.

For compatibility with the IPv4 version addressing scheme, the IPv6 version has an address class that has 0000 0000 in the upper bits of the address. The lower 4 bytes of this class must contain an IPv4 address. Routers that support both versions of addresses must provide translation when sending a packet from a network that supports IPv4 addressing to a network that supports IPv6 addressing, and vice versa.


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Computer networks

Terms: Computer networks