
UNIVERSITY OF HAWAI"I LIBRARY A MULTI-HOMED GATEWAY FOR REDUNDANT INTERNET ACCESS A THESIS SUBMITTED TO THE GRADUATE DIVISION OF THE UNIVERSITY OF HAWAI'I IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN ELECTRICAL ENGINEERING August 2005 By KinHoTung Thesis Committee: E.J. Weldon, Jr. Chairperson Tep Dobry GalenSasaki ACKNOWLEDGEMENTS I would like to express my sincere appreciation to my advisor, Dr. Weldon, for providing me with advice and insights during my work on this thesis. In addition I would like to thank Dr. Tep Dobry and Dr. Galen Sakaki for taking the time to serve on my committee. Finally, I would like to thank Ed Nakamoto and Keith Oshiro ofSpirent Communications for providing the equipment that I needed to properly implement this project. 111 ABSTRACT The Internet is fast becoming the world's most important communication medium. It is used not only by large corporations, but also by small businesses and individual consumers. High speed broadband subscribers continue to increase each year as more customers depend on the Internet as a vital part oftheir everyday lives. As such, network availability and reliability are becoming a major concern. The reliability and availability ofthe network are largely dictated by "the last mile" connection between the customers and their Internet Service Providers (ISPs). This thesis focuses on making this last mile connection as reliable as possible by creating multiple links between the customer and the Internet. The device, called the multi-homed gateway allows users to connect to the Internet through multiple ISPs. In addition to increasing network availability and reliability, the multihomed gateway can provide improved performance both in terms oflatency and bandwidth. IV TABLE OF CONTENTS Acknowledgements iii Abstract iv List ofTables vii List ofFigures viii Chapter I- Introduction l 1.1 Background l 1.2 The multihomed gateway .4 1.3 Hardware platform 5 1.4 Software platform 7 1.5 Thesis overview 9 Chapter 2 - Overview ofthe Internet 12 2.1 Internet wiring 12 2.2 OSI model 14 2.3 Internet Routing 16 2.4 Address shortage and network address translation 16 2.5 A day in the life ofa packet.. 19 Chapter 3 - Inherent problems with consumer Internet services 21 3.1 Unreliable broadband availability 22 3.2 Reduced service quality due to loading 23 3.3 Inflexibility ofservice offering 25 Chapter 4 - Multihoming solution 27 4.1 Multihoming advantages 27 4.1.1 Channel redundancy 28 4.1.2 Better response time 28 4.1.3 Load balancing 28 4.1.4 Reduced cost 28 4.2 Multihomed gateway overview .29 4.3 Data granularity 30 4.4 Selecting a channel 31 4.4.1 Channel performance monitor .33 4.4.2 User traffic monitor. 37 4.4.3 Channel chooser 38 4.5 Network address translation (NAT) engine .39 4.6 Packet forwarder 49 Chapter 5 - Implementation ofmultihoming using a network processor 51 5.1 Packet processing with the Intel 2800 network processor 51 5.1.1 Intel 2800 network processor block diagram .52 5.1.2 Setup and boot ofthe Intel 2800 network processor 55 5.1.3 Flow ofa typical packet.. 58 5.2 Implementation ofthe multihomed gateway on the Intel 2800 63 5.3 Packet processing logic 65 5.3.1 Dispatch loop 65 5.3.2 Channel selection 68 v 5.3.3 Packet processing 74 5.3.4 Statistics update 77 Chapter 6 - Functional test ofthe multihomed gateway 78 6.1 Test setup 78 6.1.1 User PC 79 6.1.2 Boot and debug manager 80 6.1.3 Channel impairment device 81 6.2 Multihomed gateway operational test 83 6.3 Performance ofthe multihomed gateway using the capacity estimation algorithm results 85 6.3.1 Results under externally loaded condition 87 6.3.2 Results under channel outage condition 90 6.3.3 Results under internally loaded condition 92 6.3.4 Results under unloaded condition 92 6.4 Summary oftest results 94 Chapter 7 - Conclusions & suggestions for future work 96 7.1 Advantages ofa network processor vs. FPGA 96 7.2 Applications for the multihomed gateway 97 7.3 Suggestions for future work 97 Appendix A- Intel IXP2800 Network Processor 99 A.l Embedded Xscale Core l 01 A.2 Microengines 102 A.3 DRAM I SRAM controllers 105 A.4 SHaC 107 A.5 Media and switch fabric interface 108 Appendix B- The Intel IXDP 2800 Advanced Development System lll B.l IXDP 2800 Overview 111 B.2 IXBM 2800 dual network processor base card 112 B.3 IXDP2810 mezzanine card 114 B.4 Intel IXA software development kit.. 115 Appendix C- Channel selection using other methods 118 C.l Balanced load 118 C.2 Random session placement 119 Appendix D- Source code 120 D.l Network processor mirocode 120 D.2 Xscale C code 132 VI LIST OF TABLES Table Page 2.1 The seven layers of the OSI mode 15 4.1 Packet identification used by NAT .42 5.1 ARP frame fields 70 5.2 RFC 1624 equation for checksum calculation 76 6.1 External multihomed gateway services 80 VB LIST OF FIGURES Figures 2.1 Link or node connections in a network 13 2.2 Network routing 16 2.3 Typical network topology in a small business environment.. 18 3.1 ISP service to customers 22 3.2 24hour ping response time (sample 1) 25 3.3 24hour ping response time (sample 2) 25 4.1 Multihomed vs. single-homed node 27 4.2 Multihomed gateway block diagram 29 4.3 Channel chooser block diagram .32 4.4 Maximum data rate measurement.. .35 4.5 Service type field in the IP header 38 4.6 Network configuration with the multihomed gateway .40 4.7 Multihomed gateway connection to the Internet .43 4.8 DNAT multihomed gateway configuration .45 4.9 DNAT flow chart 46 4.10 SNAT multihomed gateway configuration .47 4.11 SNAT flow chart 48 5.1 Intel 2800 network processor block diagram 52 5.2 Packet flow through the network processor. 59 5.3 Hyper task chaining of microengines 61 V111 5.4 Pool of threads of microengines 62 5.5 HTC and POTs in a typical system 63 5.6 Dispatch loop flow diagram 65 5.7 Channel selection flow diagram 68 5.8 ARP frame 69 5.9 Packet processing flow diagram 74 5.10 Statistics update flow diagram 77 6.1 Functional test setup diagram 79 6.2 Channell jnettop screen shot 84 6.3 Channel 2 jnettop screen shot 85 6.4 Traffic during externally loaded condition 87 6.5 Externally loaded condition debug statistics 89 6.6 Channel outage condition debug statistics 91 6.7 Traffic during internally loaded condition 92 6.8 Unloaded condition 93 A.l Intel IXP2800 network processor 100 A.2 Embedded Xscale core block diagram 101 A.3 Microengine block diagram 103 A.4 DRAM/SRAM controller block diagram 106 A.5 SHaC block diagram 107 A.6 MSF receive block diagram 109 A.7 MSF transmit block diagram 109 B.l Intel IXDP 2800 development system 111 IX B.2 Intel IXBM 2800 dual network processor base card 112 B.3 Intel IXBM 2800 block diagram 113 B.4 Intel IXDP 2810 mezzanine card 114 B.5 Fiber/copper SFP modules 115 B.6 Intel developer workbench IDE 116 B.7 Intel developer workbench transactor 116 B. 8 Intel developer workbench debugger.. 117 x Chapter 1 Introduction The Internet has grown to be an integral part ofeveryday life. The different services that the Internet provides allow people to communicate instantaneously. The flow ofinformation increases each year and as more people are connected, the data traffic will continue to grow. The Internet spawned such tools as e-mail, the World Wide Web, instant messaging and video conferencing. As these tools become more integrated into our lives, we start to take them for granted. We expect them to work well, all the time. Unfortunately, the home and small-business user must be content with services that are unreliable compared with services such as the telephone service. With the Internet becoming the primary communication tool, reliability and quality ofservice is quickly becoming a significant issue. 1.1 Background As we expect more from our Internet experience, we sometimes forget the cost of that experience. Dynamic web pages, animation, video all require massive amounts of bandwidth. During the early days ofthe web, websites were mostly text centric. Some had a few pictures; however, most ofthe content delivered was text. It was very unusual for a webpage to be larger than lOOK bytes. 1 Today's websites have colorful advertisements, pictures and animations. For example, the front page ofmsnbc.com is slightly under 500K bytes in size. Using that site as a sample, it would take roughly 70 seconds, or over a minute to download this page using a 56K modem. In a world where we are accustomed to instant communication, a minute is much too long to wait. To make matters worse, future technologies are expected to increase the bandwidth requirements. Dial-up connections will not be an option, even by today's standards. Broadband Internet access is therefore essential to fully utilize the Internet. The first widely accepted broadband access was the cable modem, offered by the customer's local cable company around 1997. Shortly after the introduction of broadband Internet access by cable modems, the telephone industry introduced its own broadband access method using Digital Subscriber Loop (DSL). Prior to the cable modem, ISDN was the broadband service ofchoice. However, due to the high cost and difficult setup, ISDN only served large businesses that demanded high-speed access at any cost.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages143 Page
-
File Size-