Analysis and Design
The network development life cycle
The network development life cycle can encompass various activities, depending on the size and scope of the project being undertaken. Each activity is a process that produces some outcome, which will form the basis for the next activity in the cycle. The completion of each activity can be regarded as a milestone in the overall process. The analysis stage may encompass a feasibility study which will determine whether the overall requirements of the project can be met within given constraints, and should culminate in the production of a user requirements specification. If the project goes ahead, the next activity is to produce a network design based on the requirements specification. The network design will be used as a blueprint to implement the network. For large projects, simulation and / or prototyping allows aspects of the design to be evaluated before implementation. Monitoring and management of the network are ongoing processes that are required to ensure the continued smooth running of the network. Design flaws or other problems that emerge after implementation may necessitate further iterations of the life cycle.
The network development life cycle
Carrying out a feasibility study
Computer networks exist primarily to facilitate the efficient operation of organisations of various kinds. Although any major change in the way that an organisation conducts its business will be accompanied by risk, the incentive for change is provided by the many opportunities that network technology can bring. Such opportunities include the possibility of expanding the scope of the organisation?s activities, or extending those activities into new markets. An organisation may be looking to streamline its operations, undergo major restructuring, or be considering a merger or acquisition. Many commercial organisations have in recent years established a web presence, and are marketing goods and services online. E-commerce represents a major paradigm shift in the way that organisations do business, and an online marketing operation of any significance relies heavily on the use of sophisticated network technology.
The main purpose of the feasibility study is to formally investigate the benefits of the proposed network in terms of increased productivity and cost savings, and to identify the resources required for implementation, including a preliminary identification of costs. The study should also outline a timescale for the project and define specific milestones to be achieved, as well as highlighting the impact of the implementation phase on the organisational environment. Among the factors to be identified are staff recruitment and training needs, the support infrastructure required when the network becomes operational, and the effect of the implementation phase on the day-to-day running of the organisation. The outcome of the feasibility study will be a detailed report to management that will form the basis for a decision on whether or not to proceed further with the project.
The costs involved in installing or upgrading a computer network are considerable, and are only justified if the network is likely to bring measurable long term benefits. Although such benefits are not easy to quantify, they should nevertheless be evaluated and weight against the projected costs (a process known as cost-benefit analysis) before a decision is made as to whether or not to proceed with the project. The benefits of introducing any form of new technology into a business environment are usually measured in terms of increased capacity (due to more efficient operation of the business), or a reduction in operating costs (because, for example, fewer staff are required). One of the more intangible benefits, but one that should not be underestimated, is a greatly enhanced ability to access business information quickly - almost a pre-requisite for survival in a highly competitive business environment.
For any networking project that an organisation is considering undertaking, it will be necessary to ask a number of questions in order to determine the general requirements that the network must fulfil. Some of these questions are listed below.
- What type of network (LAN or WAN)? - will the network occupy a single geographical location or will there be multiple sites?
- What type of application software must the network support? - most organisations will employ a standard office application suite such as Microsoft Office, but they may also use a number of specialised applications such as an accounts package, computer aided design software, or production and stock control programs.
- How many users will be using the network? - it will not always be possible to specify the number of users accurately, but an approximation can be arrived at by studying the business environment.
- How much data storage is required? ? an organisation of any size will need to store large amounts of data, and the volume will inevitably grow over time. Both the initial volume of data to be stored and the rate at which new data will be generated need to be calculated in order to determine the long-term data storage requirements of the network.
- What are the bandwidth requirements? - bandwidth determines how much data can be moved around the network in a given time frame. If large amounts of data need to be transferred on a frequent basis, the bandwidth requirements are likely to be high.
- How reliable does the network have to be? - consider the possible consequences of network failure. What will happen, for example, if the network is down for several hours, or perhaps days?
- How secure does the network need to be? - evaluate possible security threats to the network and consider the nature of the data held - how serious would the consequences of a breach in network security be, and what level of security is needed to reduce the risk to an acceptable level?
- Are there any specialised requirements? - consider any specialised requirements that might apply to a given scenario, e.g. Internet access, email, high resolution printing, industrial process control etc.
The feasibility study should identify the resources required for the project and provide a rough estimate of the overall costs, the timescale involved, and the operational impact that the project will have on the organisation. It should also attempt to quantify the benefits of the proposed network in terms of increased productivity and savings. Factors to be considered will include the recruitment of additional staff, training needs, and the support infrastructure that will be required for the network and its users. The outcome of the study will be a report to management that will inform a decision on whether or not to proceed with the project.
Analysis of user requirements
Specifying the requirements for any new service or product is not an exact science, but a formal analysis process will increase the likelihood of success in the design and implementation stages of the development life cycle. Requirements can be expressed in terms of the network services required, the volume of network traffic to be handled, the volume of data storage required, the levels of service required, and so on. It is not sufficient to simply ask the client what is required, as they may well be unsure what their future network requirements will be, and may have only a vague notion of what may or may not be achieved from a technological standpoint. Discussion with personnel at all levels in the organisation will help to provide a clearer overall picture, and to ensure that all of the requirements are specified.
The services required will certainly include basic network services such as file sharing, network printing and user authentication. Email and Internet access are usually high on the list, and will have implications for both the volume of network traffic and network security. Other services may also be required, such as networked application software, video conferencing, and bulk data transfer. Such requirements will inevitably impact on the bandwidth requirements for major network transmission links, and the overall data carrying capacity of the network.
Once a list has been compiled of the services required, it will be necessary to determine how many users will normally using these services at any given time, and what the peak demand will be. From this information, it should be possible to obtain an estimate of the volumes of traffic flowing around different parts of the network at different times of the day. The number and type of business transactions carried out each day, for example, will have a bearing on how much new data must be accommodated on the file network?s file servers, and how often existing data is accessed or modified. Keep in mind also that network servers, workstations and interconnection devices such as switches and routers all generate a certain amount of broadcast traffic simply in order to support the routine functioning of the network. This background traffic can reach significant levels, depending upon the protocols in use.
Network performance is usually specified in terms of the average speed with which network services respond to a user request, and the general level of network availability (i.e., how much of the time the network is functioning normally, ideally 100%). In order to meet user requirements in this respect, it will be necessary to look again at the services required and the number of users requiring those services at any one time, since this will govern the volume of traffic flowing around the various parts of the network. Any investigation should highlight potential problem areas, allowing network designers to factor in additional network capacity wherever required in order to meet the required performance specifications. The demand for network capacity in recent years has tended to exceed expectations, thanks in large part to the phenomenal growth of the Internet, rapid advances in technology, and the development of new, bandwidth-hungry online services. A good policy is to allow for more growth than expected, and provide considerably more capacity than is actually required, since the demand for network bandwidth will grow rapidly.
Finally, bear in mind that performance means different things to different people. Users have certain expectations, and not a few misconceptions, when it comes to any kind of technology. Performance often falls short of expectations at times of peak demand. Such circumstances will inevitably arise from time to time, and it may be a good policy to educate users to have reasonable and realistic expectations rather than to make promises you can?t keep, or commit yourself to an unnecessary investment in additional capacity. On the other hand, if part of the network is being used for industrial process control, it will be essential for control data to be relayed between network devices without delay, or there could be serious consequences. In such cases it may be necessary to completely segregate this part of the network from other, less critical areas to eliminate the possibility of transmission delays arising due to spikes in the demand for network bandwidth.
The requirements specification
The requirements specification is a formal document that sets out the requirements of the network in detail, including all services and the minimum levels of performance that must be achieved. The requirements specification does not specify exactly how the required functionality is to be implemented, it simply provides set of criteria that the proposed network must meet, and outlines cost and scheduling constraints. It is the output of the requirements analysis stage, and represents a significant project milestone. The requirements specification should include the following sections:
- network services and traffic estimates
- deployment of end user equipment and software
- networked applications
- network data storage
- network security
- backup and recovery procedures
- maintenance and support provision
- user training schedule
- minimum service levels to be achieved
- budgetary constraints
- implementation timescale
The exact format of the requirements specification will vary from one organisation to another, but the information should be unambiguous and clearly laid out. In recent years, the concept of a Service Level Agreement (SLA) has become popular within large organisations. This is a formal written agreement between an IT department and its users that sets out expected performance levels for network services, specifies the methods to be used for tracking and reporting performance, defines the procedures to be followed when dealing with complaints, and outlines the duties and responsibilities incumbent on the user. The SLA is also useful for debunking unrealistic user expectations. Statistical information collected from network monitoring devices is used to check whether the agreed performance levels are being achieved.
A well-designed network should exhibit consistently good user response times, provide an acceptable degree of fault tolerance, and be sufficiently scaleable to accommodate future requirements without having to be radically re-designed or re-built. The primary design objective is to meet the technical objectives laid down in the requirements specification, but this must be achieved within budget and in a timely fashion. In design terms, there may be a few trade-offs to be made between performance, functionality, cost and the time required for installation. Also bear in mind that, although it would be nice to design a state-of-the-art network, so-called leading-edge technologies are often dubbed ?bleeding edge? technologies because they do not always live up to expectations, and can sometimes fail spectacularly. Tried and tested technology is usually the safer (and more cost effective) option.
The ongoing costs of maintaining and supporting the network should also be considered. This will be determined to some extent by the technical choices made. If additional technical expertise is required, this may necessitate costly training programmes for technical staff. As a guiding principle, aim for the simplest solution that will provide the required functionality and performance. Any unnecessary complexity has the effect of increasing support costs and making the network more difficult to manage. The hardware and software selected for the network should have a good track record of performance and reliability in real network conditions.
The network design documentation is a blueprint for the implementation of the network. Details of the proposed system will be specified in a report to management that highlights the significant implementation milestones. Some of the elements that could be included in the report are listed below.
- a recommendation for the networking technology to be used (for example, fast Ethernet)
- schematic diagrams detailing the topology and layout of the system, and the approximate position of network devices and cabling
- a detailed description of the proposed system, including the specification of network cabling, interconnection devices, servers, workstations and peripheral equipment
- an inventory of the equipment, materials and software needed, together with all costs, technical specifications and recommended suppliers (this could be done as a spreadsheet)
- details of the operating systems, application software and utility programs to be installed on servers and workstations
- the proposed domain structure, showing how users and resources will be organised
- the procedures to be used for monitoring and managing critical network resources
- the procedures to be used for data backup and recovery
- the network security measures to be implemented
- recommendations for staff training and recruitment
- recommendations for the provision of network maintenance and user support services
The designers will need to consider any financial or operational constraints, and balance these against the required functionality and performance criteria. The goal is to design the best possible network achievable within the budget specified. The design must minimise costs while maximising performance. The report should, if possible, put forward a number of alternative designs, outlining the costs and performance limitations associated with each alternative to allow decision makers to make an informed decision.
Network analysis produces a requirements specification that defines what services the network must provide, the purposes for which it will be used, and the levels of performance expected. The design phase is about producing a blueprint for a network that will satisfy the requirements, and must take into account both the number of users that will be using the various services, and how network traffic will vary over time. Network design is about specifying the hardware and software components that will be used to build the network, the physical architecture of the network, and the configuration of the various network elements.
Physically, the network is comprised of a large number of computers, peripheral devices, interconnection devices, and transmission links, all of which need to be housed appropriately and supplied with power. The logical configuration of the network is to some extent independent of the underlying physical infrastructure, and is largely determined by the choice of network software, the subnet configuration used, and the structure of the directory services database. The chief factors limiting design choices will be the constraints imposed by the physical environment and the project budget.
The basic design will focus on producing a cost effective and easy to implement solution that will satisfy the minimum requirements of the proposed network. Decisions need to be made as to the best way of achieving this goal. Selecting the cheapest network equipment and cabling may save money in the short term, but can prove a false economy if the equipment or cabling has to be upgraded within two or three years because it can?t cope with increased demands on the network.
Even the most basic network design should incorporate a degree of "future proofing" in the sense that it allows for a significant increase in the demand for bandwidth, data storage facilities, and processing capacity. A common approach to producing alternative network designs is to separate user requirements into two categories. The first category consists of the "must have" features that will enable the network to provide the required functionality. The second category is a wish list of "value added" features that would provide enhanced functionality, but are not essential. The design that is eventually chosen is often a compromise solution that that fulfils all the basic requirements, and includes as many of the value-added features as the budget will allow.
The type of equipment found in a modern LAN includes hubs, switches, routers, uninterruptible power supplies, network servers and workstations. There are a large number of vendors in the marketplace producing a huge range of equipment. Before deciding on the make or model of a particular item of equipment, however, it is necessary to undergo a process of dimensioning, in which the designer evaluates the number and capacity of each type of device needed. In view of the rapid and often unpredictable growth in both network traffic and the number of users, it is common practice to over-dimension network equipment by a considerable margin, so that more capacity is installed than is actually required. The objective is to meet or exceed minimum performance requirements while keeping cost as low as possible.
It is generally recommended that, when procuring network interconnection devices such as switches, the devices should be supplied by the same manufacturer. This is due to the fact that, although two network devices from different manufacturers should in theory comply with the same protocols and international standards, many manufacturers will not guarantee compatibility with equipment from another manufacturer (whereas they obviously have to guarantee compatibility between two devices of their own manufacture!).
While it is possible to use virtually any type of transmission media in a computer network, keep in mind two factors. First, the transmission medium selected will determine the bandwidth of a given transmission link, and will thus directly affect performance. Second, installing network cabling represents a significant proportion of the cost of implementing a network. Selecting the right type of cable for the job is therefore very important, since it will impact significantly on performance, and upgrading it will not be a trivial undertaking. Installing the cheapest type of network cables to save money is likely to prove a false economy.
As a general rule, most vertical (or backbone) network cabling in modern networks is implemented using optical fibre due to its high capacity and the relatively long distances that can be covered without the need to regenerate signals. Horizontal cabling (the connections between end-user equipment such as workstations and printers) and network equipment (i.e. hubs or switches) is usually implemented using category 5E or category 6 unshielded twisted pair cable, although optical fibre can be used under certain circumstances. Wireless transmission links tend to be used to provide support for users with laptops or hand-held devices, and are generally used to augment a wired network infrastructure rather than replace it.
The network topology will to some extent be dictated by the network technology employed. Modern Ethernet network segments, for example, are almost always configured in a star topology. The infrastructure of the buildings in which the network is to be accommodated will also be a factor. The network topology will determine how data flows around the network and, depending on the availability of alternative transmission pathways, and may incorporate one or more single points of failure. The configuration chosen should support the specified performance criteria at an acceptable cost.
Redundant network links provide alternative pathways for data that can be activated in the event of a primary network link failure. In a well-designed network, a small number of redundant links can provide a high degree of fault tolerance for relatively little extra additional cost. If the network must exhibit a high degree of reliability in terms of its connectivity, a significant degree of redundancy is likely to be factored into the design. There is no significant cost barrier here, as the additional cost is unlikely to be unaffordable, and will certainly be far less than having to install new network cabling at a later date. Optical fibre is now widely used, and is a cost effective way of providing high-capacity network links.
Modern campus networks are often designed on the principle of having a backbone configured as a ring, with a series of switches connected together via optical fibre. The switches are capable of dynamic reconfiguration, and can re-route network traffic along an alternative path in the event of primary link failure. This type of backbone can be implemented using either Ethernet switches or ATM switches. ATM, although more expensive, offers a somewhat more flexible architecture and can scale for use in wide area networks, whereas Ethernet is primarily designed for local area networks.
The network specification
The network specification is a formal blueprint for the network. It will reflect the final design choices should contain sufficient detail to allow implementation of the network to be planned and executed. It is the output of the design stage, and like the requirements specification represents a significant project milestone. The exact content of the design specification will depend on the nature and scale of the networking project, but could include the following sections:
- Overall technical specification - this section outlines the major technical aspects of the network, including the network technology to be used and a description of how equipment, cabling and software will be deployed.
- Detailed technical specification - this should provide quantitative information and technical specifications for network cabling, equipment and accommodation, network servers and workstations, peripheral equipment, and software. Updated costing information may also be included in this section.
- Network diagrams - these will consist of detailed floor plans and schematics showing the routes to be used for cabling, the location of network devices and enclosures, and the layout of end user equipment.
- Software specification - this section will provide an inventory of the operating system, utility and application software to be installed on network servers and workstations, together with details of any special configurations required. It will be vital to specify version information, and the number of computers each item of software will be installed on in order to ensure that sufficient licenses are purchased.
- Domain organisation - the logical organisation of the network domain in terms of departments, users, computers and resources should be specified in enough detail to enable network administrators to create the directory services structure. It should specify the organisational units, user groups, and group access rights.
- Service level agreement - this is an agreement that is often drawn up between an IT department and management (representing the interests of network users). It specifies the levels of service that users can expect from the network, together with a user code of conduct and details of the procedures to be followed for reporting and dealing with problems.