68
External Use TM Hands-On Workshop: Transition to Internet Protocol Version 6 (IPv6) Using MQX™ Real-Time Communication Suite (RTCS) FTF-SDS-F0041 APR.2014 Maclain Lobdell | Freescale Software Product Manager David Seymour | Freescale FAE

Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

External Use

TM

Hands-On Workshop: Transition to Internet Protocol Version 6 (IPv6) Using MQX™ Real-Time Communication Suite (RTCS)FTF-SDS-F0041

A P R . 2 0 1 4

Maclain Lobdell | Freescale Software Product ManagerDavid Seymour | Freescale FAE

Page 2: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 1

Hands-On Workshop: Transition to Internet Protocol Version 6 (IPv6) Using MQX™ Real-Time Communication Suite (RTCS)

FTF-SDS-F0041 2 Hour ClassInternet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration and address exhaustion. The worldwide transition to IPv6 is already in progress. This hands-on class will walk you through the capabilities of the new add-on for the MQX Real-Time Communication Suite (RTCS) that enables IPv6.

Page 3: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 2

Session Introduction

The worldwide transition to IPv6 is coming. Are your embedded products going to be ready?• The number of devices connecting to the Internet is exploding. The

trend cannot continue without IPv6.• The MQX RTCS (TCP/IP stack) is now ready for IPv6. In this class

you will learn what is new and different about IPv6 vs IPv4, what are the benefits and challenges with IPv6 for embedded products, and how MQX RTCS with the new optional IPv6 extension can address those needs.

• Mac Lobdell – MQX Product Manager• David Seymour - FAE

Page 4: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 3

Session Objectives

• After completing this session you will be able to: − Understand the basics of IPv6− Understand the IPv6 capabilities within MQX RTCS− Have experience with MQX applications and IPv6 networking

See the simplicity of getting devices on IPv6 network

EmbeddedDevice

Laptop

OR

EmbeddedDevice

EmbeddedDevice

Page 5: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 4

Agenda• Quick Review of MQX Software Solutions • General Overview of IPv6 − Comparison of IPv6 to IPv4− Special Considerations for Embedded Devices− Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real-Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

• Session Summary & Additional Q/A

Page 6: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 5

Agenda• Quick Review of MQX Software Solutions• General Overview of IPv6− Comparison of IPv6 to IPv4− Special Considerations for Embedded Devices− Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real-Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

Page 7: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 6

Freescale MQX™ Software Solutions - $Free

Product Features• MQX™ Real Time Operating System Kernel

• Deterministic multi-tasking preemptive scheduler • Extensive inter-task synchronization, message

passing, and much more• MQX™ Real Time Communication Suite

Now with optional IPv6 add-on package• Broad networking protocol support

(TCP,UDP, ICMP, HTTP, DHCP, FTP, Telnet, …)• Fully re-entrant, responsive, designed for

embedded systems• MQX™ File System

• Embedded FAT file system compatible with FAT-12, FAT-16, or FAT-32 file systems

• MQX™ USB Host/Device Stack• USB 1.0/2.0; low-/full-/high-speed

• Board Support Packages• Pre-configured MQX Kernel, stacks, and

peripheral drivers for Freescale HW

Enabling the development of connected and intelligent applications of the future

Commercial-grade MCU software platform at no cost with optional support packages

Download at: www.freescale.com/mqx

Softw

are

and

Har

dwar

e Ev

alua

tion

& D

ev T

ools

Stac

ks(T

CP

/IP, U

SB

)

Mid

dlew

are

Operating System

Bootloader

App

licat

ion

Spec

ific

BSP, Drivers & HAL

Libraries(DSP, Math, Encryption)

MCU Hardware

Customer Application

Page 8: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 7

Features, Performance, Sophistication

Bare Metal (No OS)

Basic FeaturedThread-Based RTOS

Full Featured Thread-Based RTOS

Process-BasedRTOS/OS

Pote

ntia

l Siz

e(M

emor

y Fo

otpr

int)

Each “process” has own memory space. More Multi-media and sophisticated applications.

More features. More integrated protocol stacks and middleware. Low to high footprint.Basic features. Some

protocol stacks and middleware. Low to medium footprint.

