Example Protocol Layers* Exchange a file over a network that - - PDF document

example protocol layers
SMART_READER_LITE
LIVE PREVIEW

Example Protocol Layers* Exchange a file over a network that - - PDF document

Example Protocol Layers* Exchange a file over a network that corrupts packets Networks are complex! o but doesnt lose or reorder them many pieces: A simple protocol o send file as a series of packets hosts Question:


slide-1
SLIDE 1

1

1 Danny Dolev 1b: Layering

Protocol “Layers”*

Networks are complex!

  • many “pieces”:
  • hosts
  • routers
  • links of various

media

  • applications
  • protocols
  • hardware,

software Question:

Is there any hope of organizing structure of network? Or at least our discussion of networks?

* Kurose and Ross, “Computer Networking”

2 Danny Dolev 1b: Layering

Example

Exchange a file over a network that corrupts

packets

  • but doesn’t lose or reorder them

A simple protocol

  • send file as a series of packets
  • send a checksum
  • receiver sends OK or not-OK message
  • sender waits for OK message
  • if no response, resends entire file

Problems

  • single bit corruption requires retransmission of entire

file

  • what if link goes down?
  • what if not-OK message itself is corrupted?

Focus

  • who needs to deal with what problem?

3 Danny Dolev 1b: Layering

What does a protocol tell us?

Syntax of a message

  • what fields does it contain?
  • in what format?

Semantics of a message

  • what does a message mean?
  • for example, not-OK message means receiver

got a corrupted file Actions to take on receipt of a message

  • for example, on receiving not-OK message,

retransmit the entire file

4 Danny Dolev 1b: Layering

Another way to view a protocol

As providing a service The example protocol provides

reliable file transfer service

Peer entities use a protocol to

provide a service to a higher-level peer entity

  • for example, postal workers use a

protocol to present customers with the abstraction of an unreliable letter transfer service

5 Danny Dolev 1b: Layering

Protocol layering

A network that provides many services

needs many protocols

Turns out that some services are

independent

But others depend on each other Protocol A may use protocol B as a step in

its execution

  • for example, packet transfer is one step in the

execution of the reliable file transfer protocol example This form of dependency is called layering

  • reliable file transfer is layered above packet

transfer protocol

  • like a subroutine

6 Danny Dolev 1b: Layering

Protocol stack

A set of protocol layers Each layer uses the layer below and

provides a service to the layer above

Key idea

  • once we define a service provided by a

layer, we need know nothing more about the details of how the layer actually implements the service

  • information hiding
  • decouples changes
slide-2
SLIDE 2

2

7 Danny Dolev 1b: Layering

Organization of air travel

a series of steps

ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing ticket (complain) baggage (claim) gates (unload) runway landing airplane routing airplane routing

8 Danny Dolev 1b: Layering

Organization of air travel: a different view

Layers: each layer implements a service

  • via its own internal-layer actions
  • relying on services provided by layer below

ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing ticket (complain) baggage (claim) gates (unload) runway landing airplane routing airplane routing

9 Danny Dolev 1b: Layering

Layered air travel: services

Counter-to-counter delivery of person+bags baggage-claim-to-baggage-claim delivery people transfer: loading gate to arrival gate runway-to-runway delivery of plane airplane routing from source to destination

10 Danny Dolev 1b: Layering

Distributed implementation of layer functionality

ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing ticket (complain) baggage (claim) gates (unload) runway landing airplane routing

airplane routing

Departing airport arriving airport

intermediate air traffic sites

airplane routing airplane routing

11 Danny Dolev 1b: Layering

Why layering?

Dealing with complex systems:

explicit structure allows identification,

relationship of complex system’s pieces

  • layered reference model for discussion

modularization eases maintenance, updating of

system

  • change of implementation of layer’s service

transparent to rest of system

  • e.g., change in gate procedure doesn’t affect

rest of system

layering considered harmful?

12 Danny Dolev 1b: Layering

Internet protocol stack

application: supporting network

applications

  • ftp, smtp, http

transport: host-host data transfer

  • tcp, udp

network: routing of datagrams from

source to destination

  • ip, routing protocols

link: data transfer between

neighboring network elements

  • ppp, Ethernet

physical: bits “on the wire”

application transport network link physical

slide-3
SLIDE 3

3

13 Danny Dolev 1b: Layering

Layering: logical communication

application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical

Each layer:

distributed “entities”

implement layer functions at each node

entities

perform actions, exchange messages with peers

14 Danny Dolev 1b: Layering

Layering: logical communication ***

application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data data

E.g.: transport

take data from app add addressing,

reliability check info to form “datagram”

send datagram to

peer

wait for peer to

ack receipt

analogy: post

  • ffice

data

transport transport

ack

15 Danny Dolev 1b: Layering

Layering: physical communication

application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data data

16 Danny Dolev 1b: Layering

Protocol layering and data

Each layer takes data from above

adds header information to create new data unit passes new data unit to layer below

application transport network link physical application transport network link physical source destination

M M M M Ht Ht Hn Ht Hn Hl M M M M Ht Ht Hn Ht Hn Hl message segment datagram frame

17 Danny Dolev 1b: Layering

Internet Layers

18 Danny Dolev 1b: Layering

Problems with layering

Layering hides information

  • if it didn’t then changes to one layer could

require changes everywhere

  • layering violation

But sometimes hidden information can be

used to improve performance

  • for example, flow control protocol may think

packet loss is always because of network congestion

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

control breaks

  • this is because we hid information about reason
  • f packet loss from the upper flow control

protocol

slide-4
SLIDE 4

4

19 Danny Dolev 1b: Layering

Layering

There is a tension between

information-hiding (abstraction) and achieving good performance

