Protocol Layering An Engineering Approach to Computer Networking An - - PowerPoint PPT Presentation

protocol layering
SMART_READER_LITE
LIVE PREVIEW

Protocol Layering An Engineering Approach to Computer Networking An - - PowerPoint PPT Presentation

Protocol Layering An Engineering Approach to Computer Networking An Engineering Approach to Computer Networking Peer entities Customer A and B are peers peers Customer A and B are Postal worker A and B are peers peers Postal worker


slide-1
SLIDE 1

Protocol Layering

An Engineering Approach to Computer Networking An Engineering Approach to Computer Networking

slide-2
SLIDE 2

Peer entities

■ ■

Customer A and B are Customer A and B are peers peers

■ ■

Postal worker A and B are Postal worker A and B are peers peers

slide-3
SLIDE 3

Protocols

■ ■

A A protocol protocol is a set of rules and formats that govern the is a set of rules and formats that govern the communication between communicating peers communication between communicating peers

◆ ◆ set of valid messages

set of valid messages

◆ ◆ meaning of each message

meaning of each message

■ ■

A protocol is necessary for any function that requires A protocol is necessary for any function that requires cooperation between peers cooperation between peers

slide-4
SLIDE 4

Example

■ ■

Exchange a file over a network that corrupts packets Exchange a file over a network that corrupts packets

◆ ◆ but doesn’t lose or reorder them

but doesn’t lose or reorder them

■ ■

A simple protocol A simple protocol

◆ ◆ send file as a series of packets

send file as a series of packets

◆ ◆ send a

send a checksum checksum

◆ ◆ receiver sends OK or not-OK message

receiver sends OK or not-OK message

◆ ◆ sender waits for OK message

sender waits for OK message

◆ ◆ if no response, resends entire file

if no response, resends entire file

■ ■

Problems Problems

◆ ◆ single bit corruption requires retransmission of entire file

single bit corruption requires retransmission of entire file

◆ ◆ what if link goes down?

what if link goes down?

◆ ◆ what if not-OK message itself is corrupted?

what if not-OK message itself is corrupted?

slide-5
SLIDE 5

What does a protocol tell us?

■ ■

Syntax Syntax of a message

  • f a message

◆ ◆ what fields does it contain?

what fields does it contain?

◆ ◆ in what format?

in what format?

■ ■

Semantics Semantics of a message

  • f a message

◆ ◆ what does a message mean?

what does a message mean?

◆ ◆ for example, not-OK message means receiver got a corrupted file

for example, not-OK message means receiver got a corrupted file

■ ■

Actions Actions to take on receipt of a message

◆ for example, on receiving not-OK message, retransmit the entire file

slide-6
SLIDE 6

Another way to view a protocol

■ ■

As providing a As providing a service service

■ ■

The example protocol provides The example protocol provides reliable file transfer service reliable file transfer service

■ ■

Peer entities use a protocol to provide a service to a higher-level Peer entities use a protocol to provide a service to a higher-level peer entity peer entity

◆ ◆ for example, postal workers use a protocol to present customers

for example, postal workers use a protocol to present customers with the abstraction of an with the abstraction of an unreliable letter transfer unreliable letter transfer service

slide-7
SLIDE 7

Protocol layering

■ ■

A network that provides many services needs many protocols A network that provides many services needs many protocols

■ ■

Turns out that some services are independent Turns out that some services are independent

■ ■

But others depend on each other But others depend on each other

■ ■

Protocol A may use protocol B as a Protocol A may use protocol B as a step step in its execution in its execution

◆ ◆ for example, packet transfer is one step in the execution of the

for example, packet transfer is one step in the execution of the example reliable file transfer protocol example reliable file transfer protocol

■ ■

This form of dependency is called This form of dependency is called layering layering

◆ ◆ reliable file transfer is

reliable file transfer is layered layered above packet transfer protocol above packet transfer protocol

◆ ◆ like a subroutine

like a subroutine

slide-8
SLIDE 8

Some terminology

■ ■

Service access point (SAP) Service access point (SAP)

◆ ◆ interface between an upper layer and a lower layer

interface between an upper layer and a lower layer

■ ■

Protocol data units ( Protocol data units (PDUs PDUs) )

◆ ◆ packets exchanged between peer entities

packets exchanged between peer entities

■ ■

