13-02-2013, 10:31 AM
IPv6
IPv6.ppt (Size: 61 KB / Downloads: 25)
IPv6 availability
Generally available with (new) versions of most operating systems.
BSD, Linux 2.2 Solaris 8
An option with Windows 2000/NT
Most routers can support IPV6
IPv6 Design Issues
Overcome IPv4 scaling problem
lack of address space.
Flexible transition mechanism.
New routing capabilities.
Quality of service.
Security.
Ability to add features in the future.
IPv6 Headers
Simpler header - faster processing by routers.
No optional fields - fixed size (40 bytes)
No fragmentation fields.
No checksum
Support for multiple headers
more flexible than simple “protocol” field.
IPv6 Header Fields
VERS: 6 (IP version number)
Priority: will be used in congestion control
Flow Label: experimental - sender can label a sequence of packets as being in the same flow.
Payload Length: number of bytes in everything following the 40 byte header, or 0 for a Jumbogram.
Extension Headers
Routing Header - source routing
Fragmentation Header - supports fragmentation of IPv6 datagrams.
Authentication Header
Encapsulating Security Payload Header
Works with DNS
An IPv6 application asks DNS for the address of a host, but the host only has an IPv4 address.
DNS creates the IPv4-Mapped IPv6 address automatically.
Kernel understands this is a special address and really uses IPv4 communication.
IPv4-Compatible IPv6 Address
An IPv4 compatible address allows a host supporting IPv6 to talk IPv6 even if the local router(s) don’t talk IPv6.
IPv4 compatible addresses tell endpoint software to create a tunnel by encapsulating the IPv6 packet in an IPv4 packet.
IPv6 - IPv4 Programming
The kernel does the work, we can assume we are talking IPv6 to everyone!
In case we really want to know, there are some macros that determine the type of an IPv6 address.
We can find out if we are talking to an IPv4 client or server by checking whether the address is an IPv4 mapped address.