1.5 Layering, encapsulation

1.5 Layering, encapsulation

Introduction to Internet Architecture

In this section, the speaker introduces the concept of architectural layering and discusses the design and teaching of complex systems like the internet. The analogy of airline travel is used to explain the layered architecture approach.

Understanding Complex Systems with Layered Architecture

  • A complex system like the internet consists of numerous interacting pieces, including applications, devices, people, links, routers, switches, hardware, and software.
  • The challenge is how to design and discuss such a complex system effectively.
  • The speaker suggests using a layered architecture approach to tackle this problem.
  • An analogy with airline travel is used to illustrate the concept of breaking down a complex system into smaller functional layers.

Analogy with Airline Travel

  • Airline systems are incredibly complex with various components such as planes, runways, towers, baggage claim, ticket counters, security checkpoints, gate agents, etc.
  • One way to define and discuss such a system is by considering it as a series of steps or functions.
  • For example: buying a ticket, going through check-in and authentication processes, checking bags, going through security checks, waiting at the gate, boarding the plane, taxiing/taking off/flying/landing at the destination.
  • This breakdown helps understand different parts of the trip but can still be further abstracted.

Horizontal Thinking in Layered Architecture

  • To think more abstractly about complex systems like airline travel or the internet's architecture:
  • Consider functions on both take-off and landing sides that work together to provide services (e.g., delivering passengers from source to destination).
  • These functions rely on lower layers in the stack for implementing their services.

Advantages of Layered Architecture

  1. Clear Reference Model:
  • A layered architecture provides an explicit structure that shows how different pieces of a system relate to each other.
  • It offers a clear reference model for discussing and understanding the system.
  1. Modular Design:
  • Layered architecture allows for modular design and implementation.
  • Each layer takes information from above, uses services from the layer below, and provides its own service.
  • Changes can be localized to specific layers without affecting others, making maintenance easier over time.

Internet Architecture Layers

  • The internet architecture is built upon a layered structure consisting of five layers: application, transport, network, link, and physical layers.
  • The application layer includes protocols that control message exchange among distributed application components.
  • The transport layer handles the transfer of messages between processes in different parts of the network.
  • The network layer transports data between end devices or hosts using best-effort service (no reliability guarantee).
  • The link layer transfers data between network devices on the same communication link.
  • The physical layer controls the sending of bits over the communication link.

Data Exchange in Internet Architecture

This section focuses on how data is exchanged within the internet architecture. It explains the concept of messages at different layers and their transmission process.

Message Exchange at Application Layer

  • At the application layer, distributed pieces of an application exchange messages with each other.
  • Messages are considered as units of data exchanged at this layer.

Message Transmission at Transport Layer

  • The transport layer takes messages from the application layer and adds additional information for transmission across the network.

Conclusion

The introduction to internet architecture highlights the challenge of dealing with complex systems like the internet. Layered architecture provides a structured approach to understand and discuss such systems effectively. An analogy with airline travel helps illustrate this concept. The internet's layered architecture consists of five layers: application, transport, network, link, and physical layers. In terms of data exchange, messages are exchanged between distributed application components at the application layer and transmitted with additional information at the transport layer.

Understanding the Process of Message Delivery

In this section, we learn about the process of message delivery and how it is identified at the destination. The importance of including information in a segment to implement reliable data transfer is also discussed.

Identifying the Destination Process

  • A transport layer protocol like TCP needs to identify the process to which a message is going to be delivered at the destination.
  • In cases where there are multiple processes running, additional information needs to be included in the segment for reliable data transfer.

Encapsulation: Adding Information at Each Layer

This section focuses on encapsulation, which involves taking a data unit from a higher layer and adding information to create a new protocol data unit at another layer.

Encapsulation in Network Layer Protocol

  • Encapsulation occurs everywhere in the internet and is an important concept.
  • The network layer protocol encapsulates the transport layer segment and adds its own network layer header information (h sub n) to create a network layer datagram.
  • The datagram serves as the protocol data unit used at the network layer, with h sub n being used by the network layer protocol to implement its service.

Encapsulation in Link Layer Protocol

  • Similarly, the link layer encapsulates the network layer datagram and adds its own link layer information.
  • The protocol data unit transferred between sender and receiver at the link layer is known as a frame.

Understanding Data Flow and Encapsulation

This section emphasizes understanding how data flows down and up through layers of protocols, with headers being added or removed during encapsulation.

Data Flow Down and Up Through Layers

  • Data flows down through layers of protocols, with headers progressively added to create a segment, datagram, and frame.
  • As data flows up through layers, headers are progressively read, acted upon, and then removed.

End-to-End View of Application Layer Message Journey

This section provides an end-to-end view of how an application layer message starts its journey at the source and reaches the destination.

Observations on Headers and Network Devices

  • Pay attention to what happens with headers at each layer in the protocol stack.
  • Deeper within the network, switches and routers only implement lower layers of the protocol stack as their job is to forward frames and datagrams.

Recap of Important Concepts

This section recaps important conceptual ideas covered so far, including layering in an architecture and encapsulation.

Key Concepts Covered

  • General notion of layering in an architecture.
  • Internet architecture overview.
  • Encapsulation: taking information from a higher layer, wrapping a header around it, and passing it down to a lower layer.

Introduction to Network Threats (Music playing)

This section briefly introduces some of the threats that networks face.

Video description

Video presentation: Computer Networks and the Internet. 1.5 Layering and encapsulation. Layered architectures. The layered Internet architecture. Encapsulation. Computer networks class. Jim Kurose Textbook reading: Section 1.5, Computer Networking: a Top-Down Approach (8th edition), J.F. Kurose, K.W. Ross, Pearson, 2020. See http://gaia.cs.umass.edu/kurose_ross for more open student resources.