Service data units ( Service data units (SDUs SDUs) )

◆ ◆ packets handed to a layer by an upper layer

packets handed to a layer by an upper layer

■ ■

PDU = SDU + optional header or trailer PDU = SDU + optional header or trailer

■ ■

Example Example

◆ ◆ letter transfer service

letter transfer service

◆ ◆ protocol data unit between customers = letter

protocol data unit between customers = letter

◆ ◆ service data unit for postal service = letter

service data unit for postal service = letter

◆ ◆ protocol data unit = mailbag (aggregation of letters)

protocol data unit = mailbag (aggregation of letters)

◆ ◆ (what is the SDU header?)

(what is the SDU header?)

slide-9
SLIDE 9

Protocol stack

■ ■

A set of protocol layers A set of protocol layers

■ ■

Each layer uses the layer below and provides a service to the Each layer uses the layer below and provides a service to the layer above layer above

■ ■

Key idea Key idea

◆ ◆ once we define a service provided by a layer, we need know

  • nce we define a service provided by a layer, we need know

nothing more about the details of nothing more about the details of how how the layer actually implements the layer actually implements the service the service

◆ ◆ information hiding

information hiding

◆ ◆ decouples

decouples changes changes

slide-10
SLIDE 10

The importance of being layered

■ ■

Breaks up a complex problem into smaller manageable pieces Breaks up a complex problem into smaller manageable pieces

◆ ◆ can compose simple service to provide complex ones

can compose simple service to provide complex ones

◆ ◆ for example, WWW (HTTP) is Java layered over TCP over IP (and

for example, WWW (HTTP) is Java layered over TCP over IP (and uses DNS, ARP, DHCP, RIP, OSPF, BGP, PPP, ICMP) uses DNS, ARP, DHCP, RIP, OSPF, BGP, PPP, ICMP)

■ ■

Abstraction of implementation details Abstraction of implementation details

◆ ◆ separation of implementation and specification

separation of implementation and specification

◆ ◆ can change implementation as long as service interface is

can change implementation as long as service interface is maintained maintained

■ ■

Can reuse functionality Can reuse functionality

◆ ◆ upper layers can share lower layer functionality

upper layers can share lower layer functionality

◆ ◆ example:

example: WinSock WinSock on Microsoft Windows

  • n Microsoft Windows
slide-11
SLIDE 11

Problems with layering

■ ■

Layering hides information Layering hides information

◆ ◆ if it didn’t then changes to one layer could require changes

if it didn’t then changes to one layer could require changes everywhere everywhere

✦ ✦ layering violation

layering violation

■ ■

But sometimes hidden information can be used to improve But sometimes hidden information can be used to improve performance performance

◆ ◆ for example, flow control protocol may think packet loss is always

for example, flow control protocol may think packet loss is always because of network congestion because of network congestion

◆ ◆ if it is, instead, due to a

if it is, instead, due to a lossy lossy link, the flow control breaks link, the flow control breaks

◆ ◆ this is because we hid information about reason of packet loss from

this is because we hid information about reason of packet loss from flow control protocol flow control protocol

slide-12
SLIDE 12

Layering

■ ■

There is a tension between information-hiding (abstraction) and There is a tension between information-hiding (abstraction) and achieving good performance achieving good performance

■ ■

Art of protocol design is to leak enough information to allow Art of protocol design is to leak enough information to allow good performance good performance

◆ ◆ but not so much that small changes in one layer need changes to

but not so much that small changes in one layer need changes to

  • ther layers
  • ther layers
slide-13
SLIDE 13

ISO OSI reference model

■ ■

A set of protocols is A set of protocols is open

  • pen if

◆ ◆ protocol details are publicly available

protocol details are publicly available

◆ ◆ changes are managed by an organization whose membership and

changes are managed by an organization whose membership and transactions are open to the public transactions are open to the public

■ ■

A system that implements open protocols is called an A system that implements open protocols is called an open

  • pen

system system

■ ■

International Organization for Standards (ISO) prescribes a International Organization for Standards (ISO) prescribes a standard to connect open systems standard to connect open systems

◆ ◆ open system interconnect (OSI)

  • pen system interconnect (OSI)

■ ■

Has greatly influenced thinking on protocol stacks Has greatly influenced thinking on protocol stacks

slide-14
SLIDE 14

