design principles/protocol functions - tu berlin · 39 cerf & kahn: interconnecting two...

55
1 Design principles/protocol functions Goals: r Identify, study common architectural components, protocol mechanisms, approaches we find in network architectures r Synthesis: big picture Principles / protocol functions: r Signaling m Protocols m Separation of data, control m Hard state versus soft state r Randomization r Indirection r Network virtualization r Multiplexing r Design for scale

Upload: others

Post on 22-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

1

Design principles/protocol functions

Goals:r Identify, study

common architectural components, protocol mechanisms, approaches we find in network architectures

r Synthesis: big picture

Principles / protocol functions:r Signaling

m Protocolsm Separation of data, controlm Hard state versus soft state

r Randomizationr Indirectionr Network virtualizationr Multiplexingr Design for scale

Page 2: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

2

1: Separation of control and data

r Internet:m HTPP: in-band signaling; ftp: out-of-band signalingm RSVP (signaling) separate from routing, forwarding.

r PSTN (public switched telephone network):m SS7 (packets-switched control network) separate from

(circuit-switched) call trunk linesm Earlier tone-based (in-band signaling)

Page 3: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

3

Internet: HTTP - inband signalingSuppose user enters URL

www.someSchool.edu/someDepartment/home.index

1a. HTTP client initiates TCP connection to HTTP server (process) at www.someSchool.edu on port 80

2. HTTP client sends HTTP request message (containing URL) into TCP connection socket. Message indicates that client wants object someDepartment/home.index

1b. HTTP server at host www.someSchool.edu waiting for TCP connection at port 80. “accepts” connection, notifying client

3. HTTP server receives request message, forms response message containing requested object, and sends message into its socket

time

Page 4: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

4

Nonpersistent HTTP (cont.)

5. HTTP client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects

6. Steps 1-5 repeated for each of 10 jpeg objects

4. HTTP server closes TCP connection.

time

Page 5: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

5

FTP: Separate control, data connections

r FTP client contacts FTP server at port 21

r Client obtains authorization over control connection

r Client browses remote directory via commands sent over control connection.

r When server receives file transfer commend server opens new TCP data connection to client

r After transferring one file, server closes connection.

FTPclient

FTPserver

TCP control connectionport 21

TCP data connectionport 20

r Server opens 2nd TCP data connection to transfer another file.

r Control connection: “out of band” signaling

r FTP server maintains “state”: current directory, earlier authentication

Page 6: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

6

Separate control, data: why (or why not)?

Why?r Allows concurrent control + datar Allows perform authentication at control levelr Simplifies processing of data/control streams g higher

throughputr Provide QoS appropriate for control/data streams

Why not?r Separate channels complicate management, increases

resource requirements r Can increase latency, e.g., HTTP – two TCP

connections vs. one.

Page 7: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

7

2: Maintaining network state

r Updated when network “conditions” changer Stored in multiple nodesrOften associated with end-system generated call

or sessionr Examples:mTCP sequence numbers, timer values, RTT

estimates

State: Information stored in network nodes by network protocols

Page 8: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

8

State: senders, receivers

r Sender: network node that (re)generates signaling (control) msgs to install, keep-alive, remove state from other nodes

r Receiver: node that creates, maintains, removes state based on signaling msgs received from sender

Page 9: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

9

Hard-state

r State installed by receiver on receipt of setup msg from sender

r State removed by receiver on receipt of teardown msgfrom sender

r Default assumption: state valid unless told otherwisem In practice: failsafe-mechanisms (to remove orphaned

state) in case of sender: e.g., receiver-to-sender “heartbeat”: is this state still valid?

r Examples: m TCPm ST-II (Internet hard-state signaling)

Page 10: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

10

Soft-state

r State installed by receiver on receipt of setup (trigger) msgfrom sender (typically, an endpoint)m sender also sends periodic refresh msg: indicating

receiver should continue to maintain stater State removed by receiver via timeout, in absence of

refresh msg from senderr Default assumption: state becomes invalid unless refreshedm in practice: explicit state removal (teardown) msgs also

usedr Examples:

m NAT (most implementations)

Page 11: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

11

Hard-state signaling

Signaling plane

Communication plane

Sender ReceiverInstall

ack

