Testing Ipv6 Routers with the Neighbor Discovery Protocol
Total Page:16
File Type:pdf, Size:1020Kb
TESTING IPV6 ROUTERS WITH THE NEIGHBOR DISCOVERY PROTOCOL Jenny Koo B.A.Sc Electrical and Computer Engineering University of British Columbia, 1999 PROJECT SUBMllTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF ENGINEERING In the School of Engineering Science O Jenny Koo 2004 SIMON FRASER UNIVERSITY All rights reserved. This work may not be reproduced in whole or in part, by photocopy or other means, without permission of the author. APPROVAL Name: Jenny Koo Degree: Master of Engineering Title of Project: Testing IPv6 Routers with the Neighbor Discovery Protocol Examining Committee: Chair: Dr. Marek Syrzycki Professor in the School of Engineering Science Dr. Stephen Hardy Senior Supervisor Professor in the School of Engineering Science Dr. Craig Scratchley Supervisor Lecturer in the School of Engineering Science - Dr. Nicholas Malcolm Supervisor Project Manager at Agilent Technologies Date DefendedIApproved: 24 d OD4 SIMON FRASER UNIVERSITY PARTIAL COPYRIGHT LICENCE The author, whose copyright is declared on the title page of this work, has granted to Simon Fraser University the right to lend this thesis, project or extended essay to users of the Simon Fraser University Library, and to make partial or single copies only for such users or in response to a request from the library of any other university, or other educational institution, on its own behalf or for one of its users. The author has further granted permission to Simon Fraser University to keep or make a digital copy for use in its circulating collection. The author has further agreed that permission for multiple copying of this work for scholarly purposes may be granted by either the author or the Dean of Graduate Studies. It is understood that copying or publication of this work for financial gain shall not be allowed without the author's written permission. \ Permission for public performance, or limited permission for private scholarly use, of any multimedia materials forming part of this work, may have been granted by the author. This information may be found on the separately catalogued multimedia material and in the signed Partial Copyright Licence. The original Partial Copyright Licence attesting to these terms, and signed by this author, may be found in the original bound copy of this work, retained in the Simon Fraser University Archive. W. A. C. Bennett Library Simon Fraser University Burnaby, BC, Canada The Neighbor Discovery Protocol (NDP) is a fundamental component of Internet Protocol version 6 (IPv6) networks. An IPv6 network is made up of a collection of nodes, each of which is either a router or a host, connected via a physical network. NDP serves as the foundation that allows IPv6 to run transparently over any physical network. On a given network node, NDP functions as a mechanism for discovering the existence and identity of neighboring hosts and routers, for determining a neighbor's data link layer address given its IPv6 address, and for producing a unique IPv6 address based on the node's data link layer address. Because of the importance of the role NDP plays in IPv6 networks, testers of IPv6 routers should include the verification of NDP in their test plan. This report discusses the steps a tester needs to perform in order to verify the operation of NDP on an IPv6 router. In addition, this report also outlines the ways in which NDP can be used to facilitate the configuration of both testers and routers in setting up test scenarios, such as traffic generation and real-time measurements, which are not focused on NDP. A trolley of thank yous to Nick Malcolm for letting me work on the NDP module in the Agilent N2X application as a part of my MEng project, for closely supervising my work, and for giving me all your support during these busy months. You are the best manager in the world! A bucket of thank yous to Dr. Stephen Hardy and Dr. Craig Scratchley for agreeing to be my academic supervisors, and for looking over my outlines and abstracts to make sure that I was on the right track. I hope I didn't overflow your inboxes with all my emails. A sack of thank yous to Dr. Marek Syrzycki for agreeing to be the chair for my presentation. I hope I hadn't misspelled your name anywhere. A load of thank yous to Raj Pabla and Penny Simpson for helping me through the process and the forms for submitting my project, applying for graduation, etc. I hope I wasn't too big of a pest with all my questions, emails and phone calls. A world of thank yous to my family and friends for giving me all your support and for being there when I needed you. Now that school is coming to an end, I promised that I will get more sleep and be less grumpy. Okay, I will try anyways. TABLE OF CONTENTS Approval ........................................................................................................................ii ... Abstract ........................................................................................................................111 Acknowledgements...................................................................................................... iv Table of Contents ..........................................................................................................v .. List of Figures ..............................................................................................................I ... List of Tables ..............................................................................................................VIII List of Acronyms .........................................................................................................ix Introduction............................................................................................... 1 Overview of NDP ...................................................... ................................3 Goals of NDP .............................................................................................. 3 NDP Hosts and Routers .............................................................................. 4 NDP Messages and Addresses .................................................................. 4 Message Format .....................................................................................5 Message Addresses ................................................................................5 Message Types .......................................................................................8 Router and Prefix Discovery...................................................................... 10 Next-hop Determination .............................................................................11 Link Layer Address Resolution................................................................... 12 IP Address Autoconfiguration .....................................................................12 Other Features of NDP ..............................................................................13 Neighbor Unreachability Detection .........................................................13 Duplicate Address Detection ..................................................................16 Router Redirect ......................................................................................16 Current Status of NDP ...............................................................................17 Testing an IPv6 Router's NDP Implementation...................................... 18 Fundamentals of Protocol Testing ..............................................................18 Conformance Testing .............................................................................18 Scalability Testing ..................................................................................19 A Model of a NDP Tester ...........................................................................20 Goals of a Protocol Tester ......................................................................20 Static Representation of the Model......................................................... 23 Dynamic Representation of the Model ....................................................27 Test Scenarios ...........................................................................................30 Initial Connection. Router Discovery. Prefix Discovery and Address Autoconf iguration ....................................................................-31 Address Resolution. Neighbor Unreachability Detection and Duplicate Address Detection ..................................................................34 Next-hop Determination.......................................................................... 37 Router Redirect ......................................................................................40 3.4 Application of the Test Scenarios ...............................................................42 3.4.1 Conformance Tests ................................................................................42 3.4.2 Scalability Tests .....................................................................................43 3.5 Future Extensions to the Model ..................................................................44 Using NDP as a Test Configuration Tool ................................................ 46 Fundamentals of Performance Testing ......................................................46 Traffic Generation................................................................................... 47 Real-time Measurements .......................................................................47