High-Level RTOS Landscape

MQX SMX

Nucleus RTX

Integrity RTXC

ThreadX CMX

eCOSFreeRTOS uCOS-II

MQX Lite

CMX-Tiny

Linux

QNX

VxWorks

WinCE

Page 9: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 8

Freescale MQX Growing in Popularity!

Freescale MQX 3rd Most Popular MCU RTOS in 2013 UBM Survey

#1

#2#3

Freescale MQX 65K+ Downloads19K+ Unique Users

Page 10: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 9

What's New in MQX RTOS 4.1

New Board Support Package − TWR-K21F120M (Kinetis K21 Tower System Module)

New Features and Updates− Enhanced tools support for CodeWarrior, IAR, Keil, ARM® DS-5™, and

GNU tools for ARM®

− Vybrid BSP Updates Drivers added or extended: eDMA. DSP codec, FTM Quadrature decoder, DCU, NAND flash file system driver, SAI, eSAI, ASRC, UART w/ eDMA, and FlashX w/ QuadSPI.

− Extended DMA support in Kinetis and Vybrid BSPs SPI, SAI, & eSAI drivers w/ eDMA; eSDHC w/ ADMA

− Other EnhancementsUpdated LWADC, RTC, Hardware Timer w/ Low Power Timer (LPT), Kinetis Flash Swap, NAND Flash File System (FFS) added.

− Software compatibility improvementMQX custom types replaced w/ standard C99 types

ARM DS-5

Page 11: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 10

MQX 4.1 Board Support Packages

• 24 Complimentary BSPs covering all Kinetis K, Vybrid, and select ColdFire and Power Families

• Numerous additional BSPs for legacy devices available free of charge in earlier MQX versions

• Other BSPs available for purchase for other architectures

• MQX Lite also available for all Kinetis K, L, & some E Series in Processor Expert

VBYRIDTWR‐VF65GS10  (M4&A5) √AUTOEVB (M4&A5) √KINETISTWR‐K20D50M √TWR‐K20D72M √TWR‐K21D50M √TWR‐K21F120M √TWR‐K40X256 √TWR‐K40D100M √TWR‐K53N512 √TWR‐K60D100M √TWR‐K60F120M √TWR‐K60N512 √TWR‐K64F120M *KWIKSTICK (K40) √TWR‐K70120M √COLDFIRE V1‐V4TWR‐MCF51JF √TWR‐MCF52259 √TWR‐MCF54418 √POWER ARCHITECTURETWR‐PXD10 √TWR‐PXS20 √TWR‐PXS30 √TWR‐PXN20 √

PLATFORM MQX 4.1

* MQX 4.1-based standalone releaseavailable separate from main installer

Page 12: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 11

What's New in MQX™ Real-Time TCP/IP Communication Suite (RTCS)• New HTTP server implementation – HTTPSRV.− It is 18 times faster than old MQX 4.0 HTTPD.− Allows parallel CGI processing.− More robust

User code (CGI/SSI) is run in separate task.Each CGI/SSI can run in separate task.Each connection is processed independenly.

• New FTP server implementation – FTPSRV.− Allows multiple connections.− Allows multiple parallel file transfers.− Full IPv6 support (EPSV and EPRT commands).− More robust

Page 13: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 12

MQX 4.1 RTCS TCP/IP Stack IPv6 Ready

New IPv6 add-on for purchase− IPv6 Ready (Phase-2) Core-Protocols Certified− Configure for single stack (IPv6) or dual stack (IPv4 + IPv6)− Supports stateless auto-configuration, network auto-discovery, and the

massive address extensibility of IPv6 − Supported protocols - IPv6, ICMPv6, ND, TCP/UDPv6, Sockets, SMTP

Client, HTTP Server, MLD Discover, FTP Server, FTP Client, & DNS− Protocols planned for future – DHCP, Telnet, TFTP, SNMP, PPP− Add IPv6 for about 21 KB of additional ROM code− Supports all MCU platforms supported by RTCS in MQX 4.1− Available for download at www.freescale.com/mqx/ipv6

Get ready for the worldwide transition to the next generation of the Internet (IPv6), but retain support for the Internet of today (IPv4)

