1 / 51

Introduction

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.

vin
Download Presentation

Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 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

  6. Vers Priority Total length Payload length Next header Hop limit Source IP address Destination IP address IP datagram data (up to 65535 bytes) IPv6 Header Next header– Could be transport layer header or an IPv6 extension header Type 86DD DA SA IP Header and Data CRC Ethernet Data Field

  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 Next header = 17 IPv6 Header Format (UDP) UDP header and data DA SA TF IPv6 header IP Data CRC

  10. IPv6 header Next header = routing Fragmentation Routing header Next header = fragment Fragment header Next header = UDP Fragment of UDP Header and data DA SA TF IPv6 header IP data CRC

  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 – 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.

  13. IPv6 Addressing (cont.) 128 bits • 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 IPv4 32 bits

  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

  15. IPv6 Addressing Prefix

  16. 6Bone Test Addressing 3 bits n bits m bits o bits p bits 128-mnop bits 010 Registry ID Provider ID Subscriber ID Subnet ID Interface ID 3 bits 5 bits 8 bits 24 bits 8 bits 16bits 48 bits 16 bits 010 11111 AS number Resv IPv4 Network address Resv Subnet ID Interface ID (IANA)

  17. Provider-Based IPv6 Addressing 010 Registry ID Provider ID Subscriber ID Subnet ID Interface ID Provider-based 3 bits n bits m bits o bits p bits 128-mnop bits

  18. Local-Use IPv6 Addressing 10 bits n bits 128 - n bits 0 . . . . . . . . . . . . 0 Interface ID 1111111010 usually the 48 bit IEEE address FE80 10 bits n bits m bits 128 - m - n bits 0 subnet ID Interface ID 1111111011 usually the 48 bit IEEE address FEC0

  19. IPv6 Addresses with Embedded IPv4 Addresses 4 bits 32 bits 96 bits 0000 . . . . . . . . . . . . . 0000 0000 IPv4 32-bit address IPv4-compatible IPv6 address 0:0:IPv4 address

  20. Unicast Addresses Generic structure of an IPv6 address (possibly IEEE 802.x MAC address) Subscriber prefix area ID subnet ID interface 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 Provider based 3 bits n bits m bits o bits p bits 128-mnop bits 010 Registry ID Provider ID Subscriber ID Subnet ID Interface ID Provider based Special use 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.

  24. Neighbor Discovery Types • Router Discovery • Prefix Discovery • Parameter Discovery • Address Autoconfiguration • Address Resolution • Next-Hop determination • Neighbor Unreachability Detection • Duplicate Address Detection • Redirect

  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 Transport Layer header Data IPv4 Header IPv6 Header ::132.1.1.1 Transport Layer Header IPv6 Header Data

  31. IPv6 and IPv4 Dual-Stack Strategy TCP/UDP Applications IPv4 IPv6 Ethernet, Token Ring, FDDI Medium Dependent media type

  32. Could be the Internet IPv4 Cloud IPv6 Tunneling IPv6 host IPv4/v6 router IPv4 router IPv4/v6 router IPv4 router IPv6 host IPv4 host IPv4 host IPv6 host Uh-Oh! IPv4/6 host IPv4 host

  33. Four possible ways to tunnel IPv6 Tunneling router to router  IPv4 Network IPv6/IPv4 router IPv6/IPv4 router IPv4 router host to router tunnel  IPv6/IPv4 router IPv4 Network IPv4 router host to host  IPv4 Network IPv4 router Host IPv6/IPv4 router to host  IPv4 router IPv6/IPv4 router (last segment of end-to-end span) IPv6/IPv4 host

  34. IPv6 Tunneling Flowchart 1 End node address is IPv4-compatible IPv6 address Send direct with destination address set to IPv6 fromat Yes Destination local? No No IPv4 router available? IPv4 router available? Destination unreachable No Yes Yes Send direct to IPv6 router with destination address set to IPv6 format 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

  35. IPv6 Tunneling Flowchart 2 End node address is IPv6-only address Send direct with destination address set to IPv6 fromat Yes Destination local? No Configured tunnel and IPv4 router available? No IPv6 router available? Destination unreachable No Yes Yes Send direct to IPv6 router with IP destination set to final destination in IPv6 format Send IPv6 datagram encapsulated in IPv4 packet. IPv6 destination address and IPv4 destination address is the configured IPv4 address of the tunnel endpoint.

  36. IPv6 Tunneling Flowchart 3 End node address is IPv4 Send direct with destination address set to IPv4 Yes Destination local? No IPv4 router available? Destination unreachable No Yes Send IPv4 packet; destination address set to the IPv4 address of the end node

  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 8 bits 4 bits 4 bits 112 bits • 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 Flags Scope Group ID 1111 1111 0 0 0 T Flag bits T = Transient - 0 indicates IANA multicast assigned

  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

  40. RIPng 0 8 bits 8 bits 16 bits 31 Command Version Must be zero 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.

  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. ICMPv6 Encapsulation Type Code Checksum Message body based on Type and Code fields (variable length) IPv6 header Next header = 56 ICMP message DA SA TF IP data CRC IPv6 header

  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

  46. ICMP Informational Messages • Echo Request • Echo Reply • Good ol’ PING

  47. ICMP and Neighbor Discovery • Router Solicitation • Router Advertisement • Neighbor Solicitation • Neighbor Advertisement • Redirect

  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

More Related