LSMAC and LSNAT: Two Approaches for Cluster-based Scalable Web Servers
|
|
- Horace Sims
- 6 years ago
- Views:
Transcription
1 1 LSMAC and LSNAT: Two Approaches for Cluster-based Scalable Web Servers Xuehong Gan a,1, Trevor Schroeder b, Steve Goddard b, and Byrav Ramamurthy b a Microsoft Corporation b Department of Computer Science and Engineering One Microsoft Way University of Nebraska Lincoln Redmond, WA 98052, U.S.A. Lincoln, NE 68588, U.S.A. xuehongg@microsoft.com {tschroed,goddard,byrav}@cse.unl.edu Abstract Server responsiveness and scalability are more important than ever in today s client/server dominated network environments. Recently, researchers have begun to consider cluster-based computers using commodity hardware as an alternative to expensive specialized hardware for building scalable Web servers. In this paper, we present performance results comparing two cluster-based Web servers based on different server infrastructures: MAC-based dispatching (LSMAC) and IP-based dispatching (LSNAT). Both cluster-based server systems were implemented as application-space programs running on commodity hardware. We point out the advantages and disadvantages of both systems. We also identify when servers should be clustered and when clustering will not improve performance. I. INTRODUCTION More and more companies have turned to the World Wide Web as an alternative way to provide channels for software distribution, online customer service, and business transactions. The function performed by the Web server is critical to a company s business. Successful companies will need to handle millions of hits on their server as well as handle millions of dollars in transactions per day. Server overload is frustrating to the customers, and harmful to the companies. For many companies, the first choice to improve Web service is simply to upgrade the server to a larger, faster machine. While this strategy relieves short-term pressures, many companies find that they are repeatedly increasing the size and power of the server to cope with the demand for their services. What those companies need for their Web sites is incremental growth and massive scalability the flexibility to grow with the demands of the business without incurring a large expense. One such solution is using a cluster-based server. Clustering low-cost computer systems is a cheap alternative to upgrading a single highend Web server with faster hardware. In the usual case (i.e., a non-clustered server), there is only one Web server serving the requests addressed to one hostname or Internet Protocol (IP) address. With a cluster-based server, several back-end Web servers cooperatively serve the requests addressed to the hostname or IP address corresponding to the company s Web site. All of these servers provide the same content. The content is either replicated on each machine s local disk or shared on a network file system. Each request destined for that hostname or IP address will be distributed, based on load-sharing algorithms, to one back-end server within the cluster and served by that server. The distribution is realized by either a software module running on a common operating system 1 The work was done when the author was at the University of Nebraska. or by a special-purpose hardware device plugged into the network. In either case, we refer to this entity as the dispatcher. Busy sites such as Excite, Inc. depend heavily on clustering technologies to handle a large number of requests [1]. We implemented and compared two different cluster-based Web servers using two different clustering technologies. The first is LSMAC, in which the dispatcher forwards packets by controlling Medium Access Control (MAC) addresses. The second is LSNAT, in which the dispatcher distributes packets by modifying IP addresses. We have implemented, for the first time, both methods in application space and they achieve comparable performance at a fraction of the cost of existing products. The rest of this paper is organized as follows. We first discuss related work in Section 2, and then describe our implementations in Section 3. Section 4 describes how we evaluated our systems and presents the results. We present our conclusions and describe future work in Section 5. II. PREVIOUS WORK Thanks to the widespread use of the World Wide Web, improving Web performance has been an important issue among researchers, Web server vendors, Web site administrators, and Web-related software developers. Web server clustering has proved to be effective in improving performance. One particular reason for this is its scalability. The administrators can easily add or remove servers according to business demands. Web server clustering technologies, such as Round Robin Domain Name Service (RR-DNS) and Single-IP-Image, require no changes on the client side. We discuss each of these techniques below. A. Round Robin DNS Early implementations of the cluster-based server concept used the Round Robin Domain Name Service. In RR-DNS, one of a set of server IP addresses will be returned with each DNS request. The return record sequence is circular-shifted by one for each response in a round robin fashion. RR-DNS is the most commonly used method mainly due to its simplicity and low cost. No additional software or hardware is needed. However, there are many drawbacks in using the RR-DNS technique for clustering servers. If a back-end server is taken off-line and the DNS record modified to reflect this, clients may still make requests for the old back-end server s IP address for several minutes because that name to IP mapping is cached by a local DNS
2 2 server or the client itself. B. Single-IP-Image In contrast to the multiple IP addresses in RR-DNS, methods for presenting a single IP image to clients have been sought and developed over the years. These methods work by publishing one IP address (cluster address) in DNS for clients to use to access the cluster. Each request reaching the cluster using the cluster address is distributed by the dispatcher to one of backend servers. The methods differ in the way they forward packets to a back-end server. Currently there are two major schemes: layer two dispatching and layer three dispatching. In the layer two approach, the dispatcher directly controls the MAC addresses of the frames carrying the request packets and then forwards the frames over a local area network (LAN). All servers in the cluster share the cluster address as a secondary IP address. The TCP/IP stack of the back-end server, which receives the forwarded packets, will handle the packets just as a normal network operation since its secondary IP address is the same as the destination IP address in the packets. No IP addresses in either inbound or outbound packets are modified, and the inbound packets and the outbound packets may go by different routes. The fact that outbound packets need not pass through the dispatcher reduces the amount of processing the dispatcher must do and speeds up the entire operation. This feature is especially important considering the extreme downstream bias on the World Wide Web, i.e., requests are small while the server responses are much larger. The mechanism for controlling the MAC addresses varies in different implementations [2]. In the layer three approach, each server in the cluster has its own unique IP address. The dispatcher is assigned the cluster address so that all client requests will first arrive at the dispatcher. After receiving a packet, the dispatcher rewrites the IP header to enable delivery to the selected back-end server, based on the load-sharing algorithm. This involves changing the destination IP address and recalculating the header checksums. The rewritten packet is then sent to the appropriate back-end server. Packets flowing from a server to a client go through a very similar process. All of the back-end server responses flow through the dispatcher on their way back to the client. The dispatcher changes the source IP address in the response packet to the cluster address, recalculates the checksums, and sends it to the clients. This method is detailed in RFC2391, Load Sharing Using Network Address Translation (LSNAT) [3]. A commercial example of the LSNAT approach is Cisco s Local Director [4]. A slight variation of this approach was proposed for IBM s TCP Router [5], in which the selected back-end server puts the cluster address instead of its own address as the source IP address in the reply packets. Even though the TCP Router mechanism has the advantage of not requiring the reply packets go through the TCP Router (dispatcher), the TCP/IP stack of every server in the cluster has to be modified. III. IMPLEMENTATION We are most interested in the Single-IP-Image approach, which is at the core of most commercial products. We implemented both layer two and layer three approaches as application-space programs. We call our implementations LS- HTTP requests 4 with dest IP=A 1 2 router Route: A->D IP=B1 IP=B2 IP=B3 IP=D IP_alias=A IP_alias=A IP_alias=A Server 1 Server 2 Server 3 dispatcher Fig. 1. LSMAC implementation in a LAN environment. 3 LSMAC MAC and LSNAT, respectively. LSMAC dispatches each incoming packet by directly modifying its MAC addresses (Fig. 1). LSNAT follows RFC2391 (Fig. 2). Our solutions are much simpler and more portable than existing products, which involve modifying the TCP/IP stacks of the dispatcher and/or server machines. A. LSMAC In LSMAC, the back-end servers are aliased to the cluster address and the dispatcher is assigned a different IP address. In order to make the dispatcher the only entry point for each packet addressed to the cluster-based server, we add one route in the immediate router to route every incoming packet to the LSMAC dispatcher. The LSMAC dispatcher uses the libpcap [6] packet capture library to capture each packet. The dispatcher maintains a table containing information about all existing sessions. Upon receipt of the packet, the dispatcher will determine whether it belongs to an existing session or is a new request. The IP addresses and port numbers of the two endpoints uniquely define every TCP connection (session) on the Internet. We use these to map incoming packets to corresponding connections already established with the back-end servers. If the session does not already exist, it is simply a matter of creating a new entry in our table. TCP flags on the incoming packets are used to identify the establishment and termination of each connection. The first packet of a TCP session is recognized by the presence of SYN bit and absence of ACK bit in the TCP flags. The end of a TCP session is detected when a packet with both FIN and ACK bits set is received or when a packet with RST bit set is received. Upon the termination of a TCP session, the corresponding mapping in the table is removed. Once a mapping has been established, the LSMAC dispatcher rewrites the source and destination MAC addresses of each frame and sends them to a chosen back-end server. Since the MAC addresses have significance only in a LAN environment, LSMAC requires that the dispatcher and back-end servers be connected in a LAN. Fig. 1 illustrates the packet flow in a LSMAC cluster. 1. A client sends a packet with a destination IP address A. 2. The immediate router sends the packet to LSMAC on D, due to the added route: A D. 3. Based on the load sharing algorithm and the session table, LSMAC decides that this packet should be handled by the back-end server B2, and sends it to B2 by changing the MAC addresses of the packet to B2 s MAC address. 4. The back-end server B2 accepts the packet and replies directly to the client. The operation of LSMAC offers two distinct advantages over
3 3 HTTP requests with dest IP=A 1 2 router 4 IP=B1 IP=B2 IP=B3 IP=A Server 1 Server 2 Server 3 Fig. 2. LSNAT implementation in a LAN environment. 5 3 LSNAT dispatcher LSNAT, discussed below. As all operations are performed at OSI layer two, it is unnecessary to modify layer three data. This allows us to avoid recalculating TCP/IP checksums, an expensive operation. Secondly, LSMAC only processes half of the TCP stream: the portion flowing from client to server. This is only a small fraction of the total traffic flowing between the client and server as most of the data is contained in the server s response. This allows LSMAC to scale quite easily as the introduction of additional clients has relatively little impact in terms of the amount of data processed. B. LSNAT In our LSNAT implementation, only the dispatcher is configured to the cluster address. Normal routing rules ensure that it receives in-bound requests. We then use IP filters to keep the host operating system from responding to the requests itself, allowing the LSNAT application to process them manually using the libpcap [6] packet capture library. Conceptually, LSNAT appears as a single host to clients, but as we will see as a gateway to the back-end servers. After receiving a client request, the LSNAT dispatcher sets up the connection mapping just as the LSMAC dispatcher does. Once a mapping has been established, it is necessary to rewrite the packet headers since it is addressed to the cluster address and not to an individual back-end server. The LSNAT dispatcher changes the destination IP address of each in-bound packet to the IP address of a selected server. For each out-bound packet, the LSNAT dispatcher changes source IP address to the cluster address, which is expected by the client. LSNAT allows the dispatcher and back-end servers to be in different LANs provided that traffic from the back-end servers to the clients is always routed through the LSNAT. Fig. 2 illustrates the packet flow in a LSNAT cluster. 1. A client sends a packet with a destination IP address A. 2. The immediate router sends the packet to LSNAT on A, since the LSNAT machine is assigned the IP address A. 3. Based on the load sharing algorithm and the session table, LSNAT decides that this packet should be handled by the back-end server B2. Then it rewrites the destination IP address as B2, recalculates the IP and TCP checksums, and send the packet to B2. 4. The back-end server B2 accepts the packet and replies to the client via the LSNAT dispatcher, which the back-end server sees as a gateway. 5. LSNAT rewrites the source IP address of the replying packet as A, recalculates the IP and TCP checksums, and send the packet to the client. LSNAT suffers owing to its position in the connection between client and server. Unlike LSMAC, LSNAT changes the layer three payload so that data destined for the cluster address appears to, to a back-end server, to be bound for that back-end server. The reverse operation is applied to packets originating from the back-end server so that they appear to be from the cluster address. This requires the recalculation of packet checksums. Additionally, we must process both sides of the connection, not just the relatively small amount of data traveling upstream from the client. These two factors combine to make LSNAT extremely CPU intensive. C. Discussion To ensure that each back-end server contains the same set of files, some sort of file replication must be done or a common network file system must be used. The back-end servers behave as if they were communicating directly with the clients and do not need to know anything about the clustered nature of the system. This means that no special software needs to be installed on the back-end servers. Both the LSMAC and LSNAT approaches are transparent to the clients and servers. We use the round robin algorithm to distribute the load amongst the entire set of back-end servers for load sharing. This works well since all our servers are configured in a similar fashion and the requests from clients are comparable in size and duration. However, because our solution does not restrict the user to a certain server configuration, load-sharing algorithms based on individual server usage could yield better results in a heterogeneous environment. Additionally, while different approaches were taken with regards to delivering data to the dispatcher (special routing rules in the case of LSMAC versus normal delivery and IP filtering in the case of LSNAT), neither approach must necessarily use the delivery mechanism we chose for it. Table 1 provides a comparison of the LSMAC and LSNAT approaches. IV. EVALUATION WebStone [7] was used to benchmark the performance of our cluster-based server systems. WebStone is a configurable load generator for Web servers, which launches a number of Web clients to generate GET requests to the server, and measures the replies from the server. A. Experimental Design In our experiments, the dispatcher (LSMAC/LSNAT) and the back-end servers were executing on 266 MHz Pentium II machines with 64 MB memory. These machines were connected in a shared 100 Mbps Ethernet environment. Red Hat Linux 5.2 (kernel 2.2.6) and Apache Web Server 1.3 were installed on every machine. WebStone 2.0 was run on two 266 MHz Pentium II machines with 128 MB memory each on the same network. For the scalability studies, we ran experiments on four configurations: single server (no cluster and hence no dispatcher), oneserver cluster, two-server cluster, and three-server cluster. We used the results from the single server and one-server cluster tests to measure the overhead due to the dispatchers. The server performance usually depends on the type of files that are being served. For this reason, we chose four file types in measuring each configuration: 0 KB files that have no payload but still require HTTP headers, 2 KB files which are typical of the first
4 4 TABLE I COMPARISON OF KEY FEATURES OF THE LSMAC AND LSNAT IMPLEMENTATIONS. Feature LSMAC LSNAT OSI Layer of operation Layer 2 (Data-link) Layer 3 (Network) Traffic Flow through dispatcher Unidirectional (Incoming only) Bidirectional Incoming Packet Modification No Dest. IP address and checksum Outgoing Packet Modification Not applicable Source IP address and checksum Routing table change in immediate router Yes No Servers in different LANs Requires interface on each LAN Allowed Connection rate (conn/sec) Number of clients 0k files 2k files access log access log with cgi Fig. 3. LSMAC connection rates with 3 servers. Connection rate (conn/sec) Number of clients 0k files 2k files access log access log with cgi Fig. 4. LSNAT connection rates with 3 servers. page of a Web server, a file mix with file sizes and access frequencies derived from a Web server access log (available from [8]), and fully dynamic files. The dynamic files were generated by a Common Gateway Interface (CGI) program based on file sizes and access frequencies derived from the same Web server access log. The testing with dynamic files is necessary since more and more dynamic content is appearing on the Web. Dynamic content plays an important role in nearly all high-volume Web sites. B. Performance Measurement Server connection rate and throughput are the two most important performance metrics for Web systems. The server connection rate is an indication of how fast the server can establish a connection and start communicating with the clients. The calculation of server throughput is simple: total bytes (body + header) transferred throughout the test divided by the total test duration. The server throughput depends on the transferred file size, server capability, and the network bandwidth. B.1 Server Connection Rate In general, a cluster-based server should have a higher connection rate than a single server, unless the network bandwidth or the clustering agent (dispatcher) becomes a bottleneck. Our tests with small files (0-2 KB) show that LSMAC with three servers can handle over 1600 connections per second (Fig. 3), and LSNAT can handle about 800 connections per second (Fig. 4). The connection rate in a single server configuration with the same file size is around 550 connections per second. However, with the access log file mix, whose average file size is KB, cluster-based servers do not improve the connection rate due to network congestion (Fig. 5). LSMAC with three servers maintains about 400 connections per second, which is very close to the connection rate of a single server (Fig. 5). LSNAT supports only 150 connections per second (Fig. 5). In LSNAT, the processing capacity of the dispatcher becomes the bottleneck before the network bandwidth. In practice, no actual connection would result in a zero-byte transaction. Nevertheless, the number of connections per second with a small file size is an important indicator of the dispatcher s capability. With a 2-byte page size, IBM Network Dispatcher can handle 850 connections per second when it runs in a Token Ring network [9]. It is interesting to note that LSMAC consistently shows more than twice the connection rate of LSNAT for all cases but the CGI case. This is because LSNAT spends more time in processing each packet than LSMAC including the server to client flow which LSMAC does not process at all. We will discuss the CGI case in the next section. B.2 Static vs. Dynamic Content Fig. 5-8 show the relative performance of the LSMAC cluster and LSNAT cluster with respect to static and dynamic content. WebStone was used to generate requests for 42 Web clients. For easy comparison, the performance measurements of a single server (without a dispatcher) are also plotted in the figures. In the access log case, LSMAC significantly outperforms LSNAT. Both connection rate and server throughput of LSMAC are nearly triple those of LSNAT (Fig. 5 and 7). The LSNAT dispatcher is the obvious bottleneck in this case. However, in the CGI case they achieve similar connection rate and server
5 5 Fig. 5. Comparison of connection rates for access log file mix. Fig. 7. Comparison of server throughput for access log file mix. Fig. 6. Comparison of connection rates for CGI content. Fig. 8. Comparison of server throughput for CGI content. throughput (Fig. 6 and 8). This is because in the CGI case the back-end servers are the bottlenecks. A CGI program runs as a separate process in the server machine every time a CGI document is requested and therefore is very costly. The connection rate is expected to increase if we add more back-end servers to the cluster in the CGI case (Fig. 6). In summary, any one of the dispatcher, the back-end servers, or the network can bottleneck the operation of a cluster-based Web server system. Our tests show that LSMAC and LSNAT perform similarly with fully dynamic content, which is computationally intensive at the back-end servers. LSMAC outperforms LSNAT with a static access log mix, though it does not show any performance improvement over the single server due to our limited network bandwidth. Hence, for cluster planning, one needs to take into account the amount and types of information maintained on the Web site. V. CONCLUSIONS We implemented two cluster-based Web server systems in a simple and portable way: LSMAC and LSNAT. They represent the first application-space implementations of the two clustering technologies, and achieve performance comparable to existing non-application space products. Tests show that LSMAC significantly outperforms LSNAT for static files. But the two systems achieve similar performance for fully dynamic content. The choice of the LSMAC or LSNAT approach depends on the network environment, Web content, and service requirements. If the servers are connected in a LAN and there are a large number of requests, the LSMAC approach is ideal. If the servers are at different sites and there is a significant amount of dynamic content, you may want to choose the LSNAT approach. Our future work will focus on fault tolerance and developing adaptive optimized load-sharing algorithms. REFERENCES [1] L. Bruno, Balancing the load on Web servers, Data Communications, September 21, 1997, [2] O. P. Damani, P. E. Chung, Y. Huang, C. Kitala, and Y. Wang, ONE- IP: techniques for hosting a service on a cluster of machines, Proc. 6th International WWW Conference, Santa Clara, California, April [3] P. Srisuresh and D. Gan, Load Sharing Using Network Address Translation (LSNAT), RFC2391, August [4] Cisco Systems: Local Director, [5] C. R. Attanasio and S. E. Smith, A virtual Multiprocessor implemented by an encapsulated cluster of loosely coupled computers, IBM Research Report RC18442, [6] University of California/LBL: Packet Capture Library, ftp://ftp.ee.lbl.gov/libcap.tar.z. [7] G. Trent and M. Sake, WebStone: the first generation in HTTP benchmarking, MTS Silicon Graphics, February [8] Mindcraft: WebStone, [9] G. Hunt, G. Goldszmidt, R. King, and R. Mukherjee, Network Dispatcher: a connection router for scalable Internet service, Computer Networks and ISDN Systems, vol. 30, pp , 1998.
Module 16: Distributed System Structures
Chapter 16: Distributed System Structures Module 16: Distributed System Structures Motivation Types of Network-Based Operating Systems Network Structure Network Topology Communication Structure Communication
More informationAn Enhanced Binning Algorithm for Distributed Web Clusters
1 An Enhanced Binning Algorithm for Distributed Web Clusters Hann-Jang Ho Granddon D. Yen Jack Lee Department of Information Management, WuFeng Institute of Technology SingLing Lee Feng-Wei Lien Department
More informationLoad Balancing Technology White Paper
Load Balancing Technology White Paper Keywords: Server, gateway, link, load balancing, SLB, LLB Abstract: This document describes the background, implementation, and operating mechanism of the load balancing
More informationCCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer
CCNA Exploration Network Fundamentals Chapter 04 OSI Transport Layer Updated: 05/05/2008 1 4.1 Roles of the Transport Layer 2 4.1 Roles of the Transport Layer The OSI Transport layer accept data from the
More informationChapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet
Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties
More informationDistributed System Chapter 16 Issues in ch 17, ch 18
Distributed System Chapter 16 Issues in ch 17, ch 18 1 Chapter 16: Distributed System Structures! Motivation! Types of Network-Based Operating Systems! Network Structure! Network Topology! Communication
More informationModule 15: Network Structures
Module 15: Network Structures Background Topology Network Types Communication Communication Protocol Robustness Design Strategies 15.1 A Distributed System 15.2 Motivation Resource sharing sharing and
More informationSilberschatz and Galvin Chapter 15
Silberschatz and Galvin Chapter 15 Network Structures CPSC 410--Richard Furuta 3/30/99 1 Chapter Topics Background and motivation Network topologies Network types Communication issues Network design strategies
More informationTable of Contents. Cisco How NAT Works
Table of Contents How NAT Works...1 This document contains Flash animation...1 Introduction...1 Behind the Mask...2 Dynamic NAT and Overloading Examples...5 Security and Administration...7 Multi Homing...9
More informationChapter 4 NETWORK HARDWARE
Chapter 4 NETWORK HARDWARE 1 Network Devices As Organizations grow, so do their networks Growth in number of users Geographical Growth Network Devices : Are products used to expand or connect networks.
More informationIntroduction to Open System Interconnection Reference Model
Chapter 5 Introduction to OSI Reference Model 1 Chapter 5 Introduction to Open System Interconnection Reference Model Introduction The Open Systems Interconnection (OSI) model is a reference tool for understanding
More informationAn Empirical Study of Reliable Multicast Protocols over Ethernet Connected Networks
An Empirical Study of Reliable Multicast Protocols over Ethernet Connected Networks Ryan G. Lane Daniels Scott Xin Yuan Department of Computer Science Florida State University Tallahassee, FL 32306 {ryanlane,sdaniels,xyuan}@cs.fsu.edu
More informationRECHOKe: A Scheme for Detection, Control and Punishment of Malicious Flows in IP Networks
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < : A Scheme for Detection, Control and Punishment of Malicious Flows in IP Networks Visvasuresh Victor Govindaswamy,
More informationIntroduction to Networks and the Internet
Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.
More informationModule 16: Distributed System Structures. Operating System Concepts 8 th Edition,
Module 16: Distributed System Structures, Silberschatz, Galvin and Gagne 2009 Chapter 16: Distributed System Structures Motivation Types of Network-Based Operating Systems Network Structure Network Topology
More informationCCNA 1 Chapter 7 v5.0 Exam Answers 2013
CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the
More informationDeployment Scenarios for Standalone Content Engines
CHAPTER 3 Deployment Scenarios for Standalone Content Engines This chapter introduces some sample scenarios for deploying standalone Content Engines in enterprise and service provider environments. This
More informationMcGill University - Faculty of Engineering Department of Electrical and Computer Engineering
McGill University - Faculty of Engineering Department of Electrical and Computer Engineering ECSE 494 Telecommunication Networks Lab Prof. M. Coates Winter 2003 Experiment 5: LAN Operation, Multiple Access
More informationAppendix B. Standards-Track TCP Evaluation
215 Appendix B Standards-Track TCP Evaluation In this appendix, I present the results of a study of standards-track TCP error recovery and queue management mechanisms. I consider standards-track TCP error
More informationNAT Router Performance Evaluation
University of Aizu, Graduation Thesis. Mar, 22 17173 1 NAT Performance Evaluation HAYASHI yu-ichi 17173 Supervised by Atsushi Kara Abstract This thesis describes a quantitative analysis of NAT routers
More informationIntroduction to Protocols
Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These
More informationLoaded: Server Load Balancing for IPv6
Loaded: Server Load Balancing for IPv6 Sven Friedrich, Sebastian Krahmer, Lars Schneidenbach, Bettina Schnor Institute of Computer Science University Potsdam Potsdam, Germany fsfried, krahmer, lschneid,
More information1. IPv6 is the latest version of the TCP/IP protocol. What are some of the important IPv6 requirements?
95 Chapter 7 TCP/IP Protocol Suite and IP Addressing This chapter presents an overview of the TCP/IP Protocol Suite. It starts with the history and future of TCP/IP, compares the TCP/IP protocol model
More informationConcept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.
223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency
More information4.0.1 CHAPTER INTRODUCTION
4.0.1 CHAPTER INTRODUCTION Data networks and the Internet support the human network by supplying seamless, reliable communication between people - both locally and around the globe. On a single device,
More informationCh. 4 - WAN, Wide Area Networks
1 X.25 - access 2 X.25 - connection 3 X.25 - packet format 4 X.25 - pros and cons 5 Frame Relay 6 Frame Relay - access 7 Frame Relay - frame format 8 Frame Relay - addressing 9 Frame Relay - access rate
More informationClustered Network Applications
Clustered Network Applications Kiril Kamenev Helsinki University of Technology Department of Computer Science kamenen@cc.hut.fi Abstract The goal of this document is to provide the reader an introduction
More informationGrowth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs.
Internetworking Multiple networks are a fact of life: Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs. Fault isolation,
More informationGuide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols
Guide to Networking Essentials, 6 th Edition Chapter 5: Network Protocols Objectives Describe the purpose of a network protocol, the layers in the TCP/IP architecture, and the protocols in each TCP/IP
More informationUser Datagram Protocol
Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram
More informationLecture 11: Networks & Networking
Lecture 11: Networks & Networking Contents Distributed systems Network types Network standards ISO and TCP/IP network models Internet architecture IP addressing IP datagrams AE4B33OSS Lecture 11 / Page
More informationUnit 2.
Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationNETWORK OVERLAYS: AN INTRODUCTION
NETWORK OVERLAYS: AN INTRODUCTION Network overlays dramatically increase the number of virtual subnets that can be created on a physical network, which in turn supports multitenancy and virtualization
More informationData and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications
Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based s 1 Need For Protocol Architecture data exchange can involve complex procedures better if task broken into subtasks
More informationNetwork Protocols - Revision
Network Protocols - Revision Luke Anderson luke@lukeanderson.com.au 18 th May 2018 University Of Sydney Overview 1. The Layers 1.1 OSI Model 1.2 Layer 1: Physical 1.3 Layer 2: Data Link MAC Addresses 1.4
More informationEE 610 Part 2: Encapsulation and network utilities
EE 610 Part 2: Encapsulation and network utilities Objective: After this experiment, the students should be able to: i. Understand the format of standard frames and packet headers. Overview: The Open Systems
More informationHigh-Performance IP Service Node with Layer 4 to 7 Packet Processing Features
UDC 621.395.31:681.3 High-Performance IP Service Node with Layer 4 to 7 Packet Processing Features VTsuneo Katsuyama VAkira Hakata VMasafumi Katoh VAkira Takeyama (Manuscript received February 27, 2001)
More informationNIC TEAMING IEEE 802.3ad
WHITE PAPER NIC TEAMING IEEE 802.3ad NIC Teaming IEEE 802.3ad Summary This tech note describes the NIC (Network Interface Card) teaming capabilities of VMware ESX Server 2 including its benefits, performance
More informationDesign and implementation of an MPLS based load balancing architecture for Web switching
School of Electronic Engineering - DCU Switching and Systems Laboratory Design and implementation of an MPLS based load balancing architecture for Web switching Radu Dragos, Sanda Dragos and Martin Collier
More informationSequence Number. Acknowledgment Number. Data
CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Link Layer, Switches, VLANS, MPLS, Data Centers Sec 6.4 to 6.7 Prof. Lina Battestilli Fall 2017 Chapter 6 Outline Link layer and LANs: 6.1 introduction,
More informationComputer Communication Networks Midterm Review
Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your
More informationData Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies
Data Link Layer Our goals: understand principles behind data link layer services: link layer addressing instantiation and implementation of various link layer technologies 1 Outline Introduction and services
More informationPrinciples behind data link layer services:
Data link layer Goals: Principles behind data link layer services: Error detection, correction Sharing a broadcast channel: Multiple access Link layer addressing Reliable data transfer, flow control Example
More informationPrinciples behind data link layer services:
Data link layer Goals: Principles behind data link layer services: Error detection, correction Sharing a broadcast channel: Multiple access Link layer addressing Reliable data transfer, flow control Example
More information7010INT Data Communications Lecture 7 The Network Layer
Introduction 7010INT Data Communications Lecture 7 The Layer Internetworking & Devices Connecting LANs Routing Backbone networks Virtual LANs Addressing Application Presentation Session Data Link Physical
More informationECS 15; Lectures 17 and 18. The Internet. What is the internet, and how does it work? TA feedback
ECS 15; Lectures 17 and 18 The Internet What is the internet, and how does it work? TA feedback Python -- Run your code!! Term paper: Start a paragraph with the point of the paragraph, not in modern times
More informationInternet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.
Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:
More informationEITF25 Internet Techniques and Applications L7: Internet. Stefan Höst
EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet
More informationUser Datagram Protocol (UDP):
SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation
More informationLab Exercise UDP & TCP
Lab Exercise UDP & TCP Objective UDP (User Datagram Protocol) is an alternative communications protocol to Transmission Control Protocol (TCP) used primarily for establishing low-latency and loss tolerating
More informationRAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE
RAID SEMINAR REPORT 2004 Submitted on: Submitted by: 24/09/2004 Asha.P.M NO: 612 S7 ECE CONTENTS 1. Introduction 1 2. The array and RAID controller concept 2 2.1. Mirroring 3 2.2. Parity 5 2.3. Error correcting
More information6.9. Communicating to the Outside World: Cluster Networking
6.9 Communicating to the Outside World: Cluster Networking This online section describes the networking hardware and software used to connect the nodes of cluster together. As there are whole books and
More informationScalable Web Clusters with Static and Dynamic Contents
Scalable Web Clusters with Static and Dynamic Contents Emiliano Casalicchio University of Rome Tor Vergata Roma, Italy, 33 ecasalicchio@ing.uniroma.it Michele Colajanni University of Modena Modena, Italy,
More informationNeed For Protocol Architecture
Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared
More information6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1
6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The
More informationNeed For Protocol Architecture
Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared
More informationChapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup
Chapter 4 Routers with Tiny Buffers: Experiments This chapter describes two sets of experiments with tiny buffers in networks: one in a testbed and the other in a real network over the Internet2 1 backbone.
More informationECE4110 Internetwork Programming. Introduction and Overview
ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?
More informationNetwork Design Considerations for Grid Computing
Network Design Considerations for Grid Computing Engineering Systems How Bandwidth, Latency, and Packet Size Impact Grid Job Performance by Erik Burrows, Engineering Systems Analyst, Principal, Broadcom
More informationCisco Cisco Certified Network Associate (CCNA)
Cisco 200-125 Cisco Certified Network Associate (CCNA) http://killexams.com/pass4sure/exam-detail/200-125 Question: 769 Refer to exhibit: Which destination addresses will be used by Host A to send data
More informationBest Practice - Protect Against TCP SYN Flooding Attacks with TCP Accept Policies
Best Practice - Protect Against TCP SYN Flooding Attacks with TCP Accept Policies In order to establish a TCP connection, the TCP three-way handshake must be completed. You can use different accept policies
More informationCourse Routing Classification Properties Routing Protocols 1/39
Course 8 3. Routing Classification Properties Routing Protocols 1/39 Routing Algorithms Types Static versus dynamic Single-path versus multipath Flat versus hierarchical Host-intelligent versus router-intelligent
More informationThe Journal of Systems and Software
The Journal of Systems and Software 81 (28) 244 258 Contents lists available at ScienceDirect The Journal of Systems and Software journal homepage: www.elsevier.com/locate/jss Design and implementation
More informationCIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 8
CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 8 Announcements Reminder: Project 1 is due on tonight by midnight. Midterm 1 will be held next Thursday, Feb. 8th. Example midterms
More informationIT220 Network Standards & Protocols. Unit 8: Chapter 8 The Internet Protocol (IP)
IT220 Network Standards & Protocols Unit 8: Chapter 8 The Internet Protocol (IP) IT220 Network Standards & Protocols REMINDER Student Evaluations 4 Objectives Identify the major needs and stakeholders
More informationBridging and Switching Basics
CHAPTER 4 Bridging and Switching Basics This chapter introduces the technologies employed in devices loosely referred to as bridges and switches. Topics summarized here include general link-layer device
More information3. Evaluation of Selected Tree and Mesh based Routing Protocols
33 3. Evaluation of Selected Tree and Mesh based Routing Protocols 3.1 Introduction Construction of best possible multicast trees and maintaining the group connections in sequence is challenging even in
More informationSirindhorn International Institute of Technology Thammasat University
Name.............................. ID............... Section...... Seat No...... Thammasat University Final Exam: Semester, 205 Course Title: Introduction to Data Communications Instructor: Steven Gordon
More informationLayer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers
Layer 4: UDP, TCP, and others based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Concepts application set transport set High-level, "Application Set" protocols deal only with how handled
More informationPrinciples behind data link layer services
Data link layer Goals: Principles behind data link layer services Error detection, correction Sharing a broadcast channel: Multiple access Link layer addressing Reliable data transfer, flow control: Done!
More informationUnderstanding the Network: A practical Guide to Internetworking Michael J. Martin
Understanding the Network: A practical Guide to Internetworking 0735709777 Michael J. Martin Copyright 2001 by New Riders Publishing Warning and Disclaimer: Every effort has been made to make this book
More informationThe aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are
The aim of this unit is to review the main concepts related to TCP and UDP transport protocols, as well as application protocols. These concepts are important requirements for developing programs that
More information9. Wireshark I: Protocol Stack and Ethernet
Distributed Systems 205/2016 Lab Simon Razniewski/Florian Klement 9. Wireshark I: Protocol Stack and Ethernet Objective To learn how protocols and layering are represented in packets, and to explore the
More informationJim Metzler. Introduction. The Role of an ADC
November 2009 Jim Metzler Ashton, Metzler & Associates jim@ashtonmetzler.com Introduction In any economic environment a company s senior management expects that their IT organization will continually look
More informationInformation About NAT
CHAPTER 27 This chapter provides an overview of how Network Address Translation (NAT) works on the adaptive security appliance. This chapter includes the following sections: Why Use NAT?, page 27-1 NAT
More informationLecture 26: Interconnects. James C. Hoe Department of ECE Carnegie Mellon University
18 447 Lecture 26: Interconnects James C. Hoe Department of ECE Carnegie Mellon University 18 447 S18 L26 S1, James C. Hoe, CMU/ECE/CALCM, 2018 Housekeeping Your goal today get an overview of parallel
More informationQuality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm
Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:
More informationQuality of Service in the Internet
Quality of Service in the Internet Problem today: IP is packet switched, therefore no guarantees on a transmission is given (throughput, transmission delay, ): the Internet transmits data Best Effort But:
More informationTransmission Control Protocol. ITS 413 Internet Technologies and Applications
Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion
More informationPrinciples behind data link layer services:
Data Link Layer Goals: Principles behind data link layer services: Error detection, correction Sharing a broadcast channel: multiple access Link layer addressing Reliable data transfer, flow control: Done!
More informationCH : 15 LOCAL AREA NETWORK OVERVIEW
CH : 15 LOCAL AREA NETWORK OVERVIEW P. 447 LAN (Local Area Network) A LAN consists of a shared transmission medium and a set of hardware and software for interfacing devices to the medium and regulating
More informationII. Principles of Computer Communications Network and Transport Layer
II. Principles of Computer Communications Network and Transport Layer A. Internet Protocol (IP) IPv4 Header An IP datagram consists of a header part and a text part. The header has a 20-byte fixed part
More informationFundamentals of IP Networking 2017 Webinar Series Part 4 Building a Segmented IP Network Focused On Performance & Security
Fundamentals of IP Networking 2017 Webinar Series Part 4 Building a Segmented IP Network Focused On Performance & Security Wayne M. Pecena, CPBE, CBNE Texas A&M University Educational Broadcast Services
More informationCS 428/528 Computer Networks Lecture 01. Yan Wang
1 CS 428/528 Computer Lecture 01 Yan Wang 2 Motivation: Why bother? Explosive growth of networks 1989, 100,000 hosts on the Internet Distributed Applications and Systems E-mail, WWW, multimedia, distributed
More informationECE 4450:427/527 - Computer Networks Spring 2017
ECE 4450:427/527 - Computer Networks Spring 2017 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 6.2: IP Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527 Computer Networks
More informationCS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP
CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering
More informationCSE 123A Computer Netwrking
CSE 123A Computer Netwrking Winter 2005 Mobile Networking Alex Snoeren presenting in lieu of Stefan Savage Today s s issues What are implications of hosts that move? Remember routing? It doesn t work anymore
More informationPerformance and Scalability with Griddable.io
Performance and Scalability with Griddable.io Executive summary Griddable.io is an industry-leading timeline-consistent synchronized data integration grid across a range of source and target data systems.
More informationLocal Area Network Overview
Local Area Network Overview Chapter 15 CS420/520 Axel Krings Page 1 LAN Applications (1) Personal computer LANs Low cost Limited data rate Back end networks Interconnecting large systems (mainframes and
More informationAugust AppleTalk tunneling, which allows AppleTalk data to pass through foreign networks and over point-to-point links
Network Working Group Request for Comments: 1504 A. Oppenheimer Apple Computer August 1993 Status of This Memo Appletalk Update-Based Routing Protocol: Enhanced Appletalk Routing This memo provides information
More informationLecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 2 Communication services The Trasport Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it The structure edge: applications and hosts core: routers of s access s, media:
More informationAdvantages and disadvantages
Advantages and disadvantages Advantages Disadvantages Asynchronous transmission Simple, doesn't require synchronization of both communication sides Cheap, timing is not as critical as for synchronous transmission,
More informationFiltering Trends Sorting Through FUD to get Sanity
Filtering Trends Sorting Through FUD to get Sanity NANOG48 Austin, Texas Merike Kaeo merike@doubleshotsecurity.com NANOG 48, February 2010 - Austin, Texas 1 Recent NANOG List Threads ISP Port Blocking
More informationCommunications Software. CSE 123b. CSE 123b. Spring Lecture 10: Mobile Networking. Stefan Savage
CSE 123b CSE 123b Communications Software Spring 2003 Lecture 10: Mobile Networking Stefan Savage Quick announcement My office hours tomorrow are moved to 12pm May 6, 2003 CSE 123b -- Lecture 10 Mobile
More informationQuick announcement. CSE 123b Communications Software. Last class. Today s issues. The Mobility Problem. Problems. Spring 2003
CSE 123b Communications Software Quick announcement My office hours tomorrow are moved to 12pm Spring 2003 Lecture 10: Mobile Networking Stefan Savage May 6, 2003 CSE 123b -- Lecture 10 Mobile IP 2 Last
More informationYour Name: Your student ID number:
CSC 573 / ECE 573 Internet Protocols October 11, 2005 MID-TERM EXAM Your Name: Your student ID number: Instructions Allowed o A single 8 ½ x11 (front and back) study sheet, containing any info you wish
More informationFlash: an efficient and portable web server
Flash: an efficient and portable web server High Level Ideas Server performance has several dimensions Lots of different choices on how to express and effect concurrency in a program Paper argues that
More informationAnalyzing the Receiver Window Modification Scheme of TCP Queues
Analyzing the Receiver Window Modification Scheme of TCP Queues Visvasuresh Victor Govindaswamy University of Texas at Arlington Texas, USA victor@uta.edu Gergely Záruba University of Texas at Arlington
More information