Module 3 Develop System Infrastructure Design Plan
Module 3 Develop System Infrastructure Design Plan
Module 3 Develop System Infrastructure Design Plan
Unit of Competence:
Develop System Infrastructure Design Plan
Module Title:
Developing System Infrastructure Design Plan
Module Code: ICT ITM5 M03 1115
Prepared by
Bantegizia.Z (Instructor, Bac)
Page | 2
Introduction
Concept of ICT infrastructure
Our concept of the ICT infrastructure is not only a set of equipment or elements. The ICT infrastructure
enables to share the ICT capabilities which provide services for other systems of the organization
(Broadbenta et al, 1999). For Broadbenta et al these capabilities require the complex combination of the
technical infrastructure (cabling infrastructure, hardware platform, base software platform), ICT shared
services (as communications services), ICT applications (as WEB services), the human operators and the
managerial expertise to guarantee reliable services (see figure 1). All these resources are designed,
developed and managed over time. In our system ICT infrastructure does not include the specific computer
applications, but the teachers or other users should experience and innovate using specific computer
applications on the ICT infrastructure.
3|Page
LO1: Specify Architecture Requirements
1.1. Understanding architecture requirements
What is architecture?
Architecture is from the Latin word architectura, which is formed from the words for architect. Depending
on the context, architecture can refer to:
any man-made building or structure
the flow of information on a Web page
the planned design of any kind of system
a systematic arrangement of information or ideas
The term architecture can refer to either hardware or software, or to a combination of hardware and
software. The architecture of a system always defines its broad outlines, and may define precise
mechanisms as well.
The architecture is a distributed application is a sketch of the different programs, describing which
programs are running on which hosts, what their responsibilities are, and what protocols determine the
ways in which different parts of the system talk to one another.
Architecture focuses on how the major elements and components within an application are used by, or
interact with, other major elements and components within the application
Various organizations define systems architecture in different ways, including:
The fundamental organization of a system, embodied in its components, their relationships to each
other and to the environment, and the principles governing its design and evolution.
A representation of a system, including a mapping of functionality onto hardware and software
components, a mapping of the software architecture onto the hardware architecture, and human
interaction with these components.
An allocated arrangement of physical elements which provides the design solution for a consumer
product or life-cycle process intended to satisfy the requirements of the functional architecture and the
requirements baseline.
Architecture comprises the most important, pervasive, top-level, strategic inventions, decisions, and
their associated rationales about the overall structure (i.e., essential elements and their relationships)
and associated characteristics and behaviour.
A description of the design and contents of a computer system. If documented, it may include
information such as a detailed inventory of current hardware, software and networking capabilities; a
description of long-range plans and priorities for future purchases, and a plan for upgrading and/or
replacing dated equipment and software.
A formal description of a system, or a detailed plan of the system at component level to guide its
implementation.
The composite of the design architectures for products and their life-cycle processes.
Page | 4
Key characteristics of an architecture requirement
- It should include the reasoning or motivations behind the change.
- It should explain why the existing components are inadequate, limiting or constraining
- It should outline the available options for future architectures that address all concerns.
- It should explain the benefits, value, risks, costs, opportunities, constraints, and future
options associated with each alternative.
- It should outline any alternative routes to close the gaps and get from the current to the target
architecture.
Database architecture is logically divided into 4 types.
a) One Tier
It has one-tier architecture. If your application is running on two computers for instance, a typical Web CGI
application that runs on a Web browser (client) and a Web server
b) Two-tier system
Two-tier Client / Server architecture is used for User Interface program and Application Programs that
runs on client side. An interface called ODBC (Open Database Connectivity) provides an API that
allows client side program to call the DBMS.
You have a client program and a server program. The main difference between the two is that the server
responds to requests from many different clients, while the clients usually initiate the requests for
information from a single server
Page | 5
c) Three-tier Client / Server Architecture
Three-tier Client/Server database architecture is commonly used architecture for web applications.
Intermediate layer called Application server or Web Server stores the web connectivity software and the
business logic (constraints) part of application used to access the right amount of data from the database
server. This layer acts like medium for sending partially processed data between the database server and the
client.
d) N-tier architecture
N-tier architecture, on the other hand, allows an unlimited number of programs to run simultaneously, send
information to one another, use different protocols to communicate, and interact concurrently. This allows
for a much more powerful application, providing many different services to many different clients.
Page | 6
1.2. Identify the scope of the system
System Scope describes the current systems that the required application package is expected to replace or
interface with. The description contains a table that describes the functionality of each system, and relates
systems to business activities.
Databases
A database is a collection of organized information so that it can easily be accessed, managed, and updated.
A database management system is a suite of software applications that together make it possible for people
or businesses to store, modify, and extract information from a database.
Applications
Application software is the name given to a program or group of the programs designed for end-users
(perform specific tasks for end-users). Example: database programs, word processors, and antivirus
programs are all applications.
Servers
A Server is a computer program that manages access to a centralized resource such as file, printer, and user
group as well as network traffic on the network or provide services to client software running on other
computers (and their users) in the same domain (in a network).
A single server machine can have several different server software packages running on it, thus providing
many different services to clients on the network.
There are many different types of servers:
Application Servers
Message Servers
FTP Servers
Mail Servers
Proxy Servers
Web Servers
File server
Print server
Database server
Backup server
DHCP server
DNS Server
Page | 7
Application server allows a client on the network to access and use extra computing power.
Application server is mainly used for the security.
Message server includes Chat servers that enable a large number of users to exchange information
in the network.
Mail server store and handles mail message over in the networks (via LANs) and across the
Internet (via WANs).
A Proxy server is a server that can be sitting between the server and the client. When any request is
coming, client pass that request to the server, then server process that request and send back to the
client. Proxy server improves the performance of the security by filtering the request.
Web server provides the access to the internet using hypertext markup language. A Web server get
request from the web browser and send back the response and associated HTML document.
File servers helps user to exchange data (read data, write data) as well as manage shared files or it
control and manage overall user access.
Print server control and manage printer resources over the network and also it offer fax services.
The print server allows multiple users to access printer resources and fax services simultaneously.
Database servers manage the database using database management system software. Client request
is sent in the form of queries to the server, then database server process the incoming client query,
access the stored data from the database and sent result back to the client.
A backup server responsible for backing up and restoring files, folders, databases on a network in
order to prevent the loss of data in the event of a hard drive failure, user error, disaster or accident.
A DHCP Server is used to assigns IP addresses to client computers automatically. All IP addresses
of all computers are stored in a database that resides on a server machine.
DNS Server is needed for resolving hostnames to their IP addresses.
Operating systems
An operating system (OS) is a collection of software that enables the computer hardware to communicate
and operate with the computer software.
The operating system is a vital component of the system software in a computer system. Without operating
system, a computer would be useless. Application programs require an operating system to function.
Gateways
A network gateway is an internetworking system capable of joining together two networks that use different
base protocols. A network gateway can be implemented completely in software, completely in hardware, or as
a combination of both.
A Gateway is - used between two dissimilar LAN s.
Page | 8
- required to convert Data packets from one protocol format to another Protocol format.
Router and Gateway both are sometimes used interchangeably but the difference is that Gateway operates on
7th layer of the OSI Model and the Router works on the 3rd layer of the OSI model.
The OSI Layer consists of:
1. Physical layer
2. Data Link
3. Network,(performs establishment of connection between networks and the Routing and selecting best
path)
4. Transport layer
5. Session layer
6. Presentation layer
7. Application Layer. (Provides semantic exchange of data between application in an open system)
Application service provider
An application service provider (ASP) is a business that provides computer-based services to customers over
a network. I.e.: Application service provider is remote software that you access through a web browser.
The goal of an application service provider is to reduce the cost of software distribution and maintenance.
ISP
An Internet service provider (ISP) is an organization/company that provides internet access to users or
subscribers of its service, usually for a fee.
1.3. Understanding the System
Information systems are the support structure for meeting the company’s strategies and goals.
New Systems Development - …who?
When developing a new system, you have 3 ―who‖ choices…
In sourcing - IT specialists inside your organization
Self-sourcing - do-it-yourself approach many end users take with little or no help from IT specialists -
mainly for smaller systems - excel / web / access based
Outsourcing - a third-party organization (i.e., let someone do the work and pay them for it)
1.3.1. Principles
A principle is a law or rule that has to be, or usually is to be followed, or can be desirably followed, or is an
inevitable consequence of something, such as the laws observed in nature or the way that a system is
constructed.
The principles of such a system are understood by its users as the essential characteristics of the system, or
reflecting system's designed purpose, and the effective operation or use of which would be impossible if any
one of the principles was to be ignored.
Page | 9
1.3.2.Function
In information technology, the term function (pronounced FUHNK-shun) has a number of meanings. It's
taken from the Latin "functio" - to perform.
1. In its most general use, a function is what a given entity does in being what it is.
2. In C language and other programming, a function is a named procedure that performs a distinct
service. The language statement that requests the function is called a function call .
The system function executes an internal operating system command, or an .EXE, .COM (.CMD in
Windows NT) or .BAT file from within a C program rather than from the command line.
The system function finds the command interpreter, which is typically CMD.EXE in the Windows NT
operating system or COMMAND.COM in Windows. The system function then passes the argument string to
the command interpreter.
1.3.3. Framework
A framework is often a layered structure indicating what kind of programs can or should be built and how
they would interrelate. Some computer system frameworks also include actual programs, specify
programming interfaces, or offer programming tools for using the frameworks.
A framework may be for a set of functions within a system and how they interrelate; the layers of an
operating system; the layers of an application subsystem; how communication should be standardized at
some level of a network; and so forth. A framework is generally more comprehensive than a protocol and
more prescriptive than a structure.
1.3.4. Problem solving
Problem solving consists of using generic or ad hoc methods, in an orderly manner, for finding solutions to
problems. Some of the problem-solving techniques developed and used in artificial intelligence, computer
science, engineering, mathematics, medicine, etc. are related to mental problem-solving techniques studied
in psychology.
Problem solving strategies
Problem-solving strategies are the steps that one would use to find the problem(s) that are in the way to
getting to one's own goal. Some would refer to this as the 'problem-solving cycle'
Recognize the problem, define the problem, develop a strategy to fix the problem, organize the knowledge of
the problem cycle, figure-out the resources at the user's disposal, monitor one's progress, and evaluate the
solution for accuracy.
The following techniques are usually called problem-solving strategies
Abstraction: solving the problem in a model of the system before applying it to the real system
Analogy: using a solution that solves an analogous problem
Page | 10
Brainstorming: (especially among groups of people) suggesting a large number of solutions or ideas and
combining and developing them until an optimum solution is found
Divide and conquer: breaking down a large, complex problem into smaller, solvable problems
Hypothesis testing: assuming a possible explanation to the problem and trying to prove (or, in some
contexts, disprove) the assumption
Lateral thinking: approaching solutions indirectly and creatively
Means-ends analysis: choosing an action at each step to move closer to the goal
Method of focal objects: synthesizing seemingly non-matching characteristics of different objects into
something new
Morphological analysis: assessing the output and interactions of an entire system
Proof: try to prove that the problem cannot be solved. The point where the proof fails will be the starting
point for solving it
Reduction: transforming the problem into another problem for which solutions exist
Research: employing existing ideas or adapting existing solutions to similar problems
Root cause analysis: identifying the cause of a problem
Trial-and-error: testing possible solutions until the right one is found
Systems and its characteristics
System is an interrelated set of components, with identifiable boundary, working together for some purpose
A system has nine characteristics:
Components---------
Subsystems
Interrelated
components
A boundary A
purpose
„ An environment „
Interfaces
„ Input
„ Output
„ Constraints
Page | 11
„ A system can also defined as collections of people using information technology and processes that
define how people carry out their work. The system also includes informal interactions that take place
in an organization Ex. emails, phone calls.
Characteristics of a System
A System has nine characteristics
Components - A component is either an irreducible part or an aggregate of parts , also called as a
subsystem
Interrelated Components - The function of one component is tied to the functions of the others. Output
from one is input for another, the dependence of a part on one or more other parts.
Boundary - A system has boundary, within which all of its components are contained and which
establishes the limits of a system, separating it from other systems. Components within the boundary can
be changed whereas systems outside the boundary cannot be changed.
Purpose - All components work together to achieve the overall purpose of the system.
Environment - A system exist within an environment, everything outside the system’s boundary that
influences and / or interacts the system.
Interfaces - The points at which the system meets its environment and there are also interfaces between
subsystems.
Input - System takes input from its environment
Output - System returns output to its environment as a result of its functioning to achieve the purpose.
Output from individual subsystems may be inputs to other subsystems.
Constraints - There are limits to what the system can do (capacity, speed, capability), some of these
constraints are imposed inside the system and others are imposed by the environment.
Important system concepts
There are several other system concepts with which systems analysts need to become familiar:
Decomposition
Modularity
Coupling
Cohesion
Decomposition
Definition: The process of breaking down a system into smaller component
The purpose of decomposition is to allow the system analysts to:
Break a system into small, manageable subsystem
Focus on one are at a time
Concentrate one component pertinent to one group of users
Build different components at independent times
Page | 12
Modularity
Dividing a system up into chunks or modules of a relatively uniform size. To Simplify the redesign
and rebuild process
Coupling
The extent to which subsystems depend on each other.
Subsystem should be independent as possible. If one subsystem fails and other subsystem are
highly dependent on it, then the other will either fail themselves or have problems functioning
Cohesion
The extent to which a subsystem performs single functions. Generally coupling must be reduced and
cohesion increased, so that it performs only one function.
1.4. Identify the project
What is project?
A project is a temporary endeavour undertaken to accomplish a unique product or service with a defined start
and end point and specific objectives that, when attained, signify completion.
It has a well-defined objective stated in terms of scope, schedule, and costs.
Project is:-
Any unique endeavor with specific objectives
With multiple activities
With defined precedent relationships
With a specific time period for completion
Essential characteristics of projects
For projects to be properly conceived, the characteristics below must be clearly defined:
- Objectives
- Expected outputs
- Intended beneficiaries
- Planned lifespan
- Extended outcome of the project
- Principle stakeholders
- Financial plan and source of financing
What is a Project Manager?
Process Responsibilities
- Ensuring that the solution is of acceptable quality.
- Proactively managing scope to ensure that only what was agreed to is delivered, unless
changes are approved through scope management
- Defining and collecting metrics to give a sense for how the project is progressing and
whether the deliverables produced are acceptable.
Page | 13
What can go wrong in a Project?
The major cause of project failure is not the specifics of what went wrong, but rather the
- lack of procedures
- lack of methodology and
- lack of standards for managing the project
Project Requirements
Requirements answer the following questions regarding the AS IS and TO BE states of the business
(who, what, where, when, how much, how does a business process work)
Types of Requirements
Regulatory: Internal and external; usually non negotiable
Business: needs of the sponsoring organization; always from a management perspective
User: What the users need to do with the system or product
Functional and Non Functional : What the system needs to be able to do to satisfy the business and
user needs in terms of function and functionality
Technical: How the system needs to be designed and implemented to provide required functionality
and fulfil required operational characteristics.
Page | 14
1.6. Project acceptance criteria
To define boundaries. Acceptance criteria help development teams define the boundaries of a user
story. In other words, acceptance criteria help you confirm when the application functions as desired,
meaning that a user story is completed.
To reach consensus. Having acceptance criteria synchronizes the development team with the client.
The team knows exactly what conditions should be met, just as the client knows what to expect from
the app.
To serve as a basis for tests. Last but not least, acceptance criteria are a cornerstone of positive and
negative testing aimed at checking if a system works as expected.
To allow for accurate planning and estimation. Acceptance criteria scenarios allow for the correct
division of user stories into tasks so user stories are correctly estimated and planned.
Page | 15
1.7. System Development Life Cycle (SDLC
The systems development life cycle (SDLC), also referred to as the application development life-
cycle, is a term used in systems engineering, information systems and software engineering to
describe a process for planning, creating, testing, and deploying an information system.
Systems development life cycle (SDLC) - a structured step-by-step approach for developing
information systems
SDLC as a Waterfall Methodology
Typical activities include:
Determining budgets
Gathering business requirements
Designing models
Writing user documentation
Page | 16
Phase 1: Planning
- Planning phase - involves determining a solid plan for developing your information system
- Three primary planning activities:
1. Define the system to be developed
• Critical success factor (CSF) - a factor simply critical to your organization’s success
2. Set the project scope
• Project scope - clearly defines the high-level system requirements
• Scope creep - occurs when the scope of the project increases
• Feature creep - occurs when developers add extra features that were not part of the
initial requirements
• Project scope document - a written definition of the project scope and is usually no
longer than a paragraph
3. Develop the project plan including tasks, resources, and timeframes
• Project plan - defines the what, when, and who questions of system development
• Project manager - an individual who is an expert in project planning and management,
defines and develops the project plan and tracks the plan to ensure all key project
milestones are completed on time
Page | 17
• Project milestones - represent key dates for which you need a certain group of
activities performed
Phase 2: Analysis
Analysis phase - involves end users and IT specialists working together to gather, understand, and
document the business requirements for the proposed system
Two primary analysis activities:
Gather the business requirements
• Business requirements - the detailed set of knowledge worker requests that the system
must meet in order to be successful
• Joint application development (JAD) - knowledge workers and IT specialists meet,
sometimes for several days, to define or review the business requirements for the
system
Prioritize the requirements
• Requirements definition document - prioritizes the business requirements and places
them in a formal comprehensive document
Phase 3: Design
Design phase - build a technical blueprint of how the proposed system will work
Two primary design activities:
1. Design the technical architecture
• Technical architecture - defines the hardware, software, and telecommunications
equipment required to run the system
2. Design system models
• Modeling - the activity of drawing a graphical representation of a design
• Graphical user interface (GUI) - the interface to an information system
• GUI screen design - the ability to model the information system screens for an entire
system
Phase 4: Development
Page | 18
• Development phase - take all of your detailed design documents from the design phase and transform
them into an actual system
• Two primary development activities:
1. Build the technical architecture
2. Build the database and programs
• Both of these activities are mostly performed by IT specialists
Phase 5: Testing
• Testing phase - verifies that the system works and meets all of the business requirements defined in
the analysis phase
• Two primary testing activities:
1. Write the test conditions
• Test conditions - the detailed steps the system must perform along with the expected
results of each step
2. Perform the testing of the system
• Unit testing - tests individual units of code
• System testing - verifies that the units of code function correctly when integrated
• Integration testing - verifies that separate systems work together
• User acceptance testing (UAT) - determines if the system satisfies the business
requirements
Phase 6: Implementation
Implementation phase - distribute the system to all of the knowledge workers and they begin using
the system to perform their everyday jobs
Two primary implementation activities
1. Write detailed user documentation
• User documentation - highlights how to use the system
2. Provide training for the system users
• Online training - runs over the Internet or off a CD-ROM
• Workshop training - is held in a classroom environment and lead by an instructor
Choose the right implementation method
1. Parallel implementation - use both the old and new system simultaneously
2. Plunge implementation - discard the old system completely and use the new
3. Pilot implementation - start with small groups of people on the new system and gradually add
more users
4. Phased implementation - implement the new system in phases
Phase 7: Maintenance
Maintenance phase - monitor and support the new system to ensure it continues to meet the
business goals
Two primary maintenance activities:
1. Build a help desk to support the system users
Page | 19
• Help desk - a group of people who responds to knowledge workers’ questions
2. Provide an environment to support system changes
Waterfall model is the simplest model of software development paradigm. It says the all the phases of
SDLC will function one after another in linear manner. That is, when the first phase is finished then only
the second phase will start and so on.
This model assumes that everything is carried out and taken place perfectly as planned in the previous
stage and there is no need to think about the past issues that may arise in the next phase. This model does
not work smoothly if there are some issues left at the previous step. The sequential nature of model does
not allow us go back and undo or redo our actions.
This model is best suited when developers already have designed and developed similar software in the
past and is aware of all its domains.
Iterative Model
This model leads the software development process in iterations. It projects the process of development in
cyclic manner repeating every step after every cycle of SDLC process.
Page | 20
The software is first developed on very small scale and all the steps are followed which are taken into
consideration. Then, on every next iteration, more features and modules are designed, coded, tested and
added to the software. Every cycle produces software, which is complete in itself and has more features
and capabilities than that of the previous one.
After each iteration, the management team can do work on risk management and prepare for the next
iteration. Because a cycle includes small portion of whole software process, it is easier to manage the
development process but it consumes more resources.
Rapid Application Development (RAD)
Rapid application development (RAD) (also called rapid prototyping) - emphasizes extensive
user involvement in the rapid and evolutionary construction of working prototypes of a system to
accelerate the systems development process
- Prototype - a smaller-scale, representation, or working model of the user’s
requirements or a proposed design for an information system
Ext
reme Programming (XP)
• Extreme programming (XP) - breaks a project into tiny phases and developers cannot
continue on to the next phase until the first phase is complete
Page | 21
Spiral Model
Spiral model is a combination of both, iterative model and one of the SDLC model. It can be seen as if
you choose one SDLC model and combine it with cyclic process (iterative model).
This model considers risk, which often goes un-noticed by most other models. The model starts with
determining objectives and constraints of the software at the start of one iteration. Next phase is of
prototyping the software. This includes risk analysis. Then one standard SDLC model is used to build the
software. In the fourth phase of the plan of next iteration is prepared
Page | 22
V - Model
The major drawback of waterfall model is we move to the next stage only when the previous one is
finished and there was no chance to go back if something is found wrong in later stages. V-Model
provides means of testing of software at each stage in reverse manner.
At every stage, test plans and test cases are created to verify and validate the product according to the
requirement of that stage. For example, in requirement gathering stage the test team prepares all the test
cases in correspondence to the requirements. Later, when the product is developed and is ready for testing,
test cases of this stage verify the software against its validity towards requirements at this stage.
This makes both verification and validation go in parallel. This model is also known as verification and
validation model.
Agile Methodology
• Agile methodology - a form of XP, aims for customer satisfaction through early and continuous
delivery of useful software components
Outsourcing
Two primary choices to build IT systems (of great size and complexity):
1. Insourcing - involves choosing IT specialists within your organization to develop the system
2. Outsourcing - the delegation of specific work to a third party for a specified length of time, at
a specified cost, and at a specified level of service
The main reasons behind the rapid growth of the outsourcing industry include the following:
1. Globalization and the Internet
Page | 23
2. Growing economy and low unemployment rate
3. Technology and deregulation
Request for proposal (RFP) - outsourcing document that informs vendors of your logical
requirements
Outsourcing Options
IT outsourcing for software development can take one of four forms:
1. Purchase existing software
2. Purchase existing software and paying the publisher to make certain modifications
3. Purchase existing software and paying the publisher for the right to make modifications
yourself
4. Outsource the development of an entirely new and unique system for which no software exists
Page | 25
1.9. Topology Model
Network topology defines the
structure of the network.
Physical topology, which is
the actual layout of the wire or
media.
Logical topology, which
defines how the media is
accessed by the hosts for sending
data.
The logical topology of a
network is how the hosts
communicate across the medium.
Page | 26
Example of topology
Page | 27
LO2: Specify hardware and software
The server or servers that host Microsoft® Forefront® Identity Manager (FIM) 2010 server components
must meet the following minimum hardware requirements:
An x64 -capable processor
2 gigabytes (GB) of available hard disk space
2 GB or more of RAM
A monitor with a resolution of 1024 × 768
A CD-ROM or DVD-ROM drive
The client computer that hosts the FIM 2010 client-side components must meet the following minimum
hardware requirements:
Required Software
The steps, described in more detail in the following sections, are:
1. Identify Architecture Objectives. Clear objectives help you to focus on your architecture and on
solving the right problems in your design. Precise objectives help you to determine when you have
completed the current phase, and when you are ready to move to the next phase.
2. Key Scenarios. Use key scenarios to focus your design on what matters most, and to evaluate your
candidate architectures when they are ready.
3. Application Overview. Identify your application type, deployment architecture, architecture
styles, and technologies in order to connect your design to the real world in which the application
will operate.
4. Key Issues. Identify key issues based on quality attributes and crosscutting concerns. These are the
areas where mistakes are most often made when designing an application.
5. Candidate Solutions. Create an architecture spike or prototype that evolves and improves the
solution and evaluate it against your key scenarios, issues, and deployment constraints before
beginning the next iteration of your architecture.
This architectural process is meant to be an iterative and incremental approach. Your first candidate
architecture will be a high-level design that you can test against key scenarios, requirements, known
Page | 28
constraints, quality attributes, and the architecture frame. As you refine your candidate architecture, you
will learn more details about the design and will be able to further expand key scenarios, your application
overview, and your approach to issues.
Identify your architecture goals at the start. The amount of time you spend in each phase of
architecture and design will depend on these goals. For example, are you building a prototype,
testing potential paths, or embarking on a long-running architectural process for a new application?
Identify who will consume your architecture. Determine if your design will be used by other
architects, or made available to developers and testers, operations staff, and management. Consider
the needs and experience of your audience to make your resulting design more accessible to them.
Identify your constraints. Understand your technology options and constraints, usage constraints,
and deployment constraints. Understand your constraints at the start so that you do not waste time
or encounter surprises later in your application development process.
Identify the purpose, features, and functions of the following network components:
„ Hubs
„ Switches
„ Bridges
„ Routers
„ Gateways
„ CSU/DSU
„ Network interface cards (NICs) „
ISDN adapters
„ Wireless access points (WAPs) „
Modems
„ Transceivers (media converters) „
Firewalls
Page | 29
Hubs
„ used in networks that use twisted-pair cabling to connect devices „
joined together to create larger networks
„ Simple devices that direct data packets to all devices connected to the hub, regardless of
whether the data package is destined for the device.
„ This makes them inefficient devices and can create a performance bottleneck on busy networks.
„ No perform any error checking.
„ hubs don’t perform any processing
„ One particular device sends a packet on a network segment, forcing every other device on that
same segment to pay attention to it.
„ At the same time, a different device tries to transmit, leading to a collision, after which both
devices must retransmit, one at a time.
„ Not very efficient!
„ Each host segment connects to a hub that represents only one collision domain and only one
broadcast domain.
„ Hubs in your network can contribute to congestion on your Ethernet network.
„ passive hub:
only provide a pathway for the electrical signals to travel along.
Not regenerate signals
„ active hub:
providing a path for the data signals,
Regenerates the signal before it forwards it
Switches:
„ Connectivity points of an Ethernet network.
„ Devices connect to switches via twisted-pair cabling, one cable for each device.
Page | 30
„ a switch forwards it only to the port that connects to the destination device. „
It does this by learning the MAC address of the devices attached to it, „ Data is
forwarded only to the destination node unlike hub
„ switch can improve network performance in two ways:
„ Switches reduce the number of collisions that occur on the network by creating a direct path
between two devices and controlling their communication
„ send and receive data from the switch at the same time using full-duplex
„ No collisions means no need to detect collisions—thus, a collision-detection system is not needed
with switches.
Switching Methods
Switches use three methods to deal with data as it arrives:
„ Cut-through—In a cut-through configuration, the switch begins to forward the pack-et as soon as
it is received. No error checking is performed on the packet, so the packet is moved through
quickly. The downside of cut-through is that because the integrity of the packet is not checked, the
switch can propagate errors.
„ Store-and-forward—In a store-and-forward configuration, the switch waits to receive the entire
packet before beginning to forward it. It also performs basic error checking.
„ Fragment-free—Building on the speed advantages of cut-through switching, frag-ment-free
switching works by reading only the part of the packet that enables it to identify fragments of a
transmission.
Switch Connections
„ Duplexing affects how a device can send and receive frames. There are two modes to duplexing:
Half-duplex:
The device can either send or receive—it cannot do both simultaneously.
„ Half-duplex connections are used in shared-medium, like 10Base2, 10Base5, and Ethernet hubs.
„ One device sends while all other devices in the collision domain listen for and receive the frame.
Page | 31
„ Connections using 10Base5, 10BaseFL, and 10Base2 support only half-duplexing.
Full-duplex:
„ Allows a device to send and receive frames simultaneously.
„ Work only if there are two devices on the connection, like a PC connected to a switch, or a switch
connected to a router. This is called a point-to-point connection.
„ You cannot use a hub in a full-duplex connection.
„ In order to set up a full-duplex connection, both devices need to support full-duplexing. „
Full-duplex connections do not experience collisions.
„ Supported with the following media types: 10BaseT, 100BaseTX, 100BaseTX, 100BaseFX, and
Gigabit Ethernet.
Routers:
„ create larger networks by joining two network segments.
„ E.g: SOHO router used to connect a user to the Internet.
„ Create, add, or divide on the Network Layer as they are normally IP-based devices.
„ Used to connect networks together and route packets of data from one network to another. „
Routers provide a separate broadcast domain for each interface.
„ Routers break up a broadcast domain by default —the set of all devices on a network segment
that hear all the broadcasts sent on that segment.
„ creates an internetwork and breaks up broadcast domains.
„ routers (layer 3 switches) use logical addressing and provide what is called packets witching. „
Routers can also provide packet filtering by using access lists, and
„ When routers connect two or more networks together and use logical addressing (IP or IPv6), this
is called an internetwork.
„ Routers use a routing table (map of the internetwork) to make path selections and to forward
packets to remote networks.
Page | 32