Protocol Suites and Layering Models

Protocol Suites and Layering Models
• The fundamental abstraction used to collect protocols
into a unified whole is known as a layering model
• All aspects of a communication problem can be
partitioned into pieces that work together
– each piece is known as a layer
• Dividing protocols into layers helps both protocol
designers and implementers manage the complexity
– to concentrate on one aspect of communication at a given
time
• Figure 1.1 illustrates the concept
– by showing the layering model used with the Internet
protocols
• For now, it is sufficient to learn the purpose of each
layer and how protocols are used for communication
1
Protocol Suites and Layering Models
2
Protocol Suites and Layering Models
• Physical Layer (Layer 1)
– specify details about the underlying transmission medium and hardware
– all specifications related to electrical properties, radio frequencies, and
signals belong in layer 1
• Network Interface Layer (Layer 2)
– some publications use the term Data Link
– specify details about communication between higher layers of protocols
(implemented in SW) and the underlying network (implemented in
hardware)
– specifications about
•
•
•
•
network addresses
maximum packet size that a network can support
protocols used to access the underlying medium
and hardware addressing
3
Protocol Suites and Layering Models
• Internet Layer (Layer 3)
– Protocols in the Internet layer form the fundamental
basis for the Internet
– Layer 3 protocols specify communication across the
Internet (spanning multiple interconnected networks)
• Transport Layer (Layer 4)
– Provide for communication from an application program
on one computer to an application program on another
– Includes specifications on
• controlling the maximum rate a receiver can accept data
• mechanisms to avoid network congestion
• techniques to insure that all data is received in the correct order
4
Protocol Suites and Layering Models
• Application Layer (Layer 5)
– specify how a pair of applications interact when they
communicate
– specify details about
• the format and
• the meaning of messages that applications can exchange
• the procedures to be followed
– Some examples of network applications in layer 5
•
•
•
•
•
email exchange
file transfer
web browsing
telephone services
and video teleconferencing
5
1.8 Headers and Layers
•Advantages of layering:
•Divides the functionalities in modules so they can be updated without affecting
and modifying all the pieces (modular design)
•Complexity is reduced by working with pieces that address specific functions
•Easier to understand the model
•Disadvantages of layering:
•Extra overhead
•Efficiency is lost
•Duplication of functions
•Efficiency is calculated using the following formula:
size of packet
efficiency 
100
size of packet  size of overheads
© 2009 Pearson Education
Inc., Upper Saddle River,
NJ. All rights reserved.`
6
Two Basic Internet Communication
Paradigms ‫نماذج‬
• The Internet supports two basic communication paradigms:
– Stream Transport in the Internet
– Message Transport in the Internet
• Figure 3.1 summarizes the differences
© 2009 Pearson Education
Inc., Upper Saddle River,
NJ. All rights reserved.
7
Stream Transport in the Internet
• Stream denotes a paradigm in which a sequence of bytes
flows from one application program to another
• Internet's mechanism arranges two streams between a
pair of communicating applications, one in each direction
• The network accepts input from either application, and
delivers the data to the other application
• The stream mechanism transfers a sequence of bytes
without attaching meaning to the bytes and without
inserting boundaries
• A sending application can choose to generate one byte at
a time, or can generate blocks of bytes
• The network chooses the number of bytes to deliver at
any time
– the network can choose to combine smaller blocks into one
large block or can divide a large block into smaller blocks
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
8
Message Transport in the Internet
• In a message paradigm, the network accepts and delivers messages
• Each message delivered to a receiver corresponds to a message that
was transmitted by a sender
– the network never delivers part of a message, nor does it join multiple
messages together
– if a sender places exactly n bytes in an outgoing message, the receiver will
find exactly n bytes in the incoming message
• The message paradigm allows delivery in different forms:
– Unicast
• a message can be sent from an application on one computer directly to an
application on another, 1-to-1
– Multicast
• a message can be multicast to some of the computers on a network, 1-to-many
– Broadcast
• a message can be broadcast to all computers on a given network, 1-to-all
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
9
Message Transport in the Internet
• Message service does not make any guarantees
• So messages may be
– Lost (i.e., never delivered)
– Duplicated (more than one copy arrives)
– Delivered out-of-order
• A programmer who uses the message paradigm must insure that
the application operates correctly
– even if packets are lost or reordered
• Most applications require delivery guarantees
• Programmers tend to use the stream service except in special
situations
– such as video, where multicast is needed and the application
provides support to handle packet reordering and loss
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
10
The Client-Server Model of Interaction
© 2009 Pearson Education
Inc., Upper Saddle River,
NJ. All rights reserved.
11
Peer-to-Peer Interactions
• If a single server provides a given service
– the network connection between the server and the
Internet can become a bottleneck
• Figure 3.5 illustrates the architecture
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
12
Peer-to-Peer Interactions
• Can Internet services be provided without creating a central
bottleneck?
– One way to avoid a bottleneck forms the basis of file
sharing known as a peer-to-peer (P2P) architecture
• The scheme avoids placing data on a central server
– data is distributed equally among a set of N servers
– and each client request is sent to the appropriate server
– a given server only provides 1/N of the data
• the amount of traffic between a server and the Internet is 1/N as
much as in the single-server architecture
• Server software can run on the same computers as clients
• Figure 3.6 illustrates the architecture
© 2009 Pearson Education
Inc., Upper Saddle River,
NJ. All rights reserved.
13