ISO OSI

■ ■

Reference model Reference model

◆ ◆ formally defines what is meant by a layer, a service etc.

formally defines what is meant by a layer, a service etc.

■ ■

Service architecture Service architecture

◆ ◆ describes the services provided by each layer and the service

describes the services provided by each layer and the service access point access point

■ ■

Protocol architecture Protocol architecture

◆ ◆ set of protocols that implement the service architecture

set of protocols that implement the service architecture

◆ ◆ compliant service architectures may still use non-compliant protocol

compliant service architectures may still use non-compliant protocol architectures architectures

slide-15
SLIDE 15

The seven layers

slide-16
SLIDE 16

Physical layer

■ ■

Moves bits between physically connected end-systems Moves bits between physically connected end-systems

■ ■

Standard prescribes Standard prescribes

◆ ◆ coding scheme to represent a bit

coding scheme to represent a bit

◆ ◆ shapes and sizes of connectors

shapes and sizes of connectors

◆ ◆ bit-level synchronization

bit-level synchronization

■ ■

Postal network Postal network

◆ ◆ technology for moving letters from one point to another (trains,

technology for moving letters from one point to another (trains, planes, vans, bicycles, ships…) planes, vans, bicycles, ships…)

■ ■

Internet Internet

◆ ◆ technology to move bits on a wire, wireless link, satellite channel

technology to move bits on a wire, wireless link, satellite channel etc. etc.

slide-17
SLIDE 17

Datalink layer

■ ■

Introduces the notion of a Introduces the notion of a frame frame

◆ ◆ set of bits that belong together

set of bits that belong together

■ ■

Idle Idle markers tell us that a link is not carrying a frame markers tell us that a link is not carrying a frame

■ ■

Begin Begin and and end end markers delimit a frame markers delimit a frame

■ ■

On a broadcast link (such as Ethernet) On a broadcast link (such as Ethernet)

◆ ◆ end-system must receive only bits meant for it

end-system must receive only bits meant for it

◆ ◆ need datalink-layer address

need datalink-layer address

◆ ◆ also need to decide who gets to speak next

also need to decide who gets to speak next

◆ ◆ these functions are provided by

these functions are provided by Medium Access Medium Access sublayer sublayer (MAC) (MAC)

■ ■

Some data links also retransmit corrupted packets and pace the Some data links also retransmit corrupted packets and pace the rate at which frames are placed on a link rate at which frames are placed on a link

◆ ◆ part of

part of logical link control logical link control sublayer sublayer

◆ ◆ layered over MAC

layered over MAC sublayer sublayer

slide-18
SLIDE 18

Datalink layer (contd.)

■ ■

Datalink layer protocols are the first layer of software Datalink layer protocols are the first layer of software

■ ■

Very dependent on underlying physical link Very dependent on underlying physical link propeties propeties

■ ■

Usually bundle both physical and datalink layer on Usually bundle both physical and datalink layer on host host adaptor adaptor card card

◆ ◆ example: Ethernet

example: Ethernet

■ ■

Postal service Postal service

◆ ◆ mail bag ‘frames’ letters

mail bag ‘frames’ letters

■ ■

Internet Internet

◆ ◆ a variety of datalink layer protocols

a variety of datalink layer protocols

◆ ◆ most common is Ethernet

most common is Ethernet

◆ ◆ others are FDDI, SONET, HDLC

  • thers are FDDI, SONET, HDLC
slide-19
SLIDE 19

Network layer

■ ■

Logically concatenates a set of links to form the abstraction of Logically concatenates a set of links to form the abstraction of an an end-to-end end-to-end link link

■ ■

Allows an end-system to communicate with any other end- Allows an end-system to communicate with any other end- system by computing a route between them system by computing a route between them

■ ■

Hides idiosyncrasies of datalink layer Hides idiosyncrasies of datalink layer

■ ■

Provides unique network-wide addresses Provides unique network-wide addresses

■ ■

Found both in end-systems and in intermediate systems Found both in end-systems and in intermediate systems

■ ■

At end-systems primarily hides details of datalink layer At end-systems primarily hides details of datalink layer

◆ ◆ segmentation and

segmentation and reassembly reassembly

◆ ◆ error detection

error detection

slide-20
SLIDE 20

Network layer (contd.)

■ ■

At intermediate systems At intermediate systems

