1 cse 524: tcp/ip internetworking protocols wu-chang feng

Post on 13-Dec-2015

232 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

CSE 524: TCP/IP Internetworking Protocols

Wu-chang Feng

2

CSE524: Lecture 1

Overview, Internet architecture

3

Quiz

• How much do you know?

4

Syllabus

• http://www.cse.ogi.edu/class/cse524/

• TA– Guangzhi Liu gliu@cse.ogi.edu– Office hours:

• Thursday 3pm-6pm

• CSE Central 146

• Required book– Kurose/Ross, “Computer Networking: A Top-

Down Approach Featuring the Internet”

5

Syllabus

• Grading– Exams

• 25% Midterm (10/29/2001: Chapters 2, 3)

• 25% Final (11/28/2001: Chapters 1, 4, 5)

– Other• 25% Research paper (12/5/2001)

• 25% Homework, quizzes, class participation

• Coarse-grained grading

6

Research paper

• You become the expert on “X”. You teach me.– Current survey and projected future of “X”– “X” not covered in course– Any length, no more than 10 pages– Topic and scope negotiated by e-mail– Approval by 10/29/2001, Due by 12/5/2001– Topics I’d like to know more about

• Ultra-wide band, sensor networks, high-speed switching and routing products, web switching products, peer-to-peer networks, content-addressable networks, overlay networks, IPv6, mobile IP, intrusion detection systems, IP traceback, DDoS attacks, DDoS prevention, MPLS, lambda switching, Internet worms, …

7

Research paper

• Grading– Correctness– Completeness

• Content

• References

– Originality• Each paper will be “Google” tested

• Quoting and referencing is fine

• Wholesale copying is not

8

Goals of course

• Higher-level design decisions and their impact

• Encyclopedia of essential protocols and algorithms

9

Outline of course

• Internet architecture, history, future (Chapter 1)

• Physical, data-link layers (Chapter 5)

• Network layer (Chapter 4)

• Transport layer (Chapter 3)

• Application layer (Chapter 2)

10

About the course

• Extremely condensed

• Not comprehensive– Hundreds of protocols– PSU/OCATE 510 - Internet Routing– PSU/OCATE 510 - Network

Management/Security– OHSU 58X - Multimedia Networking– OHSU 58X – Internet Technology and

Research

11

Internet Architecture

• http://www.nap.edu/html/coming_of_age/• http://www.ietf.org/rfc/rfc1958.txt• Packet switching over circuit switching• “Hourglass” design• End-to-end architecture• Layering of functionality• Distributed design, decentralized control• Superior organizational process

12

The Network Core

• mesh of interconnected routers

• the fundamental question: how is data transferred through net?

– circuit switching: dedicated circuit per call: telephone net

– packet-switching: data sent thru net in discrete “chunks”

13

Network Core: Circuit Switching

Resources reserved for “call” on an end to end basis

• link bandwidth, switch capacity

• dedicated resources: no sharing

• circuit-like (guaranteed) performance

• call setup required

14

Network Core: Circuit Switching

network resources (e.g., bandwidth) divided into “pieces”

• pieces allocated to calls• resource piece idle if not

used by owning call (no sharing)

• dividing link bandwidth into “pieces”– frequency division– time division

15

Network Core: Circuit Switching Example

• 1890-current: Phone network– Fixed bit rate– Mostly voice– Not fault-tolerant– Components extremely reliable– Global application-level knowledge throughout

network

16

Network Core: Packet Switching

each end-end data stream divided into packets

• user A, B packets share network resources

• each packet uses full link bandwidth

• resources used as needed,

resource contention:

• aggregate resource demand can exceed amount available

• congestion: packets queue, wait for link use

• store and forward: packets move one hop at a time

– transmit over link

– wait turn at next link

Bandwidth division into “pieces”

Dedicated allocation

Resource reservation

17

Network Core: Packet Switching

A

B

C10 MbsEthernet

1.5 Mbs

45 Mbs

D E

statistical multiplexing

queue of packetswaiting for output

link

18

Network Core: Packet Switching Example

• 1981-current: Internet network– Variable bit rate– Mostly data– Fault-tolerant– Components not extremely reliable (versus

phone components)– Distributed control and management

19

Packet switching versus circuit switching

• 1 Mbit link• each user:

– 100Kbps when “active”

– active 10% of time

• circuit-switching: – 10 users

• packet switching: – with 35 users,

probability > 10 active less that .004

Packet switching allows more users to use network!

N users

1 Mbps link

20

Packet switching versus circuit switching

• Great for bursty data– resource sharing– no call setup

• Excessive congestion: packet delay and loss– protocols needed for reliable data transfer,

congestion control• Q: How to provide circuit-like behavior?

– bandwidth guarantees needed for audio/video apps

still an unsolved problem (chapter 6)

Is packet switching a “slam dunk winner?”

21

Hourglass design

22

Hourglass design

• D. Clark, “The design philosophy of the DARPA internet”, SIGCOMM 1988, August 16 - 18, 1988.

• http://www.acm.org/pubs/citations/proceedings/comm/52324/p106-clark/

23

Hourglass design

• Only one protocol at the Internet level– Minimal required elements at the narrowest point

• IP – Internet Protocol– http://www.rfc-editor.org/rfc/rfc791.txt– http://www.rfc-editor.org/rfc/rfc1812.txt– Unreliable datagram service– Addressing and connectionless connectivity– Fragmentation and assembly

• Innovation at the edge– Phone network: dumb edge devices, intelligent network– Internet: dumb network, intelligent edge devices

