slides for protocol layering and network applications
TRANSCRIPT
By
Jaji Nekkanti
Network Applications And Protocol Layering
1
Agenda Applications
Need for Multiple Protocols
The Conceptual Layers of Protocol Software
Functionality of the Layers
ISO 7-Layer Reference Model
X.25 And its Relation to the ISO Model
The TCP/IP 5-Layer Reference Model
The Protocol Layering Principle
The Layering Principle Applied To A Network
Layering in Mesh Networks
Two Important Boundaries In The TCP/IP Model
Cross-Layer Optimizations
The Basic Idea Behind Multiplexing And Demultiplexing
2
Applications
The World Wide Web
Online social networking
Streaming audio and video,
Instant messaging
File-sharing
Create the applications-powerful programming platforms and new devices
such as smartphones have created new opportunities to develop applications
quickly and to bring them to a large market.
Who operate or manage networks—mostly a behind-the-scenes job, but a
critical one and often a very complex one-network operators.
Finally, there are those who design and build the devices and protocols that
collectively make up the Internet.
3
Classes of Applications
Web
Presents simple interface
Users view pages full of textual and graphical objects and click on objects that
they want to learn more about, and a corresponding new page appears.
Uniform Resource Locator (URL),
For example,
http://www.cs.princeton.edu/˜llp/index.htm.
Message exchange includes up to six messages to translate the server
name(www.cs.princeton.edu) IP address (128.112.136.35)
Three messages to set up a Transmission Control Protocol (TCP) connection
between your browser and the server.
Four messages for your browser to send the HTTP “GET”
request and the server to respond with the requested page.
Four messages to tear down the TCP connection.
4
Streaming audio and video
Services such as video on demand and Internet radio use this technology.
The delivery of audio and video has some important differences from
fetching a simple web page of text and images.
For example, No need to download an entire video file—a process that might
take minutes to hours—before watching the first scene.
Streaming audio and video implies a more timely transfer of messages from
sender to receiver, and the receiver displays the video or plays the audio
pretty much as it arrives.
Audio and video streams in a continuous ,skipped sounds or stalled video is
not acceptable.
By contrast, a page of text can be delivered and read in bits and pieces.
5
Real-time audio and video
Tighter timing constraints than streaming applications.
Ex: Skype™ or a videoconferencing application, the interactions among
the participants must be timely.
Interactive applications usually entail audio and/or video flows in both
directions, while a streaming application is most likely sending video or
audio in only one direction.
Videoconferencing tools that run over the Internet have since the early
1990s but have achieved much more widespread in the last 2 years.
Fitting the video content into a relatively low bandwidth network, for
example, making sure that the video and audio remain in sync and arrive in
time.
6
A multimedia application including videoconferencing
7
Protocol layering
The Need For Multiple Protocols
Protocols allow one to specify or understand communication without
knowing the details of a particular vendor’s network hardware.
Network communication is a complex problem with many aspects:
Hardware failure
Hosts, routers
Network congestion
Networks have finite capacity
Packet delay or Packet loss
Data corruption
Electrical, magnetic interferences
HW failure
Data duplication or Inverted Arrivals
8
Program translation has been partitioned into 4 sub problems identified with
software that handles each sub problem.
Compiler, assembler, link editor and loader.
Two things are clear here that:
1. It should be clear that pieces of translation software must agree on the exact
format of data passed between them.
2. The four parts of the translator form a linear sequence in which output from
the compiler becomes input to the assembler, and so on.
9
The Conceptual Layers of Protocol
Software
Network
Layer n
…
Layer 2
Layer 1
Layer n
…
Layer 2
Layer 1
Sender Receiver
The modules of
Protocol SW
are on each
machine
stacked
vertically into
layers
10
Functionality of the Layers
How many layers should be created ?
What functionality should reside in each layer ?
The questions are not easy to answer for several reasons:
Given a set of goals and constraints governing a particular communication
problem.
Reliable transmission.
The design of network architecture and the organization of the protocol software
are interrelated.
11
ISO 7-Layer Reference Model
Service –says
what a layer
does.
Interface –says
how to access
the service.
Protocol –says
how the service
is implemented.
12
X.25 And its Relation to the ISO Model
International Telecommunications Union(ITU).
In the X.25 view ,a network operates much like a telephone system.
Layers of the protocol standard specify various aspects of the network as
follows:
Physical layer:
*physical interconnection between computers and network packet
switches.
*Includes electrical characteristics of voltage and current.
Data link layer:
*specifies how data travels b/w a computer & packet switch to which it
connects.
*unit of data-frame.
* includes error detection.
* includes timeout mechanism.
13
14
Network layer:
*Unit of data-Packets.
* includes the concepts of destination addressing and forwarding.
Transport layer:
* Unit of data-segments.
*provides end-to-end reliability.
Session layer:
*How protocol software can be organized to handle all the functionality
needed by applications programs.
*Ex: login and passwords, session and connection coordination.
Presentation layer:
* standardize the format of data that application programs send over a
network.
Application layer:
* includes application programs.
*Ex: E-mail, File transfer programs.
The TCP/IP 5-Layer Reference Model
Application
Transport
Internet
Network Interface
Physical
Messages or Streams
Transport Protocol Packets
IP Packets
Network-Specific Frames
Functionality
15
Layer 5: Application
Users invoke application programs that access services available across a TCP/IP.
Application programs may send,sequence of individual messages or a continuous stream of data.
Layer 4: Transport
Provide communication from one application to another.
Provides reliable delivery of data.
Layer 3: Internet
Handles communication from one computer to another.
Defines uniform format of packets forwarded across networks of different technologies and rules for forwarding packets in routers.
Layer 2: Network Interface
Responsible for accepting IP packets and transmitting them over a specific network.
Defines formats for carrying packets in hardware frames
Layer 1: Physical
16
17
Protocol 1
Protocol 2
Protocol 3
Interface 1Interface 2
Interface3
IP Module
A realistic view of protocol software with multiple network interfaces and
multiple protocols
Software Organization
Application
Transport
Internet
Network
interface
Physical
Hardware
app1 app3 app4 app5 app6app2
Network3Network2Network1
Conceptual Layers
Conceptual layers of protocols needed in computers and routers to
transfer a message from an application on computer A to an application
on computer B.
18
Transpor
t
Internet
Net Iface
Transpor
t
Internet
Net Iface
Net1 Net2 Net3
Internet
Net Iface
Internet
Net Iface
Send
er
Receiv
er
Computer
A
Computer BRouter
1
Router
2
Locus of Intelligence
19
In the original telephone network , all the intelligence was located in phone
switches. Ex: a microphone , earpiece & a mechanism used to dial.
By contrast, the TCP/IP protocols require attached computers to run transport
protocols and applications as well as layer 3 and layer2 protocols.
The fundamental concept is:
* TCP/IP protocols place much of intelligence in hosts – routers in the
Internet forward packets , but do not participate in higher-layer services.
The Protocol Layering Principle
20
Layered protocols are designed so that layer N at the destination receives
exactly the same object sent by layer N at the source.
The layering principle offers:
Protocol design independence:
* A protocol designers can focus on the message exchange for a given layer
with the assurance that lower layers will not alter the message.
* The key idea is that a transport protocol can be designed independent of
other protocols.
Definition of the end-to-end property:
* We say a protocol is end-to-end if and only if the layering principle applies
between the original source and ultimate destination.
* Other protocols are classified as machine-to-machine.
The Layering Principle Applied To A Network
Application
Transport
Internet
Network Interface
Host A Host B
Application
Transport
Internet
Network Interface
Physical net
Identica
l
messag
eIdentica
l
packet
Identical
IP packet
Identica
l
Frame
21
Layering in a tcp/ip internet environment
Application
Transport
Internet
Network Interface
Host A Host B
Application
Transport
Internet
Network Interface
Physical net1
Identica
l
messag
eIdentica
l
packet
Identical
IP packet
Identica
l
Frame
22 Physical net2
Identica
l
Frame
Network Interface
Internet Identical
IP packet
Router R
Layering in Mesh Networks
23
Protocol 1Protocol 2
Protocol 3
Interface 1Interface 2
Interface3
IP Module
Point-To-Point
forwarding
Transport
Internet
Network Interface
Intranet Sublayer
Conceptual Layers Software Organization
Application
Physical hardware
app1 app2app3 app4 app5 app6
Network1 Network3
Two Important Boundaries In The TCP/IP Model
24
Application
Transport
Internet
Network
interface
Physical
Hardware
Conceptual Layers
Software outside the operating system
Software inside the operating system
Only Internet addresses used
Physical addresses used
Application programs and all protocol software from the internet layer
upward use only Internet addresses; addresses used by the network hardware
are isolated at lower layers.
Protocol
addresses
boundary
Operating
system
boundary
Cross-Layer Optimizations
25
Designer divides complex problem into subproblems and solve each one
independently. But the software that results from strict layering can be
extremely inefficient.
To optimize transfer, the transport layer should choose the largest packet size
that will allow one packet to travel in one network frame.
Strict layering will prevent the transport layer from optimizing transfers.
Implementers relax the strict layering scheme when building protocol software.
When allocating packet buffers, transport layer protocols can use the
information to optimize processing by leaving sufficient space for headers that
will be added by lower-layer protocols.
Similarly, lower-layer protocols often retain all the headers on an incoming
frame when passing the frame to higher-layer protocols.
The Basic Idea Behind Multiplexing And Demultiplexing
26
Demultiplexing
Based on Frame type
IP Module
ARP Module
RARP Module
Frame arrives
Illustration of frame demultiplexing that uses a type field in the frame
header .Demultiplexing is used with most networks,including Ethernet
and Wi-Fi.
Illustration of demultiplexing incoming IP packets based on the type field
in the IP header
27
IP Module
Datagram arrives
TCP ProtocolUDP Protocol
ICMP Protocol