r Reliable signaling r State removal by requestr Requires additional error handling

m E.g., sender failure

removal

error

Page 12: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

12

Soft-state signaling

Signaling plane

Communication plane

Install

Sender Receiver

r Best effort signaling

Page 13: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

13

Soft-state signaling

Signaling plane

Communication plane

Sender Receiver

r Best effort signalingr Refresh timer, periodic refresh

Page 14: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

14

Soft-state signaling

Signaling plane

Communication plane

Sender Receiver

r Best effort signalingr Refresh timer, periodic refreshr State time-out timer, state removal only by time-out

Page 15: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

15

Soft-state: claims

r “Systems built on soft-state are robust” [Raman 99]r “Soft-state protocols provide ... greater robustness

to changes in the underlying network conditions …”[Sharma 97]

r “Obviates the need for complex error handling software” [Balakrishnan 99]

Page 16: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

16

Hard-state versus soft-state: discussion

Q: which is preferable and why?

Hard state:m better if message overhead

really highm potentially greater

consistencym system wide coupling g

difficult to analyze

Soft state:m robustness, shorter

convergence timesm easily decomposed g simpler

analysis

Page 17: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

17

3. Randomization

r Randomization used in many protocolsr Examples:m Ethernet multiple access protocolm Initial sequence numbersm Randomization in Router Queue Management REDm Router (de)synchronization m Switch scheduling

Page 18: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

18

Ethernet

Metcalfe’s Ethernetsketch

r Single shared broadcast channel r 2+ simultaneous transmissions by nodes: interference m only one node can send successfully at a time

r Multiple access protocol: distributed algorithm that determines how nodes share channel, i.e., determine when node can transmit

Page 19: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

19

Ethernet’s CSMA/CD

Jam Signal: make sure all other transmitters are aware of collision; 48 bits;

Exponential Backoff:r First collision for given packet: choose K randomly from

{0,1}; delay is K x 512 bit transmission timesr After second collision: choose K randomly from {0,1,2,3}…r After ten or more collisions, choose K randomly from

{0,1,2,3,4,…,1023}

Page 20: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

20

Ethernet’s use of randomization

r Resulting behavior: probability of retransmission attempt (equivalently length of randomization interval) adapted to current loadm Simple, load-adaptive, multiple access

morecollisions

heavierLoad (most likely), more

nodes trying to send

randomizeretransmissionsover longer time

interval, to reduce collision probability

Page 21: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

21

The bottom line

rWhy does Ethernet use randomization:to desynchronize:

A distributed adaptive algorithm to spread out load over time when there is contention for multiple access channel

Page 22: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

22

4: Indirection

Indirection: rather than reference an entity directly, reference it (“indirectly) via another entity, which in turn can or will access the original entity

"Every problem in computerscience can be solved by adding another level of indirection" -- Butler Lampson

A

B

x

Page 23: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

23

How do you contact a mobilefriend?

r Search all phone books?r Call her parents?r Expect her to let you

know where he/she is?

I wonder where Alice moved to?

Consider friend frequently changing addresses, how do you find her?

Mobility and Indirection

Page 24: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

24

Mobility and indirection:

rMobile node moves from network to networkr Correspondents want to send packets to mobile

noder Two approaches: m Indirect routing: communication from correspondent

to mobile goes through home agent, then forwarded to remote

m Direct routing: correspondent gets foreign address of mobile, sends directly to mobile

Page 25: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

25

Mobility: Vocabularyhome network: permanent “home” of mobile(e.g., 128.119.40/24)

Permanent address:address in home network, can always be used to reach mobilee.g., 128.119.40.186

home agent: entity that will perform mobility functions on behalf of mobile, when mobile is remote

wide area network

correspondent

Page 26: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

26

Mobility: More vocabulary

Care-of-address: address in visited network.(e.g., 79,129.13.2)

wide area network

visited network: network in which mobile currently resides (e.g., 79.129.13/24)

Permanent address: remains constant (e.g., 128.119.40.186)

foreign agent: entity in visited network that performs mobility functions on behalf of mobile.

correspondent: wants to communicate with mobile

Page 27: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

27

Mobility: Registration

End result:r Foreign agent knows about mobiler Home agent knows location of mobile

wide area network

home networkvisited network

