Understanding Protocol Layering in Computer Networking, Slides of Computer Science

An engineering approach to computer networking, focusing on the concept of protocol layering. Peers and protocols are introduced, with an explanation of how a protocol is a set of rules governing communication between peers. The document also covers the importance of cooperation between peers and the use of protocol data units. The document further discusses the iso osi reference model, its layers, and their functions, including error control, flow control, and session synchronization.

Typology: Slides

2012/2013

Uploaded on 03/27/2013

agarkar
agarkar 🇮🇳

4.3

(26)

372 documents

1 / 31

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Protocol Layering
An Engineering Approach to Computer Networking
An Engineering Approach to Computer Networking
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f

Partial preview of the text

Download Understanding Protocol Layering in Computer Networking and more Slides Computer Science in PDF only on Docsity!

Protocol Layering

An Engineering Approach to Computer NetworkingAn Engineering Approach to Computer Networking

nn Peer entities

Customer A and B areCustomer A and B are

peerspeers

nn

Postal worker A and B arePostal worker A and B are

peerspeers

nn Example

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

but doesn’t lose or reorder them^ but doesn’t lose or reorder them

nn

uu A simple protocolA simple protocol

send a^ uu^ send a^ send file as a series of packetssend file as a series of packets

checksumchecksum

uu receiver sends OK or not-OK messagereceiver sends OK or not-OK message

uu sender waits for OK messagesender waits for OK message

uu if no response, resends entire fileif no response, resends entire file

nn

uu ProblemsProblems

uwhat if not-OK message itself is corrupted?u (^) what if not-OK message itself is corrupted? uwhat if link goes down?u (^) what if link goes down?single bit corruption requires retransmission of entire file (^) single bit corruption requires retransmission of entire file

nn What does a protocol tell us?

SyntaxSyntax of a message

of a message

uu what fields does it contain?what fields does it contain?

uu in what format?in what format?

nn

SemanticsSemantics of a message

of a message

uu what does a message mean?what does a message mean?

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

nn

u^ ActionsActions to take on receipt of a message

(^) for example, on receiving not-OK message, retransmit the entire file

nn Protocol layering

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

nn

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

nn

But others depend on each otherBut others depend on each other

nn

Protocol A may use protocol B as aProtocol A may use protocol B as a

stepstep in its execution

in its execution

uu example reliable file transfer protocolexample reliable file transfer protocolfor example, packet transfer is one step in the execution of thefor example, packet transfer is one step in the execution of the

nn

This form of dependency is calledThis form of dependency is called

layeringlayering

uu reliable file transfer isreliable file transfer is

layeredlayered above packet transfer protocol

above packet transfer protocol

uu like a subroutinelike a subroutine

nn Some terminology

uu^ 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

nn

