cs 352 internet technology dept. of computer science rutgers university

76
CS 352 Internet Technology Dept. of Computer Science Rutgers University

Upload: edith-carson

Post on 31-Dec-2015

229 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS 352 Internet Technology

Dept. of Computer Science

Rutgers University

Page 2: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 2

Administrative Instructor : Richard Martin TA: TBA Textbook

James F. Kurose and Keith W. Ross, Computer Networking, 3rd edition.

Class webpage http://remus.rutgers.edu/cs352/S06/ Announcements Lecture notes Projects Homeworks Old exams

Page 3: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 3

Course Goals

Understand the basic principles of computer networks

Understand the Internet and its protocols Understand the key design principles used to

build the Internet Experience building network systems

Page 4: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 4

Course goals (cont.)

Course is not about specific skills E.g. configure a router from company X vs. learn

principles of how all routers work Success means you are confident to tackle a

range of network programming, design and maintenance.

Page 5: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 5

Course Approach

Lectures: theory behind how networks operate Tested in exams See last semesters’ classes for sample problems

Programming assignments: Real world experience with networks Program design Communicating your design

Page 6: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 6

Course Work

2 Mid-terms (15% each) No electronic devices or notes allowed. No cheat sheets

allowed

Final (35%) You must send the instructor email at least 2 weeks before

the final if you need to take the makeup!

Project (35%) Part 1 (10%) Part 2 (10%) Part 3 (15%)

Page 7: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 7

Programming assignments

Single long project Broken into three parts

Can work in a group of 2 Both program and write-up required Background needed to get started:

Java (112+ level) Comfortable using data structures(stacks, trees, vector)

Unix (login, handin, permissions, javac)

Page 8: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 8

Programming Assignment

2 Code reviews 10-15 minute oral question and answer period. TA and instructor will critically review your assignment. “lost art” of program design.

Make improvements for next level of the assignment. Grade depends on level of improvement in code quality as

well as functionality.

No late handin Failure to meet the deadline will result in a zero for all team

members. No exceptions!

Page 9: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 9

Academic integrity

No cheating on projects and exams Run code similarity detectors on the projects &

code review Scrutinize exams for copying

Department academic integrity policy http://www.cs.rutgers.edu/policies/academicintegri

ty/ Acknowledge your awareness of this policy by the

end of September to continue to access department computing facilities

Page 10: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 10

Facilities

“Cereal” machines and lab ~20 UltraSparc machines ~30+ Linux machines Cardkey Access: student ID card

Romulus and remus for general use Create your accounts now! http://remus.rutgers.edu/newaccount.html

Page 11: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fundamentals

Page 12: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 12

Why Study Networks?

Integral part of society Work, entertainment, community

Pervasive Home, car, office, school, mall …

Huge impact on people and society

Page 13: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 13

Impact of the Net on People

Anytime access to remote information HW assignments from my server

Person-to-person and group communication email, blogs, chat

Form and strengthen communities chat rooms, MUDs, newsgroups

Page 14: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 14

Impact of the Net on Society

Huge impact! Continuation of technologies that reduce

problems of time & space (e.g. railroads,phone,autos,TV)

Good, bad and ugly mirror of society

Changes still on the horizon Commerce, services, entertainment, socializing

Page 15: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 15

Concepts for this week

What is the Internet? Core and Edge of the Internet Circuit, message and packet switching

Network delay analysis Single link Multi-link

Layering and encapsulation

Page 16: CS 352 Internet Technology Dept. of Computer Science Rutgers University

What is the Internet?

Page 17: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 17

What is Internet Technology?

What is an internet? Network of networks

What is the Internet? A global internet based on the IP protocol

To what does “Internet technology” refer? Architecture Services

Protocols

Page 18: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 18

Architecture-wise

Network : Collection of interconnected machinesHost: Machine running user applicationMedia: Physical process used (copper wire, fiber optics, satellite link)Channel: Logical line of communicationRouter: decide where to send data next

Company A

Company B

Edge Networks: Companies, organizations with a “default route”

