Top Banner
1 TCOM 512 Course plan TCOM 512 Course plan Fall 2003
106
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: intro

1

TCOM 512 Course planTCOM 512 Course plan

Fall 2003

Page 2: intro

TCOM512 2

Questions for first class?Questions for first class?

What is a protocol? What is an API (application programming interface) ? Why the concept of layering? End-to-end argument

Page 3: intro

TCOM512 3

Why is communication important?Why is communication important?

Resource sharing:– unique resources

– location specific

Load sharing:– performance

– economy of scale

– reliability

Information sharing:– Communication

Page 4: intro

TCOM512 4

Human protocol vs Computer network protocol:A series of functions performed at different locations.

Hi

Get lost??

Got thetime?

2:00

TCP connection req.

TCP connectionreply.Get http://www.rpi.edu/index.htm

<file>time

What are protocols ?What are protocols ?

Hi

Page 5: intro

TCOM512 5

Protocols and protocol implementations Protocols and protocol implementations

Building blocks of a network architecture Each protocol object has two different interfaces

– service interface: defines operations on this protocol

– peer-to-peer interface: defines messages exchanged with peer

service interface

peer interface

Li+1 Li+1

LiLi

Page 6: intro

TCOM512 6

What is Layering?What is Layering?

A technique to organize a system into a succession of logically distinct entities, such that the service provided by one entity is solely based on the service provided by the previous (lower level) entity

Decomposition of a complex system into an ordered series of distinct abstractions

Layering: – Service: what a layer does (e.g. message delivery)

– Interface: how to use the service

– Protocol: how the service is implemented

– Protocol stack: collection of protocols implementing a series of layers

Page 7: intro

TCOM512 7

Divide and conquerDivide and conquerAnalogy: Organization of air travelAnalogy: Organization of air travel

Protocols: a series of functions performed at different locations

Brd. pass (purchase)

baggage (check)

gates (load)

runway takeoff

airplane routing

Brd. pass (complain)

baggage (claim)

gates (unload)

runway landing

airplane routing

airplane routing

Page 8: intro

TCOM512 8

Organization of air travel: Organization of air travel: a different viewa different view

Layers: each layer implements a service– via its own internal-layer actions

– relying on services provided by layer below

Brd.pass (purchase)

baggage (check)

gates (load)

runway takeoff

airplane routing

Brd. pass (complain)

baggage (claim)

gates (unload)

runway landing

airplane routing

airplane routing

interface

Page 9: intro

TCOM512 9

LayeredLayered air travel: air travel: servicesservices

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

Similarly, we organize computer systems into a bunch of layers!Each layer has a protocol to talk to its peer

Page 10: intro

TCOM512 10

DistributedDistributed implementation of layers implementation of layers

ticket (purchase)

baggage (check)

gates (load)

runway takeoff

airplane routing

ticket (complain)

baggage (claim)

gates (unload)

runway landing

airplane routing

airplane routing

Dep

art

ing

air

port

arr

ivin

g

air

port

intermediate air traffic sites

airplane routing airplane routing

Page 11: intro

TCOM512 11

EncapsulationEncapsulation

A layer can use only the service provided by the layer immediate below it

Each layer may change and add a header to data packet

data

data

data

data

data

data

data

data

data

data

data

data

data

data

Page 12: intro

TCOM512 12

Protocol layering and dataProtocol layering and data

Each layer takes data from above adds header information to create new data unit (“encapsulation”) passes new data unit to layer below

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

source destination

M

M

M

M

Ht

HtHn

HtHnHl

M

M

M

M

Ht

HtHn

HtHnHl

message

segment

datagram

frame

Page 13: intro

TCOM512 13

ISO OSI Reference ModelISO OSI Reference Model

Seven layers– Lower three layers are peer-to-peer

– Next four layers are end-to-end

Application

Presentation

Session

Transport

Network

Datalink

Physical

Application

Presentation

Session

Transport

Network

Datalink

Physical

Network

Datalink

Physical

Physical medium

Page 14: intro

TCOM512 14

Layering: Layering: logicallogical communication communication

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

networklink

physical

data

dataE.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 office

data

transport

transport

ack

(Source: Kurose & Ross)

Page 15: intro

TCOM512 15

Example: Transport ProtocolExample: Transport Protocol(Physical Communication)(Physical Communication)

(Source: Kurose & Ross)

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

networklink

physical

data

data

Page 16: intro

TCOM512 16

Why Layering?Why Layering?

No layering: each new application has to be re-implemented for every network technology!

Telnet FTP NFS

Packetradio

Coaxial cable

Fiberoptic

Application

TransmissionMedia

HTTP

(FTP – File Transfer Protocol, NFS – Network File Transfer, HTTP – World Wide Web protocol)