Page 14: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 13

Freescale MQX Real-Time Communication Suite (RTCS )

Telnet

*SSH *XML HTTP

FTP

*POP3SMTP

DNSSNMP (v1, v2)TFTP SNTP

*SSL

TCP

Sockets

UDP

NAT CIDR

IP-E IPCP PAP CHAP CCP LCP

ARP

Ethernet Serial HDLC

Simple and Scalable• Small, configurable size

conserves memory space for application

• Allows developers to add web servers, e-mail, network management, security, and routing to their designs

Powerful and Integrated• Developed to be tightly

integrated with MQX RTOS

Ultimate Value• Includes FTP, Telnet, DHCP,

DNS servers and clients, and SNMP client

* 3rd Party add-on** FSL IPv6 add-on

NewUpdated

DHCP

TFTP

DHCP

PPP

*SNMP (v3)

ICMPv4 / **ICMPv6 IGMP **ND **MLDv1

IPv4 / **IPv6

Page 15: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 14

Agenda• General Overview of IPv6− Comparison of IPv6 to IPv4−Special Considerations for Embedded Devices−Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

Page 16: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 15

Terminology

Neighbors

Link

Subnet

Intra-subnet Router

Host

RouterHost

Host

Nodes

Page 17: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 16

Terminology

Page 18: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 17

Terminology Host/Node=Any system with an IPv6 address and interface that is configured for IPv6 support.

Page 19: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 18

Terminology IPv6 router=A node that forwards IPv6 packets. At least one of the router's interfaces must be configured for IPv6 support. An IPv6 router can also advertise the registered IPv6 site prefix for the enterprise over the internal network.

Page 20: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 19

Terminology Boundary router=The router at the edge of a network that provides one end of the IPv6 tunnel to an endpoint

outside the local network. For the external network, the router can

have an IPv6 interface or an IPv4 interface.

Page 21: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 20

TerminologyIPv6 host=A node with an IPv6 address. IPv6 hosts do not forward packets.

Page 22: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 21

Terminology

Link=A single, contiguous network medium that is bounded on either end by a router.

Page 23: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 22

Terminology

Neighbor=An IPv6 host/node that is on the same link as the local node.

Neighbor=An IPv6 host/node that is on the same link as the local node.

Page 24: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 23

Terminology

IPv6 subnet=IPv6 does support multilink subnets, where nodes on more than one link can be components of a single subnet. Links 2 and 3 are components of multilink Subnet 8a.

Page 25: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 24

Why IPv6?

• IPv4 addresses are exhausted• Today’s Internet is much different than in the early days

“THE WORLD IS DIFFERENT NOW”“[Since] 2012, global use of IPv6 more than doubled. 2013 marked the third straight year IPv6 use on the global Internet has doubled. If current trends continue, more than half of Internet users around the world will be IPv6-connected in less than 6 years.”- World IPv6 Launch

http://www.worldipv6launch.org/

Page 26: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 25

IPv4 vs IPv6IPv4 IPv632-bit address (232 = 4.3 Billion) 128-bit address (2128 = 3.4 x 1038)Addresses represented in 4, 8-bit decimal format (e.g. 192.168.0.1)

Addresses represented in 8,16-bit hexidecimal numbers (e.g. FE80:0:0:0:0102:03FF:FE04:0506)Simplified (FE80::102:3FF:FE04:506)

DHCP Stateless Address Auto-Configuration (SLAAC)

Network Address Translation (NAT) to conserve addresses

Not necessary. More ideal for peer-to-peer communication.

Mostly single IP address per interface Multiple IP addresses per interface (link local, global, …)

ARP Neighbor Discovery (ND)

Page 27: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 26

Advantages of IPv6

• Network Address Translation (NAT) is not required for IPv6− Reduces network latency− Simplifies cross internet communication between nodes − Enables true end-to-end connectivity at the IP layer − Peer-to-peer networks are easier to create and maintain.

• IPv6 reduces processing load on routers− Added protocol for discovery of the path's maximum transmission unit

(MTU).− Fragmentation is handled by the source device, rather than the router− Checksum does not need to be recalculated at every router hop.

