Posts Tagged ‘Network Application’

Network Application Architectures

January 22nd, 2010



Before diving into software coding, you should have a broad architectural plan for your application. Keep in mind that an application’s architecture is distinctly different from the network architecture. From the application developer’s perspective, the network architecture is fixed and provides a specific set of services to applications. The application architecture, on the other hand, is designed by the application developer and dictates how the application is structured over the various end systems. In choosing the application architecture, an application developer will likely draw on one of the two predominant architectural paradigms used in modern network applications: the client-server architecture or the peer-to-peer (P2P) architecture.

In a client-server architecture, there is an always-on host, called the server, which services requests from many other hosts, called clients. The client hosts can be either sometimes-on or always-on. A classic example is the Web application for which an always-on Web server services requests from browsers running on client hosts. When a Web server receives a request for an object from a client host, it responds by sending the requested object to the client host. Note that with the client- server architecture, clients do not directly communicate with each other; for example, in the Web application, two browsers do not directly communicate. Another characteristic of the client-server architecture is that the server has a fixed, well- known address, called an IP address (which we’ll discuss soon). Because the server has a fixed, well-known address, and because the server is always on, a client can always contact the server by sending a packet to the server’s address. Some of the better-known applications with a client-server architecture include the Web, F1′R Telnet, and e-mail.

Often in a client-server application, a single server host is incapable of keeping up with all the requests from its clients. For example, a popular social-networking site can quickly become overwhelmed if it has only one server handling all of its requests. For this reason, a cluster of hosts-sometimes referred to as a server farm-is often used to create a powerful virtual server in client-server architectures. Application services that are based on the client-server architecture are often infrastructure intensive, since they require the service providers to purchase, install, and maintain server farms. Additionally, the service providers must pay recurring interconnection and bandwidth costs for sending an4 receiving data to and from the Internet. Popular services such as search engines (e.g., Google), Internet commerce (e.g., Amazon and e-Bay), Web- based v-mail (e.g, Yahoo Mail), social networking (e.g., MySpace and Facebook), and video sharing (e.g., YouTube) are infrastructure intensive and costly to provide.

In a P2P architecture, there is minimal (or no) reliance on always-on infrastructure servers. Instead the application exploits direct communication between pairs of intermittently connected hosts, called peers. The peers are not owned by the service provider, but are instead desktops and laptops controlled by users, with most of the peers residing in homes, universities, and offices. Because the peers communicate without passing through a dedicated server, the architecture is called peer-to-peer. Many of today’s most popular and traffic-intensiye applications are based on P2P architectures. These applications include file distribution (e.g., BitTorrent), file searching/sharing (e.g., eMule and LimeWire), Intemet telephony (e.g., Skype), and IPTV (e.g., PPLive).

By: Imran Rashid

Improving Network Performance – An Overview of Network Availability Design

December 28th, 2009



Today’s companies, particularly those involved with banking and Internet hosting, require their network to be available 99.999% of the time. When the network isn’t available for employees, clients and business partners, the cost can be thousands of dollars per minute. Diversity or failover is a key component of any high availability strategy. It describes a backup device or link that is available should the primary device or link be unavailable.

Today’s e-commerce web hosting facility are designed with diversity for circuits, routers, firewalls, links, modules and servers. Each number shown corresponds to a single point of failure that is provisioned with some backup or diverse connection. Each server is dual homed to different switches should a Layer 2 switch or server link fail. The Layer 2 switches are connected with a Gigabit trunk. As well the Layer 2 switches are connected to multilayer switches with Gigabit trunks. That allows for link or switch failure. There is module diversity at all campus switches with dual supervisor engines. If the primary supervisor engine fails, the secondary activates and traffic is diverted across trunk lines to the adjacent switch once the spanning tree algorithm is run and the trunk ports are in forwarding mode.

Firewall failover is provided with a link between them that will detect if one of those is unavailable. Traffic is then routed through the active firewall. The routers are connected with a link that will detect when one of the devices is unavailable (HSRP). There are separate telecom demarcations at this facility, which provide diverse local loop circuits to different central offices. There are dual WAN circuits to different Internet Service Providers from those central offices as well.

High availability designs must consider the failover time at each point in their network. If a network application will timeout after 10 seconds then any failover point must be 9 seconds or less. For instance, spanning tree protocol (STP) will run when there is a topology change such as a switch or link failure. Design your network such that the link speeds, spanning tree protocol version and switch topology do not add an excessive failover time.

1. Different Internet Service Providers

2. Central Office Diversity with Diverse Local Loop Circuits

3. Router Diversity with Hot Standby Router Protocol (HSRP)

4. Firewall Diversity

5. Switch to Firewall Link Failover with Gigabit Trunking

6. Switch and Link Diversity with Gigabit Trunking

7. Switch and Link Failover with Gigabit Trunking