Internet Service Provider 1

ISP 2

Core Networks (ISP tiers)• Tier 1: Biggest ISPs •Tier 2 and 3: Regional and very small.

Page 19: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 19

Service-wise (applications)

Electronic mail Remote terminal File transfer Newsgroups File sharing Resource distribution World Wide Web Video conferencing Games

Page 20: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 20

Protocols

Protocol Architecture Service Rules of communication

FTP HTTP RTP TFTP

TCP UDP

IP

Ethernet 802.11 PPP

CAT-5 Single-ModeFiber

RS-232

Page 21: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 21

Core Network Switching Schemes

How much “state” about the connection between two hosts does each node/router along a path through the network maintain?

Page 22: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 22

Switching Schemes

(1) Circuit Switching

(2) Message Switching (Store-and-Forward)

(3) Packet Switching (Store-and-Forward)

Page 23: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 23

Circuit Switching

Provides service by setting up the total path of connected lines hop-by-hop from the origin to the destination

Example: Telephone network

Page 24: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 24

Circuit Switching (cont’d)

1. Control message sets up a path from origin to destination

2. Return signal informs source that data transmission may proceed

3. Data transmission begins

4. Entire path remains allocated to the transmission (whether used or not)

5. When transmission is complete, source releases the circuit

Page 25: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 25

Circuit Switching (cont’d)T

ime

A B C D

Data

Call accept signal

Call request signal

DataTransmission

Time

Propagation Delay

Routers/Switches

TransmissionDelay

Page 26: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 26

Message Switching

Each message is addressed to a destination When the entire message is received at a router, the

next step in its journey is selected; if this selected channel is busy, the message waits in a queue until the channel becomes free

Thus, the message “hops” from node to node through a network while allocating only one channel at a time

Analogy: Postal service

Page 27: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 27

Message Switching (cont’d)T

ime

A B C D

Msg

Msg

Msg

QueueingDelay

Routers/switches

TransmissionDelay

Header

Page 28: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 28

Packet Switching

Messages are split into smaller pieces called packets

These packets are numbered and addressed and sent through the network one at a time

Allows Pipelining Overlap sending and receiving of packets on multiple links

Page 29: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 29

Packet Switching (cont’d)T

ime

A B C D

Pkt 1

Pkt 2

Pkt 3Pkt 1

Pkt 2

Pkt 3Pkt 1

Pkt 2

Pkt 3

TransmissionDelay

Header

Pipelining

Page 30: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 30

Comparisons

(1) Header Overhead

Circuit < Message < Packet

(2) Transmission Delay

Short Bursty Messages:

Packet < Message < Circuit

Long Continuous Messages:

Circuit < Message < Packet

Page 31: CS 352 Internet Technology Dept. of Computer Science Rutgers University

Network delay analysis

Page 32: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 32

Why Study Network Performance

Networks cost $ OC-3 line ~= $10,000/month Cable modem: $40/month Are you getting your $/worth?

Why is the network “slow”? Approach:

Build abstract models of network performance Observe where real networks deviate from model Simple Models: Tells us average/best/worse cases->useful,

practical Complex Models: Hard to understand -> useless

Page 33: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 33

Units Bits are the units used to describe an amount of data in a network

1 kilobit (Kbit) = 1 x 103 bits = 1,000 bits 1 megabit (Mbit) = 1 x 106 bits = 1,000,000 bits 1 gigabit (Gbit) = 1 x 109 bits = 1,000,000,000 bits

Seconds are the units used to measure time 1 millisecond (msec) = 1 x 10-3 seconds = 0.001 seconds 1 microsecond (sec) = 1 x 10-6 seconds = 0.000001 seconds 1 nanosecond (nsec) = 1 x 10-9 seconds = 0.000000001 seconds

Bits per second are the units used to measure channel capacity/bandwidth and throughput bit per second (bps) kilobits per second (Kbps) megabits per second (Mbps)

Page 34: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 34

Types of Delay

Processing Time to execute protocol code

Queuing Time waiting in queue to be processed