Both help to improve reduce latency and improve QOS

Page 28: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 27

Security

• IPSec originally required… Now it is optional… Why?− Short answer: Many solutions so one just didn’t fit all use cases.

• Longer answer:− RFC-6434 IPv6 Node Requirements….December 2011A range of security technologies and approaches proliferate today(e.g., IPsec, Transport Layer Security (TLS), Secure SHell (SSH),etc.) No one approach has emerged as an ideal technology for allneeds and environments. Moreover, IPsec is not viewed as the idealsecurity technology in all cases and is unlikely to displace theothers.

Page 29: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 28

Auto-configuration & Link Local Addressing

• Devices can have multiple IP addresses− Link Local FE80::0102:03FF:FE04:0506− Global 2001 ::0102:03FF:FE04:0506− Multicast FF02::1:FF04:0506

Page 30: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 29

IPv6 Addressing

• Unicast – one-to-one• Multicast – one-to-many• Anycast – one-to-one-of-many

(nearest one)

• It is the address that determines the scope (Link Local, Unique Local, Global)

Page 31: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 30

IPv6 Addressing

128-bit IPv6 Address

Subnet Identifier (64-bit) Interface Identifier (64-bit)

16-bit 16-bit 16-bit 16-bit 16-bit 16-bit 16-bit 16-bit

First few bits indicate type of address: link Local, global, etc

Next bits in top 64-bit section indicate Region, ISP, Site, etc

Subnets are always 64 bits in length (/64)

2^64

Last 64-bits are the individual device identifier

Page 32: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 31

Global Addresses

• Global addresses are globally routable. They are equivalent to public IPv4 addresses.

• Unlike link-local addresses, which are only valid within a single link, global addresses can be used to communicate across the IPv6 internet.

128-bit IPv6 Address

Subnet Identifier (64-bit) Interface Identifier (64-bit)

3 bits 61 bits 64 bits

001

Page 33: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 32

Link-Local Addresses

• FE80:• Always automatically configured• Required for Neighbor Discovery• The scope of the link local address is the local link.

128-bit IPv6 Address

Subnet Identifier (64-bit) Interface Identifier (64-bit)

10 bits 54 bits 64 bits

1111 1110 10

Page 34: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 33

Multicast Address

• Interface is listening for traffic on following multicast addresses:− The node-local scope all-nodes multicast address (FF01::1)− The link-local scope all-nodes multicast address (FF02::1)− The solicited-node address for each unicast address− The multicast addresses of joined groups(Davies, p. 62)

Page 35: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 34

DHCPv6

• DHCP is optional with IPv6 because of stateless address auto-configuration (SLAAC)

• Nodes do not have to request an IP address from a DHCP server because they can quickly auto-configure a unique IP address themselves.− Prefix Discovery: Discover the network prefix

Page 36: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 35

Scope IDs

• Used when node has multiple network interfaces (PC with Wi-Fi, Ethernet, etc.)

• If an outbound connection is to be made with a link local address, the specific interface that the connected device is on must be specified by the Scope ID of the interface.

• If you want to ping an address, you have to specify which interface the device should be on. This is done by using the scope ID.

Node w/ MulitpleInterfaces

1

2 3

? ?

?

Page 37: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 36

Agenda• General Overview of IPv6−Comparison of IPv6 to IPv4− Special Considerations for Embedded Devices−Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

Page 38: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 37

Interface Identifier details (Self assigned)

• 64-bit Interface Identifier can be assigned in several ways− Generated from the devices 48-bit MAC Address (Linux)

EUI-64 implementation using interface MAC address and flipping bit 7 MSB.− Randomly generated (Windows)

Similar setup as EUI-64 but insert pseudo random number; not MAC− Assigned via DHCPv6

• A Link Local address really only has to be unique on that specific subnet.− Whereas a Global IPv6 address must be unique.

Page 39: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 38

EUI-64 Link Local Address Generation

Implementation using interface MAC address and flipping bit 7 MSB

Page 40: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 39

Processor & Memory Requirements

• Any device that supports IPv4 can support IPv6 • MAC and PHY Layers are the same• Memory requirements of IPv6 network software stack is very similar

to IPv4• Data throughput is also similar

