Presentation on theme: "1 Introduction An evolution of IPv4. Builds on IPv4. Most notable change is address changes to 128 bits. Dynamic environment. Requires a much more sophisticated."— Presentation transcript:
1 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.
2 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
3 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
4 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)
5 IP Version Numbers According to RFC 1700 DecimalKeywordVersionReferences 0Reserved 1 - 3Unassigned 4IPInternet ProtocolRFC 791 5STST Datagram ModeRFC 1190, JWF 6IPv6RFC 1883 7TP/IXTP/IX: The Next Internet 8PIPThe P Internet Protocol 9TUBATCP and UDP over Bigger Addresses 10 - 14Unassigned 15Reserved
6 IPv6 Header DASA Type86DD IP Header and Data CRC Ethernet Data Field VersPriorityTotal length Payload lengthNext headerHop limit Payload lengthNext headerHop limit Source IP address Source IP address Destination IP address Destination IP address IP datagram data (up to 65535 bytes) IP datagram data (up to 65535 bytes) Next header– Could be transport layer header or an IPv6 extension header
7 IPv4 Options Review – A Review Security Loose source routing Strict source routing Record route Stream ID Internet timestamp
8 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.
9 IPv6 Header Format DASA IPv6 header IP Data CRC IPv6 header Next header = 17 UDP header and data (UDP) TF
10Fragmentation IPv6 header Next header = routing DASA IPv6 header IP data CRCTF Routing header Next header = fragment Fragment header Next header = UDP Fragment of UDP Header and data
11 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.
12 IPv6 Addressing Unicast Unicast – identifies a single interface. AnyCast 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 Multicast – an identifier belong to a group of interfaces. IPv6 extensively uses the multicast interface. There is no broadcast address in IPv6.
13 IPv6 Addressing (cont.) 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: 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 128 bits 32 bits IPv4
14 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
16 6Bone Test Addressing 010Registry IDProvider IDSubscriber IDSubnet IDInterface ID 01011111AS numberResvIPv4 Network addressResvSubnet IDInterface ID 3 bits n bits m bits o bits p bits 128-mnop bits 3 bits 5 bits 8 bits 24 bits 8 bits 48 bits 16 bits 16bits (IANA)
17 Provider-Based IPv6 Addressing 010Registry IDProvider IDSubscriber IDSubnet IDInterface ID 3 bits n bits m bits o bits p bits 128-mnop bits Provider-based
18 1111111010 0 Interface ID 10 bits n bits 128 - n bits usually the 48 bit IEEE address 0............ 1111111011 Interface ID 10 bits n bits 128 - m - n bits usually the 48 bit IEEE address 0 subnet ID m bits FE80 FEC0 Local-Use IPv6 Addressing
20 Unicast Addresses 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 Provider based Special use address 010Registry IDProvider IDSubscriber IDSubnet IDInterface ID 3 bits n bits m bits o bits p bits 128-mnop bits Provider based Subscriber prefixarea IDsubnet ID interface ID (possibly IEEE 802.x MAC address) Generic structure of an IPv6 address
21 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.
22 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)
23 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.
25 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.
26 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.
27 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
28 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.
29 IPv6 Tunneling Introduction Host to Router Router to Router Router To Host Host to Host
30 IPv6 Tunnel Addressing IPv6 Header Transport Layer Header Data IPv4 Header IPv6 Header Transport Layer header Data ::18.104.22.168
31 IPv6 and IPv4 Dual-Stack Strategy Medium Dependent media type Applications IPv4 IPv6 TCP/UDP Ethernet, Token Ring, FDDI
32 IPv6 Tunneling IPv6hostIPv4host IPv4/v6router Uh-Oh! IPv6host Could be the Internet IPv4 Cloud IPv4/v6router IPv4router IPv4hostIPv6host IPv4/6hostIPv4host IPv4router
33 IPv6 Tunneling IPv6/IPv4router IPv4 Network IPv4router IPv4router IPv4router IPv6/IPv4router IPv6/IPv4router IPv6/IPv4router routertorouter IPv4router host to routertunnel host routertohost Host IPv6/IPv4 IPv6/IPv4 host Four possible ways to tunnel (last segment of end-to-end span)
34 IPv6 Tunneling Flowchart 1 Yes No No Yes Send direct to IPv6 router with destination address set to IPv6 format No Send IPv6 encapsulated packet to IPv4 router; IPv6 destination packet to IPv4 router; IPv6 destination addresses to the end node; IPv4 address set to low-order 32 bits of end node Yes End node address is IPv4-compatible IPv6 address Destinationlocal? IPv4 router available? Send direct with destination address set to IPv6 fromat IPv4 router available?Destinationunreachable
35 IPv6 Tunneling Flowchart 2 Yes No No Yes Send direct to IPv6 router with IP destination set to final destination in IPv6 format No Send IPv6 datagram encapsulated in IPv4 packet. IPv6 destination address and IPv4 destination address is the configured IPv4 address of the tunnel endpoint. Yes End node address is IPv6-onlyaddress Destinationlocal? IPv6 router available? Send direct with destination address set to IPv6 fromat Configured tunnel and IPv4 router available? Destinationunreachable
36 IPv6 Tunneling Flowchart 3 Yes No No Yes Send IPv4 packet; destination address set to the IPv4 address of the end node End node address is IPv4 Destinationlocal? IPv4 router available? Send direct with destination address set to IPv4 Destinationunreachable
37 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.
38 Multicasting for IPv6 1111 1111 FlagsScope Group ID 8 bits 4 bits 112 bits 000T 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
39 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
40RIPngCommandVersion Must be zero IPv6 Address (128 bits) Route tag Subnet mask Metric 031 8 bits 16 bits Variable in length and therefore number of entries per packet. more IPv6 addresses and metrics
41 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.
42 TypeChecksum Message body based on Type and Code fields (variable length) ICMPv6 Encapsulation DASATFCRC IP data IPv6 header Next header = 56 ICMP message IPv6 header Code
43 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.
44 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
45 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
48 ICMPv6 and Multicast Group Membership messages Group Membership Query Group Membership Report Group Membership Reduction (Leave Group)
49 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.
50 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
51 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).