Page 17: intro

TCOM512 17

Why Layering?Why Layering?

Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies

Telnet FTP NFS

Packetradio

Coaxial cable

Fiberoptic

Application

TransmissionMedia

HTTP

Intermediate layer

Page 18: intro

TCOM512 18

LayeringLayering

Advantages– Modularity – protocols easier to manage and maintain

– Abstract functionality –lower layers can be changed without affecting the upper layers

– Reuse – upper layers can reuse the functionality provided by lower layers

– Encapsulation – functionality in a layer is self-contained;

Disadvantages– Information hiding – inefficient implementations

– Introduces overhead –can lead to intentional layer violations

Page 19: intro

TCOM512 19

Layered Protocol ArchitectureLayered Protocol Architecture

Protocol = rules and conventions for communication between peers including syntax, semantics, and timing

Service Interface = rules and conventions for communication between clients and service including syntax and timing

Service Model = semantics of interface operations offered by service to clients, and underlying channel characteristics (performance, reliability, etc.)

Recursive: service interface and model implemented internally by protocol

Page 20: intro

TCOM512 20

Protocols vs. APIsProtocols vs. APIs Protocols

– Needed for interoperability between platforms (possibly built by different vendors)

– A “vertical partitioning” between communicating entities

– Protocols as communicating finite state machines:

– Protocol = Finite State Machine + Message Set

– Specify not only what must be done but how it is done

Page 21: intro

TCOM512 21

Protocols vs. APIsProtocols vs. APIs APIs

– Needed for portability of software across platforms (from different vendors)

– A “horizontal partitioning” of software on a platform

– Specify only what must be done, not how the implementation does it

– Bottom-up view

– Coalesce related states of the protocol into objects with appropriate methods

– Top-down view

– Define objects that are logical units for the user of the API (i.e., the application or programmer)

– API can be defined without regard to protocols

Page 22: intro

TCOM512 22

Architectural context for the APIArchitectural context for the API

Local or Remote AccessMechanism (e.g., RMI, CORBA)

Gateways

Application

SIP Adapter

API Implementation

ISUP Adapter

H.323 Adapter ...

API

Page 23: intro

TCOM512 23

APIsAPIs

Application layer: – JAIN JCC/JCAT, PARLAY, OSA, JTAPI

– Web services : WSDL, UDDI, SOAP

Middleware: – CORBA, MOM, RPC, RMI

Transport: – Sockets, SIP API, JAIN SIP

Page 24: intro

TCOM512 24

Interface DesignInterface Design

Driven by three factors:– Functionality: what features the customer wants, and is placed at a

level due to e2e principle etc

– Technology: what’s possible. Building blocks and techniques

– Performance: How fast etc… User, Designer, Operator views of performance ..

Interface design crucial because interface outlives the technology used to implement the interface.

Page 25: intro

TCOM512 25

Layered Protocol ArchitectureLayered Protocol Architecture

Local Area Network

Hos

t 1

Hos

t 2

TELNET

TCP

IP

LAN/MAC

TELNET

TCP

IP

LAN/MAC

Protocols

Interfaces

Page 26: intro

TCOM512 26

Layered Protocol ArchitectureLayered Protocol ArchitectureService viewService view

Local Area Network

Hos

t 1

Hos

t 2

TELNET

TCP

IP

LAN/MAC

TELNET

TCP

IP

LAN/MAC

Protocols

Interfaces

Page 27: intro

TCOM512 27

Layered Protocol Architecture ImplementationLayered Protocol Architecture Implementation Layered protocols, from the service point-of-view, are useful

for building more complex systems out of simpler building blocks

… but does not imply that implementations should be strictly layered.

Page 28: intro

TCOM512 28

How do we architect a network?How do we architect a network?

Layered model– Lots of different problems to solve; complex

– Solved it once --- why solve it again?

– Three distinct aspects:

» Layers of encapsulation

» Layers of services

» Layers of software

Cultural wars:– Computer Systems versus telecommunications

– Least Common Denominator, Best characterization for optimal efficiency

– packets vs. circuits, best-effort vs. reservations,

Page 29: intro

TCOM512 29

Functionality placement Functionality placement

Which functions belong at which layers?– The end-to-end argument

– Application layer framing (ALF)

Page 30: intro

30

End to end argument End to end argument

Page 31: intro

TCOM512 31

Key questionsKey questions

How to decompose the complex system functionality into protocol layers?

What functions to be placed at which levels? Can a function be placed at multiple levels ?

Page 32: intro

TCOM512 32

Common View of the Telco NetworkCommon View of the Telco Network

Brick

Page 33: intro

TCOM512 33

Common View of the IP NetworkCommon View of the IP Network