Application Software Requirements

• Upper layers and applications do not change

Page 41: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 40

Agenda• General Overview of IPv6−Comparison of IPv6 to IPv4−Special Considerations for Embedded Devices−Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

Page 42: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 41

ICMPv6

• Stateless Address Auto Configuration (ARP replacement)• Neighbor Discovery using solicitation calls to nodes and routers• Path MTU discovery – minimum path is 1280 bytes

Page 43: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 42

Stateless Address Auto Configuration (SLAAC)

• Link Local Address (LLA) already determined:

− Uses Link Local generated address with multicast to get Prefix and learn Layer 2 (Ethernet) addresses of local nodes.

•DAD ensure unique LLA on segment•Multicast used to get Ethernet addresses•RS for Network Prefix, PMTU, other.

Page 44: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 43

Neighbor Discovery using ICMPv6

• Used by Hosts for:− Address Resolution: Resolve link-layer address of neighbors

Using Multicast address with Neighbor Solicitation (NS) messageNeighbor will use message contents to unicast back Neighbor Advertisement (NA) (i.e. IPv6 and MAC returned)

− Duplicate Address Detection:Using Multicast address with Neighbor Solicitation messageIf no NA no conflict. If NA then need to try another LLA.

− Stateless Address Auto Configuration: Configure own IP Address− Router Discovery: Discover neighboring routers− Prefix Discovery: Discover the network prefix (like subnet mask in IPv4)− Parameter Discovery, Next-hop determination, neighbor unreachability

detection, duplicate address detection, redirect function

− Uses Link Local generated address with multicast to get Prefix and learn Layer 2 addresses of local nodes.

Page 45: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 44

Multicast Listener Discovery

• Provided:− MLDv1 provides all needed functionality required for joining and leaving

IPv6 multicast groups.− MLDv1 is compatible and can work in MLDv2 networks.− MLDv1, by feature set, is analog of IGMPv2 for IPv4 and it is provided

with RTCS.

• Note: − Many commercial certified IPv6 routers do not support MLDv2

Page 46: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 45

Agenda• General Overview of IPv6−Comparison of IPv6 to IPv4−Special Considerations for Embedded Devices−Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

Page 47: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 46

Testing and Certification

• https://www.ipv6ready.org/db/index.php/public/logo/02-C-001015/

• IPv6 Ready Logo Program is a conformance and interoperability testing program

The IPv6 Ready Logo Committee mission is to define the test specifications for IPv6 conformance and interoperability testing, to provide access to self-test tools and to deliver the IPv6 Ready Logo.

• The Key objectives and benefits of the IPv6 Ready Logo Program are to:

Verify protocol implementation and validate interoperability of IPv6 products.

• Provide access to free self-testing tools.• Provide IPv6 Ready Logo testing laboratories across the globe dedicated

to provide testing assistance or services.

Page 48: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 47

IPv6 Ready

• ipv6-core-protocols− https://www.ipv6ready.org/?page=documents&tag=ipv6-core-protocols

• NOTE: The IPv6 Core Interoperability test requires testing against 4 different Vendors with different IPv6 Stacks. The counter implementations must be 2 Routers and 2 Hosts.

Reference Link

Page 49: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 48

Agenda• General Overview of IPv6− Comparison of IPv6 to IPv4− Special Considerations for Embedded Devices− Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

Page 50: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 49

RTCS Dual Stack (IPv6&IPv4) capable

Page 51: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 50

IPv6 RTCS Supported Protocols with more to come

Page 52: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 51

Supported RFCs

• RTCS is compliant to:− RFC 2460 - IPv6 Specification− RFC 4861 - Neighbor Discovery for IPv6− RFC 4862 - IPv6 Stateless Address Auto Configuration− RFC 1981 - Path MTU Discovery for IPv6− RFC 4443 - ICMPv6

Page 53: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 52

Dual Stack

• RTCS has been architected to efficiently support both IPv4 & IPv6 network interfaces at the same time, thus allowing a device to operate in a mixed network – critical in the transition period between IPv4 and IPv6.

Page 54: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 53

Memory Requirements

• Typical footprint

Memory: IPv4 IPv6 IPv4 + Ipv6

