Lecture 9: DHCP and IPv6

Similar documents
Dynamic Host Configuration Protocol (DHCP) 02 NAT and DHCP Tópicos Avançados de Redes

HOST AUTO CONFIGURATION (BOOTP, DHCP)

Introduction to IP v6

Application Protocols for TCP/IP Administration

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Network layer: Overview. Network layer functions IP Routing and forwarding

Internet Protocol Version 6 (IPv6)

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

How To Write A Boot(Ing) Protocol On A Microsoft Ipnet (Net) (Netnet) On A Network (Ipnet) With A Network Address) (Ip Address) On An Ip Address (Ipaddress) On Your Ip

A DHCP Primer. Dario Laverde, 2002 Dario Laverde

8.2 The Internet Protocol

IP - The Internet Protocol

Internet Protocol: IP packet headers. vendredi 18 octobre 13

DHCP, ICMP, IPv6. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley DHCP. DHCP UDP IP Eth Phy

Computer Networks. Lecture 3: IP Protocol. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Types of IPv4 addresses in Internet

Scaling the Network: Subnetting and Other Protocols. Networking CS 3470, Section 1

IP Addressing Introductory material.

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Auxiliary Protocols

Address Resolution Protocol (ARP), Reverse ARP, Internet Protocol (IP)

IPv6 Fundamentals: A Straightforward Approach

Transport and Network Layer

IPv6 Associated Protocols

Neighbour Discovery in IPv6

Technology Brief IPv6 White Paper.

RARP: Reverse Address Resolution Protocol

Wireless Networks: Network Protocols/Mobile IP

IP Addressing. IP Addresses. Introductory material.

Chapter 4 Network Layer

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

Ethernet. Ethernet. Network Devices

Internet Control Protocols Reading: Chapter 3

IP Next Generation (IPv6)

Network Layer: Address Mapping, Error Reporting, and Multicasting

IPv6 Fundamentals Ch t ap 1 er I : ntroducti ti t on I o P IPv6 Copyright Cisco Academy Yannis Xydas

IP addressing and forwarding Network layer

This tutorial will help you in understanding IPv4 and its associated terminologies along with appropriate references and examples.

More Internet Support Protocols

- IPv4 Addressing and Subnetting -

IP address format: Dotted decimal notation:

Internetworking. Problem: There is more than one network (heterogeneity & scale)

IP Address Classes (Some are Obsolete) Computer Networking. Important Concepts. Subnetting Lecture 8 IP Addressing & Packets

CloudEngine Series Switches. IPv6 Technical White Paper. Issue 01 Date HUAWEI TECHNOLOGIES CO., LTD.

IP Addressing A Simplified Tutorial

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

Subnetting,Supernetting, VLSM & CIDR

CIRA s experience in deploying IPv6

Internet Addresses (You should read Chapter 4 in Forouzan)

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Technical Support Information Belkin internal use only

IPv6 Addressing. Awareness Objective. IPv6 Address Format & Basic Rules. Understanding the IPv6 Address Components

Mobile IP. Bheemarjuna Reddy Tamma IIT Hyderabad. Source: Slides of Charlie Perkins and Geert Heijenk on Mobile IP

Procedure: You can find the problem sheet on Drive D: of the lab PCs. 1. IP address for this host computer 2. Subnet mask 3. Default gateway address

ProCurve Networking IPv6 The Next Generation of Networking

Chapter 9. IP Secure

Lecture Computer Networks

CS 43: Computer Networks IP. Kevin Webb Swarthmore College November 5, 2013

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

Network Layer: and Multicasting Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Dedication Preface 1. The Age of IPv6 1.1 INTRODUCTION 1.2 PROTOCOL STACK 1.3 CONCLUSIONS 2. Protocol Architecture 2.1 INTRODUCTION 2.

Internet Protocol Address

We Are HERE! Subne\ng