Page 34: intro

TCOM512 34

End-to-End ArgumentEnd-to-End Argument

“…functions placed at the lower levels may be redundant or of little value when compared to the cost of providing them at the lower level…”

“…sometimes an incomplete version of the function provided by the communication system (lower levels) may be useful as a performance enhancement…”

This leads to a philosophy diametrically opposite to the telephone world which sports dumb end-systems (the telephone) and intelligent networks.

Page 35: intro

TCOM512 35

E2E Argument: InterpretationsE2E Argument: Interpretations

One interpretation: (limited possibly …)– A function can only be completely and correctly implemented with the

knowledge and help of the applications standing at the communication endpoints

Another: (more precise…)– a system (or subsystem level) should consider only functions that can

be completely and correctly implemented within it.

Alternative interpretation: (also correct …)– Think twice before implementing a functionality that you believe that is

useful to an application at a lower layer

– If the application can implement a functionality correctly, implement it a lower layer only as a performance enhancement

Page 36: intro

TCOM512 36

Example: Reliable File TransferExample: Reliable File Transfer

Solution 1: make each step reliable, and then concatenate them

Solution 2: end-to-end check and retry

OS

Appl.

OS

Appl.

Host A Host B

OK

Page 37: intro

TCOM512 37

DiscussionDiscussion

Solution 1 not complete– What happens if the sender or/and receiver misbehave?

The receiver has to do the check anyway! Thus, full functionality can be entirely implemented at

application layer; no need for reliability from lower layers Is there any need to implement reliability at lower layers? Yes, but only to improve performance Example:

– assume a high error rate on communication network

– then, a reliable communication service at datalink layer might help

Page 38: intro

TCOM512 38

Trade-offsTrade-offs

Application has more information about the data and the semantic of the service it requires (e.g., can check only at the end of each data unit)

A lower layer has more information about constraints in data transmission (e.g., packet size, error rate)

Note: these trade-offs are a direct result of layering!

Page 39: intro

TCOM512 39

End-to-End Argument: Critical IssuesEnd-to-End Argument: Critical Issues

The end-to-end principle emphasizes:– function placement

– completeness and

– overall system costs. Philosophy: if application can do it, don’t do it at a lower layer --

application best knows what it needs– add functionality in lower layers iff (1) used by and improves

performances of many applications, (2) does not hurt other applications

– If implementation of function in higher levels is not possible due to technological/economic reasons (eg: telephone network in early 1900s), then it may be placed at lower levels

allows cost-performance tradeoff

Page 40: intro

TCOM512 40

Performance ImpactPerformance Impact

Consider reliability. Let p be the probability of losing a packet on a link

A n-hop path will result in (1-p)^n prob of successful delivery and prob of loss is 1-(1-p)^n

Assume a path with n=15– Let p=1e-5. Then prob(loss) = 1.5e-5

– Let p=0.01. Prob(loss) = 0.14

Page 41: intro

TCOM512 41

Internet & End-to-End ArgumentInternet & End-to-End Argument

At network layer provides one simple service: best effort datagram (packet) delivery

Only one higher level service implemented at transport layer: reliable data delivery (TCP)– performance enhancement; used by a large variety of applications

(Telnet, FTP, HTTP) which could provide their own error control

– does not impact other applications (can use UDP)

Everything else implemented at application level

Page 42: intro

TCOM512 42

Internet & End-to-End ArgumentInternet & End-to-End Argument Discussion: congestion control, flow control: why at transport, rather

than link or application layers?– claim: common functions should migrate down the stack

» Everyone shares same implementation: no need to redo it (reduces bugs, less work, etc…)

» Knowing everyone is doing the same thing, can help

– congestion control too important to leave up to application/user: true but hard to police

» Tcp is “outside” the network; compliance is “optional”

» We do this for fairness (but realize that people could cheat)

– Why flow control in tcp, not (just) in app

» shared tcp buffers at receiver mean want to control flow at tcp level (otherwise unfairness)

» Shared resources is an important reason to push controlling functionality to point at which resources are shared

– Corollary: do active queue management (e.g., RED) in network

Page 43: intro

TCOM512 43

Key AdvantagesKey Advantages

The IP service can be implemented on top of a large variety of network technologies

Does not require routers to maintain any fined grained state about traffic. Thus, network architecture is – Robust

– Scalable

Page 44: intro

TCOM512 44

End-to-End Argument: DiscussionEnd-to-End Argument: Discussion

end-end argument emphasizes correctness & completeness, not – complexity: is complexity at edges result in a “simpler” architecture?

– evolvability, ease of introduction of new functionality: ability to evolve because easier/cheaper to add new edge applications than change routers?

– Technology penetration: simple network layer makes it “easier” for IP to spread everywhere