ROM* 45k 44k 65k

RAM (Data) 2k 2k 2k

RAM (Heap)

IPv4 IPv6 IPv4 + IPv6RTCS Core 3956 5808 5994

ARP 2018 2018IPv4/IPv6 9814 14366 21596

ICMP/ICMPv6 2172 1792 3940TCP 13234 14008 16798UDP 2436 2620 4416

Sockets 2920 3204 3840DHCP 4310 4310

Other 3830 1892 2034Total 44690 43690 64946

* ROM Details

Page 55: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 54

MQX 4.1 RTCS TCP/IP Stack IPv6 Ready

New IPv6 add-on for purchase− IPv6 Ready (Phase-2) Core-Protocols Certified− Configure for single stack (IPv6) or dual stack (IPv4 + IPv6)− Supports stateless auto-configuration, network auto-discovery, and the

massive address extensibility of IPv6 − Supported protocols - IPv6, ICMPv6, ND, TCP/UDPv6, Sockets, SMTP

Client, HTTP Server, MLD Discover, FTP Server, FTP Client, & DNS− Protocols planned for future – DHCPv6, Telnet, TFTP, SNMP, PPP− Add IPv6 for about 21 KB of additional ROM code− Supports all MCU platforms supported by RTCS in MQX 4.1− Available for download at www.freescale.com/mqx/ipv6

Get ready for the worldwide transition to the next generation of the Internet (IPv6), but retain support for the Internet of today (IPv4)

Page 56: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 55

IPv6 Licensing

• One-time license fee required Per Customer Product, No royalties• Purchased at www.freescale.com/mqx/ipv6 as digital download • MQX Level 2 Support package required*

IPv6 add-on License Fee

MQX Level 2 Support Package (Covers all of MQX)

Total Cost Competition Estimate (RTOS with IPv6 + Support Contract)

DL-MQXIPV6-SR-PS DL-MQXLVL2-S or -P

$5,000$3,500

$3,000 (Standard 6-mo.)

$6,500 N/A

$5,000$3,500

$12,000(Premium 12-mo.)

$15,500 $30,000+

* Level 2 required for initial IPv6 purchase and continued support, and maintenance. (Level 2 support covers all of MQX Software, not just IPv6.)

** IPv6 beta customers – we are waiving the license fee for a single customer product

*** Not available through distribution channels at this time

30% off limited timeUse Coupon Code: MICKAVTN

Page 57: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 56

IPv6 Add-on Licensing – Additional Details

• Per Product/Project restrictions:− “Customer Project” means a specific customer product using Freescale

MQX in connection with a specified processor. If the Customer Project is a module that embeds into other products, it will be considered a single project if the same hardware and software is used within the modules.

(MQX Support User’s Guide)

• License Options− Single Product License – Available Now− Multi-product license – Coming Soon

Page 58: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 57

Software Licensing Model – Typical Commercial Model

Year 1 Year 2 Year 3

$$$SW License

Fee w/ 1-year Support

$ $

Yearly Support & Maintenance Fee

Yearly Support & Maintenance Fee

~20% ~20%

Page 59: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 58

Software Licensing Model – Freescale MQX RTOS

Year 1 Year 2 Year 3

MQX RTOSFree

SW License

$ $

…Commercial Support Available

Free Basic Support & ~Quarterly Updates

Commercial Support Available

$Commercial Support Available

Commercial support fee to cover commercial support costs

Page 60: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 59

Software Licensing Model – Freescale MQX IPv6

Year 1 Year 2 Year 3

MQX RTOSFree

SW License

$ $

…Commercial Support Required (for IPv6 Support & Updates)

Commercial Support Required (for IPv6 Support & Updates)

$Commercial Support Required

IPv6 License $

• Commercial add-on requires upgrade to commercial support if not done already.

• Support covers all of MQX RTOS software. • Support fee to cover support costs.

Page 61: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 60

IPv6 Purchase Process (Short Term)

1. Purchase an MQX Level 2 support package for your project− Visit www.freescale.com/mqx/support, click Buy/Specifications− See section 4 of Freescale MQX Support User’s Guide for registration

