# HAS GENERADO 960 CLASES DIFERENTES. ?>
IP is the acronym of "Internet Protocol". This protocol was designed in 70's with the purpose of connecting computers that were in separate networks. Since then, computers were connected each other by means of local networks, but theses local networks were separated, representing information island.
Internet, as a name to designate the protocol, and later the worldwide information network, just means "inter network", that is, connection between networks. At the beginning, the protocol had an only military use, but computers from universities, users and enterprises were quickly added.
Internet as worldwide information network is the result of the practical application of the IP protocol, that is, the result of the interconnection of all information networks existing in the world.
The IP address is an only identifier that is applied to each device connected to an IP network. This way, different elements taking part in the network (servers, routers, user computers, etc) communicate among them using their IP address as identifier.
In version 4 of the IP protocol (used nowadays) addresses consist of 4 numbers of 8 bits (an 8 bits number take a value from 0-255 range) that they use to be represented separated by points, for example: 155.54.210.63
A version 4 IP address has 32 bits, which is equivalent to 232 different IP addresses (4 billions more or less).
IPv6 is the acronym of "Internet Protocol Version 6". IPv6 is the Internet next generation protocol, which was firstly designated IPng, that is, "Internet Next Generation".
IPv6 is the update of data network protocol in which Internet is based on. The IETF (Internet Engineering Task Force) developed the basic specifications during 90's to substitute the actual version of Internet protocol, IP version 4 (IPv4), at last 70´s.
The "version 5" reference was employed for another use. An experimental real time streaming protocol was designed. To avoid any confusion, it was decided not using this name.
IPv4 has demonstrated, by means of its long life, a flexible and powerful design, but it's starting to present problems, as the increase of the IP address demand, the major of all.
New users in so inhabited countries like China or India and new technologies with always connected devices (xDSL, cable, PLC, PDAs, UMTS mobile telephones, etc) are causing the quick disappearance, in a practical way, of available IPv4 addresses.
IPv6 resolves this problem by means of creating a new IP address format, so the number of IP addresses will not extinguish although each device we are able to imagine could connect to Internet.
IPv6 also adds a lot of improvements in areas such as routing and network autoconfiguration. New devices that connect to Internet will be plug and play devices. With IPv6 is not precise to configure DNS IPs, the gateway, the subnetwork mask or any other parameters. The equipment is plugged to the network and gets, the same way, all configuration data.
They can be summarized as follows:
Scalability: IPv6 has 128 bits addresses versus 32 bits IPv4 addresses. So the number of available IP addresses multiplies by 7.9 * 1028. IPv6 offers a 2128 space (340.282.366.920.938.463.463.374.607.431.768.211.456). To understand what this cipher implies, we only have to calculate how many IP addresses we could get by each square meter of the land surface: 665.570.793.348.866.943.898.599.
Security: IPv6 includes security in its specifications like information encryption and the authentication of the source of this information.
Real time applications: To provide real time traffic better support (i.e. videoconference), IPv6 includes flows labeled in its specifications. By means of this mechanism, routers can recognize the end-to-end flow to which transmitted packets belong to.
Plug and Play: IPv6 includes, in its standard, the "plug and play" mechanism, to facilitate to users the connection of their equipments to the network. The configuration is automatically made.
Mobility: IPv6 includes more efficient and stronger mobility mechanisms.
More clear and optimized specifications: IPv6 will follow IPv4 good practices and removes not used or obsolete IPv4 characteristics, getting an optimization of Internet protocol. The idea is getting good things and removing bad ones of present protocol.
Addressing and routing: IPv6 improves the addressing and routing hierarchy.
Extensibility: IPv6 has been designed to be extensible and offers optimized support for new options and extensions.
The present IP protocol allows having more than 4 thousand millions addresses. The problem about the lack of addresses begins because in 80's decade, not thinking about the future peak of the use of Interne, a great quantity of no necessary addresses were allocated without any kind of control, so many organizations have more addresses that they really need, causing the present lack of addresses since, moreover, not all IP addresses can be used due to the fragmentation.
There is an obvious solution, the renumbering and the reallocation of the IPv4 addressing space. However, it isn't as simple as it seems, even unthinkable in some networks, since it requires worldwide coordination efforts, absolutely unimaginable. Moreover, it would be still limited for the population and the quantity of devices that will be connected to Internet next years.
Temporarily, to alleviate the lack of addresses, NAT (Network Address Translation) mechanisms are employed. This mechanism lies in using an only IPv4 address for an entire network to access to Internet. Unluckily, if we continue using IPv4, this mechanism will turn into permanent.
NAT implies that many applications can't be used, so these applications can only be used in intranets, since many protocols can't go through NAT devices:
The idea is that NAT disappears with IPv6.
Let's see an IPv6 address example:
2001:0ba0:01e0:d001:0000:0000:d0f0:0010
The address consists of 128 bits, versus the 32 bits of currently IPv4 addresses. It is represented as 8 groups of 16 bits each one, separated by the ":" character.
Each 16 bits group is represented by means of 4 hexadecimal ciphers, that is, each cipher has a value between 0 and 15 (0,1,2, ... a,b,c,d,e,f being a=10, b=11, etc to f=15).
An abbreviated format exists to designate IPv6 addresses when all endings are 0, for example:
2001:0ba0::
Is the abbreviated form of the following address:
2001:0ba0:0000:0000:0000:0000:0000:0000
The same way, an only 0 can be written, removing 0's in the left side and 4 0's in the middle of the address can be abbreviated (only once in each address), so:
2001:ba0:0:0:0:0::1234
Is the abbreviated form of the following address:
2001:0ba0:0000:0000:0000:0000:0000:1234
It also exists a method to designate groups of IP addresses or subnetworks that lies in specifying the number of bits that designate the subnetwork, beginning from left to right, using remaining bits to designate single equipments inside the network.
For example, the notation:
2001:0ba0:01a0::/48
Points that the part of the IP address used to represent the subnetwork has 48 bits. Since each hexadecimal cipher has 4 bits, this points that the used part to represent the subnetwork is formed by 12 ciphers, that is: "2001:0ba0:01a0". Remaining ciphers of the IP address would be used to represent nodes inside the network.
It is a new characteristic of the protocol, that facilitates networks manage and operative systems set up tasks by users, talking about IP configuration related.
This characteristic is often designated as "plug & play" or "connect and work". This allows that after connecting a machine to an IPv6 network, one or several IPv6 addresses were allocated.
The process is variable and very complex, since the politics decided by the network administrator is which determines the parameters that will be "assigned" automatically.
At least, and when there is no network administrator, the allocation of a "link local" address is often included. The "link local" address allows the communication with other nodes placed in the same physical link when, for example, we are talking about an Ethernet interface.
Yes, two autoconfiguration basic mechanisms exist.
"Stateful" and "stateless" are these two mechanisms. Both mechanisms can be used in a complementary way, to define parameters configurations by means of "stateless" or "stateful" mechanisms, or both simultaneously.
Is typically designated as "serverless", and that is almost a definition of the mechanism.
In "stateless" autoconfiguration any host or server manual configuration is required, and only in some situations, a minimum routers configuration is needed.
So, for stateless autoconfiguration, the presence of servers is not required.
In this mechanism, the host, generates its own address using a combination of the information that it has (in its interface, or network card), and the information that periodically supply the routers.
Routers point the prefix that identifies networks associated to this link.
The "interface identifier" identifies an interface inside a subnetwork, and is often, and by default, generated from the MAC address of the network card.
The IPv6 address is built combining the 64 bits of the interface identifier with the prefixes that routers point as belonging to the subnetwork.
If there is no router, the interface identifier is self-sufficient to allow the PC to generate the link local address.
The link local address is sufficient to allow the communication between several nodes connected to the same link (the same local network).
On the contrary of "stateless" configuration, the"stateful" configuration requires a server to send to nodes and hosts the information and parameters of network connection.
Servers keep a data base with all addresses allocated and hosts to which these addresses haven been allocated, and any information related with all parameters.
In general, this mechanism is based on the use of DHCPv6.
"Stateful" autoconfiguration, is often used when is needed a more rigorous control about the address allocated to hosts, on the contrary of "stateless" autoconfiguration (of which only worry is that the address wasn't duplicated).
So, depending on the network administrator politics, it could be required that some addresses were allocated in a permanent way to specific machines, consequently the "stateful" mechanism is required, but the control of the remaining parameters could be not so rigorous.
Of course, the politics can be opposite to the exposed above, that is, the case in which it has no importance the allocated address, and consequently the "stateless" mechanism is used, but it is desired that remaining parameters were allocated in a "static" way, with information stored in a server.
IPv6 addresses are "rented" to an interface for a fixed time, probably infinite.
When this "time of life" expires, the link between the interface and the address is invalidated, and the address can be reallocated to other interface in wherever Internet point.
For the suitable management of addresses expiration time, an address goes through two stages while is assigned to an interface:
a) At first, an address is "preferred", so its use in any communication is no restricted.
b) After that, an address becomes into "deprecated", bringing forward to the fact that its link with the currently interface will be invalidated.
While it is in "deprecated" state, the use of the address is advised against, although it is no forbidden. However, when it was possible, any new communication (for example, the opening of a new TCP connection) must use a "preferred" address. A "deprecated" address should only be used by applications that already used it and it is difficult to change them to other addresses without causing a service interruption.
To insure that allocated addresses, by means of manual mechanisms as well as autoconfiguration ones, are unique in a specific link, it is used, before this allocation, the duplicated addresses detection algorithm.
If a duplicated address is detected, this address can be allocated to the interface.
The address to which the duplicated address detection algorithm is being applying to, it is designated as "attempt", until the end of this algorithm.
In this case, it has no consideration that such address has been allocated to an interface, and therefore received packets are discarded.
We already know that an IPv6 address has 128 bits. The lowest 64 bits identify a specific interface, and are designated as "interface identifier".
The highest 64 bits point out the "path" or the "prefix" of the network or router in one of the links in which such interface is connected.
The IPv6 address, is consequently formed, combining the prefix with the interface identifier.
Yes. Most of the operative systems that currently supports IPv6 allow the simultaneous use of both protocols. This way, it is possible the communication with IPv4 only networks as well as IPv6 only networks, and the use of the applications designed for both protocols.
Yes. For that a technology designated as tunnel is used. This technology consists in introducing in an end the IPv6 traffic as it was IPv4 protocol data. This way, IPv6 traffic is sent "encapsulated" into IPv4 traffic and, in the other end, this traffic is separated and later performed as IPv6 traffic. For doing that, a tunnels server is needed.
Internet Service Providers (ISPs) currently deploying the new IP protocol version follow the RIRs (Regional Internet Registries) politics about how to give out the enormous IPv6 addressing space among their clients.
There is a big difference between the recommendations to allocate IPv4 addresses, that hold about the economy of addresses, since addresses are a scare resource and should be managed with caution, and IPv6 ones, that hold about the flexibility.
RIPE RIRs are recommending to ISPs and operators that allocate to each IPv6 client a/48 subnetwork with the finality that clients can manage their own subnetworks without using NAT. (The idea is that NAT disappears in IPv6).
To install the IPv6 Protocol in Windows XP:
Open a command line. From the desktop. Start -> Programs-> Accessories -> Command Prompt
Open a command line. From the desktop. Start -> Programs-> Accessories -> Command Prompt
In the commands line write ipv6 install and press enter
In "My network places" select properties and in the network card press Properties -> Install -> Protocol -> IPv6.
You can also do it from commands line with the command netsh interface ipv6 install.
Write ipv6 if (if you have Windows 2000 or XP) or ipconfig (for XP with SP1 or later or Windows 2003) in a commands line. If IPv6 is installed the IPv6 interfaces group and its configuration will appear. Otherwise, the commando will specify that the protocol is not installed.
The following URLs contain answers to frequently asked questions about IPv6 in different Windows platforms:
http://www.microsoft.com/technet/prodtechnol/winxppro/Plan/FAQIPV6.asp
To install IPv6 in Linux, is necessary that the kernel supports it. For that, the kernel has to be compiled with following options:
To check if the protocol is installed the following Linux command can be used:
# test -f /etc/sysconfig/network-scripts/network-functions-ipv6 && echo "Main IPv6 script library exists"
The following URL has a detailed guide for the deployment of IPv6 in Linux:
http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/Linux+IPv6-HOWTO.pdf
In Linux a big effort is being realizing to adapt existing applications to its support in IPv6. In the following URL we can find the current state of the different Linux distributions with regard to IPv6 support:
http://www.bieringer.de/linux/IPv6/status/IPv6+Linux-status-distributions.phpl
The IPv6 protocol, to allow its maximum scalability, uses a system based on a basic header, with minimum information, to differentiate from IPv4, where different options are adding to this basic header.
Otherwise, IPv6 use a header "concatenation" mechanism, so the basic header points which is the following and so on.
The advantages are several and too much obvious:
The first one is that it is allowed that the size of the basic header was always the same, and perfectly known.
The second one is that routers placed between a source address and a destination address, that is, in the route that a specific packet has to pass through, don't need to process even perform or understand any "following headers". It also means, for IPv4, the disadvantage that routers have to be more frequently updated to support any protocol new function, since it should be able to perform it, even when it hasn't to realize any respected function.
The third one is that there is no limit for the number of options that they support. In IPv4, it only can be supported options until a maximum of 40 bytes.
The IPv6 header has 40 bytes length, while IPv4 one varies from 20 to 60 bytes (depending on used options).
However, it has been enormously simplified, since only 8 fields are used instead of 12, avoiding redundancies.
As said before, the basic IPv6 header has a fixed size. So its processing is more easy by nodes and routers, even simplifies the design of semiconductors that have to process it.
On the other hand, its structure is align to 64 bits, so new and future processors (64 bits minimum), can process it in a more efficient way.
But it also has minor fields, and this also points in such efficiency.
At last, in general, and except a pair of exceptions, middle points of the network (routers), only have to process the basic header, while in IPv4 all headers must be processed.
Is an option that allows that the maximum size of transported data by means of IPv6 (16 bits, 65.535 bytes), it extends to 64 bits.
It is foreseen its use specially for multimedia traffic, over bandwidth lines. However, these packets can't be fragmented.
In IPv6, middle routers don't perform packets fragmentation, but the fragmentation is performed end to end.
That is, source and destination nodes are which perform, by means of the IPv6 stack, the fragmentation of a packet and the reassemble respectively.
The fragmentation process consists in dividing into smaller packets the "fragmentable" part of the source packet, and adding to each one the no fragmentable part, that allows to the destination node the reassemble of such packet.
These mechanisms are the methods used for the coexistence of IPv4 and/or IPv6 machines and networks.
Is a transition mechanism that allows IPv6 machines to communicate among them through an IPv4 network.
The mechanism consists in creating the IPv6 packets in a normal way and introducing them in an IPv4 packet. The reverse process it is realized in the destination machine, which receives an IPv6 packet.