Page 45: intro

TCOM512 45

Summary: End-to-End ArgumentsSummary: End-to-End Arguments

If the application can do it, don’t do it at a lower layer -- anyway the application knows the best what it needs– add functionality in lower layers iff it is (1) used and improves

performances of a large number of applications, and (2) does not hurt other applications

Success story: Internet

Page 46: intro

46

Application layer framing Application layer framing

Page 47: intro

TCOM512 47

Application Layer Framing (ALF)Application Layer Framing (ALF)

Several processing bottlenecks may lie at the “presentation” layer which does not really exist in the TCP/IP stack– These functions are absorbed partially in the transport layer and

partly in the application layer.

– Principle: the application-layer should have control of the syntax and semantics of the presentation conversions

– Transport should provide only common functions

Generalization of ALF: look for elegant ways to allow application visibility/participation in lower-level activities– Eg: QoS – carry application intelligence to the point of QoS

enforcement

Page 48: intro

TCOM512 48

ALFALF

A concept challenging traditional layering Application needs may not be easily communicated across

layers Idea: Allow application to decide the frame size most

convenient to it Application breaks up data into suitable aggregates The application data units (ADUs) may be processed by the

application in any order Lower layers preserve ADU boundaries Application takes active role in the encapsulation of its data

– Can optimize for loss recovery via intelligent framing and fragmentation

Page 49: intro

TCOM512 49

Architecture vs Implementation: ALF PrincipleArchitecture vs Implementation: ALF Principle Architecture: decomposition into functional modules,

semantics of modules and syntax used There should be no a priori requirement that the engineering

design of a given system correspond to the architectural decomposition– Eg: layering may not be most effective modularity for

implementation

Summary:– Flexible decomposition

– Defer engineering decisions to implementor.

– Avoid gratuitous implementation constraints

– Maximize engineering options for customization/optimization

Page 50: intro

TCOM512 50

ILP: Integrated Layer ProcessingILP: Integrated Layer Processing

Modular functionality that is specified in layered form should not be implemented as such

Architecture must minimize gratuitous precedence or ordering constraints …

“Integrated processing loop”– Loop over bytes in packet

– Touch each byte at most once

– Avoid multiple copies within memory

– Massive integrated loop w/ all steps in-line

Page 51: intro

TCOM512 51

System Design Rules of ThumbSystem Design Rules of Thumb Design a system to tradeoff cheaper resources against

expensive ones (for a gain) When resources are cheap and abundant, waste them. Design

focuses on cutting out any expensive resource that comes in the way! (eg: parallelism)

Apply principles like E2E and ALF to decide on right placement of functionalities in different system levels

Interfaces must outlive several generations of change in the components being interfaced.– Three factors drive interface design:

» functionality demanded,

» available technology,

» performance tradeoff.

Page 52: intro

TCOM512 52

Functionality requirements can be understood by taking different views of the system (eg: designer, implementor, operator).– Reduced functionality can result in cheaper, scalable, quickly engineered

system

– Placement of functionality is critical in system design

No paradigm is going to work or functionality can be met if the available technology to implement it does not exist.

Performance is either relative or absolute and is usually modeled at the high level as a function from system parameters (input) to system metrics (output). – Metrics must be design to reflect design tradeoffs.

– Only sensitive parameters matter.

Optimize the common case – Solve 90% of the problem that matters, throw away the remaining 10% of the

problem requirements!

System Design Rules of ThumbSystem Design Rules of Thumb

Page 53: intro

53

Internet design philosophy Internet design philosophy

Page 54: intro

TCOM512 54

Internet Design Philosophy (Clark’88)Internet Design Philosophy (Clark’88)

Connect existing networks– initially ARPANET and ARPA packet radio network

1. Survivability– ensure communication service even with network and router failures

2. Support multiple types of services3. Must accommodate a variety of networks4. Allow distributed management5. Allow host attachment with a low level of effort6. Be cost effective7. Allow resource accountability

In order of importance:

Different ordering of priorities would make a different architecture!

Page 55: intro

TCOM512 55

1. Survivability1. Survivability

Continue to operate even in the presence of network failures (e.g., link and router failures)

– as long as network is not partitioned, two endpoints should be able to communicate

– any other failure (excepting network partition) should be transparent to endpoints

Decision: maintain e-e transport state only at end-points– eliminate the problem of handling state inconsistency and performing state

restoration when router fails

Internet: stateless network architecture – No notion of a session/call at network layer

– Grade: A- because convergence times are relatively slow

– BGP takes minutes to coverge

– IS-IS OSPF take ~ 10 seconds

Page 56: intro

TCOM512 56

2. Types of Services2. Types of Services

Need to support multiple types of services– All combinations of delay, bandwidth, loss