Protocol data units (Protocol data units (PDUs

PDUs)

uu packets exchanged between peer entitiespackets exchanged between peer entities

nn

Service data units (Service data units (SDUs

SDUs)

uu packets handed to a layer by an upper layerpackets handed to a layer by an upper layer

nn

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

nn

uu ExampleExample

u(what is the SDU header?)u (^) (what is the SDU header?) uprotocol data unit = mailbag (aggregation of letters)u (^) protocol data unit = mailbag (aggregation of letters) uservice data unit for postal service = letteru (^) service data unit for postal service = letter uprotocol data unit between customers = letteru (^) protocol data unit between customers = letterletter transfer service (^) letter transfer service

nn The importance of being layered

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

uses DNS, ARP, DHCP, RIP, OSPF, BGP, PPP, ICMP)uses DNS, ARP, DHCP, RIP, OSPF, BGP, PPP, ICMP)^ ufor example, WWW (HTTP) is Java layered over TCP over IP (andu^ for example, WWW (HTTP) is Java layered over TCP over IP (andcan compose simple service to provide complex ones^ can compose simple service to provide complex ones

nn

uu Abstraction of implementation detailsAbstraction of implementation details

maintainedmaintained^ ucan change implementation as long as service interface isu^ can change implementation as long as service interface isseparation of implementation and specification^ separation of implementation and specification

nn

uu Can reuse functionalityCan reuse functionality

uexample:u (^) example: WinSock (^) upper layers can share lower layer functionalityupper layers can share lower layer functionality

WinSock on Microsoft Windows

on Microsoft Windows

nn Problems with layering

uu Layering hides informationLayering hides information

everywhereeverywhereif it didn’t then changes to one layer could require changes^ if it didn’t then changes to one layer could require changes FF layering violationlayering violation

nn

uu performanceperformanceBut sometimes hidden information can be used to improveBut sometimes hidden information can be used to improve

uif it is, instead, due to au (^) if it is, instead, due to a lossybecause of network congestionbecause of network congestionfor example, flow control protocol may think packet loss is always (^) for example, flow control protocol may think packet loss is always

lossy link, the flow control breaks link, the flow control breaks

uu flow control protocolflow control protocolthis is because we hid information about reason of packet loss fromthis is because we hid information about reason of packet loss from

nn ISO OSI reference model

A set of protocols isA set of protocols is

openopen if

uu protocol details are publicly availableprotocol details are publicly available

uu transactions are open to the publictransactions are open to the publicchanges are managed by an organization whose membership andchanges are managed by an organization whose membership and

nn

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

openopen

systemsystem

nn

uu standard to connect open systemsstandard to connect open systemsInternational Organization for Standards (ISO) prescribes aInternational Organization for Standards (ISO) prescribes a

open system interconnect (OSI)open system interconnect (OSI)

nn

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

nn ISO OSI

uu^ Reference modelReference model

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

nn

uu^ Service architectureService architecture

access pointaccess point^ describes the services provided by each layer and the servicedescribes the services provided by each layer and the service

nn

uu^ Protocol architectureProtocol architecture

architecturesarchitecturescompliant service architectures may still use non-compliant protocol^ uu^ compliant service architectures may still use non-compliant protocolset of protocols that implement the service architecture^ set of protocols that implement the service architecture

nn Physical layer

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

nn

uu Standard prescribesStandard prescribes

bit-level synchronization^ uu^ bit-level synchronization^ uu^ shapes and sizes of connectorsshapes and sizes of connectors^ coding scheme to represent a bitcoding scheme to represent a bit

nn

uu Postal networkPostal network

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

nn

uu InternetInternet

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

nn Datalink layer

Introduces the notion of aIntroduces the notion of a

frameframe

uu set of bits that belong togetherset of bits that belong together

nn

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

markers tell us that a link is not carrying a frame

nn

BeginBegin and

and

endend markers delimit a frame

markers delimit a frame

nn

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

uu (^) these functions are provided bythese functions are provided byalso need to decide who gets to speak next uu (^) also need to decide who gets to speak next uu (^) need datalink-layer addressneed datalink-layer address (^) end-system must receive only bits meant for itend-system must receive only bits meant for it

Medium AccessMedium Access sublayer

sublayer (MAC)

(MAC)

nn

uu rate at which frames are placed on a linkrate at which frames are placed on a linkSome data links also retransmit corrupted packets and pace theSome data links also retransmit corrupted packets and pace the

part of^ part of logical link controllogical link control sublayer

sublayer

uu layered over MAClayered over MAC sublayer

sublayer

nn Network layer

anan end-to-endLogically concatenates a set of links to form the abstraction ofLogically concatenates a set of links to form the abstraction of

end-to-end link

link

nn

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

nn

Hides idiosyncrasies of datalink layerHides idiosyncrasies of datalink layer

nn

Provides unique network-wide addressesProvides unique network-wide addresses

nn

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

nn

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

(^) segmentation andsegmentation and reassembly

reassembly

uu error detectionerror detection

nn Network layer (contd.)

uu At intermediate systemsAt intermediate systems

uresponsigleu (^) responsigle for forwarding packetsparticipates in routing protocol to create routing tables (^) participates in routing protocol to create routing tables

for forwarding packets

uu scheduling the transmission order of packetsscheduling the transmission order of packets

uu choosing which packets to dropchoosing which packets to drop