| From our discussion thus far it is apparent that the | | | | into layers, providing a framework in which we can |
| Internet is an extremely complicated system. We | | | | discuss airline travel. Note that each layer, combined |
| have seen that there are many pieces to the | | | | with the Layers below it Implements some |
| Internet: numerous applications and protocols, various | | | | functionality some service. At the ticketing layer and |
| types of end systems, packet switches, and various | | | | below, airline-counter-to-airline-counter transfer of a |
| types of link-level media. Given this enormous | | | | person is accomplished. At the baggage layer and |
| complexity, is there any hope of organizing network | | | | below, baggage-check-to-baggage-claim transfer of a |
| architecture, or at least our discussion of network | | | | person and bags is accomplished. Note that the |
| architecture? Fortunately, the answer to both | | | | baggage layer provides this service only to an |
| questions is yes. | | | | already-ticketed person. At the gate layer, |
| Layered Architecture | | | | departure-gate-to-arrival-gate transfer of a person |
| Before attempting to organize our thoughts on | | | | and bags is accomplished. At the takeoff/landing |
| Internet architecture, let’s look for a human | | | | layer, runway-to- runway transfer of people and their |
| analogy. Actually, we deal with complex systems all | | | | bags is accomplished. Each layer provides its service |
| the time in our everyday life. Imagine if someone | | | | by (1) performing certain actions within that layer (for |
| asked you to describe, for example, the airline | | | | example, at the gate layer, loading and unloading |
| system. How would you find the structure to | | | | people from an airplane) and by (2) using the services |
| describe this complex system that has ticketing | | | | of the layer directly below it (for example, in the |
| agents, baggage checkers, gate personnel, pilots, | | | | gate layer, using the runway-to- runway passenger |
| airplanes, air traffic control, and a worldwide system | | | | transfer service of the takeoff/landing layer). |
| for routing airplanes? One way to describe this | | | | A layered architecture allows u to discuss a |
| system might be to describe the series of actions | | | | well-defined, specific part of a large and complex |
| you take (or others take for you) when you fly on | | | | system. This simplification itself is of considerable |
| an airline. You purchase your ticket, check your bags, | | | | value by providing modularity, making it much easier |
| go to the gate, and eventually get loaded onto the | | | | to change the implementation of the service provided |
| plane. The plane takes off and is routed to its | | | | by the layer. As long as the layer provides the same |
| destination. After your plane lands, you deplane at | | | | service to the layer above it, and uses the same |
| the gate and claim your bags. If the trip was bad, | | | | services from the layer below it, the remainder of |
| you complain about the flight to the ticket agent | | | | the system remains unchanged when a layer’s |
| (getting nothing for your effort). Source host to | | | | implementation is changed. (Note that changing the |
| destination host in the Internet but this is not quite | | | | implementation of a service is very different from |
| the analogy we are after. We are looking for some. | | | | changing the service itself!) For example, if the gate |
| We note that there is a ticketing function at each | | | | functions were changed (for instance, to have people |
| end; there is also a baggage function for | | | | board and disembark by height), the remainder of |
| already-ticketed passengers and a gate function for | | | | the airline system would remain unchanged since the |
| already-ticketed and already-baggage-checked | | | | gate layer still provides the same function (loading |
| passengers. For passengers who have made it | | | | and unloading people); it simply implements that |
| through the gate (that is, passengers who are | | | | function in a different manner after the change. For |
| already ticketed, baggage-checked, and through the | | | | large and complex systems that are constantly being |
| gate), there is a takeoff and landing function, and | | | | updated, the ability to change the implementation of |
| while in flight, there is an airplane- routing function. | | | | a service without affecting other components of the |
| This suggests that we can look at the functionality in | | | | system is another important advantage of layering. |
| a horizontal manner has divided the airline functionality | | | | |