add UDP to TCP to better support other apps – e.g., “real-time” applications

arguably main reason for separating TCP, IP datagram abstraction: lower common denominator on which

other services can be built – service differentiation was considered (remember ToS?), but this has

never happened on the large scale (Why?)

A- proven to allows many applications to be invented and flourish

Page 57: intro

TCOM512 57

3. Variety of Networks3. Variety of Networks

Very successful (why?) – because the minimalist service; it requires from underlying network

only to deliver a packet with a “reasonable” probability of success

…does not require:– reliability

– in-order delivery

The mantra: IP over everything– Then: ARPANET, X.25, DARPA satellite network..

– Now: ATM, SONET, WDM…

A: can’t name a link layer technology that IP doesn’t run over (carrier pigeon RFC)

Page 58: intro

TCOM512 58

Other GoalsOther Goals

Allow distributed management– Administrative autonomy: IP interconnects networks

» each network can be managed by a different organization

» different organizations need to interact only at the boundaries

» … but this model complicates routing

– A for implementation, B for concept (disagreement)

Cost effective – sources of inefficiency

» header overhead

» retransmissions

– …but “optimal” performance never been top priority

– A

Page 59: intro

TCOM512 59

Other Goals (Cont)Other Goals (Cont)

Low cost of attaching a new host– not a strong point higher than other architecture because the

intelligence is in hosts (e.g., telephone vs. computer)

– bad implementations or malicious users can produce considerably harm (remember fate-sharing?)

– C: but things are improving with dhcp, autocofigurations. Looks like a higher grade in future

Accountability– Internet gets an “F”

Page 60: intro

TCOM512 60

Internet protocol stackInternet 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

Page 61: intro

TCOM512 61

Reference ModelsReference Models for Layering for Layering

Application

Presentation

Session

Transport

Network

Datalink

Physical

Application

Transport

Internetwork

Host to Network

FTP

TCP

IP

Ethernet

Telnet HTTP

UDP

PacketRadio

Point-to-Point

TCP/IP Model OSI Ref ModelTCP/IP Protocols

Page 62: intro

TCOM512 62

Internet (IP) ArchitectureInternet (IP) Architecture

“Hourglass” Not strict layering

TELNET FTP TFTP NTP

TCP UDP

IP

Ethernet Wireless ArpaNet 1822 Serial

Page 63: intro

TCOM512 63

Internet applicationsInternet applications Variations on three themes

– distinguish protocol vs. application behavior Messaging

– datagram model no direct confirmation of final receipt

– email (optional confirmation now) and IM

– emphasis on interoperation (SMS, pagers, …)

– delays measured in minutes Retrieval & query (request/response)

– “client-server”

– ftp, HTTP

– RPC (Sun RPC, DCE, DCOM, Corba, XML-RPC, SOAP)

– emphasis on fast & reliable transmission

– delays measured in seconds

Page 64: intro

TCOM512 64

Internet applications, cont’dInternet applications, cont’d

Continuous media– generation rate ~ delivery rate ~ rendering rate

– audio, video, measurements, control

» Internet telephony

» Multimedia conferencing

– related: streaming media slightly longer timescales for rate matching

» video-on-demand

– emphasis is on timely and low-loss delivery real-time

– delays measured in milliseconds

Page 65: intro

TCOM512 65

Internet protocolsInternet protocols

Protocols support these applications:– data delivery

» HTTP, ftp data part, SMTP, IMAP, POP, NFS, SMB, RTP– identifier mapping (id id, id data)

» ARP, DNS, LDAP– configuration (= specialized version of identifier data)

» DHCP, ACAP, SLP, NETCONF, SNMP– control and setup

» RTSP, SIP, ftp control, RSVP, SNMP, BGP and routing protocols May be integrated into one protocol or general service function

(“middleware”?)

Page 66: intro

TCOM512 66

History of networkingHistory of networking

History of networking = non-network applications migrate– postal & intracompany mail, fax email, IM

– broadcast: TV, radio

– interactive voice/video communication VoIP

– information access web, P2P

– disk access iSCSI, Fiberchannel-over-IP

Page 67: intro

TCOM512 67

Network evolutionNetwork evolution

Only three modes, now thoroughly explored:– packet/cell-based

– message-based (application data units)

– session-based (circuits)

Replace specialized networks– left to do: embedded systems

» need cost(CPU + network) < $10

» cars

» industrial (manufacturing) control

» commercial buildings (lighting, HVAC, security; now LONworks)

» remote controls, light switches

» keys replaced by biometrics

Page 68: intro

TCOM512 68

New applicationsNew applications

New bandwidth-intensive applications– Reality-based networking

– (security) cameras