1

mobile contacts foreign agent on entering visited network

2

foreign agent contacts home agent home: “this mobile is resident in my network”

Page 28: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

28

Mobility via indirect routing

wide area network

homenetwork

visitednetwork

3

2

41

correspondent addresses packets using home address of mobile

home agent intercepts packets, forwards to foreign agent

foreign agent receives packets, forwards to mobile

mobile replies directly to correspondent

Page 29: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

29

Indirect Routing: comments

r Mobile uses two addresses:m Permanent address: used by correspondent (hence

mobile location is transparent to correspondent)m Care-of-address: used by home agent to forward

datagrams to mobiler Foreign agent functions may be done by mobile itselfr Triangle routing: correspondent-home-network-mobilem Inefficient when

correspondent, mobile are in same network

Page 30: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

31

Mobility via direct routing

wide area network

homenetwork

visitednetwork

4

2

41correspondent requests, receives foreign address of mobile

correspondent forwards to foreign agent

foreign agent receives packets, forwards to mobile

mobile replies directly to correspondent

3

Page 31: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

32

Mobility via direct routing: Comments

rOvercome triangle routing problemr Non-transparent to correspondent:

correspondent must get care-of-address from home agentmWhat happens if mobile changes networks?

Page 32: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

34

Mobility via indirection: Why indirection?

r Transparency to correspondentr “Mostly” transparent to mobile (except that mobile

must register with foreign agent)m Transparent to routers, rest of infrastructurem Concerns if egress filtering is in place in origin networks

(since source IP address of mobile is its home address)

Page 33: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

35

Indirection: Summary

We’ve seen indirection used in many ways:mMobilitymMulticast

The uses of indirection:r Sender does not need to know receiver id - do not

want sender to know intermediary identitiesr Beauty, grace, elegancer Transparency of indirection is importantr Performance: is it more efficient?

Page 34: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

36

5. Multiplexing

Multiplexing: sharing resource(s) among users of the resource.

Multiplexed human resources:m Roadways, traffic intersectionsm Bathrooms m Reserve readingm …

Page 35: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

37

6. Virtualization of networks

Virtualization of resources:

powerful abstraction in systems engineering

r Computing examples: virtual memory, virtual devices

m Virtual machines: e.g., Java

m IBM VM OS from 1960’s/70’s

r Layering of abstractions: don’t sweat the details of the

lower layer, only deal with lower layers abstractly

Page 36: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

38

The Internet: Virtualizing local networks

1974: multiple unconnected networks (no layering)m ARPAnetm Data-over-cable networksm Packet satellite network (Aloha)m Packet radio network

... differing in:m Addressing conventionsm Packet formatsm Error recoverym Routing

Page 37: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

39

Cerf & Kahn: Interconnecting two networks

r “…interconnection must preserve intact the internal operation of each network.”r “ ..the interface between networks must play a central role in the development of

any network interconnection strategy. We give a special name to this interface that performs these functions and call it a GATEWAY.”

r “.. prefer that the interface be as simple and reliable as possible, and deal primarily with passing data between networks that use different packet-switching strategies

r “…address formats is a problem between networks because the local network addresses of TCP's may vary substantially in format and size. A uniform internetwork TCP address space, understood by each GATEWAY and TCP, is essential to routing and delivery of internetwork packets.”

ARPAnet satellite net

Page 38: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

40

Cerf & Kahn: Interconnecting two networks

ARPAnet satellite net

Gateway: r “Embed internetwork packets

in local packet format or extract them”

r Route (at internetwork level) to next gateway

gateway

Internetwork layer: r Addressing: internetwork

appears as a single, uniform entity, despite underlying local network heterogeneity

r Network of networks

Page 39: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

41

Historical asideProposed Internetwork packet in 1974:

localheader

sourceaddress

dest.address

seq. # bytecount

flagfield

text checksum

network TCPidentifier

8 16

Page 40: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

42

Cerf & Kahn’s Internetwork Architecture

What is virtualized?r Two layers of addressing:

internetwork and local networkr New layer makes everything homogeneousr Underlying local network technology (cable,

satellite, modem) is “invisible” at internetwork layer

Page 41: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

43

Virtual Private Networks (VPN)

