342 lines
35 KiB
XML
342 lines
35 KiB
XML
|
<?xml:stylesheet version="1.0" encoding="utf-8"?>
|
||
|
<?xml:stylesheet type="text/xsl" href="../rzahg/icdyntable.xsl"?>
|
||
|
<TABLE xmlns="x-schema:rzai2compipv4ipv6-schema.xml">
|
||
|
<TITLE>Compare IPv4 to IPv6</TITLE>
|
||
|
<TH col="TD1">
|
||
|
Description
|
||
|
</TH>
|
||
|
<TH col="TD2">
|
||
|
IPv4
|
||
|
</TH>
|
||
|
<TH col="TD3">
|
||
|
IPv6
|
||
|
</TH>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compaddress"><A NAME="rzai2compipv4ipv6__compaddress" shape="rect"></A>address</strong></TD1><TD2 valign="top" width="32.95454545454545%">32 bits long (4 bytes). Address is composed
|
||
|
of a network and a host portion, which depend on address class. Various address
|
||
|
classes are defined: A, B, C, D, or E depending on initial few bits. The
|
||
|
total number of IPv4 addresses is 4 294 967 296. <p>The text form of the
|
||
|
IPv4 address is <samp class="codeph">nnn.nnn.nnn.nnn</samp>, where 0<=<samp class="codeph"><var class="varname">nnn</var></samp><=255,
|
||
|
and each <samp class="codeph"><var class="varname">n</var></samp> is a decimal digit. Leading
|
||
|
zeros can be omitted. Maximum number of print characters is 15, not counting
|
||
|
a mask.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%">128 bits long (16 bytes). Basic architecture
|
||
|
is 64 bits for the network number and 64 bits for the host number. Often,
|
||
|
the host portion of an IPv6 address (or part of it) will be derived from a
|
||
|
MAC address or other interface identifier. <p>Depending on the subnet prefix,
|
||
|
IPv6 has a more complicated architecture than IPv4.</p>
|
||
|
<p>The number of IPv6
|
||
|
addresses is 10<sup>28</sup> (79 228 162 514 264 337 593 543 950 336) times
|
||
|
larger than the number of IPv4 addresses. The text form of the IPv6 address
|
||
|
is <samp class="codeph">xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx</samp>, where each <samp class="codeph">x</samp> is
|
||
|
a hexadecimal digit, representing 4 bits. Leading zeros can be omitted. The
|
||
|
double colon (<samp class="codeph">::</samp>) can be used once in the text form of an
|
||
|
address, to designate any number of 0 bits. For example, <samp class="codeph">::ffff:10.120.78.40</samp> is
|
||
|
an IPv4-mapped IPv6 address. (See <span>RFC 3513</span> for details. </p>
|
||
|
<p>To
|
||
|
view this RFC, see <A HREF="http://www.rfc-editor.org/rfcsearch.html" shape="rect">RFC Editor</A> <img alt="Link outside Information Center" src="www.gif"></img> (www.rfc-editor.org/rfcsearch.html).</p>
|
||
|
<p> </p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compaddralloc"><A NAME="rzai2compipv4ipv6__compaddralloc" shape="rect"></A>address allocation</strong></TD1><TD2 valign="top" width="32.95454545454545%">Originally, addresses were allocated by network
|
||
|
class. As address space is depleted, smaller allocations using Classless Inter-Domain
|
||
|
Routing (CIDR) are made. Allocation has not been balanced among institutions
|
||
|
and nations.</TD2><TD3 valign="top" width="39.77272727272727%">Allocation is in the earliest stages. The
|
||
|
Internet Engineering Task Force (IETF) and Internet Architecture Board (IAB)
|
||
|
have recommended that essentially every organization, home, or entity be allocated
|
||
|
a <samp class="codeph">/48</samp> subnet prefix length. This would leave 16 bits for
|
||
|
the organization to do subnetting. The address space is large enough to give
|
||
|
every person in the world their own <samp class="codeph">/48</samp> subnet prefix length.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compaddrlife"><A NAME="rzai2compipv4ipv6__compaddrlife" shape="rect"></A>address lifetime</strong></TD1><TD2 valign="top" width="32.95454545454545%">Generally, not an applicable concept, except
|
||
|
for addresses assigned using DHCP.</TD2><TD3 valign="top" width="39.77272727272727%">IPv6 addresses have two lifetimes: preferred
|
||
|
and valid, with the preferred lifetime always <= valid. <p>After
|
||
|
the preferred lifetime expires, the address is not to be used as a source
|
||
|
IP address for new connections if an equally good preferred address is available.
|
||
|
After the valid lifetime expires, the address is not used (recognized) as
|
||
|
a valid destination IP address for incoming packets or used as a source IP
|
||
|
address.</p>
|
||
|
<p>Some IPv6 addresses have, by definition, infinite preferred
|
||
|
and valid lifetimes; for example link-local (see <A HREF="#rzai2compipv4ipv6__compaddrscope" shape="rect">address
|
||
|
scope</A>).</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compaddressmask"><A NAME="rzai2compipv4ipv6__compaddressmask" shape="rect"></A>address mask</strong></TD1><TD2 valign="top" width="32.95454545454545%">Used to designate network from host portion.</TD2><TD3 valign="top" width="39.77272727272727%">Not used (see <A HREF="#rzai2compipv4ipv6__compaddrpref" shape="rect">address
|
||
|
prefix</A>).</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compaddrpref"><A NAME="rzai2compipv4ipv6__compaddrpref" shape="rect"></A>address prefix</strong></TD1><TD2 valign="top" width="32.95454545454545%">Sometimes used to designate network from
|
||
|
host portion. Sometimes written as <samp class="codeph">/nn</samp> suffix on presentation
|
||
|
form of address.</TD2><TD3 valign="top" width="39.77272727272727%">Used to designate the subnet prefix of an
|
||
|
address. Written as <samp class="codeph">/nnn</samp> (up to 3 decimal digits, <samp class="codeph">0 <=
|
||
|
nnn <= 128</samp>) suffix after the print form. An example is <samp class="codeph">fe80::982:2a5c/10</samp>,
|
||
|
where the first 10 bits comprise the subnet prefix.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comparp"><A NAME="rzai2compipv4ipv6__comparp" shape="rect"></A>Address Resolution Protocol (ARP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">Address Resolution Protocol is used by IPv4
|
||
|
to find a physical address, such as the MAC or link address, associated with
|
||
|
an IPv4 address.</TD2><TD3 valign="top" width="39.77272727272727%">IPv6 embeds these functions within IP itself
|
||
|
as part of the algorithms for stateless autoconfiguration and neighbor discovery
|
||
|
using Internet Control Message Protocol version 6 (ICMPv6). Hence, there is
|
||
|
no such thing as ARP6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compaddrscope"><A NAME="rzai2compipv4ipv6__compaddrscope" shape="rect"></A>address scope</strong></TD1><TD2 valign="top" width="32.95454545454545%">For unicast addresses, the concept does not
|
||
|
apply. There are designated private address ranges and loopback. Outside
|
||
|
of that, addresses are assumed to be global.</TD2><TD3 valign="top" width="39.77272727272727%"><p>In IPv6, address scope is
|
||
|
part of the architecture. Unicast addresses have two defined scopes, including
|
||
|
link-local and global; and multicast addresses have 14 scopes. Default address
|
||
|
selection for both source and destination takes scope into account.</p>
|
||
|
<p>A
|
||
|
scope zone is an instance of a scope in a particular network. As a consequence,
|
||
|
IPv6 addresses sometimes must be entered or associated with a zone ID. The
|
||
|
syntax is <samp class="codeph">%zid</samp> where <samp class="codeph">zid</samp> is a number (usually
|
||
|
small) or a name. The zone ID is written after the address and before the
|
||
|
prefix. For example, <samp class="codeph">2ba::1:2:14e:9a9b:c%3/48</samp>.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compaddrtype"><A NAME="rzai2compipv4ipv6__compaddrtype" shape="rect"></A>address types</strong></TD1><TD2 valign="top" width="32.95454545454545%">Unicast, multicast, and broadcast.</TD2><TD3 valign="top" width="39.77272727272727%">Unicast, multicast, and anycast. See <A HREF="rzai2ipv6addrtypes.htm#ipv6addrtypes" shape="rect">IPv6 address types</A> for
|
||
|
descriptions.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compcommtrace"><A NAME="rzai2compipv4ipv6__compcommtrace" shape="rect"></A>communications trace</strong></TD1><TD2 valign="top" width="32.95454545454545%">A tool to collect a detailed trace of TCP/IP
|
||
|
(and other) packets that enter and leave an iSeries server.</TD2><TD3 valign="top" width="39.77272727272727%"><p>Same for IPv6, and IPv6
|
||
|
is supported.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compconfig"><A NAME="rzai2compipv4ipv6__compconfig" shape="rect"></A>configuration</strong></TD1><TD2 valign="top" width="32.95454545454545%"><p>You must configure a newly installed system
|
||
|
before it can communicate with other systems; that is, IP addresses and routes
|
||
|
must be assigned.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%"><p>Configuration is optional,
|
||
|
depending on functions required. IPv6 can be used with any Ethernet adapter
|
||
|
and can be run over the loopback interface. IPv6 interfaces are self-configuring
|
||
|
using IPv6 stateless autoconfiguration. You can also manually configure the
|
||
|
IPv6 interface. So, the system will be able to communicate with other IPv6
|
||
|
systems that are local and remote, depending on the type of network and whether
|
||
|
an IPv6 router exists.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compdns"><A NAME="rzai2compipv4ipv6__compdns" shape="rect"></A>Domain Name System (DNS)</strong></TD1><TD2 valign="top" width="32.95454545454545%">Applications accept host names and then use
|
||
|
DNS to get an IP address, using socket API <samp class="codeph">gethostbyname()</samp>.
|
||
|
<p>Applications also accept IP addresses and then use DNS to get host names
|
||
|
using <samp class="codeph">gethostbyaddr()</samp>. </p>
|
||
|
<p>For IPv4, the domain for reverse
|
||
|
lookups is <samp class="codeph">in-addr.arpa</samp>.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%">Same for IPv6. Support for IPv6 exists using
|
||
|
AAAA (quad A) record type and reverse lookup (IP-to-name). An application
|
||
|
may elect to accept IPv6 addresses from DNS (or not) and then use IPv6 to
|
||
|
communicate (or not). <p></p>
|
||
|
<p>The socket API <samp class="codeph">gethostbyname()</samp> only
|
||
|
supports IPv4. For IPv6, a new <samp class="codeph">getaddrinfo()</samp> API is used
|
||
|
to obtain (at application choice) IPv6 only, or IPv4 and IPv6 addresses.</p>
|
||
|
<p>For
|
||
|
IPv6, the domain used for reverse lookups is <samp class="codeph">ip6.arpa</samp>, and
|
||
|
if not found then ip6.int (see API <A HREF="../apis/getnameinfo.htm" shape="rect">getnameinfo()</A>).</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compdhcp"><A NAME="rzai2compipv4ipv6__compdhcp" shape="rect"></A>Dynamic Host Configuration Protocol (DHCP)</strong></TD1><TD2 valign="top" width="32.95454545454545%"><p>Used to dynamically obtain an IP address
|
||
|
and other configuration information. The iSeries supports a DHCP server for IPv4.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%"><p>Currently, the i5/OS™ implementation
|
||
|
of DHCP does not support IPv6.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compftp"><A NAME="rzai2compipv4ipv6__compftp" shape="rect"></A>File Transfer Protocol (FTP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">File Transfer Protocol allows you to send and receive
|
||
|
files across networks.</TD2><TD3 valign="top" width="39.77272727272727%">Currently, the i5/OS implementation of FTP does not support
|
||
|
IPv6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compfragments"><A NAME="rzai2compipv4ipv6__compfragments" shape="rect"></A>fragments</strong></TD1><TD2 valign="top" width="32.95454545454545%">When a packet is too big for the next link
|
||
|
over which it is to travel, it can be fragmented by the sender (host or router).</TD2><TD3 valign="top" width="39.77272727272727%"><p>For IPv6, fragmentation
|
||
|
can only occur at the source node, and reassembly is only done at the destination
|
||
|
node. The fragmentation extension header is used.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comphosttable"><A NAME="rzai2compipv4ipv6__comphosttable" shape="rect"></A>host table</strong></TD1><TD2 valign="top" width="32.95454545454545%">On iSeries Navigator, a configurable table
|
||
|
that associates an Internet address with a host name; for example, <samp class="codeph">127.0.0.1</samp>,
|
||
|
loopback. This table is used by the sockets name resolver, either before
|
||
|
a DNS lookup or after a DNS lookup fails (determined by host name search priority).</TD2><TD3 valign="top" width="39.77272727272727%">Currently, this table does not support IPv6.
|
||
|
Customers need to configure an AAAA record in a DNS for IPv6 domain resolution.
|
||
|
You can run the DNS locally on the same system as the resolver, or you can
|
||
|
run it on a different system.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compinterface"><A NAME="rzai2compipv4ipv6__compinterface" shape="rect"></A>interface</strong></TD1><TD2 valign="top" width="32.95454545454545%">The conceptual or logical entity used by
|
||
|
TCP/IP to send and receive packets and always closely associated with an IPv4
|
||
|
address, if not named with an IPv4 address. Sometimes referred to as a logical
|
||
|
interface. <p>Can be started and stopped independently of each other and
|
||
|
independently of TCP/IP using STRTCPIFC and ENDTCPIFC commands and using iSeries Navigator.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%">Same concept as IPv4. <p>Can be started and
|
||
|
stopped independently of each other and independently of TCP/IP using iSeries Navigator
|
||
|
only.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compicmp"><A NAME="rzai2compipv4ipv6__compicmp" shape="rect"></A>Internet Control Message Protocol (ICMP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">ICMP is used by IPv4 to communicate network
|
||
|
information.</TD2><TD3 valign="top" width="39.77272727272727%">Used similarly for IPv6; however, Internet
|
||
|
Control Message Protocol version 6 (ICMPv6) provides some new attributes.
|
||
|
<p>Basic error types remain, such as destination unreachable, echo request
|
||
|
and reply. New types and codes are added to support neighbor discovery and
|
||
|
related functions.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compigmp"><A NAME="rzai2compipv4ipv6__compigmp" shape="rect"></A>Internet Group Management Protocol (IGMP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">IGMP is used by IPv4 routers to find hosts
|
||
|
that want traffic for a particular multicast group, and used by IPv4 hosts
|
||
|
to inform IPv4 routers of existing multicast group listeners (on the host).</TD2><TD3 valign="top" width="39.77272727272727%">Replaced by MLD (multicast listener discovery)
|
||
|
protocol for IPv6. Does essentially what IGMP does for IPv4, but uses ICMPv6
|
||
|
by adding a few MLD-specific ICMPv6 type values.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compipheader"><A NAME="rzai2compipv4ipv6__compipheader" shape="rect"></A>IP header</strong></TD1><TD2 valign="top" width="32.95454545454545%">Variable length of 20-60 bytes, depending
|
||
|
on IP options present.</TD2><TD3 valign="top" width="39.77272727272727%">Fixed length of 40 bytes. There are no IP
|
||
|
header options. Generally, the IPv6 header is simpler than the IPv4 header.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compipheaderopt"><A NAME="rzai2compipv4ipv6__compipheaderopt" shape="rect"></A>IP header options</strong></TD1><TD2 valign="top" width="32.95454545454545%">Various options that might accompany an IP
|
||
|
header (before any transport header).</TD2><TD3 valign="top" width="39.77272727272727%">The IPv6 header has no options. Instead,
|
||
|
IPv6 adds additional (optional) extension headers. The extension headers are
|
||
|
AH and ESP (unchanged from IPv4), hop-by-hop, routing, fragment, and destination. <span>Currently,
|
||
|
IPv6 supports some extension headers.</span></TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compipheaderprot"><A NAME="rzai2compipv4ipv6__compipheaderprot" shape="rect"></A>IP header protocol byte</strong></TD1><TD2 valign="top" width="32.95454545454545%">The protocol code of the transport layer
|
||
|
or packet payload; for example, ICMP.</TD2><TD3 valign="top" width="39.77272727272727%">The type of header immediately following
|
||
|
the IPv6 header. Uses the same values as the IPv4 protocol field. But the
|
||
|
architectural effect is to allow a currently defined range of next headers,
|
||
|
and is easily extended. The next header will be a transport header, an extension
|
||
|
header, or ICMPv6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compipheadertos"><A NAME="rzai2compipv4ipv6__compipheadertos" shape="rect"></A>IP header Type of Service (TOS)
|
||
|
byte</strong></TD1><TD2 valign="top" width="32.95454545454545%">Used by QoS and differentiated services to
|
||
|
designate a traffic class.</TD2><TD3 valign="top" width="39.77272727272727%">Designates the IPv6 traffic class, similarly
|
||
|
to IPv4. Uses different codes. Currently, IPv6 does not support TOS.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compinavsupp"><A NAME="rzai2compipv4ipv6__compinavsupp" shape="rect"></A>iSeries Navigator support</strong></TD1><TD2 valign="top" width="32.95454545454545%">iSeries Navigator provides a complete
|
||
|
configuration solution for TCP/IP.</TD2><TD3 valign="top" width="39.77272727272727%">Same for IPv6. No CL commands are available
|
||
|
for IPv6 configuration.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__complanconnect"><A NAME="rzai2compipv4ipv6__complanconnect" shape="rect"></A>LAN connection</strong></TD1><TD2 valign="top" width="32.95454545454545%"><p>Used by an IP interface to get to the
|
||
|
physical network. Many types exist; for example, token ring, and Ethernet.
|
||
|
Sometimes referred to as the physical interface, link, or line.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%"><p>IPv6 can be used with any Ethernet adapters and is
|
||
|
also supported over virtual Ethernet between logical partitions.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compl2tp"><A NAME="rzai2compipv4ipv6__compl2tp" shape="rect"></A>Layer 2 Tunnel Protocol (L2TP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">L2TP can be thought of as virtual PPP, and
|
||
|
works over any supported line type.</TD2><TD3 valign="top" width="39.77272727272727%">Currently, the i5/OS implementation of L2TP does not support
|
||
|
IPv6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comploopaddr"><A NAME="rzai2compipv4ipv6__comploopaddr" shape="rect"></A>loopback address</strong></TD1><TD2 valign="top" width="32.95454545454545%">An interface with an address of <samp class="codeph">127.*.*.*</samp> (typically <samp class="codeph">127.0.0.1</samp>)
|
||
|
that can only be used by a node to send packets to itself. The physical interface
|
||
|
(line description) is named *LOOPBACK.</TD2><TD3 valign="top" width="39.77272727272727%">The concept is the same as in IPv4. The single
|
||
|
loopback address is <samp class="codeph">0000:0000:0000:0000:0000:0000:0000:0001</samp> or <samp class="codeph">::1</samp> (shortened
|
||
|
version). The virtual physical interface is named <span>*LOOPBACK</span>.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compmtu"><A NAME="rzai2compipv4ipv6__compmtu" shape="rect"></A>Maximum Transmission Unit (MTU)</strong></TD1><TD2 valign="top" width="32.95454545454545%">Maximum transmission unit of a link is the
|
||
|
maximum number of bytes that a particular link type, such as Ethernet or modem,
|
||
|
supports. For IPv4, 576 is the typical minimum.</TD2><TD3 valign="top" width="39.77272727272727%">IPv6 has an architected lower bound on MTU
|
||
|
of 1280 bytes. That is, IPv6 will not fragment packets below this limit. To
|
||
|
send IPv6 over a link with less than 1280 MTU, the link-layer must transparently
|
||
|
fragment and defragment the IPv6 packets.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compnetstat"><A NAME="rzai2compipv4ipv6__compnetstat" shape="rect"></A>netstat</strong></TD1><TD2 valign="top" width="32.95454545454545%">A tool to look at status of TCP/IP connections,
|
||
|
interfaces, or routes. Available using iSeries Navigator and 5250.</TD2><TD3 valign="top" width="39.77272727272727%">Same for IPv6, and IPv6 is supported for
|
||
|
both 5250 and iSeries Navigator.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compnat"><A NAME="rzai2compipv4ipv6__compnat" shape="rect"></A>Network Address Translation (NAT)</strong></TD1><TD2 valign="top" width="32.95454545454545%">Basic firewall functions integrated into
|
||
|
TCP/IP, configured using iSeries Navigator.</TD2><TD3 valign="top" width="39.77272727272727%">Currently, NAT does not support IPv6. More
|
||
|
generally, IPv6 does not require NAT. The expanded address space of IPv6 eliminates
|
||
|
the address shortage problem and enables easier renumbering.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compnetworktable"><A NAME="rzai2compipv4ipv6__compnetworktable" shape="rect"></A>network table</strong></TD1><TD2 valign="top" width="32.95454545454545%">On iSeries Navigator, a configurable table
|
||
|
that associates a network name with an IP address without mask. For example,
|
||
|
host Network14 and IP address 1.2.3.4.</TD2><TD3 valign="top" width="39.77272727272727%">Currently, no changes are made to this table
|
||
|
for IPv6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compnodeinfo"><A NAME="rzai2compipv4ipv6__compnodeinfo" shape="rect"></A>node info query</strong></TD1><TD2 valign="top" width="32.95454545454545%">Does not exist.</TD2><TD3 valign="top" width="39.77272727272727%">A simple and convenient network tool that
|
||
|
should work like ping, except with content: an IPv6 node may query another
|
||
|
IPv6 node for the target's DNS name, IPv6 unicast address, or IPv4 address.
|
||
|
Currently, not supported.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comppacketfilter"><A NAME="rzai2compipv4ipv6__comppacketfilter" shape="rect"></A>packet filtering</strong></TD1><TD2 valign="top" width="32.95454545454545%">Basic firewall functions integrated into TCP/IP, configured
|
||
|
using iSeries Navigator.</TD2><TD3 valign="top" width="39.77272727272727%"><p>You cannot use packet filtering with IPv6.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comppacketforward"><A NAME="rzai2compipv4ipv6__comppacketforward" shape="rect"></A>packet forwarding</strong></TD1><TD2 valign="top" width="32.95454545454545%">The iSeries server can be configured to forward
|
||
|
IP packets it receives for nonlocal IP addresses. Typically, the inbound interface
|
||
|
and outbound interface are connected to different LANs.</TD2><TD3 valign="top" width="39.77272727272727%"><p>IPv6 packets are not forwarded.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compping"><A NAME="rzai2compipv4ipv6__compping" shape="rect"></A>PING</strong></TD1><TD2 valign="top" width="32.95454545454545%">Basic TCP/IP tool to test reachability. Available using iSeries Navigator
|
||
|
and 5250.</TD2><TD3 valign="top" width="39.77272727272727%">Same for IPv6, and IPv6 is supported, for both 5250
|
||
|
and iSeries Navigator.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compppp"><A NAME="rzai2compipv4ipv6__compppp" shape="rect"></A>Point-to-Point Protocol (PPP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">PPP supports dialup interfaces over various modem and
|
||
|
line types.</TD2><TD3 valign="top" width="39.77272727272727%"><p>Currently, the i5/OS implementation of PPP does not support
|
||
|
IPv6.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compportrestrict"><A NAME="rzai2compipv4ipv6__compportrestrict" shape="rect"></A>port restrictions</strong></TD1><TD2 valign="top" width="32.95454545454545%">These iSeries panels allow a customer to configure
|
||
|
selected port number or port number ranges for TCP or UDP so that they are
|
||
|
only available for a specific profile.</TD2><TD3 valign="top" width="39.77272727272727%"><span>Same for IPv6. Port restrictions
|
||
|
for IPv6 are identical to those available in IPv4. </span></TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compports"><A NAME="rzai2compipv4ipv6__compports" shape="rect"></A>ports</strong></TD1><TD2 valign="top" width="32.95454545454545%">TCP and UDP have separate port spaces, each
|
||
|
identified by port numbers in the range 1-65535.</TD2><TD3 valign="top" width="39.77272727272727%">For IPv6, ports work the same as IPv4. Because
|
||
|
these are in a new address family, there are now four separate port spaces.
|
||
|
For example, there are two TCP port 80 spaces to which an application can
|
||
|
bind, one in AF_INET and one in AF_INET6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compprivpubaddr"><A NAME="rzai2compipv4ipv6__compprivpubaddr" shape="rect"></A>private and public addresses</strong></TD1><TD2 valign="top" width="32.95454545454545%">All IPv4 addresses are public, except for
|
||
|
three address ranges that have been designated as private by IETF RFC 1918: <samp class="codeph">10.*.*.*
|
||
|
(10/8)</samp>, <samp class="codeph">172.16.0.0</samp> through <samp class="codeph">172.31.255.255
|
||
|
(172.16/12) </samp>, and <samp class="codeph">192.168.*.* (192.168/16)</samp>. Private
|
||
|
address domains are commonly used within organizations. Private addresses
|
||
|
cannot be routed across the Internet.</TD2><TD3 valign="top" width="39.77272727272727%">IPv6 has an analogous concept, but with important
|
||
|
differences. <p>Addresses are public or temporary, previously termed anonymous.
|
||
|
See RFC 3041. Unlike IPv4 private addresses, temporary addresses can be globally
|
||
|
routed. The motivation is also different; IPv6 temporary addresses are meant
|
||
|
to shield the identity of a client when it initiates communication (a privacy
|
||
|
concern). Temporary addresses have a limited lifetime, and do not contain
|
||
|
an interface identifier that is a link (MAC) address. They are generally indistinguishable
|
||
|
from public addresses.</p>
|
||
|
<p>IPv6 has the notion of limited address scope
|
||
|
using its architected scope designations (see <A HREF="#rzai2compipv4ipv6__compaddrscope" shape="rect">address
|
||
|
scope</A>).</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compprotocoltable"><A NAME="rzai2compipv4ipv6__compprotocoltable" shape="rect"></A>protocol table</strong></TD1><TD2 valign="top" width="32.95454545454545%">On iSeries Navigator, a configurable table
|
||
|
that associates a protocol name with its assigned protocol number; for example,
|
||
|
UDP, 17. The system is shipped with a small number of entries: IP, TCP, UDP,
|
||
|
ICMP.</TD2><TD3 valign="top" width="39.77272727272727%"><p>The table can be used with
|
||
|
IPv6 without change.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compqos"><A NAME="rzai2compipv4ipv6__compqos" shape="rect"></A>quality of service (QoS)</strong></TD1><TD2 valign="top" width="32.95454545454545%">Quality of service allows you to request
|
||
|
packet priority and bandwidth for TCP/IP applications.</TD2><TD3 valign="top" width="39.77272727272727%"><p>Currently, the i5/OS implementation
|
||
|
of QoS does not support IPv6.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comprenumber"><A NAME="rzai2compipv4ipv6__comprenumber" shape="rect"></A>renumbering</strong></TD1><TD2 valign="top" width="32.95454545454545%">Done by manual reconfiguration, with the
|
||
|
possible exception of DHCP. Generally, for a site or organization, a difficult
|
||
|
and troublesome process to avoid if possible.</TD2><TD3 valign="top" width="39.77272727272727%">Is an important architectural element of
|
||
|
IPv6, and is largely automatic, especially within the <samp class="codeph">/48</samp> prefix.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comproute"><A NAME="rzai2compipv4ipv6__comproute" shape="rect"></A>route</strong></TD1><TD2 valign="top" width="32.95454545454545%">Logically, a mapping of a set of IP addresses
|
||
|
(might contain only one) to a physical interface and a single <span>next-hop</span> IP
|
||
|
address. IP packets whose destination address is defined as part of the set
|
||
|
are forwarded to the next hop using the line. IPv4 routes are associated with
|
||
|
an IPv4 interface, hence, an IPv4 address. <p>The default route is *DFTROUTE.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%"><p>Conceptually, similar to
|
||
|
IPv4. One important difference: IPv6 routes are associated (bound) to a physical
|
||
|
interface (a link, such as ETH03) rather than an interface. One reason that
|
||
|
a route is associated with a physical interface is because source address
|
||
|
selection functions differently for IPv6 than for IPv4. See <A HREF="#rzai2compipv4ipv6__compsourceaddr" shape="rect">source
|
||
|
address selection</A>. </p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comprip"><A NAME="rzai2compipv4ipv6__comprip" shape="rect"></A>Routing Information Protocol (RIP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">RIP is a routing protocol supported by the routed daemon.</TD2><TD3 valign="top" width="39.77272727272727%">Currently, RIP does not support IPv6. IPv6 routing uses
|
||
|
static routes.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compservicestable"><A NAME="rzai2compipv4ipv6__compservicestable" shape="rect"></A>services table</strong></TD1><TD2 valign="top" width="32.95454545454545%">On the iSeries server, a configurable table
|
||
|
that associates a service name with a port and protocol; for example, service
|
||
|
name FTP-control, port 21, TCP and UDP. <p>A large number of well-known services
|
||
|
are listed in the services table. Many applications use this table to determine
|
||
|
which port to use.</p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%">No changes are made to this table for IPv6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compsnmp"><A NAME="rzai2compipv4ipv6__compsnmp" shape="rect"></A>Simple Network Management Protocol (SNMP)</strong></TD1><TD2 valign="top" width="32.95454545454545%">SNMP is a protocol for system management.</TD2><TD3 valign="top" width="39.77272727272727%"><p>Currently, the i5/OS implementation
|
||
|
of SNMP does not support IPv6. </p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compsocketapi"><A NAME="rzai2compipv4ipv6__compsocketapi" shape="rect"></A>sockets API</strong></TD1><TD2 valign="top" width="32.95454545454545%">These APIs are the way applications use TCP/IP.
|
||
|
Applications that do not need IPv6 are not affected by sockets changes to
|
||
|
support IPv6.</TD2><TD3 valign="top" width="39.77272727272727%">IPv6 enhances sockets so that applications
|
||
|
can now use IPv6, using a new address family: AF_INET6. <p>The enhancements
|
||
|
have been designed so that existing IPv4 applications are completely unaffected
|
||
|
by IPv6 and API changes. Applications that want to support concurrent IPv4
|
||
|
and IPv6 traffic, or IPv6-only traffic, are easily accommodated using IPv4-mapped
|
||
|
IPv6 addresses of the form <samp class="codeph">::ffff:a.b.c.d</samp>, where <samp class="codeph">a.b.c.d</samp> is
|
||
|
the IPv4 address of the client. </p>
|
||
|
<p>The new APIs also include support for
|
||
|
converting IPv6 addresses from text to binary and from binary to text. </p>
|
||
|
<p>See <A HREF="../rzab6/uafinet6.htm" shape="rect">Use AF_INET6 address
|
||
|
family</A> for more information about sockets enhancements for IPv6.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compsourceaddr"><A NAME="rzai2compipv4ipv6__compsourceaddr" shape="rect"></A>source address selection</strong></TD1><TD2 valign="top" width="32.95454545454545%">An application may designate a source IP
|
||
|
(typically, using sockets <samp class="codeph">bind()</samp>) . If it binds to INADDR_ANY,
|
||
|
a source IP is chosen based on the route.</TD2><TD3 valign="top" width="39.77272727272727%">As with IPv4, an application can designate
|
||
|
a source IPv6 address using <samp class="codeph">bind()</samp>. Similarly to IPv4, it
|
||
|
can let the system choose an IPv6 source address by using in6addr_any. But
|
||
|
since IPv6 lines have many IPv6 addresses, the internal method of choosing
|
||
|
a source IP is different.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compstartstop"><A NAME="rzai2compipv4ipv6__compstartstop" shape="rect"></A>starting and stopping</strong></TD1><TD2 valign="top" width="32.95454545454545%">Use STRTCP and ENDTCP to start or end TCP/IP.</TD2><TD3 valign="top" width="39.77272727272727%">Same as IPv4. IPv4 and IPv6 are not started
|
||
|
or stopped independently of one another or independently of TCP/IP. That is,
|
||
|
you start and stop all of TCP/IP, not just IPv4 or IPv6. <p>Any
|
||
|
IPv6 interfaces are automatically started if the AUTOSTART parameter = <samp class="codeph">*YES</samp> (the
|
||
|
default). IPv6 cannot be used or configured without IPv4. The IPv6 loopback
|
||
|
interface, <samp class="codeph">::1</samp>, will automatically be defined and activated
|
||
|
when IPv6 is started.</p>
|
||
|
</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comptelnet"><A NAME="rzai2compipv4ipv6__comptelnet" shape="rect"></A>Telnet</strong></TD1><TD2 valign="top" width="32.95454545454545%">Telnet allows you to log on and use a remote
|
||
|
computer as though you were connected to it directly.</TD2><TD3 valign="top" width="39.77272727272727%"><span>Currently, the i5/OS implementation
|
||
|
of Telnet does not support IPv6.</span></TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comptraceroute"><A NAME="rzai2compipv4ipv6__comptraceroute" shape="rect"></A>trace route</strong></TD1><TD2 valign="top" width="32.95454545454545%">Basic TCP/IP tool to do path determination.
|
||
|
Available using iSeries Navigator
|
||
|
and 5250.</TD2><TD3 valign="top" width="39.77272727272727%">Same for IPv6, and IPv6 is supported for
|
||
|
both 5250 and iSeries Navigator.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__comptransport"><A NAME="rzai2compipv4ipv6__comptransport" shape="rect"></A>transport layers</strong></TD1><TD2 valign="top" width="32.95454545454545%"><p>TCP, UDP, RAW. </p>
|
||
|
</TD2><TD3 valign="top" width="39.77272727272727%">The same transports exist in IPv6.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compunspecaddr"><A NAME="rzai2compipv4ipv6__compunspecaddr" shape="rect"></A>unspecified address</strong></TD1><TD2 valign="top" width="32.95454545454545%">Apparently, not defined, as such. Socket
|
||
|
programming uses <samp class="codeph">0.0.0.0</samp> as INADDR_ANY.</TD2><TD3 valign="top" width="39.77272727272727%">Defined as <samp class="codeph">::/128</samp> (128 0
|
||
|
bits). It is used as the source IP in some neighbor discovery packets, and
|
||
|
various other contexts, like sockets. Socket programming uses <samp class="codeph">::/128</samp> as <samp class="codeph">in6addr_any</samp>.</TD3></TR>
|
||
|
<TR><TD1 valign="top" width="27.27272727272727%"><strong id="rzai2compipv4ipv6__compvpn"><A NAME="rzai2compipv4ipv6__compvpn" shape="rect"></A>virtual private networking (VPN)</strong></TD1><TD2 valign="top" width="32.95454545454545%">Virtual private networking (using IPsec) allows you
|
||
|
to extend a secure, private network over an existing public network.</TD2><TD3 valign="top" width="39.77272727272727%"><p>Currently, the i5/OS implementation of VPN does not support
|
||
|
IPv6. </p>
|
||
|
</TD3></TR>
|
||
|
</TABLE>
|