Distributed games often require only low-bandwidth control information– current game traffic ~ VoIP

Computation vs. storage vs. communications– communications cost has decreased less rapidly than storage costs

Page 69: intro

TCOM512 69

Transition of networkingTransition of networking

Maturity cost dominates– can get any number of bits anywhere, but at considerable cost and

complexity

– casually usable bit density still very low

Specialized commodity– installed and run by 'amateurs'

– need low complexity, high reliability

Page 70: intro

TCOM512 70

Security challengesSecurity challenges

DOS, security attacks permissions-based communications– only allow modest rates without asking

– effectively, back to circuit-switched

Higher-level security services more application-layer access via gateways, proxies, …

User identity– problem is not availability, but rather over-abundance

Page 71: intro

TCOM512 71

ScalingScaling

Scaling is only backbone problem Depends on network evolution:

– continuing addition of AS to flat space deep trouble

– additional hierarchy

Page 72: intro

TCOM512 72

Quality of Service (QoS)Quality of Service (QoS)

QoS is meaningless to users care about service availability reliability as more and more value depends on network services, can't

afford random downtimes

Page 73: intro

TCOM512 73

Textbook Internet vs. real InternetTextbook Internet vs. real Internet

end-to-end (application only in 2 places)

middle boxes (proxies, ALGs, …)

permanent interface identifier (IP address)

time-varying (DHCP)

globally unique and routable network address translation (NAT)

multitude of L2 protocols (ATM, ARCnet, Ethernet, FDDI, modems, …)

dominance of Ethernet, but also L2’s not designed for networks (1394 Firewire, Fibre Channel, MPEG2, …)

Page 74: intro

TCOM512 74

Textbook Internet vs. real InternetTextbook Internet vs. real Internet

mostly trusted end users hackers, spammers, con artists, pornographers, …

small number of manufacturers, making expensive boxes

Linksys, Dlink, Netgear, …, available at Radio Shack

technical users, excited about new technology

grandma, frustrated if email doesn’t work

4 layers (link, network, transport, application)

layer splits

transparent network firewalls, L7 filters, “transparent proxies”

Page 75: intro

TCOM512 75

Internet architecture documents (readings-hw)Internet architecture documents (readings-hw)

http://www.ietf.org/rfc/rfcXXXX.txt RFC 1287 RFC 2101 RFC 2775 RFC 3234

Page 76: intro

TCOM512 76

email WWW phone...

SMTP HTTP RTP...

TCP UDP…

IP

ethernet PPP…

CSMA async sonet...

copper fiber radio...

The Internet The Internet Protocol Protocol

HourglassHourglass(Deering)(Deering)

Page 77: intro

TCOM512 77

Why the hourglass architecture?Why the hourglass architecture?

Why an internet layer?– make a bigger network

– global addressing

– virtualize network to isolate end-to-endprotocols from network details/changes

Why a single internet protocol?– maximize interoperability

– minimize number of service interfaces Why a narrow internet protocol?

– assumes least common network functionalityto maximize number of usable networks

Deering, 1998

Page 78: intro

TCOM512 78

email WWW phone...

SMTP HTTP RTP...

TCP UDP…

IP + mcast

+ QoS +...

ethernet PPP…

CSMA async sonet...

copper fiber radio...

Putting on Putting on WeightWeight

• requires more functionality from underlying networks

Page 79: intro

TCOM512 79

email WWW phone...

SMTP HTTP RTP...

TCP UDP…

IP4 IP6

ethernet PPP…

CSMA async sonet...

copper fiber radio...

Mid-Life Mid-Life CrisisCrisis

• doubles number of service interfaces

• requires changes above & below

• major interoper-ability issues

Page 80: intro

TCOM512 80

Layer splittingLayer splitting

Traditionally, L2 (link), L3 (network = IP), L4 (transport = TCP), L7 (applications)

Layer 2: Ethernet PPPoE (DSL) Layer 2.5: MPLS, L2TP Layer 3: tunneling (e.g., GPRS) Layer 4: UDP + RTP Layer 7: HTTP + real application

Page 81: intro

TCOM512 81

Layer violationsLayer violations

Layers offer abstraction avoid “Internet closed for renovation” Cost of information hiding Cost of duplication of information when nothing changes

– fundamental design choice of Internet = difference between circuit and datagram-oriented networks

Assumption: packets are large and getting larger– wrong for games and audio

Cost prohibitive on wireless networks– will see: 10 bytes of payloads, 40 bytes of packet header

– header compression compress into state index on one link

Page 82: intro

TCOM512 82

Internet acquires presentation layerInternet acquires presentation layer

All learn about OSI 7-layer model OSI: ASN.1 as common rendering of application data

structures– used in LDAP and SNMP (and H.323)