IPv6 Addressing. How is an IPv6 address represented. Classifications of IPv6 addresses Reserved Multicast addresses. represented in Hexadecimal

IP Routing Features. Contents

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

IP Next Generation (IPv6)

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

IPv6 SECURITY. May The Government of the Hong Kong Special Administrative Region

Future Internet Technologies

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

04 Internet Protocol (IP)

How To Plan Out Your Own Version Of Hpl (Dhcp) On A Network With A Network (Dns) On Your Network (Dhpl) On An Ipad Or Ipad On A Pc Or Ipa On A Server On A

Review: Lecture 1 - Internet History

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Lecture 8. IP Fundamentals

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Learn About Differences in Addressing Between IPv4 and IPv6

: Interconnecting Cisco Networking Devices Part 1 v2.0 (ICND1)

NETWORK LAYER/INTERNET PROTOCOLS

Telematics. 9th Tutorial - IP Model, IPv6, Routing

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

Overview. Lecture 16: IP variations: IPv6, multicast, anycast. I think we have a problem. IPv6. IPv6 Key Features

Internetworking and Internet-1. Global Addresses

Recent advances in IPv6 insecurities Marc van Hauser Heuse Deepsec 2010, Vienna Marc Heuse

Internetworking and IP Address

2. IP Networks, IP Hosts and IP Ports

Network Security TCP/IP Refresher

ICS 351: Today's plan

Internet Protocols Fall Lectures 7-8 Andreas Terzis

About Me. Work at Jumping Bean. Developer & Trainer Contact Info: mark@jumpingbean.co.za

ACHILLES CERTIFICATION. SIS Module SLS 1508

IP Subnetting and Addressing

Firewalls und IPv6 worauf Sie achten müssen!

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

Internet Protocols. Addressing & Services. Updated:

IPv6 Protocols & Standards. ISP/IXP Workshops

Transcription:

Internetworking Lecture 9: DHCP and IPv6 Literature: Forouzan, TCP/IP Protocol Suite: Ch 16, 27

DHCP

Autoconfiguration Need a way to simply connect a computer to a new network No manual configuration But each computer attached to a TCP/IP network must know the following: Its IP address and subnet mask The IP address of a router (default gateway) The IP address of a name server Extra info: default TTL, time servers, etc. We have talked about RARP, to translate MAC IP addr But, RARP needs direct access to the (ethernet) hardware It only contains an IP address Requires fixed hw addresses BOOTP and DHCP solve these problems. Client/Server architecture UDP/IP

BOOTP Bootstrap Protocol BOOTP (RFC 951) is a lot more powerful than RARP Client/Server Protocol Designed to provide the previously mentioned pieces of information (and more) BOOTP sends requests/replies over UDP Easy to write a user space server Client does not need a full TCP/IP stack to run BOOTP But BOOTP is not dynamic uses a static binding between MAC and IP addresses

DHCP (RFC 1531) DHCP Dynamic Host Configuration Protocol DHCP provides dynamic configuration Client can get a temporary address, and move from network to network DHCP is backward compatible with BOOTP BOOTP client can request a static configuration from a DHCP server

DHCP Operation 1. DHCP server uses UDP port no 67 and waits for client 2. Client sends requests encapsulated in UDP using: dst IP address 255.255.255.255 dst port no 67 src IP address 0.0.0.0 src port no 68 3. Server replies with either broadcast or unicast message using UDP destination port 68 The unicast IP address of the client can be used in server s reply message if client s IP address has been manually added in the ARP table Note that the server will know the client s MAC address

DHCP simplified example Client 68 Broadcast 67 Server UDP Request UDP 68 UDP Reply 67 UDP IP header IP datagram UDP datagram UDP header DHCP request/reply 20 bytes 8 bytes 300 bytes

Well-known DHCP Port Numbers Note that DHCP does not use ephemeral port number at the client side. The reply from the server can be broadcast Broadcast response will reach all hosts on the subnet It is considered bad manner to broadcast to a random port number What if two clients are using DHCP simultaneously? The Transaction ID will help recognizing the reply message Transaction ID is chosen randomly