Art of protocol design is to leak

enough information to allow good performance

  • but not so much that small changes in
  • ne layer need changes to other layers

20 Danny Dolev 1b: Layering

ISO OSI reference model

A set of protocols is open if

  • protocol details are publicly available
  • changes are managed by an organization whose

membership and transactions are open to the public A system that implements open protocols is

called an open system

International Organization for Standards

(ISO) prescribes a standard to connect

  • pen systems
  • open system interconnect (OSI)

Has greatly influenced thinking on protocol

stacks

21 Danny Dolev 1b: Layering

ISO OSI

Reference model

  • formally defines what is meant by a layer, a

service etc. Service architecture

  • describes the services provided by each layer

and the service access point Protocol architecture

  • set of protocols that implement the service

architecture

  • compliant service architectures may still use

non-compliant protocol architectures

22 Danny Dolev 1b: Layering

The seven layers

Physical Link Network Physical Link Network Transport Session Presentation Application End System Intermediate System Physical Medium for Interconnection Physical Link Network Transport Session Presentation Application End System 23 Danny Dolev 1b: Layering

Why seven layers?

Need a top and a bottom -- 2 Need to hide physical link, so need datalink --

3

Need both end-to-end and hop-by-hop actions;

so need at least the network and transport layers -- 5

Session and presentation layers are not so

important, and are often ignored

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

excessive

IBM’s influence Note that we can place functions in different

layers

24 Danny Dolev 1b: Layering

slide-5
SLIDE 5

5

25 Danny Dolev 1b: Layering

Internet structure: network of networks

roughly hierarchical national/international

backbone providers (NBPs)

  • e.g. BBN/GTE, Sprint,

AT&T, IBM, UUNet

  • interconnect (peer) with

each other privately, or at public Network Access Point (NAPs) regional ISPs

  • connect into NBPs

local ISP, company

  • connect into regional ISPs

NBP A NBP B NAP NAP

regional ISP regional ISP local ISP local ISP

26 Danny Dolev 1b: Layering

National Backbone Provider

e.g. BBN/GTE US backbone network

27 Danny Dolev 1b: Layering

Internet History

1961: Kleinrock - queuing

theory shows effectiveness of packet- switching

1964: Baran - packet-

switching in military nets

1967: ARPAnet conceived

by Advanced Research Projects Agency

1969: first ARPAnet node

  • perational

1972:

  • ARPAnet demonstrated

publicly

  • NCP (Network Control

Protocol) first host- host protocol

  • first e-mail program
  • ARPAnet has 15 nodes

1961-1972: Early packet-switching principles

28 Danny Dolev 1b: Layering

Internet History

1970: ALOHAnet satellite

network in Hawaii

1973: Metcalfe’s PhD thesis

proposes Ethernet

1974: Cerf and Kahn -

architecture for interconnecting networks

late70’s: proprietary

architectures: DECnet, SNA, XNA

late 70’s: switching fixed

length packets (ATM precursor)

1979: ARPAnet has 200 nodes

Cerf and Kahn’s internetworking principles:

  • minimalism, autonomy -

no internal changes required to interconnect networks

  • best effort service

model

  • stateless routers
  • decentralized control

define today’s Internet architecture

1972-1980: Internetworking, new and proprietary nets

29 Danny Dolev 1b: Layering

Internet History

1983: deployment of

TCP/IP

1982: smtp e-mail

protocol defined

1983: DNS defined

for name-to-IP- address translation

1985: ftp protocol

defined

1988: TCP congestion

control

new national networks:

Csnet, BITnet, NSFnet, Minitel

100,000 hosts

connected to confederation of networks 1980-1990: new protocols, a proliferation of networks

30 Danny Dolev 1b: Layering

Internet History

Early 1990’s: ARPAnet

decomissioned

1991: NSF lifts restrictions

  • n commercial use of NSFnet

(decommissioned, 1995)

early 1990s: WWW

  • hypertext [Bush 1945,

Nelson 1960’s]

  • HTML, http: Berners-Lee
  • 1994: Mosaic, later

Netscape

  • late 1990’s:

commercialization of the

WWW

Late 1990’s:

  • est. 50 million

computers on Internet

  • est. 100 million+ users

backbone links running

at 1 Gbps

1990’s: commercialization, the WWW

slide-6
SLIDE 6

6

31 Danny Dolev 1b: Layering

ATM: Asynchronous Transfer Mode nets

Internet:

today’s de facto

standard for global data networking 1980’s:

telco’s develop ATM:

competing network standard for carrying high-speed voice/data

standards bodies:

  • ATM Forum
  • ITU

ATM principles:

small (48 byte payload, 5

byte header) fixed length cells (like packets)

  • fast switching
  • small size good for voice

virtual-circuit network:

switches maintain state for each “call”

well-defined interface

between “network” and “user” (think of telephone company)

32 Danny Dolev 1b: Layering

ATM layers

ATM Adaptation

Layer (AAL): interface to upper layers

  • end-system
  • segmentation/rea

ssembly ATM Layer: cell

switching

Physical AAL ATM physical AAL ATM physical AAL ATM physical AAL ATM physical ATM physical

Where’s the application?

ATM: lower layer functionality only IP-over ATM: later application TCP/UDP IP application TCP/UDP IP application TCP/UDP IP application TCP/UDP IP

33 Danny Dolev 1b: Layering

Chapter 1: Summary

Covered a “ton” of material!

Internet overview what’s a protocol? network edge, core,

access network

performance: loss, delay layering and service

models

backbones, NAPs, ISPs history ATM network

You now hopefully have:

context, overview,

“feel” of networking

more depth, detail

later in course

34 Danny Dolev 1b: Layering

Next: Application Layer