Internet never really had presentation layer– approximations: common encoding (TLV, RFC 822 styles)

Now, XML as the design choice by default

Page 83: intro

TCOM512 83

Internet acquires session layerInternet acquires session layer

Originally, meant for data sessions Example (not explicit): ftp control connection Now, separate data delivery from session setup

– address and application configuration

– deal with mobility

– will see as RTSP, SIP and H.323

Page 84: intro

TCOM512 84

But that was yesterday

……. what about tomorrow?

Page 85: intro

TCOM512 85

What About the Future?What About the Future?

Datagram not the best abstraction for:– resource management,accountability, QoS

new abstraction: flow (see IPv6)– but no one knows what a flow is

routers require to maintain per-flow state state management: recovering lost state is hard here we see the first proposal of “soft state”!

– soft-state: end-hosts responsible to maintain the state

Page 86: intro

TCOM512 86

Rethinking Internet DesignRethinking Internet Design

What’s changed? operation in untrustworthy world

– endpoints can be malicious

– If endpoint not trustworthy, but want trustworthy network -> more mechanism in network core

more demanding applications

– end-end best effort service not enough

– new service models in network (Intserv, diffserv)?

– new application-level service architecture built on top of network core (e.g., CDN, p2p)?

Page 87: intro

TCOM512 87

Rethinking Internet DesignRethinking Internet Design

What’s changed? ISP service differentiation

– ISP doing more (than other ISPs) in core is competitive advantage

Rise of third party involvement

– interposed between endpoints (even against will)

– e.g., Chinese gov’t, US recording industry

less sophisticated users

All five changes motivate shift away from end-end!

Page 88: intro

TCOM512 88

Technical response to changesTechnical response to changes

Trust: emerging distinction between what is “in” network (us, trusted) and what is not (them, untrusted).

– ingress filtering

– emergence of Internet UNI (user network interface, as in ATM)?

Modify endpoints

– Harden endpoints against attack

– Endpoints do content filtering: Net-nanny

– CDN, ASPs: rise of structured, distributed applications in response to inability to send content (e.g., multimedia, high bw) at high quality

Page 89: intro

TCOM512 89

Technical response to changesTechnical response to changes

Add functions to the network core:

– filtering firewalls

– application-level firewalls

– NAT boxes

– active networking

… All operate within network, making use of application-level information

– which addresses can do what at application level?

– If addresses have meaning to applications, NAT must “understand” that meaning

Page 90: intro

TCOM512 90

Summary: Internet ArchitectureSummary: Internet Architecture

packet-switched datagram network IP is the glue (network layer

overlay) IP hourglass architecture

– all hosts and routers run IP

stateless architecture– no per flow state inside network

IP

TCP UDP

ATM

Satellite

Ethernet

IP hourglass

Page 91: intro

TCOM512 91

Summary: Minimalist ApproachSummary: Minimalist Approach

Dumb network– IP provide minimal functionalities to support connectivity

– addressing, forwarding, routing

Smart end system– transport layer or application performs more sophisticated functionalities

– flow control, error control, congestion control

Advantages– accommodate heterogeneous technologies (Ethernet, modem, satellite, wireless)

– support diverse applications (telnet, ftp, Web, X windows)

– decentralized network administration

Page 92: intro

TCOM512 92

Two ways of constructing a software design:

1)make it so simple that there are obviously no deficiencies, and

2)make it so complicated that there are no obvious deficiencies

--- CAR Hoare

Page 93: intro

TCOM512 93

Readings Readings

Reading: Saltzer, Reed, Clark: "End-to-End arguments in System Design" Reading: Clark: "The Design Philosophy of the DARPA Internet Protocols":

Page 94: intro

94

StandardizationStandardization

Henning Schulzrinne

Dept. of Computer Science

Columbia University

Fall 2003

Page 95: intro

TCOM512 95

StandardsStandards Mandatory vs. voluntary

– Allowed to use vs. likely to sell

– Example: health & safety standards UL listing for electrical appliances, fire codes Telecommunications and networking always focus of standardization

– 1865: International Telegraph Union (ITU)

– 1956: International Telephone and Telegraph Consultative Committee (CCITT) Five major organizations:

– ITU for lower layers, multimedia collaboration

– IEEE for LAN standards (802.x)

– IETF for network, transport & some applications

– W3C for web-related technology (XML, SOAP)

– ISO for media content (MPEG)

Page 96: intro

TCOM512 96

Who makes the rules? - ITUWho makes the rules? - ITU

ITU = ITU-T (telecom standardization) + ITU-R (radio) + development– http://www.itu.int

– 14 study groups

– produce Recommendations:

» E: overall network operation, telephone service (E.164)

» G: transmission system and media, digital systems and networks (G.711)