Relay Agent A relay agent (proxy) is used so a DHCP server can serve several subnets A relay agent is a router that sends local requests to a remote server, and relays replies back to the subnet. Client 68 UDP Broadcast Request 67 UDP Relay agent Server 68 UDP Reply 67 UDP

DHCP Message Header 0 78 15 16 23 24 32 Operation Code Hardware Type Hardware Length Hop Count Transaction ID Number of Seconds B Unused Client IP Address Your IP Address Server IP Address Gateway IP Address Client Hardware Address (16 bytes) Server Name (64 bytes) Boot File Name (128 bytes) Options (variable)

DHCP Message fields Opcode: Request (1), Reply (2) Hardware type: 1 for Ehernet (cf ARP) Hardware address len: 6 for Ethernet Hop Count +1 for each relay forwarder (proxy) Transaction ID set by client to identify session B-flag forced broadcast reply # seconds time since boottime of client client IP address If client knows its address your IP address Client address set by server server IP address Server address filled in by server gateway IP address Proxy server address client hardware address Set by client (same as SA in eth header) server hostname Set by server boot filename Set by server for bootstrapping options Variable length (up to 312 bytes)

DHCP Options and message types Lots of semantics implemented in the DHCP options field or Vendor-specific field Uses TLV : Type-Length-Value Subnetmask type length value Address of routers, nameservers, timeservers, hostname, etc. Message type examples DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPACK DHCPNACK DHCPRELEASE

DHCP Initialization First discover a server, then request address lease Client Server 68 67 DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPACK

DHCP Expiration After 50% of lease, client need to renew If server NACKs, client needs to start over immediately (shown below) If server does not respond, client continues until lease expires Client Server 68 67 DHCPREQUEST DHCPREQUEST DHCPNACK DHCPRELEASE

DHCP Client Message type option specifies DHCP Message DHCP client runs in user space This transition is missing in Forouzan! DHCPNACK The McGraw-Hill Companies, Inc., 2000

DHCP s Importance Allows reuse of address, which avoids having to tie up addresses for systems which are not currently connected to the Internet Avoids user configuration of IP address (avoids mistakes and effort) Allows recycling of an IP address when devices are scrapped

IPv6 and ICMPv6 The Next Generation

IPv6 Changes since IPv4 was developed (mid 70 s) Provider market has changed dramatically Immense increase in user and traffic on the Internet Rapid technology advancement Bandwidth increase from kb/s to Tb/s IPv4 issues Too few addresses (though only 3-7% of address space used) Too large routing tables To address these issuees IETF has standardized IPv6 IPv6 should keep most of the characteristics of IPv4 (good design) Changing the address fields is the big thing with IPv6 While modifying the header, improvements have been introduced

IPv6 vs IPv4 Changes in IPv6 compared to IPv4 128 bit addresses extended address hierarchy simplified header simpler and better support for options possible to extend the protocol support for autoconfiguration (plug-and-play) support for QoS treatment host mobility security provider selection no fragmentation in routers

Fixed format headers IPv6 Simplifications Use extension headers instead of options Remove header checksum Rely on link layer and higher layers to check integrity of data Remove hop-by-hop segmentation Fragmentation only by sender due to path MTU discovery

IPv6 Header Format 0 15 16 31 4-bit Version 8-bit Class 20-bit Flow Label 16-bit Payload Length 8-bit Next Header 128-bit Source Address 8-bit Hop Limit 40 bytes 128-bit Destination Address Version Only field identical to IPv4. Code is 6 in IPv6 Class New field. Revised concept of priority bits. Facilitates handling of real-time traffic. Flow Label New field. To distinguish packets requiring the same treatment. Payload Length Replaces length field in IPv4. Gives length of data following IPv6 header Next Header Replaces protocol field in IPv4. Extension headers can be used. Hop Limit Replaces TTL field in IPv4. Hop limit more accurately reflects the use of TTL. Src Address Revised source address field. 128 bits in IPv6 vs 32 bits in IPv4. Dst Address Revised destination address field. 128 bits in IPv6 vs 32 bits in IPv4.