r SP infrastructure:m Backbonem Provider edge devices

r Customer:m Customer edge devices (communicating over shared

backbone)

Networks perceived as being private networksby customers using them, but built over shared infrastructure owned by service provider (SP)

VPNs

Page 42: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

44

VPN reference architecture

customeredge device

provideredge device

Page 43: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

45

VPN: logical view

customeredge device

provideredge device

virtual private network

Page 44: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

46

Leased-line VPN

customer sites interconnected via static virtual channels (e.g., ATM VCs), leased lines

customer site connects to provider edge

Page 45: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

47

Customer premise VPN

customer sites interconnected via tunnelsq tunnels encrypted typicallyq SP treats VPN packets like all other packets

q All VPN functions implemented by customer

Page 46: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

48

Drawbacksr Leased-line VPN: configuration costs, maintenance by

SP: long time, much manpower, customer must do routing

r CPE-based VPN: expertise by customer to acquire, configure, manage VPN, customer must do routing

Network-based VPNr Customer’s routers connect to SP routersr SP routers maintain separate (independent) IP contexts

for each VPNm Sites can use private addressingm Traffic from one VPN can not be injected into another

Page 47: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

49

Network-based layer 3 VPNs

multiple virtual routers in single provider edge device

Page 48: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

50

Tunneling

Page 49: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

51

VPNs: why?r Privacyr Securityr Works well with mobility:

m looks like you are always at home

r Cost: m Many forms of newer VPNs are cheaper than leased line VPN’sm Ability to share at lower layers (e.g., share underwater cables)m Exploit multiple paths, redundancy, fault-recovery (lower layers)m Need isolation mechanisms to ensure appropriate resources sharing

r Abstraction and manageability: m All machines with addresses that are “in” are trusted no matter

where they are

Page 50: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

52

7. Designs for Scale

How to deal with large numbers (millions) of entities in a system?

r IP devices in the internet (0.5 billion)r Users in P2P network (millions)

More generally:r Are there advantages to large scale?r “For every type of animal there is a most convenient

size, and a large change in size inevitably carries with it a change of form.”True for networks?

Page 51: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

53

Scale: with 500 million destinations:

r Can’t store all dest’s in routing tables!

r Routing table exchange would swamp links!

Administrative autonomyr Internet = network of

networksr Each network admin may want

to control routing in its own network

Dealing With Scale: Hierarchical routing

Page 52: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

54

Dealing with ScaleQuestion: What are the advantages of large scale?r Take advantage of having to do similar things for others (caching)r Fault tolerance:

m Large number of serversm We have redundancy; multiple routes between sites

r Metcalfe’s law: m “Value” of a network is proportional to square of number of things

connected (bigger is better)r Law of large numbers:

m Allocation of resources based on average usage rather than peakr Amortizing upgrade maintenance over a large population:

m Popular network and services likely to be upgraded/improvedr Denial of service:

m Size/replication makes it harder to attackm More generally, a system with replicated components is more survivable.

Page 53: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

55

Dealing with ScaleDiscussion: “For every type of animal there is a most

convenient size, and a large change in size inevitably carries with it a change of form.”

Question: True for networks? Why? How so? Examples?r Ethernet doesn’t scale up: geographical distance, speed

of light delays degrade performance of random access protocols. (geographic scaling). Access to (broadcast) channel.

r As number of communicants scales, need to change/improve manner in which to access communication channel m Example: small number of students, versus 500-class lecture.

Page 54: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

56

Dealing with ScaleDiscussion: “For every type of animal there is a most

convenient size, and a large change in size inevitably carries with it a change of form.”

Question: True for networks? Why? How so? Examples?r Routing:

m Large number of users and optimal routes=> requires lots of info to compute routes, etc. ...

m Doesn’t scale

r Certain services become necessary when you get bigm Name storage/translation: DNS, phone books

r A single centralized site eventually breaksm Need replication or other form of distribution

Page 55: Design principles/protocol functions - TU Berlin · 39 Cerf & Kahn: Interconnecting two networks r“…interconnection must preserve intact the internal operation of each network.”

57

End of “Design Principles”!

Goalsr Reviewr Material that is timely, timeless: hot now but also long

shelf lifer Synthesis: deeper understanding; “see the forest for the

trees”