Introduction An evolution of IPv4. Builds on IPv4. Most notable change is address changes to 128 bits. Dynamic environment. Requires a much more sophisticated operating environment. Over 58 other protocols have changed with it. Will run as islands using IPv4 as the backbone. Cannot simply “flip a switch” to convert. 1 IPv6 (continued) IPv5 exists and is known as the Streams 2 (ST2) Protocol: RFC 1819 Operates at the same layer as IP Developed as an IP layer for real-time applications Includes QoS capabilities IPv6 truly works on the finer aspects of IPv4. Requires a dynamic environment: Many discovery options including: Autoconfiguration Finding the maximum path MTU Finding other workstations without ARP Finding routers 2 IPv6 Features Extended addressing capabilities. Header format simplification. Improved support for extensions and options. Flow label capability. Authentication and privacy capabilities. IPv6 routing similar to IPv4 routing using CIDR. OSPF, RIP, IDRP, and IS-IS can be used with minor modifications 3 From IPv4 to IPv6 Built up to the IPv6 specification that we have today using various proposal submissions such as: ISO CLNP– demonstrated as TUBA (TCP and UDP over Bigger Addresses) IP version 7 (aka TP/IX, RFC 1475) IP in IP – evolved to IP address encapsulation PIP – merged into SIP creating SIPP (RFC 1710) 4 IP Version Numbers According to RFC 1700 Decimal Keyword Version References 0 Reserved 1-3 Unassigned 4 IP Internet Protocol RFC 791 5 ST ST Datagram Mode RFC 1190, JWF 6 IPv6 RFC 1883 7 TP/IX TP/IX: The Next Internet 8 PIP The P Internet Protocol 9 TUBA TCP and UDP over Bigger Addresses 10 - 14 Unassigned 15 Reserved 5 IPv6 Header Vers Priority Payload length Total length Next header Hop limit Source IP address Destination IP address IP datagram data (up to 65535 bytes) Next header– Could be transport layer header or an IPv6 extension header DA SA Type 86DD IP Header and Data CRC Ethernet Data Field 6 IPv4 Options Review – A Review Security Loose source routing Strict source routing Record route Stream ID Internet timestamp 7 IPv4 and IPv6 Header Differences IPv6 header is a static 40 bytes in length. Total length field is replaced with payload length. IPv6 allows for jumbograms (larger than 64k). Extension headers. TTL field is replaced with the hop limit. Many Ipv4 options were moved to independent protocols. 8 IPv6 Header Format IPv6 header Next header = 17 DA SA TF IPv6 header (UDP) UDP header and data IP Data CRC 9 Fragmentation IPv6 header Next header = routing DA SA TF Routing header Fragment header Fragment of UDP Next header = Next header = fragment UDP Header and data IPv6 header IP data CRC 10 Priority and Flow Label Still under much study. Priority field distinguishes the datagram amongst other datagrams. Two types of controlled traffic: Congestion Noncongestion Flow labels allow the router to indentify a flow and place this label in the routing table for quick lookup. 11 IPv6 Addressing Unicast – identifies a single interface. AnyCast – new for IPv6, it identifies a set of interfaces usually belonging to different nodes. Used to deliver datagrams to the “nearest” of the interfaces. Multicast – an identifier belong to a group of interfaces. IPv6 extensively uses the multicast interface. There is no broadcast address in IPv6. 12 IPv6 Addressing (cont.) 128 bits IPv4 Which provides for: 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses Address is written in hex. Takes the form of: 32 bits xxxx : xxxx : xxxx : xxxx : xxxx : xxxx : xxxx : xxxx FEDC:BA98:7654:3210:FEDC:BA98:7654:0321 Zeros can be truncated: FF:0000:0000:0000:0000:9085:9043:1234 FF::9085:9043:1234 Only one set of zeros can be truncated 13 IPv6 Addressing (continued) The first few bits are indicators (as shown in a moment). They do not register as a Class of address as in IPv4 Similar to CIDR, prefixes are used to indicate the routing. Special addresses are reserved: Unspecified address Loopback address Embedded IPv4 address Multicast address 14 IPv6 Addressing Prefix Allocation Prefix (binary) Fraction of Address Space Reserved Unassigned Reserved for NSAP Allocation Reserved for IPX Allocation Unassigned Unassigned Unassigned Unassigned 0000 0000 0000 0001 1/256 1/256 0000 001 1/128 0000 010 0000 011 0000 1 00001 001 1/128 1/32 1/16 1/8 Provider-based Unicast address Unassigned Reserved for geographic-based unicast addresses Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned 010 011 100 101 110 1110 11110 1111 10 1111 110 1111 11100 1/8 1/8 1/8 1/8 1/8 1/16 1/32 1/64 1/128 1/512 Link local use Addresses Site Local Use Addresses 1111 1110 11 Muclticast Addresses 1111 1110 10 1/1024 1111 1111 1/1024 1/256 15 6Bone Test Addressing 3 bits 010 n bits m bits Registry ID Provider ID 3 bits 5 bits 16 bits 8 bits o bits Subscriber ID 24 bits p bits 128-mnop bits Subnet ID 8 bits 16bits Interface ID 48 bits 010 11111 AS number Resv IPv4 Network address Resv Subnet ID Interface ID (IANA) 16 Provider-Based IPv6 Addressing Provider-based 3 bits 010 n bits m bits Registry ID Provider ID o bits Subscriber ID p bits Subnet ID 128-mnop bits Interface ID 17 Local-Use IPv6 Addressing 10 bits n bits 1111111010 0. . . . . . 128 - n bits . . . . 1111111011 FEC0 Interface ID usually the 48 bit IEEE address FE80 10 bits . .0 n bits m bits 0 subnet ID 128 - m - n bits Interface ID usually the 48 bit IEEE address 18 IPv6 Addresses with Embedded IPv4 Addresses 4 bits 96 bits 0000 . . . . . . . . . . . . . 0000 0000 32 bits IPv4 32-bit address IPv4-compatible IPv6 address 0:0:IPv4 address 19 Unicast Addresses Generic structure of an IPv6 address Subscriber prefix area ID (possibly IEEE 802.x MAC address) subnet ID interface ID Provider based 3 bits 010 n bits Registry ID m bits Provider ID Global provider based Geographic based NSAP IPX Hierarchical Unspecified - 0:0 Site-local use Link-local use IPv4-capable host Loopback - 0:0:0:0:0:0:0:1 o bits p bits Subscriber ID Subnet ID 128-mnop bits Interface ID Provider based Special use address 20 Autoconfiguration Stateless Autoconfiguration. Initializing hosts join the all nodes multicast address of FE02::1 Stateless autoconfiguration allows for a node to start up using the link-local prefix and some sort of token. This will probably be the 48-bit Ethernet address Address would be FE80::48-bit address (multicast) Hosts send a solicitation message to all-routers using the all-routers multicast address of FF02::2. Used to determine the node’s routing prefix and other routing parameters Stateful autoconfiguration uses. 21 Neighbor Discovery RFC 1970. Very extensive and best to read RFC. Nodes used Neighbor Discovery to determine link-layer addresses for neighbors. Finds link-local hosts and routers. Detects which neighbors are reachable and to detect link layer address changes. ARP is not used with IPv6. This is the robust replacement for ARP (IPv4) 22 Neighbor Discovery (continued) In IPv6, Discovery messages use the various multicast address assignments for router discovery, neighbor discovery, etc. The media (MAC) address is a multicast address as well: 33-33-last 32 bits of the IPv6 address RFC 1970 applies to all link-layer types except NBMA and various proprietary interfaces. 23 Neighbor Discovery Types Router Discovery Prefix Discovery Parameter Discovery Address Autoconfiguration Address Resolution Next-Hop determination Neighbor Unreachability Detection Duplicate Address Detection Redirect 24 Neighbor Discovery and IPv4 IPv6 Neighbor Discovery combines IPv4 protocols of ARP, ICMP Router Discovery, and ICMP Redirect. IPv4 has no agreed-upon method for Dead Gateway Detection and Neighbor Unreachability detection. 25 Neighbor Discovery and IPv4 (continued) IPv6 assumes a redirect next hop is on-link – on the same link that it resides. IPv6 detects half link failures (neighbors that are suspect or that have gone away). IPv6 Router advertisements do not contain a Preference field. Using link-local addresses to identify routers means that this relationship is maintained even if the provider address changes. Address resolution is accomplished at the ICMP layer. 26 Address Resolution Purpose is to determine the link level-address of a destination given only its IP address. Consists of sending a Neighbor Solicitation message and waiting for a reply. All nodes start up by joining the all-nodes multicast address and the solicited node multicast address Solicited node address is taking the 96 bit prefix FF02:0:0:0:0:1 and place the low order 32 bits of the destination IP address to this This allows for a range of FF02:1:0:0 through FF02:1:FFFF:FFFF The full target address is embedded in the ICMP packet 27 Methods of Deploying IPv6 Dual IP layer–a node that is running both the IPv4 and IPv6 TCP/IP protocol stacks. IPv6 over IPv4 Tunnel–the process of taking an IPv6 datagram and wrapping an IPv4 header on it for transit across IPv4 routers. Configured Tunnel–IPv4 tunnel endpoint address is determined by the encapsulating node Automatic Tunnel–IPv4 tunnel endpoint is determined from the IPv4 address of the IPv6 packet Transition consists of: IPv4-only node. 28 IPv6 Tunneling Introduction Host to Router Router to Router Router To Host Host to Host 29 IPv6 Tunnel Addressing IPv4 Header IPv6 Header Transport Layer header Data ::132.1.1.1 IPv6 Header Transport Layer Header Data 30 IPv6 and IPv4 Dual-Stack Strategy TCP/UDP Applications IPv4 IPv6 Ethernet, Token Ring, FDDI Medium Dependent media type 31 IPv6 Tunneling IPv6 host IPv4/v6 router IPv4 router IPv4/v6 router Could be the Internet IPv4 Cloud IPv6 host IPv4 router IPv4 host IPv4 host IPv6 host Uh-Oh! IPv4/6 host IPv4 host 32 IPv6 Tunneling router to router Four possible ways to tunnel IPv4 Network IPv6/IPv4 router IPv4 router host to router tunnel IPv4 Network host to host IPv4 Network IPv6/IPv4 router IPv4 router IPv4 router router to host IPv6/IPv4 router IPv6/IPv4 router (last segment of end-to-end span) Host IPv6/IPv4 IPv4 router IPv6/IPv4 host 33 IPv6 Tunneling Flowchart 1 End node address is IPv4-compatible IPv6 address Destination local? Yes Send direct with destination address set to IPv6 fromat No IPv4 router available? No IPv4 router available? Yes Send IPv6 encapsulated packet to IPv4 router; IPv6 destination addresses to the end node; IPv4 address set to low-order 32 bits of end node No Destination unreachable Yes Send direct to IPv6 router with destination address set to IPv6 format 34 IPv6 Tunneling Flowchart 2 End node address is IPv6-only address Destination local? Yes Send direct with destination address set to IPv6 fromat No Configured tunnel and IPv4 router available? No IPv6 router available? Yes Send direct to IPv6 router with IP destination set to final destination in IPv6 format No Destination unreachable Yes Send IPv6 datagram encapsulated in IPv4 packet. IPv6 destination address and IPv4 destination address is the configured IPv4 address of the tunnel endpoint. 35 IPv6 Tunneling Flowchart 3 End node address is IPv4 Destination local? Yes Send direct with destination address set to IPv4 No Destination unreachable No IPv4 router available? Yes Send IPv4 packet; destination address set to the IPv4 address of the end node 36 Anycast Addressing Similar to a multicast address. Address is sent to a group address (anycast) but the router delivers the datagram to the nearest member of the group. Provides for applications such as file and print servers, time servers, name servers, DHCP, etc. Similar to the NetWare protocol of “Get Nearest Server” request. 37 Multicasting for IPv6 8 bits 4 bits Flags 1111 1111 0 0 0 4 bits 112 bits Scope Group ID T Flag bits T = Transient - 0 indicates IANA multicast assigned First part of the address is the multicast reserved bits FF. The scope is included in the overall reserved address. For example, you could look for all name servers within a site local scope All name servers within a link local scope Same multicast function but different address Same function as the TTL in MBONE 38 IPv6 Routing Existing routing protocols (OSPF, RIP, IDRD, etc.) are straightforward extensions of IPv4 routing. IPv6 includes new routing extensions such as: Provider selection Host mobility Auto-readdressing OSPF: Creates a separate link state database Makes room for the 128 bit address Cannot interoperate with IPv4 39 RIPng 0 8 bits Command 8 bits 16 bits Version Must be zero 31 IPv6 Address (128 bits) Route tag Subnet mask Metric more IPv6 addresses and metrics more IPv6 addresses and metrics more IPv6 addresses and metrics Variable in length and therefore number of entries per packet. 40 ICMP Found in RFC 1885 and originally found in RFC 792. The functions of ICMP are explained in 1885, but many other RFCs are referenced: 1970 for Neighbor Discovery 1191 for Path MTU Discovery IPv4 extension. Continues to provide some maintenance for an unreliable IPv6. No ICMPv6 messages are sent for ICMPv6 errors. 41 ICMPv6 Encapsulation Type Code Checksum Message body based on Type and Code fields (variable length) IPv6 header Next header = 56 DA SA TF IPv6 header IP data ICMP message CRC 42 ICMPv6 and ICMPv4 Cleaned up ICMPv4. Timestamp, source quench, and information request and reply were deleted (picked up by other protocols) Eliminated unused codes and types. IGMP is moved into ICMPv6. ICMPv6 is not compatible with ICMPv4; however, it is the same format ICMPv6 does copy more of the offending datagram when sending an error message. Error messages have types from 0 - 127 and informational messages have types from 128 - 255. 43 ICMPv6 Error Messages Destination Unreachable: No route to destination Communication with destination administratively prohibited Not a neighbor Address Unreachable Port Unreachable Packet Too Big: Returns the largest packet size available for the forwarded port 44 ICMPv6 Error Messages (continued) Time Exceeded Message. Hop limit exceeded in transit fragment reassembly time exceeded Parameter Problem. Erroneous header field encountered Unrecognized nest header type encountered Unrecognized IPv6 option 45 ICMP Informational Messages Echo Request Echo Reply Good ol’ PING 46 ICMP and Neighbor Discovery Router Solicitation Router Advertisement Neighbor Solicitation Neighbor Advertisement Redirect 47 ICMPv6 and Multicast Group Membership messages Group Membership Query Group Membership Report Group Membership Reduction (Leave Group) 48 IPv6 Cache Entries Destination cache–contains link layer information about destinations to which data has been recently sent. Neighbor cache–contains link layer information about a neighbor. Prefix List cache–created from router advertisements, this is a listing of local prefixes. Router List cache–contains information about those routers to which packets may be sent. 49 IPv6 Algorithm Easier if you understand RFC 1970. To transmit a datagram, the source must consult the destination cache, prefix list, and the default router. It needs to determine the “next-hop” A source first looks in the destination cache for a matching entry to the destination IP address. If one is not found here, consult the prefix list cache Local address, the next hop is simply that of the destination IP address 50 RFCs Related to IPv6 1883: Describes the IPv6 protocol (RFC 2147 updates [does not replace] RFC 1883). 2147 PS: D. Borman, “TCP and UDP over IPv6 Jumbograms,” 05/23/97, (3 pages) (.txt format) (updates RFC 1883). 2133 I: R. Gilligan, S. Thomson, J. Bound, W. Stevens, “Basic Socket Interface Extensions for IPv6,” 04/21/97 (32 pages). 2080 PS: G. Malkin, R. Minnear, “RIPng for IPv6,” 01/10/97 (19 pages). 2073 PS: Y. Rekhter, P. Lothberg, R. Hinden, S. Deering, J. Postel, “An IPv6 Provider-Based Unicast Address Format,” 01/08/97 (7 pages). 2030 I: D. Mills, “Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6, and OSI,” 10/30/96 (18 pages). 2019 PS: M. Crawford, “Transmission of IPv6 Packets Over FDDI,” 10/17/96 (6 pages). 1972 PS: M. Crawford, “A Method for the Transmission of IPv6 Packets Over Ethernet Networks,” 08/16/96 (4 pages). 1971 PS: S. Thomson, T. Narten, “IPv6 Stateless Address Autoconfiguration,” 08/16/96 (23 pages). 1970 PS: T. Narten, E. Nordmark, W. Simpson, “Neighbor Discovery for IP Version 6 (IPv6),” 08/16/96 (82 pages). 1933 PS: R. Gilligan, E. Nordmark, “Transition Mechanisms for IPv6 Hosts and Routers,” 04/08/96 (22 pages). 1924 I: R. Elz, “A Compact Representation of IPv6 Addresses,” 04/01/96 (6 pages). 1897 E: R. Hinden, J. Postel, “IPv6 Testing Address Allocation,” 01/25/96 (4 pages). 1888 E: J. Bound, B. Carpenter, D. Harrington, J. Houldsworth, A. Lloyd, “OSI NSAPs and IPv6,” 08/16/96 (16 pages). 1887 I: Y. Rekhter, T. Li, “An Architecture for IPv6 Unicast Address Allocation,” 01/04/96 (25 pages). 1885 PS: A. Conta, S. Deering, “Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6),” 01/04/96 (20 pages). 1884 PS: R. Hinden, S. Deering, “IP Version 6 Addressing Architecture,” 01/04/96 (18 pages) (.txt format). 1883 PS: S. Deering, R. Hinden, “Internet Protocol, Version 6 (IPv6) Specification,” 01/04/96 (37 pages) (updated by RFC 2147). 1881 I: I. IESG, “IPv6 Address Allocation Management,” 12/26/95 (2 pages). 1809 I: C. Partridge, “Using the Flow Label Field in IPv6,” 06/14/95 (6 pages). 51
© Copyright 2026 Paperzz