IPv4 vs IPv6 Header 1. Header length removed 2. ToS Class + Flow label 3. Total length Payload Length 4. Identification, flags and offset are removed Fragmentation extension header 5. TTL Hop limit 6. Protocol Next Header 7. Header checksum removed 8. Options Extension headers

IPv6 Addresses An IPv6 unicast address identifies an interface connected to an IP subnet (as is the case in IPv4) One big difference between IPv6 and IPv4 is that IPv6 routinely allows each interface to be identified by several addresses facilitates management IPv6 has three address categories: unicast - identifies exactly one interface multicast - identifies a group; packets get delivered to all members of the group anycast - identifies a group; packets normally get delivered to nearest member of the group 128 bits results in 2 128 addresses Distributed over the Earth: 665,570,793,348,866,943,898,599/m 2 Pessimistic estimate with hierarchies: ~1,564 addresses/m 2

IPv6 address Colon hexadecimal notation (eight 16 bit hexadecimal integers) The McGraw-Hill Companies, Inc., 2000

Address abbreviations and CIDR Leading zeros may be oppressed FDEC:BA98:0074:3210:000F:BBFF:0000:FFFF FDEC:BA98:74:3210:F:BBFF:0:FFFF Zero compression: one of a series of zeros may be replaced by :: But only once FDEC:0:0:0:0:BBFF:0:FFFF FDEC::BBFF:0:FFFF CIDR notation to specify the first N bits of an address FDEC:0:0:0:0:BBFF:0:FFFF/60

Initial Address Allocation (Oct 2002) Prefix Fraction of space Allocation 0000 0000 1/256 Unassigned (some address formats) 0000 0001 1/256 Unassigned 0000 001 1/128 NSAP allocation 0000 01 1/64 Unassigned 0000 1 1/32 Unassigned 0001 1/16 Unassigned 001 1/8 Global Unicast Addresses 010 1/8 Unassigned 011 1/8 Unassigned 100 1/8 Unassigned 101 1/8 Unassigned 110 1/8 Unassigned 1110 1/16 Unassigned 1111 0 1/32 Unassigned 1111 10 1/64 Unassigned 1111 110 1/128 Unassigned 1111 1110 0 1/512 Unassigned 1111 1110 10 1/1024 Link Local Unicast Addresses 1111 1110 11 1/1024 Site Local Unicast Addresses 1111 1111 1/256 Multicast Addresses

General Unicast Addresses General format for IPv6 global unicast addresses: Global Routing Prefix typically hierarchically structured value assigned to a site (cluster of subnets/links) Subnet ID identifier of a link within the site Interface ID Global Routing Prefix Subnet ID Interface ID n bits m bits 128-n-m bits if prefix starts with binary 000: no constraint on Interface ID structure otherwise: a globally unique EUI-64 address, (can be derived from 48-bit Ethernet address)

Global Unicast Addresses (001 b ) 48 bits MAC addr Global Routing Prefix Subnet ID Interface ID n bits 64-n bits 64 bits 001 b prefix 64 bit network-id (global prefix typically /32) 64 bit interface-id MAC-derived Interface ID Globally unique EUI-64 address, Derived from 48-bit IEEE 802 address Insert FF:FF in the middle two bytes. L3 L2 address resolution automatic

Privacy Extensions RFC 3041 MAC-derived interface-ids is an easy way to ensure unique addresses And get rid of L2/L3 address resolution But, you know many things about the origin of the packet IEEE 802 addresses have encoded data The identity and vendor of the interface card You can derive which equipment you use E.g., exploit bugs in that equipment You can track the node when netid is changed (dhcp/mobile IP) Mac-derived interface ids Randomly assigned interface-id Changes over time Protects users You need to make L2/L3 address resolution