» H: audiovisual and multimedia systems (H.323)

» I: integrated services digital network (I.210); includes ATM

» V: data communications over the telephone network (V.24)

» X: Data networks and open system communications

» Y: Global information infrastructure and internet protocol aspects

Page 97: intro

TCOM512 97

ITUITU

Initially, national delegations Members: state, sector, associate

– Membership fees

Now, mostly industry groups doing work Initially, mostly (international) telephone services Now, transition from circuit-switched to packet-switched universe &

lower network layers (optical) Documents cost SFr, but can get three freebies for each email address

Page 98: intro

TCOM512 98

IETFIETF

IETF (Internet Engineering Task Force)– see RFC 3233 (“Defining the IETF”)

Formed 1986, but earlier predecessor organizations (1979-) RFCs date back to 1969 Initially, largely research organizations and universities, now mostly R&D labs of

equipment vendors and ISPs International, but 2/3 United States

– meetings every four months

– about 300 companies participating in meetings

» but Cisco, Ericsson, Lucent, Nokia, etc. send large delegations

Page 99: intro

TCOM512 99

IETFIETF Supposed to be engineering, i.e., translation of well-understood technology standards

– make choices, ensure interoperability

– reality: often not so well defined Most development work gets done in working groups (WGs)

– specific task, then dissolved (but may last 10 years…)

– typically, small clusters of authors, with large peanut gallery

– open mailing list discussion for specific problems

– interim meetings (1-2 days) and IETF meetings (few hours)

– published as Internet Drafts (I-Ds)

» anybody can publish draft-somebody-my-new-protocol» also official working group documents (draft-ietf-wg-*)» versioned (e.g., draft-ietf-avt-rtp-10.txt)» automatically disappear (expire) after 6 months

Page 100: intro

TCOM512 100

IETF processIETF process

WG develops WG last call IETF last call approval (or not) by IESG publication as RFC

IESG (Internet Engineering Steering Group) consists of area directors – they vote on proposals– areas = applications, general, Internet, operations and management, routing,

security, sub-IP, transport

Also, Internet Architecture Board (IAB) – provides architectural guidance

– approves new working groups

– process appeals

Page 101: intro

TCOM512 101

RFCsRFCs

Originally, “Request for Comment” now, mostly standards documents that are well settled published RFCs never change always ASCII (plain text), sometimes PostScript anybody can submit RFC, but may be delayed by review (“end run

avoidance”) see April 1 RFCs (RFC 1149, 3251, 3252) accessible at http://www.ietf.org/rfc/ and http://www.rfc-editor.org/

Page 102: intro

TCOM512 102

IETF process issuesIETF process issues

Can take several years to publish a standard– see draft-ietf-problem-issue-statement

Relies on authors and editors to keep moving– often, busy people with “day jobs” spurts three times a year

Lots of opportunities for small groups to delay things Original idea of RFC standards-track progression:

– Proposed Standard (PS) = kind of works

– Draft Standard (DS) = solid, interoperability tested (2 interoperable implementations for each feature), but not necessarily widely used

– Standard (S) = well tested, widely deployed

Page 103: intro

TCOM512 103

IETF process issuesIETF process issues

Reality: very few protocols progress beyond PS– and some widely-used protocols are only I-Ds

In addition: Informational, Best Current Practice (BCP), Experimental, Historic

Early IETF: simple protocols, stand-alone– TCP, HTTP, DNS, BGP, …

Now: systems of protocols, with security, management, configuration and scaling– lots of dependencies wait for others to do their job

Page 104: intro

TCOM512 104

Other Internet standards organizationsOther Internet standards organizations

ISOC (Internet Society)– legal umbrella for IETF, development work

IANA (Internet Assigned Numbers Authority)– assigns protocol constants

NANOG (North American Network Operators Group) (http://www.nanog.org)– operational issues

– holds nice workshop with measurement and “real world” papers

RIPE, ARIN, APNIC– regional IP address registries dole out chunks of address space to ISPs

– routing table management

Page 105: intro

TCOM512 105

ICANNICANN

Internet Corporation for Assigned Names and Numbers– manages IP address space (at top level)

– DNS top-level domains (TLD)

» ccTLD: country codes (.us, .uk, …)

» gTLDs (.com, .edu, .gov, .int, .mil, .net, and .org)

» uTLD (unsponsored): .biz, .info, .name, and .pro

» sTLD (sponsored): .aero, .coop, and .museum

actual domains handled by registrars

Page 106: intro

TCOM512 106

Introduction to IETF (readings-hw)Introduction to IETF (readings-hw)

http://www.ietf.org/rfc/rfcXXXX.txt RFC 2026 RFC 2028 RFC 3160 RFC 3869