in Network Design and Architecture from Capella University and a Master of Associate of Arts in Music from Polk Community College and a Bachelor of. THE ART OF NETWORK. ARCHITECTURE Business Driven Design. RUSS WHITE DENISE DONOHUE. Introduction After a number of outages that clearly. Editorial Reviews. About the Author. Russ White, CCIE No. , is a principal engineer in the.
|Language:||English, Spanish, German|
|Distribution:||Free* [*Registration needed]|
The Art of Network Architecture: Business-Driven Design (Networking Technology) [Russ White, Denise Donohue] on aracer.mobi *FREE* shipping on. art-of-network-arch-cover Chesapeake NetCraftsmen is extremely pleased to announce the release of “The Art of Network Architecture: Business-Driven Design”. The Art of Network Architecture is the first book that places business Your Price : $; List Price: $; Includes EPUB, MOBI, and PDF; About eBook The business-centered, business-driven guide to architecting and.
His work goes on to state that a building is not truly a work of architecture unless it is in some way "adorned". For Ruskin, a well-constructed, well-proportioned, functional building needed string courses or rustication , at the very least. Ingenuity is at work. But suddenly you touch my heart, you do me good. I am happy and I say: This is beautiful. That is Architecture".
There it begins.
While the notion that structural and aesthetic considerations should be entirely subject to functionality was met with both popularity and skepticism, it had the effect of introducing the concept of "function" in place of Vitruvius ' "utility". Nunzia Rondanini stated, "Through its aesthetic dimension architecture goes beyond the functional aspects that it has in common with other human sciences. Through its own particular way of expressing values , architecture can stimulate and influence social life without presuming that, in and of itself, it will promote social development.
This is impacted by the level of monitoring and management you have deployed. These protocols are still in wide use. Another model for understanding network design—hierarchy—is covered in Chapter 6.
Using the concepts of control and data planes. Chapter 4. In the world of networking. This would not only allow the patent examiner to fully understand the idea in an intuitive way. Working from the theoretical to the more practical. Models Models have always served a place in conceptualizing and understanding ideas and spaces. This chapter begins with models describing how protocols interact to transport data across a network. There are. In the area of network design. The Basic Model.
Patent Office required that every patent filing required a physical model implementing the idea. Figure illustrates the seven-layer model. Each device has a different data link Layer 2 address that can be used to send traffic to that specific device. Figure Seven-Layer Model The genius of modeling a network in this way is that it makes the interactions between the various pieces much easier to see and understand.
The network layer. So to connect to a particular physical port. Each link type has a different format for signaling a 0 or 1. Each pair of layers.
The data link layer assumes each frame within a flow of information is separate from all other packets within that same flow and only provides communication for devices that are connected through a single physical link.
This allows the interaction between the various layers to be abstracted and standardized.
Each layer has a specific set of functions to perform: The session layer makes certain that the type of data. The physical layer on the first device can be said to communicate with the physical layer on the second device. This leads to the following observation: Each layer in the model provides the information the layer below it is carrying. Just as interactions between two layers on a device are handled through sockets. Applications interact with the presentation layer through sockets.
Layer 3 provides the bits Layer 2 encapsulates and transmits using Layer 1. Instead of a seven-layer model. The IP suite of protocols was developed around another model. IPsec is another difficult case. Problems with the Seven-Layer Model Although the OSI model represented a huge leap forward in modeling and understanding the operation of networked systems.
How can IPsec. Figure Four-Layer Model. Two glaring examples are routing protocols and IPsec. Routing protocols in the OSI model run directly on the data link layer. This was illustrated in Figure How can a protocol that fits into the purpose ascribed to the network layer run on top of the network layer. And yet TCP. If you examine the actual function of each layer. IP and all routing protocols fit in the Internet layer. There are really only four functions that any data carrying protocol can serve: Iterative Layering Model The seven.
Ethernet fits wholly within the link layer. There are two natural groupings within these four functions: Because of this neatness. In this model. Patterns in Network Architecture: A Return to Fundamentals. So most protocols fall into doing one of two things: For a fuller development of this model of network operation.
Flow control and reliable transport may also be implemented in this layer. Prentice Hall. EIGRP itself provides flow control and error correction through its own transport mechanism. Ethernet provides transport services and flow control. The scope of information and interaction is the foundation of network stability and resilience. From this perspective. Figure illustrates the iterative model.
Figure Iterative Model of Network Protocols Each layer of the model has one of the same two functions. As an example of how using the iterative model can provide a better feel for specific protocols.
The four-layer DoD model. IP is a multihop protocol a protocol that spans more than one physical link providing transport services. The iterative model resolves this problem by classifying protocols by their function in terms of data transport. Within the OSI model. From the perspective of the iterative model. Connectionless protocols spread the state required to carry data through the network to every possible device that might need that data.
After the connection is set up. A Hybrid Model The models discussed so far describe traffic flow and protocol interaction. The iterative model.
Connection-Oriented and Connectionless The iterative model also brings the concepts of connection-oriented and connectionless network protocols out into the light of day again. Connectionless services. As a result. Although these models are helpful in understanding protocol operation.
Most modern networks are built with connectionless transport models combined with connection-oriented quality of service. Connection-oriented protocols set up an end-to-end connection. This treatment of QoS as more connection oriented than the actual traffic flows being managed causes strong disconnects between the ideal state of a network and various possible failure modes. Keeping interfaces between layers clean. How does. The placement of the virtualization module in the diagram.
It has functional modules rather than layers. Ethernet carries it across single links. The virtualization module is new and provides virtualization services that interact with both the control plane and the network layer.
What we need is a model of how network protocols interact with network forwarding hardware and software—routers and switches. As with the four-layer model. The model illustrated in Figure begins with the four-layer model and expands it where necessary to create a useful model for understanding network protocols and interfaces in the context of network architecture.
Figure Hybrid Network Operation Model This model looks much more confusing than the previous ones. These three modules are provided. The control plane is new as well. Rather than focusing on the flow of information between two applications.
The Control Plane The control plane includes any protocol that provides the information needed to move traffic from one device to another through the network.
Am I trying to write data to some service. DNS interacts with the location of services in many ways. When a DNS server receives a query for a particular server or service. Services are the focus at this level. Although a service must.
Figure illustrates the difference between these concepts. What Am I Trying to Reach? The first of these three questions is the simplest: What am I trying to reach? Am I trying to retrieve a web page. The DNS service also acts as a way to find out where a service is located based on knowing whatthe service is—or rather. To put it in simple terms. Where Is It? The DNS takes a name and provides an address—and just like in the real world.
DNS provides service to location mapping. The first abstraction a network engineer must make is between the physical and the logical. If you move a house from one place to another. Atlanta and Raleigh are both closer to each other than they are to New York City physically. Why is this so important? Because it impacts addressing.
Atlanta is actually closer to New York City than it is to Raleigh. This abstraction between the physical and the logical is crucial because it clearly shows the point behind IP addresses in the first place—an IP address does not label a specific computer or device.
This model not only treats routing as a distributed database. A host sending data communicates with the relay. Routing protocols map the best path through a set of physical links and devices to reach any topological location or any device.
To overcome this problem. This is the concept behind mobile IP. This model treats the routing table or the protocol tables as the primary end of routing. Because routing protocols rely on the host-to-host transport mechanisms provided by network protocols. Routing has been modeled in a number of ways through the years. This layers policy on top of the distributed database view. A set of on-the-wire protocols are specified to keep this distributed database synchronized in near real time.
The control plane employs routing protocols to solve this problem. The emphasis here is on the concept of real time. How Do I Get There? After you have an address. One of the worst habits of network engineering is treating the location as an identifier. Enough moving. This piece of the control plane puzzle is provided through protocols such as SNMP.
Each of these protocols is designed to run on top of the network itself and provide information about the network.
Routing To determine where a packet has been in the Internet. This loose coupling of the data plane and the control plane is a difficult concept. Control Plane Relationships The control plane consists of a number of different classes of protocols and services.
Any given router might be running multiple routing protocols. Although this way of thinking is widespread. This is the model of bandwidth brokers. There is not. Other Network Metadata A network not only needs names. Each of these different relationships is discussed in the following sections. Packet-based networks are designed to allow traffic to continue flowing even when there are disruptions in the topology—the control plane discovers the change in the underlying network.
To illustrate this concept. The top network illustrates what most engineers think about when they look at the routing table at Router A. Traffic from the host on the far right travels along the same path as traffic sent to Host F. Looking at the routing table at. The control plane. C link. The bottom illustration shows the same network with a bit of manually configured policy. Other examples of the control plane at any particular device in the network not actually showing the path any particular traffic has traveled to reach a specific destination include packets routed around a failure during the time of network convergence.
Router A. Another interaction between the control plane and lower layers of the network stack is the use of the lower layers as a transport for the control plane itself. The result is that examining the routing table at either Routers A or E will provide a false view of the path traffic takes between Host F and Router A. QoS is one of the outliers in the general design of connection-oriented services running over connectionless transport protocols. A control plane process must be used to separate or segment traffic at the point where the virtual topology separates from the physical topology in order to pull the correct traffic into the virtual topology.
This is easily seen in the operation. QoS also interacts with traffic engineering mechanisms and virtualization services to channel traffic of various types along specific paths through the network to support policies such as better bandwidth usage.
Routing protocols use transport. Measuring the state of a network involves control plane protocols such as NetFlow and SNMP that run on top of network and transport protocols. But although this is the way redistribution is configured. In reality: Network Measurement and Management Measurement is critical to operating a network.
Network engineers need to know what the normal state of the network is and how the network is changing over time. Figure illustrates the interaction between different routing protocols.
Interaction Between Control Planes The hybrid model also provides a solid basis on which to understand the relationship between multiple control planes running on the same network. Backup routes. Why do we go to so much trouble to provide this type of separation between different routing processes?
Because the capability of a routing protocol to determine loop-free routes is based on internally consistent state. Injecting random state into a routing protocol can and sometimes does cause major network failures. In other words. In no case is internal routing information. The only information redistributed between two different routing protocols is the destination and the next hop.
How does this interface operate? Reactive data planes are a bit more complex to understand. It might be interesting to consider.
The process of redistribution. Before moving into pure design models. The administrative nature of metric types is seen even more clearly in BGP. In a proactive control plane. Should the metrics be considered internal or external? It depends on the configuration. The real difference is not in the origin of the routing information. Because routing protocols draw their information from the local RIB. This cache is updated only when there is a packet presented to the control plane that needs to be forwarded.
Proactive data planes are built just like proactive control planes and require a proactive control plane to build. The concept of a reactive control plane is simple to understand in theory: When a packet is received for which there is no forwarding information. The forwarding process will cache information learned from the control plane for some period of time. The information discovered through this process is often cached in both the data and control planes until these processes determine it is no longer needed.
In this type of design. Combining these two concepts. An example of this is a network running OSPF to provide routing information combined with a cached forwarding table.
If a packet to a particular destination is received for which there is no forwarding information. Reachability information is discovered by examining actual traffic flows on the network itself.
Reactive state is almost always kept at the host reachability level. Spanning tree is an example of this type of operation. Reactive systems can. These two factors combined often counteract any savings the control plane realizes by keeping less state information at each device.
Why should a protocol designer or implementer choose one model over another? Why should you. Although faster reaction times. Reactive systems can introduce unpredictable and difficult to manage delay and jitter into the network. Spanning tree builds one large tree that is shared by every source and destination pair.
To understand how this relates to modeling a network. Figure shows the waterfall model. Figure Waterfall Model The waterfall model shows how data flow splits in a network at every router Layer 3 junction. Although the data flow is upside down data actually flows in the opposite direction of the water flow.
With OSPF. This model is based on the basic insight that all routing and switching protocols essentially build a tree sourced at the destination and spreading out to each available source.
After any network data stream has split. The most efficient path through the network is always going to be against the flow of the water in this model. Different design paradigms can be used in each section to match the specific purpose of the PIN being designed. Clos network design is discussed in Chapter Data Center 1 might have an open security policy within the data center itself.
Any network in which data must switch directions in relation to the current represents suboptimal traffic flow. The higher the number of destinations that must switch directions relative to the direction of the current. Splitting the network up in this way emphasizes the function of each piece of the network. This effect will be discussed in terms of network stretch in Chapter 6. Figure illustrates a PINs view of a network.
PINs treat the network as a series of interconnected black boxes that have little relationship to one another. As a network design paradigm. These layers are completely independent of the overall network design. Others might connect only to the Core.
This allows each business problem to be approached independently. Vendor sales folks tend to work within PINs almost exclusively because it helps to narrow the solution to a particular environment.
PINs are also useful for network planning. Overall traffic planning is not normally a consideration in PINs. Prioritized business needs fall naturally into the various PINs.
Data Center 1 is simply a traffic sink for Data Center 2. An illustration may help to drive these points home. As an example. From another stack of designs. Connecting these different PINs is a series of interconnects. Suppose you decide to build a new house. This encourages thinking in bits and pieces. Data Center 1 might have core. PINs fail on several counts. PINs are useful for understanding a network design from an operational perspective. PINs encourage spaghetti topologies and fragmented policy implementation.
You then take all these different designs. They may help the architect understand the way a network is laid out. Each one brings some new information to the table and hence is worth digging in to and understanding on its own. Each model provides a view into the mind of protocol designers.
Summary This chapter has covered a dizzying array of models. As a whole. The classic example of a link type with no real down notification is a switched Ethernet segment—all reachability to every device across the segment could be lost. Questions You Should Ask Have you ever sat and had a long discussion with a network link?
The first part of this chapter discusses the crucial questions every network designer needs to be able to answer about every link type virtual or real. What sort of modulation is used? Is the link multiplexed or not?
All these questions are interesting.
Here are the absolutely crucial questions to understand before using a particular link type. Chapter 5. To put the problem another way: Link failures cause loss of service. Underlying Support No matter how far up the networking stack you might roam. So what is the first question a network designer should ask?
What happens when the link fails? This might seem a little pessimistic. What Happens When the Link Fails? The first question an engineer might ask about a link is.
Virtualization through tunneling is a common feature of most network technologies in current architectures. Maximum Transmission Unit MTU is a major consideration when determining whether to run a virtual link across any given transport. You may wind up with less useable bandwidth than you thought. Multicast only failures. What options does the designer have in those situations where the network must converge more quickly than the physical link will detect a failure and notify the routing protocol?
An alternative polling mechanism such as fast hellos at the protocol level or Bidirectional Forwarding Detection BFD can be used to detect link failures quickly where needed. It is difficult to get accurate data from most vendors. Fate sharing is a major problem when a virtual link and its backup are both carried across a single physical link—a single failure can take out all available paths.
Another aspect of virtualization to consider is fate sharing. You can also run into performance and throughput issues if the tunnel processing is done in software rather than hardware. Quality of service QoS support will generally fall into three broad areas: The ability to mark packets on each link type based on the priority or class of service a particular stream or application expects.
The ability of each interface implementation along the path to read, understand, and act on these packet markings. The types of queues and rate limiting mechanisms available on the interfaces along a particular path, as well as the parameters and adjustments the operator can make to these queues and rate limiters. Marking Packets How many bits are available for marking packets on this link type? The number of bits available determines the number of queues any interface along the path is going to be able to act on.
If there are only 3 bits to use for marking the class of service, then there will only be 8 possible classes 0—7 with which you can mark the traffic. Some link types will have no bits available to mark traffic; for instance, an Ethernet link without trunking enabled.
Remember that when you rely on a higher-level transport protocol to mark packets for specific quality of service handling, there is often no way to translate those markings into actual differences in the way traffic is handled when being forwarded through the network.
Layer 2 devices, such as switches, may not pay attention to QoS or Type of Service ToS markings in the IP packet header if these headers are not examined during packet forwarding operation. Other switches can, and will, look at higher-layer marking such as DSCP if they are configured to do so. When and where can traffic be rate limited or shaped?
Based on what information—the type of service bits in the packet headers, the protocol type, or other factors? How does shaping work along this circuit, and what impact will shaping which necessarily involves queuing packets for some period of time have on critical business applications? Another queuing consideration is related to the type of interface a link uses. For switches, the number of queues available, the existence of a priority queue, and the number of drop thresholds within each queue all vary depending on the type of device and the module within the device.
Also note where queuing takes place in a device, or rather what types of quality of service controls are implemented at various points in the processing of a packet in any given device.
Queuing is normally implemented. Queuing might also be implemented across the fabric or BUS that connects line cards. If there were always enough bandwidth to transmit every packet offered to the network, there would be less need to control how traffic is transmitted.
However, you might still have the problem of a large packet delaying the transmittal of a small packet, and thus introducing jitter into a real-time traffic stream.
Additionally, people often forget that even the most granular link usage statistics are but an average. You can have microbursts of data that cause critical packets to be dropped but never show up in your network management reports.
So no matter how big your pipe is, or how lightly used you think it is, it might save the day to have at least some basic QoS implemented. On the other hand, the cost of links sometimes drive network engineers to use highly tuned QoS systems to reduce bandwidth usage to the minimum possible.
In this valiant effort, traffic is classified into as many different buckets as possible, with strict rules on how packets from different classes of service should be serialized onto the wire. When do we upgrade our links, and when do we introduce finer-grained QoS to resolve problems with a particular application?
The key to this problem lies in naming and understanding both sides of the equation. What is the cost of increasingly complex QoS? The first cost is in the time required to set up and run the QoS system, including managing the unexpected flows and situations that will arise in any complex system. Keep in mind that you want to standardize your QOS settings as much as possible across the entire enterprise. And any QOS changes will need to be deployed throughout your entire network.
The second cost is in the time required to troubleshoot the QoS system when it fails, or when the network itself fails. To make this problem worse, most QoS problems show up as difficult to diagnose application performance problems. The third cost is in the time and processing required for routers and switches to build and manage large numbers of queues, and in the diminishing returns of slicing traffic into smaller and smaller queues, each of which will necessarily receive an ever smaller piece of the available bandwidth.
The cost of adding higher bandwidth connections includes, of course, the cost of the link itself. For a WAN link this might be a real drawback. On both LAN. Configuration changes will be needed. Good QoS design is not a trivial exercise.
From a network design standpoint, it boils down to understanding your business and understanding the needs of your business applications, then designing a network that can support the QoS requirements. Three specific points are important for the network designers to consider in using STP: This implies that the topology must match the tree STP will build, or only those parts of the physical topology that match a spanning tree will be used by the protocol.
Figure 51 provides an example. Figure Spanning Tree Inefficiency While this topology is a loop, STP needs to build a single tree that can be used to forward traffic. This is clearly a much longer path than the optimal, which is [B,F]. All reachability for both network nodes and end hosts is learned in the data plane, rather than being carried through the network in the control plane.
This tree is enforced by shutting off all traffic along the [B,F] link, rather than actually building a local forwarding table based on reachability information learned from the control plane.
The implication for design is that mobility and loop-freeness are built on the back of data plane timers, rather than control plane convergence speed. To increase the speed of convergence in an STP.
There are no loop breaking mechanisms in most data link layer protocol specifications, such as a time-to-live counter in the header; if a loop occurs, packets will loop until the control plane breaks the loop.
Some large scale data center networks have moved away from using STP by designing their physical topologies in the form of a spanning tree, and then using MAC address filtering or multiple spanning tree domains to prevent packet loops.
In the first step, a set of shortest path trees are built node to node not edge to edge, as in routing , across all the switches in the network. IS-IS is used to find neighbors, advertise node-to-node links, and build the trees that provide connectivity across the switches. In this example, H would build a tree that includes reachability to the following: After this set of shortest path trees is built through the network, the second step, learning reachability, can begin.
Unlike routing and like STP , reachability is learned through the data plane. On receiving this packet from this multicast tree, each edge node will examine the TRILL header and inner original packet and learn that Server A is reachable through Switch C. Again, assuming Switches D and H have no prior knowledge of Host K, they will both unwrap the TRILL encapsulation and flood this packet to an unknown destination onto their attached segments.
In this way, TRILL protects the core switches from learning the entire table of reachable Layer 2 addresses in the network. In the third step, normal switching begins. Many programming paradigms are as well known for the techniques they forbid as for those they enable.
For instance, pure functional programming disallows use of side-effects , while structured programming disallows use of the goto statement. Partly for this reason, new paradigms are often regarded as doctrinaire or overly rigid by those accustomed to earlier styles. Programming paradigms can also be compared with programming models which allow invoking an execution model by using only an API.
Programming models can also be classified into paradigms, based on features of the execution model. For parallel computing , using a programming model instead of a language is common. The reason is that details of the parallel hardware leak into the abstractions used to program the hardware. This causes the programmer to have to map patterns in the algorithm onto patterns in the execution model which have been inserted due to leakage of hardware into the abstraction. As a consequence, no one parallel programming language maps well to all computation problems.
It is thus more convenient to use a base sequential language and insert API calls to parallel execution models, via a programming model. Such parallel programming models can be classified according to abstractions that reflect the hardware, such as shared memory, distributed memory with message passing, notions of place visible in the code, and so forth.
These can be considered flavors of programming paradigm that apply to only parallel languages and programming models. Criticism[ edit ] Some programming language researchers criticise the notion of paradigms as a classification of programming languages, e. Harper,  and Krishnamurthi. See Comparison of multi-paradigm programming languages. History[ edit ] Different approaches to programming have developed over time, being identified as such either at the time or retrospectively.