◆ ◆ participates in routing protocol to create routing tables

participates in routing protocol to create routing tables

◆ ◆ responsigle

responsigle for forwarding packets for forwarding packets

◆ ◆ scheduling the transmission order of packets

scheduling the transmission order of packets

◆ ◆ choosing which packets to drop

choosing which packets to drop

slide-21
SLIDE 21

Two types of network layers

■ ■

In datagram networks In datagram networks

◆ ◆ provides both routing and data forwarding

provides both routing and data forwarding

■ ■

In connection-oriented network In connection-oriented network

◆ ◆ we distinguish between data plane and control plane

we distinguish between data plane and control plane

◆ ◆ data plane only forwards and schedules data (touches every byte)

data plane only forwards and schedules data (touches every byte)

◆ ◆ control plane responsible for routing, call-establishment, call-

control plane responsible for routing, call-establishment, call- teardown teardown (doesn’t touch data bytes) (doesn’t touch data bytes)

slide-22
SLIDE 22

Network layer

■ ■

Postal network Postal network

◆ ◆ set up internal routing tables

set up internal routing tables

◆ ◆ forward letters from source to destination

forward letters from source to destination

◆ ◆ static routing

static routing

◆ ◆ multiple qualities of service

multiple qualities of service

■ ■

Internet Internet

◆ ◆ network layer is provided by Internet Protocol

network layer is provided by Internet Protocol

◆ ◆ found in all end-systems and intermediate systems

found in all end-systems and intermediate systems

◆ ◆ provides abstraction of end-to-end link

provides abstraction of end-to-end link

◆ ◆ segmentation and

segmentation and reassembly reassembly

◆ ◆ packet-forwarding, routing, scheduling

packet-forwarding, routing, scheduling

◆ ◆ unique IP addresses

unique IP addresses

◆ ◆ can be layered over anything, but only best-effort service

can be layered over anything, but only best-effort service

slide-23
SLIDE 23

Transport layer

■ ■

Network provides a ‘raw’ end-to-end service Network provides a ‘raw’ end-to-end service

■ ■

Transport layer creates the abstraction of an Transport layer creates the abstraction of an error-controlled error-controlled, , flow-controlled flow-controlled and and multiplexed multiplexed end-to-end link end-to-end link

■ ■

Error control Error control

◆ ◆ message will reach destination despite packet loss, corruption and

message will reach destination despite packet loss, corruption and duplication duplication

◆ ◆ retransmit lost packets; detect, discard, and retransmit corrupted

retransmit lost packets; detect, discard, and retransmit corrupted packets; detect and discard duplicated packets packets; detect and discard duplicated packets

■ ■

Flow control Flow control

◆ ◆ match transmission rat to rate currently sustainable on the path to

match transmission rat to rate currently sustainable on the path to destination, and at the destination itself destination, and at the destination itself

slide-24
SLIDE 24

Transport layer (contd.)

■ ■

Multiplexes multiple applications to the same end-to-end Multiplexes multiple applications to the same end-to-end connection connection

◆ ◆ adds an application-specific identifier (

adds an application-specific identifier (port number) port number) so that so that receiving end-system can hand in incoming packet to the correct receiving end-system can hand in incoming packet to the correct application application

■ ■

Some transport layers provide fewer services Some transport layers provide fewer services

◆ ◆ e.g. simple error detection, no flow control, and no retransmission

e.g. simple error detection, no flow control, and no retransmission

◆ ◆ lightweight transport layer

lightweight transport layer

slide-25
SLIDE 25

Transport layer (contd.)

■ ■

Postal system Postal system

◆ ◆ doesn’t have a transport layer

doesn’t have a transport layer

◆ ◆ implemented, if at all, by customers

implemented, if at all, by customers

◆ ◆ detect lost letters (how?) and retransmit them

detect lost letters (how?) and retransmit them

■ ■

Internet Internet

◆ ◆ two popular protocols are TCP and UDP

two popular protocols are TCP and UDP

◆ ◆ TCP provides error control, flow control, multiplexing

TCP provides error control, flow control, multiplexing

◆ ◆ UDP provides only multiplexing

UDP provides only multiplexing

slide-26
SLIDE 26

Session layer

■ ■

Not common Not common

■ ■