Transmission Time to “get bits on wires”

Propagation Time for bits to “move across wires”

Page 35: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 35

Transmission vs. Prop. delay

A single transmission link as a water pipe

1. The thicker the pipe, the more water it can carry from one end to the other in each unit time

2. Water is carried from one end of the pipe to the other at constant speed, no matter how thick the pipe is

Water = Data bits

Thickness of the pipe = Channel capacity

Speed of water through the pipe = Propagation speed

Page 36: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 36

Transmission vs. Prop. Delay (cont)

pipe

1. Propagation delay is how long takes to cross the pipe, irrespective of volume

2. Transmission (bandwidth delay) is related to how much water can be pushed in through the opening per unit time

Page 37: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 37

1500 x 8 bits

Transmission Time

How long does it take A to transmit an entire packet onto the link?

Relevant information: packet length = 1500 bytes channel capacity = 100 Mbps

Another way to ask this question:If the link can transmit 10 million bits in a second, how many seconds does it take to transmit 1500 bytes (8x1500 bits)?

100 Mbits

1 sec=

t

Solving for t… t = 0.00012 sec (or 120 sec)

Page 38: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 38

Propagation Delay

How long does it take a single bit to travel on the link from A to B?

Relevant information: link distance = 500 m prop. delay factor = 5 sec/km

Another way to ask this question:If it takes a signal 5 sec to travel 1 kilometer, then how long does it take a signal to travel 500 meters?

5 sec

1000 m=

500 m

t Solving for t…t = 2.5 sec

Page 39: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 39

Processing Delay

Stylized format required to send dataAnalogy: adding and removing envelopes to letters

ApplicationLayer

TransportLayer

NetworkLayer

Host-to-Net Layer

Host

How long does it take to execute all these layers?

Why is this time important?

NetworkLayer

Host-to-Net Layer

Router

ApplicationLayer

TransportLayer

NetworkLayer

Host-to-Net Layer

Host

Page 40: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 40

Example

Protocol Processing Time = 40 sec packet length = 1500 bytes

channel capacity = 100 Mbpspropagation delay factor = 5 sec/km

A B

500 m

1. How long to format the data?

2. How long does it take a single bit to travel on the link from A to B?

3. How long does it take A to transmit an entire packet onto the link?

Page 41: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 41

Timeline Method

Time

Protocol Delay

Transmission time

Propagation delay

Protocol Delay

Host A Host B

40

2.5

120

40

1st bit

last bit

Total time: 40+120+2.5+40 = 202.5 sec

Page 42: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 42

Queuing Delay

NetworkLayer

Host-to-Net Layer

Router

Packets arriving faster than processing or transmission delay

=> queuing (I.e. waiting in line)

Router

0300

2

1

0123

0

2

Packets waiting processing at input ports

Packets waiting transmission at output ports

Page 43: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 43

Analytic Comparison of multi-link network

Given choice of 2 switching schemes, how would you compare their performance? What would you need to know? What are the independent variables? What is the dependent variable?

Could you come up with a closed form expression based on your choices?

Page 44: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 44

Example: Circuit Switching vs. Packet Switching

Goal: Determine which is faster Formal definition: Least time to move a fixed

amount of data Approach:

Compute time where circuit switching and packet switching are equal based on all possible factors

A factor moving in one direction or the other will tip the balance in favor of one or the other

We’ll ignore wire-line propagation delay in this example

Page 45: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 45

Factors:

Number of bytes in the message: N Time to set up circuit: c Per-link bandwidth: B Size of the packet: p Size of the header: h Number of switches: s

Page 46: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 46

Circuit Switching Time

Time to send N bytes using circuit switching

= Set-up cost + bandwidth delay

C +N

B

Page 47: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 47

Pipelining “Parallelogram” for packet switching

Time

Host A Switch 1 Switch 2 Host B

Bandwidth Delay

Propagation Delay

Packet 1

Packet 2

Packet 3

Packet 4

Page 48: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 48

Note on Pipelining

