The Fundamentals of Network Architecture
Today's network architect is faced with many issues and is expected to have a larger knowledge base than ever before. Technology has made enormous strides in the past five to ten years, adding to the amount of work an average designer must endure. Before 1990, the term "network architect" didn't exist in the mainstream vocabulary. Networks consisted of a basic client/server relationship, one protocol (possibly two), and a few shared applications. An office of 15 accountants sharing information on a server would have been a state-of-the-art network. Most companies at that time did not have external e-mail, if any at all. (Most of those who had e-mail paid per message for it.)
Now, networks span geographic locations, multiple protocols, and more applications than ever before. A network designer needs to be an architect, security officer, tech support analyst, technical writer, and financial analyst. In many situations, one person needs to implement security, recognize and head off potential problems, and document all of the work being done. He or she must also work within given budget guidelines while building the most efficient network possible. With the salaries commanded by technical professionals rising exponentially, most companies want more out of their networks and the staff who design them.
Gone are the days when a network encompassed a single building or campus. LANs, as we have come to know them, are a thing of the past. The local area network may be alive and well, but are our networks really as secluded as they used to be? Chances are, even if your company is physically located in one suite or area, you are connected to the Internet. In some cases, you may have employees who require access to resources and applications from outside the confines of your physical infrastructure. These remote employees are a growing segment of the modern-day workforce. The network engineers of today must be prepared to accommodate an environment in which the LAN may not be as local as it once was. Thus, we are all doing our part to make the planet one global network.
All networks need to be designed as "global networks" to work in a global economy. Whether you have field offices down the street or home offices around the country, every network has the potential to be global. E-mail and the Internet have become such a key part of business that what affects one company's network can affect us all. The "Melissa" and "Love Bug" viruses demonstrated this fact. They showed that we are all connected to each other, for better or worse.
The key to understanding the rest of this book is to think in this context. We, as network designers, need to think about and confront network issues that no other generation of engineers has faced. A network needs to convey and extrapolate information from all corners of the Earth. All new innovations in technology are built around a "global access of knowledge." "Anything, anywhere, anytime," has become the mantra of today's businesses; and systems designers need to deliver it. More businesses are implementing networks capable of supporting users and information that may very well span the globe. Whether a company uses the Internet simply as a research tool or allows its employees to work via remote connections, the company has become a new type of worldwide organization. Keep in mind, however, that being a worldwide organization has good and bad points.
On one side, you can have access to all of your corporate information from anywhere at any time. You can check your e-mail from a hotel room in Tokyo at 5:00 p.m. or prepare a stockholder presentation from home at midnight. Sales staff and field technicians can travel to any client location without the fear of losing access to company resources. VPN technology has enabled users to stay connected to vital resources anywhere. More and more people are bringing the office on the road with them, quite literally. It is hard to find a job function that cannot be performed via remote access.
Not all innovations affecting network architects revolve around remote access. Servers can hold more information than ever, transition media is faster, and the cost of connecting them is at an all-time low. In the early '90s, a server's storage capacity was measured in the hundreds of megabytes. Today, it is not uncommon to see servers with a total storage limit in terabytes, and some in petabytes. To prove the saying "The more you have, the more you spend (use)," businesses use up more storage media for day-to-day operations than would have been available in dedicated servers just a few years ago. Hard drive capacities keep rising, yet most businesses still struggle with disk space issues. Applications (being more server-based than ever before), coupled with the data stored by users, turn typical servers into massive informational warehouses. However, now that there is more information on your servers, you need a way to carry it (reliably) from one computer to another.
Line speeds of 10Mbit are starting to be replaced to help accommodate the bandwidth requirements of today's business applications. Consultants are seeing more networks with 100Mbit line speeds. Is 100Mbit enough speed for the rising tide of bandwidth-intensive programs? Some companies are now exploring the possibilities of 1Gbit Ethernet (though the technology is cost-prohibitive for smaller businesses). Finally, as the year 2001 begins, I have started work with a large service provider implementing a 10Gbit backbone. So what do we do with all of this power? Use it. The thriving "e-business" revolution has fueled an almost unending consumption of information. Network architects are giving business the keys to a wealth of data and power.
However, now that the informational floodgates are open it may be hard to control the flow of data. Data flows (for the most part) freely into and out of most companies. Those tools that make our lives worth living (larger servers, faster media, and global access) can be turned on us in an instant. Granting access to one set of people leaves the potential for others to follow. This is the dark side of every large network—keeping it secure.
How do you distinguish between friend and foe in the electronic age? To a remote computer, we are all bits, and every bit looks like the next. Are VPNs exactly that—Virtually Private? Designing secure networks is one of the biggest challenges facing architects. Usernames and passwords only go so far; for some companies, not far enough. A user checking his e-mail from home at 2:00 a.m. could be a cracker gaining access to your resources. The rising popularity of "anything, anytime" networking has been a godsend to crackers. They can now exploit the same lines and ports vital for business. VPNs aren't the only security risk on your infrastructure. Connections to the Internet, branch offices, and e-mail services all pose potential hazards. A network architect must be aware of all of these issues and plan accordingly. Not every hole can be patched, not every network can be "bulletproof," but we are getting close. How do architects design networks to meet the stringent demands of a changing environment? Can an engineer rely on the knowledge and skills that he or she used in the past?
The old method of network design was to divide a company into manageable pieces. The thought was that users in one part of a company (for example, Accounting or Legal) would have different network needs than the other parts of the company. The pieces would then fit together like a puzzle, creating a complete corporate infrastructure. (The software available at the time helped this mentality along. Most business applications were still very "client-heavy," meaning that a large part of the application resided on the client PC. Therefore, businesses segregated PCs by business function as a way of controlling who had access to what data.) The process would begin with an understanding of each department's needs and priorities. For example, the HR department would need access to the personnel database (or at that time the personnel folders). The Accounting department would need access to the financials. (See Figure I.1.) However, in most cases, nobody from one department should have access to the others' databases. Each department would be designed as a separate network, complete with user accounts, rights, and privileges. In some extreme cases, the multiple internal networks had very little contact with each other. This method of design may seem crude by today's standards, but it worked.
In this example, the accounting users would log on to the accounting server. The HR users would log on to the HR server. The two sets of users would then share resources from their own hard drives.
This scenario will not necessarily work now. We no longer need to micro-design a network (as a collection of small entities); rather, we need to engage in a bit of macro-design (a small portion of a larger entity). Where we once thought of internal business functions as parts of a whole company, we should now think of companies as parts of a whole global economy. Thinking with the larger picture in mind will help you build networks that take advantage of the changing technology.
Network Architecture & Design: A Field Guide for IT Consultants walks you through the design process, from gathering information to implementing the final product. Included is a reference guide for product uses and quirks, a glossary of terms, and a lot of diagrams from actual projects. The most popular products (at publication) are covered in great detail (Microsoft solutions for OS, e-mail and inventory tools, and many others). Some other technologies, such as Novell OS and NetBEUI, are included, but not in such detail. The book follows a logical process:
Gathering the Information
Designing the Network
Assembling the Components
Building the Network
Monitoring the Network
Feel free to navigate through the sections as your projects dictate (not all projects will flow the same way). However, if you are building from the ground up and have not yet started your project, please follow the sections in order; you will get more out of the book, and you may head off some nasty issues. Another point that is hammered in throughout this book is DOCUMENTATION. I can't stress enough the need for good documentation. The next few pages discuss laying the groundwork for good documentation and give some tips on how to organize what you have.
Finally, because the amount of information covered in each chapter is so vast, a summary is included at the end of each chapter. The summary contains all the major pieces of information covered in the chapter. It also can be helpful in reviewing the contents and product descriptions from previous chapters.
If you are not familiar with the ISO 9000 standards, don't worry; this is not a discourse on how to rearrange your life around documentation. I could fill an entire book on the ISO standard alone (some people already have). What I will do is offer some advice loosely based on their guidelines to help you document your work. The tips offered in Network Architecture & Design: A Field Guide for IT Consultants will bring you no closer to ISO certification than you are right now, but they will make your job easier.
Most people view documentation as an extra step, a hindrance. You have to take time out from what you are doing, write it all down, and pick up where you left off. If you think like this, documentation will be a hassle. Documentation needs to be thought of as a proof (a form of checks and balances). Documenting your progress helps you prove that you are doing the work agreed to. Because most if not all of the project details are agreed on beforehand, you need material to help you chart your progress. Creating a well-documented network also provides a form of reference for the client to use in training, troubleshooting, and upgrading the network after you move on. Therefore, if you are contracted to implement a network for a large company, and all your documentation is in order, the transition will be extremely simple when you leave. Just hand over all of your papers, and away you go.
What should be documented? Everything! Included in the back of the book is a sample documentation pack from a typical design project. Look through it to get an idea of the kind of documentation you should produce. (I used Visio 2000 and Microsoft Office 2000 for most of the work.) Network maps, server names and functions, and flow charts are some of the most valuable information you can have. An easy illustration of this is shown in Table I.1.
Table I.1 Documentation Used in Troubleshooting
A user in one building cannot see a resource in another branch location.
A network map, address scheme, and resource list would be very useful in diagnosing the problem.
By viewing the network map, you can see what ports and other hardware resources the workstation is trying to use.
An address scheme may alert you to some possible conflicts or overlapping security policies.
Finally, a resource list would quickly show you if the workstation is trying to access files in the right locations.
Not every document needs to come out of a word processor. Some of your papers may be best left as handwritten notes (just write legibly). For instance, meeting notes are a perfect example of an acceptable handwritten document.
Following is a partial list of items your documentation packet may include. (It is only a partial list because every project is different and you may need documents for one project that you may not need for another.)
Client Needs—In your initial meetings discussing your network, take many notes. These will be the building blocks of your project. Ask as many questions as it takes to fully understand the needs and expectations of everyone involved and write them down. This may seem like a no-brainer, but many times expectations are set in these meetings (sometimes they are only implied), and you need a way to go back and find out exactly what was conveyed.
Initial Proposal—This may not be just one document, but a series of documents. Using a professional tool such as Visio will save you a lot of work here. The content of the proposal will range from a high-level topology to a diagram of a wiring closet. Chances are, the document will change many times, so keep all versions for your packet.
Cost/Function Analysis—After a "final" design is agreed upon, it may be necessary to explain different options such as "100Mbit switches versus 100Mbit hubs (cost versus performance)." Because many network proposals (at the first stages) are not very granular, some details will need to be factored in. This is only one example; others might include the cost of adding an extra PDC or which UPS to buy.
Timeline—Microsoft Project is a great tool for producing timelines. Your timeline should include everything needed to complete your project, plus some. A good buffer amount is 50%. Remember, it is always better to finish ahead of schedule than ask for an extension (even if the schedule has been padded). You should also be very clear about who will be doing what. Project has a good task-assignment feature; use it to keep track of who is pulling their weight.
Initial Design—The initial design is produced just before you start working on the project. This is what the client will initially agree to as the "scope" of the project. This document may be subject to many revisions as the project continues. It's important that you do not scrap old versions of this document. You may need to refer back to them if any details are in dispute.
Final Diagram—Produced after all work has finished and the network is functional, a final diagram may include several drawings. Wiring maps, workflow, and topology diagrams all make your final diagram. Because things can be changed after installation, hold off on producing this document until everything is settled.
All your documentation should be kept in an easily accessible place because you are creating all of these documents for a reason: Others need to see them. Keeping all this beautiful paperwork in a three-ring binder on the back seat of your car kind of defeats the purpose. It should be kept in a place that everyone has access to and everyone knows about (again, doing all of this work is useless if nobody knows you're doing it). Inform people when a document has changed or a new one has been added. All this work will take time, but it is well worth it in the end. Having your documentation in order will also give your client a warm and fuzzy feeling, knowing that you are organized and articulate. No one wants to pay top dollar for a network designer who is disorganized and sloppy.
The only documents that you will create that do not fall under these guidelines (ease of accessibility) will be those pertaining to security. You may need to produce documents detailing security procedures, passwords, and other proprietary network information. Consult with the client to find out who should be given all security-related documents. The client may have a security officer or department head who is charged with handling the information. For obvious reasons, these documents should be secured in a safe or locked cabinet. However, some companies may be lax enough to have you include the security papers with all of your other documentation. Ultimately, it is the client's decision.