Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Translation
Introduction
What is the current internet addressing
scheme and what limitations does it face.
A new addressing scheme that would
resolve the limitations, and an interim path
towards the new scheme.
What we will cover during this presentation :
Each host on a TCP/IP network is assigned a unique 32-bit logical address that is divided into two main
parts: the network number and the host number. The network number identifies a network and must be
assigned by the Internet Network Information Center (InterNIC) if the network is to be part of the Internet.
An Internet Service Provider (ISP) can obtain blocks of network addresses from the InterNIC and can itself
assign address space as necessary. The host number identifies a host on a network and is assigned by the
local network administrator.
The 32-bit IP address is grouped eight bits at a time, separated by dots, and represented in decimal format
(known as dotted decimal notation). Each bit in the octet has a binary weight (128, 64, 32, 16, 8, 4, 2, 1). The
minimum value for an octet is 0, and the maximum value for an octet is 255.The figure below illustrates the
basic format of an IP address.
Private addresses to assign within a network
(Not globally routable)
172.16.0.0/255.255.0.0
192.168.0.0/255.255.255.0
10.0.0.0/255.0.0.0
So in order to resolve the shortage of IPv4 addresses so far the solution has been Network Address Translation as follows.
With the following scheme a network can have almost infinite IP addresses yet never contribute to the finite globally
routable IP addresses shortage.
In its simplest configuration, the Network Address Translator (NAT) operates on a router connecting two networks together;
one of these networks (designated as inside) is addressed with either private or obsolete addresses that need to be
converted into legal addresses before packets are forwarded onto the other network (designated as outside). The
translation operates in conjunction with routing, so that NAT can simply be enabled on an Internet access router when
translation is desired.
Use of a NAT device provides RFC 1631-style network address translation on the router platform. The goal of NAT is
to provide functionality as if the private network had globally unique addresses and the NAT device was not present.
Schema diagram:
The above method is useful yet lacks a viable solution to globally routable IP address problem.
Since for every private IP address a globally routable IP address is needed for direct translation. Well in
most cases it is not very profitable or at all possible to contain many IP addresses.
One way to resolve this issue would be through Port Address Translation (PAT) as follows:
– PAT (Port Address Translation)
PAT does not work with H.323 applications, multimedia applications, and caching nameservers.
PAT works with DNS, FTP and passive FTP, HTTP, mail, RPC, rshell, Telnet, URL filtering, and outbound
traceroute.
Finally when we have completely exhausted all available IPv4 resources we need to explore the new version
of Ipng
NAT Enroute to translate
IP version 6 (IPv6) is a new version of the Internet Protocol, designed as a successor to IP version 4
(IPv4) [RFC-791]. The changes from IPv4 to IPv6 fall primarily into the following categories:
Expanded Addressing Capabilities IPv6 increases the IP address size from 32 bits to 128 bits, to support
more levels of addressing hierarchy, a much greater number of addressable nodes, and simpler auto-
configuration of addresses.
The scalability of multicast routing is improved by adding a "scope" field to multicast addresses.
And a new type of address called an "anycast address" is defined, used to send a packet to any one of a
group of nodes.
Header Format Simplification Some IPv4 header fields have been dropped or made optional, to reduce
the common-case processing cost of packet handling and to limit the bandwidth cost of the IPv6 header.
Improved Support for Extensions and Options Changes in the way IP header options are encoded allows
for more efficient forwarding, less stringent limits on the length of options, and greater flexibility for
introducing new options in the future.
Flow Labeling Capability A new capability is added to enable the labeling of packets belonging to
particular traffic "flows" for which the sender requests special handling, such as non-default quality of
service or "real-time" service.
Authentication and Privacy Capabilities Extensions to support authentication, data integrity, and
(optional) data confidentiality are specified for IPv6.
IPv6 Header Format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Prio. | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Destination Address +
| |
+ +
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The 24-bit Flow Label field in the IPv6 header may be used by a
source to label those packets for which it requests special handling
by the IPv6 routers, such as non-default quality of service or
"real-time" service. This aspect of IPv6 is, at the time of writing,
still experimental and subject to change as the requirements for flow
support in the Internet become clearer. Hosts or routers that do not
support the functions of the Flow Label field are required to set the
field to zero when originating a packet, pass the field on unchanged
when forwarding a packet, and ignore the field when receiving a
packet.
0 - uncharacterized traffic
1 - "filler" traffic (e.g., netnews)
2 - unattended data transfer (e.g., email)
3 - (reserved)
4 - attended bulk transfer (e.g., FTP, NFS)
5 - (reserved)
6 - interactive traffic (e.g., telnet, X)
7 - internet control traffic (e.g., routing protocols, SNMP)
The loopback address must not be used as the source address in IPv6
datagrams that are sent outside of a single node. An IPv6 datagram
with a destination address of loopback must never be sent outside of
a single node.
| 80 bits | 16 | 32 bits |
+--------------------------------------+--------------------------+
|0000..............................0000|0000| IPv4 address |
+--------------------------------------+----+---------------------+
| 8 | 4 | 4 | 112 bits |
+------ -+----+----+---------------------------------------------+
|11111111|flgs|scop| group ID |
+--------+----+----+---------------------------------------------+
+-+-+-+-+
flgs is a set of 4 flags: |0|0|0|T|
+-+-+-+-+
Basic-NAT-PT Operation
[IPv6-B]-+
| +==============+
[IPv6-A]-+-[NAT-PT]---------| IPv4 network |--[IPv4-C]
| +==============+
(pool of v4 addresses)
Say the IPv6 Node A wants to communicate with the IPv4 Node C. Node
A creates a packet with:
IPv6 Node A would establish a TCP session with the IPv4 Node C as
follows:
In the above example, note that all sessions which reach NAPT-PT with
a destination port of 80 will be redirected to the same node [IPv6-
A].
TCP/UDP/ICMP Checksum Update from IPv4 to IPv6
UDP checksums, when set to a non-zero value, and TCP checksum SHOULD
be recalculated to reflect the address change from v4 to v6. The
incremental checksum adjustment algorithm may be borrowed from [NAT].
In the case of NAPT-PT, TCP/UDP checksum should be adjusted to
account for the address and TCP/UDP port changes, going from V4 to V6
address.
ICMPv6, unlike ICMPv4, uses a pseudo-header, just like UDP and TCP
during checksum computation. As a result, when the ICMPv6 header
checksum is computed [SIIT], the checksum needs to be adjusted to
account for the additional pseudo-header. Note, there may also be
adjustments required to the checksum due to changes in the source and
destination addresses (and changes in TCP/UDP/ICMP identifiers in the
case of NAPT-PT) of the payload carried within ICMP.
TCP/UDP/ICMP Checksum Update from IPv6 to IPv4