The above analysis is very general: Packets in a computer network

Messages/packets are the unit of work. Instructions in a processor

Instructions are the unit of work. Jobs through a batch Q in an operating system.

Processes are the unit of work.

Pipelining speeds up work over time. How?

Page 49: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 49

Packet Switching Time

+ Transmission delay (also bandwidth delay): Time to push all the packets into the network

“Propagation” delay: Time for a single packet to cross

- not really prop. delay in the traditional sense

Delay = Transmission + “Propagation” delays

B

hp

P

N

B

hpS

)(*)1(

)(*)1(

+−⎥⎥⎤

⎢⎢

⎡++

+

Page 50: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 50

Packet Switching Time

Number of packetsNumber of links/hops

Time for each packet to go through each link

Transmission delay“Propagation” delay

B

hp

P

N

B

hpS

)(*)1(

)(*)1(

+−⎥⎥⎤

⎢⎢

⎡++

+

Page 51: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 51

Equilibrium Point

C +N

B= ⎟⎟

⎞⎜⎜⎝

⎛+⎥⎦⎤

⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ +S

P

N

B

hp

Assuming all other factors equal, solve for C

Q: Can you add link propagation delay to this example?

Page 52: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 52

Homework Questions

If we use message switching, how does the time increase as we scale s?

How does packet switching reduce the impact of increasing s?

Show, using an equation, how reducing the packet size and packet switching reduces the impact of increasing s.

Where does the approach of reducing packet size fail to give any benefit?

Page 53: CS 352 Internet Technology Dept. of Computer Science Rutgers University

Layering and Encapsulation

Page 54: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 54

Why Layering?

Network communication is very complex Separation of concerns

Different vendors and organizations responsible for different layers

Testing and maintenance is simplified Easy to replace a single layer with a different

version

Page 55: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 55

Protocol Hierarchy

Use layers to hide complexity Each layer implements a service

Layer N uses service provided by layer N-1 layer N-1 provides a service to layer N

Protocols Each layer communicates with its peer by a set of

rules

Interface A layers interface specifies the operations

Page 56: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 56

Protocol Hierarchy (cont’d)

Layer 7

Layer 6

Layer 5

Layer 4

Layer 3

Layer 2

Layer 1

Layer 7

Layer 6

Layer 5

Layer 4

Layer 3

Layer 2

Layer 1

Layer 7 Protocol

Layer 4 Protocol

Layer 3 Protocol

Layer 2 Protocol

Layer 6 Protocol

Layer 1 Protocol

Layer 5 Protocol

Physical Medium

Host A Host B

Page 57: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 57

Different Layering Architectures

ISO OSI 7-Layer Architecture TCP/IP 4-Layer Architecture

+ application layer = 5 layers in Kurose Novell NetWare IPX/SPX 4-Layer

Architecture

Page 58: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 58

Standards Making Organizations

ISO = International Standards Organization

ITU = International Telecommunication Union (formerly CCITT)

ANSI = American National Standards Institute

IEEE = Institute of Electrical and Electronic Engineers

IETF = Internet Engineering Task Force

ATM Forum = ATM standards-making body

...and many more

Page 59: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 59

Why So Many Standards Organizations?

Multiple technologies Different areas of emphasis and history

Telecommunications/telephones ITU,ISO,ATM

Local area networking/computers IETF, IEEE

System area networks/storage ANSI

Page 60: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 60

ISO OSI Layering Architecture

ApplicationLayer

PresentationLayer

SessionLayer

TransportLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

Application Protocol

Transport Protocol

Presentation Protocol

Session Protocol

Host A Host BApplication

Layer

PresentationLayer

SessionLayer

TransportLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

Router Router

Page 61: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 61

ISO’s Design Principles

A layer should be created where a different level of abstraction is needed

Each layer should perform a well-defined function The layer boundaries should be chosen to minimize

information flow across the interfaces The number of layers should be large enough that

distinct functions need not be thrown together in the same layer out of necessity, and small enough that the architecture does not become unwieldy

Page 62: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 62

Layer 1: Physical Layer

Functions: Transmission of a raw bit stream Forms the physical interface between devices

Issues: Which modulation technique (bits to pulse)? How long will a bit last? Bit-serial or parallel transmission? Half- or Full-duplex transmission? How many pins does the network connector have? How is a connection set up or torn down?

Page 63: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 63

Layer 2: Data Link Layer

Functions: Provides reliable transfer of information between

two adjacent nodes Creates frames from bits and vice versa Provides frame-level error control Provides flow control

In summary, the data link layer provides the network layer with what appears to be an error-free link for packets

Page 64: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 64

Layer 3: Network Layer

Functions: Responsible for routing decisions

Dynamic routing Fixed routing

Performs congestion control

Page 65: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 65

Layer 4: Transport Layer

Functions: Hide the details of the network from the session

layer Example: If we want replace a point-to-point link with

a satellite link, this change should not affect the behavior of the upper layers

Provides reliable end-to-end communication

Page 66: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 66

ApplicationLayer

PresentationLayer

SessionLayer

TransportLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

Application Protocol

Transport Protocol

Presentation Protocol

Session Protocol

Host A Host BApplication

Layer

PresentationLayer

SessionLayer

TransportLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

Router Router

Transport Layer (cont’d)

firstend-to-end

layer

Page 67: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 67

Transport Layer (cont’d)

Functions (cont’d): Perform end-to-end flow control Perform packet retransmission when packets are

lost by the network

Page 68: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 68

Layer 5: Session Layer

May perform synchronization between several communicating applications or logical transmissions

Groups several user-level connections into a single “session”

Examples: Banking session Network meetings

Page 69: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 69

Layer 6: Presentation Layer

Performs specific functions that are requested regularly by applications

Examples: encryption ASCII to Unicode, Unicode to ASCII LSB-first representations to MSB-first

representations

Page 70: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 70

Layer 7: Application Layer

Application layer protocols are application-dependent

Implements communication between two applications of the same type

Examples: FTP HTTP SMTP (email)

Page 71: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 71

Encapsulation

Treat the neighboring layer’s information as a “black box”, can’t look inside or break message

Sending: add information needed by the current layer “around” the higher layers’ data headers in front trailers in back

Receiving: Strip off headers and trailers before handing up the stack

Page 72: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 72

Encapsulation

Headers

Trailer

ApplicationLayer

PresentationLayer

SessionLayer

TransportLayer

NetworkLayer

Data LinkLayer

PhysicalLayer

Data

DataAH

DataPH

DataSH

DataTH

DataNH

DataDH DT

DataPH

Page 73: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 73

Internet “Hourglass” Architecture

Defined by Internet Engineering Task Force (IETF) “Hourglass” Design

FTP HTTP RTP TFTP

TCP UDP

IP

Ethernet 802.11 PPP

CAT-5 Single-ModeFiber

RS-232

Page 74: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 74

Internet Design Principles

Scale Protocols should work in networks of all sizes and

distances Incremental deployment

New protocols need to be deployed gradually Heterogeneity

Different technologies, autonomous organizations End-to-end argument

Some functions can only be correctly implemented at the end hosts; the network should not provided these.

Page 75: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 75

TCP/IP Layering Architecture

A simplified model The network layer

Hosts drop packets into this layer, layer routes towards destination- only promise- try my best

The transport layer reliable byte-oriented

stream

ApplicationApplication

TransportTransport

Internet/NetworkInternet/Network

Host-to-NetHost-to-Net

Page 76: CS 352 Internet Technology Dept. of Computer Science Rutgers University

CS352 Fall, 2005 76

TCP/IP Layering Architecture (cont’d)

Application Protocol

Transport Protocol (TCP)

ApplicationLayer

TransportLayer

NetworkLayer

Host-to-Net Layer

Host A Host BApplication

Layer

TransportLayer

NetworkLayer

Host-to-Net Layer

NetworkLayer

Host-to-Net Layer

NetworkLayer

Host-to-Net Layer

IPIP IP