Provides Provides full-duplex service, expedited data delivery, full-duplex service, expedited data delivery, and and session synchronization session synchronization

■ ■

Duplex Duplex

◆ ◆ if transport layer is simplex, concatenates two transport endpoints

if transport layer is simplex, concatenates two transport endpoints togeter togeter

■ ■

Expedited data delivery Expedited data delivery

◆ ◆ allows some messages to skip ahead in end-system queues, by

allows some messages to skip ahead in end-system queues, by using a separate low-delay transport layer endpoint using a separate low-delay transport layer endpoint

■ ■

Synchronization Synchronization

◆ ◆ allows users to place marks in data stream and to roll back to a

allows users to place marks in data stream and to roll back to a prespecified prespecified mark mark

slide-27
SLIDE 27

Example

■ ■

Postal network Postal network

◆ ◆ suppose a company has separate shipping and receiving clerks

suppose a company has separate shipping and receiving clerks

◆ ◆ chief clerk can manage both to provide abstraction of a duplex

chief clerk can manage both to provide abstraction of a duplex service service

◆ ◆ chief clerk may also send some messages using a courier

chief clerk may also send some messages using a courier (expedited service) (expedited service)

◆ ◆ chief clerk can arrange to have a set of messages either delivered

chief clerk can arrange to have a set of messages either delivered all at once, or not at all all at once, or not at all

■ ■

Internet Internet

◆ ◆ doesn’t have a standard session layer

doesn’t have a standard session layer

slide-28
SLIDE 28

Presentation layer

■ ■

Unlike other layers which deal with Unlike other layers which deal with headers headers presentation layer presentation layer touches the application data touches the application data

■ ■

Hides data representation differences between applications Hides data representation differences between applications

◆ ◆ e.g.

e.g. endian endian-ness

  • ness

■ ■

Can also encrypt data Can also encrypt data

■ ■

Usually Usually ad hoc ad hoc

■ ■

Postal network Postal network

◆ ◆ translator translates contents before giving it to chief clerk

translator translates contents before giving it to chief clerk

■ ■

Internet Internet

◆ ◆ no standard presentation layer

no standard presentation layer

◆ ◆ only defines network byte order for 2- and 4-byte integers

  • nly defines network byte order for 2- and 4-byte integers
slide-29
SLIDE 29

Application layer

■ ■

The set of applications that use the network The set of applications that use the network

■ ■

Doesn’t provide services to any other layer Doesn’t provide services to any other layer

■ ■

Postal network Postal network

◆ ◆ the person who uses the postal system

the person who uses the postal system

◆ ◆ suppose manager wants to send a set of recall letters

suppose manager wants to send a set of recall letters

◆ ◆ translator translates letters going abroad

translator translates letters going abroad

◆ ◆ chief clerk sends some priority mail, and some by regular mail

chief clerk sends some priority mail, and some by regular mail

◆ ◆ mail clerk sends a message, retransmits if not

mail clerk sends a message, retransmits if not acked acked

◆ ◆ postal system computes a route and forwards the letters

postal system computes a route and forwards the letters

◆ ◆ datalink layer: letters carried by planes, trains, automobiles

datalink layer: letters carried by planes, trains, automobiles

◆ ◆ physical layer: the letter itself

physical layer: the letter itself

slide-30
SLIDE 30

Layering

■ ■

We have broken a complex problem into smaller, simpler pieces We have broken a complex problem into smaller, simpler pieces

■ ■

Provides the application with Provides the application with sophisticated sophisticated services services

■ ■

Each layer provides a clean abstraction to the layer above Each layer provides a clean abstraction to the layer above

slide-31
SLIDE 31

Why seven layers?

■ ■

Need a top and a bottom -- 2 Need a top and a bottom -- 2

■ ■

Need to hide physical link, so need datalink -- 3 Need to hide physical link, so need datalink -- 3

■ ■

Need both end-to-end and hop-by-hop actions; so need at least Need both end-to-end and hop-by-hop actions; so need at least the network and transport layers -- 5 the network and transport layers -- 5

■ ■

Session and presentation layers are not so important, and are Session and presentation layers are not so important, and are

  • ften ignored
  • ften ignored

■ ■

So, we need at least 5, and 7 seems to be excessive So, we need at least 5, and 7 seems to be excessive

■ ■

Note that we can place functions in different layers Note that we can place functions in different layers