24

Hourglass design

• Simplicity allowed fast deployment of multi-vendor, multi-provider public network– Ease of implementation

– Limited hardware requirements

– Eventual economies of scale

• Designed independently of hardware– Hardware addresses decoupled from IP addresses

– IP header contains no data/physical link specific information

– Allows IP to run over any fabric

25

Hourglass design

• Waist expands at transport layer

• Two dominant services layered above IP

• TCP – Transmission Control Protocol– Connection-oriented service– http://www.rfc-editor.org/rfc/rfc793.txt

• UDP – User Datagram Protocol– Connectionless service– http://www.rfc-editor.org/rfc/rfc768.txt

26

Hourglass design

• TCP – Transmission Control Protocol– Reliable, in-order byte-stream data transfer

• Acknowledgements and retransmissions

– Flow control• Sender won’t overwhelm receiver

– Congestion control• Senders won’t overwhelm network

27

Hourglass design

• UDP – User Datagram Protocol– Unreliable data transfer– No flow control– No congestion control

28

Hourglass design

• Check out /etc/services on *nix or C:\WIN*\system32\services

• IANA– http://www.iana.org/assignments/port-numbers

• What uses TCP?– HTTP, FTP, Telnet, SMTP, NNTP, BGP

• What uses (mainly) UDP?– SNMP, NTP, NFS, RTP (streaming media, IP

telephony, teleconferencing), multicast applications

• Many protocols can use both

29

Hourglass design

• Question?– Are TCP, UDP, and IP enough?– What other functionality would applications

need?

30

Hourglass design

• Security?

• Quality-of-service?

• Reliable, out-of-order delivery service?

• Handling greedy sources?

• Accounting and pricing support?

• IPsec, DiffServ, SCTP, ….

31

End-to-end principle

• J. H. Saltzer, D. P. Reed and D. D. Clark “End-to-end arguments in system design”, Transactions on Computer Systems, Vol. 2, No. 4, 1984

• http://www.acm.org/pubs/citations/journals/tocs/1984-2-4/p277-saltzer/

32

End-to-end principle

• Where to put the functionality?– In the network? At the edges?

• End-to-end functions best handled by end-to-end protocols– Network provides basic service: data transport– Intelligence and applications located in or close

to devices at the edge– Violate principle as a performance

enhancement

33

End-to-end principle

• The good– Basic network functionality allowed for

extremely quick adoption and deployment using simple devices

• The bad– New network features and functionality are

impossible to deploy, requiring widespread adoption within the network

– IP Multicast, QoS

34

Layering

• Modular approach to network functionality

• Example:

Link hardware

Host-to-host connectivity

Application

35

Layering Characteristics

• Each layer relies on services from layer below and exports services to layer above

• Interface defines interaction• Hides implementation - layers can change without

disturbing other layers (black box)• Examples

– Topology and physical configuration – Routing– Applications require no knowledge of this– New applications deployed without coordination with

network operators or operating system vendors

36

Protocols

• Module in layered structure

• Set of rules governing communication between network elements (applications, hosts, routers)

• Protocols define:– Interface to higher layers (API) – Interface to peer

• Format and order of messages

• Actions taken on receipt of a message

37

Layering

Host Host

Application

Transport

Network

Link

User A User B

Layering: technique to simplify complex systems

38

Layer Encapsulation

Get index.html

Connection ID

Source/Destination

Link Address

User A User B

39

E.g.: OSI Model: 7 Protocol Layers

• Physical: how to transmit bits• Data link: how to transmit frames• Network: how to route packets• Transport: how to send packets end2end• Session: how to tie flows together• Presentation: byte ordering, security• Application: everything else

40

OSI Layers and Locations

Switch RouterHost Host

Application

Transport

Network

Data Link

Presentation

Session

Physical

41

Example: Transport Layer

• First end-to-end layer

• End-to-end state

• May provide reliability, flow and congestion control

42

Example: Network Layer

• Point-to-point communication

• Network and host addressing

• Routing

43

Layering

• Is Layering always good?– Sometimes..

• Layer N may duplicate lower level functionality (e.g., error recovery)

• Layers may need same info (timestamp, MTU)

• Strict adherence to layering may hurt performance

44

Layering

• Need for exposing underlying layers for optimal application performance– D. Tennenhouse and D. Clark. Architectural

Considerations for a New Generation of Protocols. SIGCOMM 1990.

• Intel employees: Tennenhouse is a networking “rock star” and your head of research

– Application Layer Framing (ALF)• Enable application to process data as soon as it can• Expose application processing unit (ADU) to protocols

– Integrated Layer Processing (ILP)• Layering convenient for architecture but not for implementations• Combine data manipulation operations across layers

45

Distributed design and control

• Reliability from intelligent aggregation of unreliable components

• Alternate paths, adaptivity, lack of centralized control

• Each network owned and managed separately

• Exception: TLDs and TLD servers, IP address allocation (ICANN)

46

Superior organizational process

• IAB/IETF process allowed for quick specification, implementation, and deployment of new standards– Free and easy download of standards

– Rough consensus and running code

– 2 interoperable implementations

– Bake-offs

– http://www.ietf.org/

• ISO/OSI– Comparison to IETF left as an exercise

47

Acknowledgements

• Portions of this lecture and all subsequent lectures are taken from course slides by Kurose/Ross and course slides by Srini Seshan’s Computer Networking course at http://www.cs.cmu.edu/~srini/15-744/S01/

top related