Special Address Formats The following special addresses are allocated from prefix 0000 0000: Unspecified Address (0:0:0:0:0:0:0:0:0) only used as source address during bootstrap by a computer that has not yet learned its address Loopback Address (0:0:0:0:0:0:0:0:1) used for testing software (compare with IPv4 loopback address 127.0.0.1) IPv6 Addresses with Embedded IPv4 Addresses Needed during transition from IPv4 to IPv6 (checksum calculation unaffected) 0000...0000 0000 IPv4 Address 0000...0000 FFFF IPv4 Address 80 bits 16 bits 32 bits 0000 IPv4-compatible IPv6 address: to dynamically tunnel IPv6 packets over IPv4 routing infrastructure FFFF IPv4-mapped IPv6 address: to represent the address of IPv4 nodes as IPv6 addresses

Link-local unicast address Link-Local addresses - for use on a single link For purposes such as automatic address configuration, neighbour discovery, isolated network Routers do not forward packets using link-local addresses 1111111010 0000...0000 Interface ID 10 bits 54 bits 64 bits

Site-local unicast address Site-local addresses for use on a single site For purposes such as private or nonroutable addressing Routers do not forward site-local addresses outside the site Now obsolete 1111111011 Subnet ID Interface ID 10 bits 54 bits 64 bits

Multicast Addresses Permanent: assigned by IANA Scope Example: assume NTP servers have a group ID of 101: FF02::101 means all NTP servers on the same link as the sender FF05::101 means all NTP servers in the same site as the sender FF0E::101 means all NTP servers in the Internet The McGraw-Hill Companies, Inc., 2000

Predefined Multicast Addresses Some predefined mcast addresses: All nodes multicast FF01::1 (interface-local) FF02::1 (link-local) In IPv4 224.0.0.1 is used All routers multicast FF01::2 (interface-local) FF02::2 (link-local) FF05::2 (site-local) In IPv4 224.0.0.2 is used

Anycast Addresses Sending a packet to a generic address to get a specific service from the nearest instance. This puts the burden of determining which instance to deliver it to on the routing system. According to IPv6 Addressing Architecture Draft An anycast address is an address assigned to more than one interface (typically different nodes) Anycast addresses are allocated from the unicast address space Nodes must be explicitly configured to know an address is an anycast address Expected use: identify the set of routers belonging to a service provider identify the set of routers providing an entry into a particular routing domain Restrictions (until more experience has been gained): An anycast address must not be used as source address of an IPv6 packet An anycast address must not be assigned to an IPv6 host, only to an IPv6 router

Current IPv6 address allocation IANA + Regional Internet Registries (RIR) only allocates 001 2 addresses Currently (2003) 480 prefixes allocated 94% of these prefixes are /32. From current 6bone BGP routing table statistics, it can be noted that only 2% of the prefixes are longer than /48 [7].

Extension Headers To give more functionality to IP, extension headers have been introduced in IPv6 Several of the IPv6 extension headers are options in IPv4 Extension headers are placed between the IPv6 base header and the transport level header (TCP/UDP) IPv6 Header, Next = TCP TCP Header + Data IPv6 Header, Next = Route Routing Header, Next = TCP TCP Header + Data

Extension headers are linked Next headers come in a linked list Can be hard to parse: need an iterative process The McGraw-Hill Companies, Inc., 2000

Extension header types Hop-by-hop options header Routing header Extension Headers Fragment header Authentication header Encapsulated security payload header Destination options header

Hop-by-hop Options header Extension Headers TLV coded options processed by every hop along the path Jumbo payload option for pkt > 65535 bytes (RFC 2675) Router alert option (RFC 2711) Fragment header Only source can fragment packets in IPv6 Source must use Path MTU Discovery (RFC 1981) or send max 536 bytes payload Fragmentation information Fragmentation offset shifted (as in IPv4) Fragmentation ID is 32 bits (16 bits in IPv4) No DF flag (present in IPv4, but not needed in IPv6)