instructions2. Purchase the IPv6 license for your product− Visit www.freescale.com/mqx/ipv6/, click Buy/Specifications− Use coupon code* MICKAVTN to obtain 30% discount

3. Within 1 business day, you will receive an email with the link to download the IPv6 software

* IPv6 Beta Customers use a different coupon code for 100% discount on a single purchase. Contact us for the coupon code.

Page 62: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 61

Freescale MQX Level 2 SupportAccelerating MQX RTOS-based development projects

What are the benefits of MQX Level 2 Support?• Direct senior level support access• Specified response times• Support for software customizations• Troubleshooting support on custom hardware • Early access to software releases and bug fixes• Private support portal, telephone, & web conferencing supportWhen to consider upgrading to MQX Level 2 Support?• Before next MQX RTOS-based development project starts• Tight resources or schedule, or just to insure project efficiencyHow to get MQX Level 2 Support?• Packages available for purchase at www.freescale.com/mqx/support• See website for complete details

Page 63: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 62

Freescale MQX Support and Engineering ServicesLevel 1 Support Level 2 Support Engineering Services

Plan Overview Basic Standard Premium

Software development services.  On‐site 

support/training.  Cost based on project 

definition.  

Releases AvailableApprox. once a 

QuarterApprox. once a 

Quarter Early1Access to MQX Online Community / Online Training Yes Yes YesService Requests (SW running on FSL Eval HW only) Yes Yes YesReport bugs for fix in quarterly releases Yes Yes YesBSP customization support ‐ Yes YesPrivate Support Portal ‐ Yes YesAccess to Early Beta Releases 1 ‐ ‐ YesHot Fixes 2 ‐ Yes YesInitial Response Time 3 ‐ 2 business days 1 business dayMax Hours of Support Engineer's Time 4 ‐ 20 hours 100 hoursWeb Conferencing to debug issue 5 ‐ 4 hours 10 hoursPhone Support 5 ‐ Yes YesHands‐on Support of Customer‐Provided Hardware (shipped to Freescale Support) ‐ ‐ YesSupport Plan Term ‐ 6 Months 12 MonthsPrice Free $3,000  $12,000 Part Number ‐ DL‐MQXLVL2‐S DL‐MQXLVL2‐P

1 Early access to beta releases weeks/months before quarterly releases are typically available2 Access to bug fixes on issues you report immediately when available3 Amount of time to receive acknowledge of support request4 Any time support engineer spends including time preparing bug fixes. 5 Hours counted in Support Engineers Time

Page 64: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 63

Agenda• General Overview of IPv6− Comparison of IPv6 to IPv4− Special Considerations for Embedded Devices− Core Protocols of IPv6 − IPv6 Testing and Certification

• Features of MQX™ Real Time Communication Suite with new IPv6 extension− Supported Protocols− Dual Stack Capabilities− Memory Requirements− Cost and Support

• Example IPv6 Applications− Hands-on with Examples

Page 65: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 64

Example Applications Available

• All RTCS examples support both IPv6 and IPv4 examples.− Shell− HTTP Server− SNMP− Ethernet to Serial

Page 66: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 65

Session Summary

• You should now− Understand the basics of IPv6− See the simplicity of getting devices on IPv6 networks with MQX RTCS

with IPv6− Enable the migration of your products to IPv6 networks

• Where to get more information − www.freescale.com/mqx/ipv6− www.freescale.com/mqx− www.freescale.com/mqx/support

Page 67: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

External Use 66

Useful Resources on the web

• From “sixscape.com”− TCP/IP overview− IPv6− NetConf - Windows PC Utility application

• From CISCO− Overview of IPv6 – Excellent reading to give inherent understanding

• From “youtube.com”− Keith Barker – Great short videos with much detail− Anthony Sequeira – Good higher level videos− James P. Early, Ph. D. – Good information but long and slow

• From “ipv6now.com.au− IPv6 RFCs summary

Page 68: Hands-On Workshop: Transition to Internet Protocol Version ...Internet Protocol version 6 (IPv6) is designed to solve many of the problems of IPv4, including mobility, auto-configuration

TM

© 2014 Freescale Semiconductor, Inc. | External Use

www.Freescale.com