Routing header Extension headers, cont d Strict or loose source routing Similar to the IPv4 Source route and Record route options Authentication header (IPSEC) to validate the message sender and ensure integrity of data Encapsulated Security Payload header (IPSEC) to provide confidentiality and guard against eavesdropping Destination Options header TLV coded options processed by destination only

Autoconfiguration (Plug-and-Play) Address resolution ICMP has been revised along with the development of IPv4 IPv6 IPv6 does not use ARP but a neighbour detection scheme based on ICMPv6 Stateful configuration (managed) Flag in router advertisement tells whether to rely on autoconfiguration or to use conventional managed configuration (DHCP) Stateless autoconfiguration / Serverless

Stateless autoconfiguration Use link-local address and interface ID Hosts join all-nodes mcast address (FF02::1) Hosts communicate to routers using all-routers mcast address (FF02::2) ICMPv6 router solicitation sent by host to request additional information ICMPv6 router advertisement sent by router to inform host about prefixes for site and global addresses

Real-Time Support and Flows 8-bit Class 20-bit Flow ID Flow ID field: used by a source to label sequences of packets for which it requests special handling by the IPv6 routers Class field: available for use by originating nodes and/or forwarding routers to identify and distinguish between different classes or priorities of IPv6 packets The use of these fields is still experimental, and subject to change as the requirements become clearer Flow ID assigned to a flow by the flow s source node All packets belonging to the same flow must be sent with the same src addr, dst addr, and flow label RSVP or other mechanism needed for resource reservation Real-time data transfers require protocols such as RTP in addition to IPv6

Network Layer Comparison - v4 vs v6 ICMPv4 has been modified to be more suitable for IPv6, and thus updated to ICMPv6 ARP and IGMP in version 4 are now part of ICMPv6 RARP has been dropped due to limited use (DHCP does the job of RARP) As in ICMPv4, ICMPv6 messages are divided into 2 categories: Error-reporting (somewhat different messages in v6 vs v4, see following slide) Query (rather different messages in v6 vs v4, see following slide) The McGraw-Hill Companies, Inc., 2000

ICMPv4 vs ICMPv6 Error Report Message Type Destination unreachable Source quench Packet too big Time exceeded Parameter problem Redirection Ver 4 Yes Yes No Yes Yes Yes Ver 6 Yes No Yes Yes Yes Yes Query Message Type Echo request and reply Timestamp request and reply Address mask request and reply Router solicitation and advertisement Neighbour solicitation and advertisement Group membership Ver 4 Yes Yes Yes Yes ARP IGMP Ver 6 Yes No No Yes Yes Yes

Transition from IPv4 to IPv6 Because of the large number of systems on the Internet, the transition from IPv4 to IPv6 cannot happen suddenly Transition should be smooth to prevent problems Three transition strategies have been devised by IETF Transition Strategies Dual Stack Tunneling Header Translation

Dual Stack All hosts have dual stack of protocols until all of the Internet runs IPv6 To determine which version to use, the source host queries the DNS The McGraw-Hill Companies, Inc., 2000

Transition from IPv4 to IPv6 IPv4 Internet IPv6 tunnel Tunnel appear as a virtual link between IPv6 nodes Encapsulation of IPv6 packets in IPv4 20 bytes 40 bytes IPv4 header IPv6 header IPv6 payload

IPv6 Summary IPv6 has: 128-bit address space revised header format new options allowance for extension support for special handling of packet flows increased security measures IPv6 uses hexadecimal colon notation with abbreviation methods IPv6 has three address types: unicast, anycast, and multicast IPv4, ICMPv4, ARP, RARP, and IGMP replaced with IPv6 and ICMPv6 IPv4 to IPv6 transition strategies are based on dual-stack and tunneling