cs 352 spring 2005 internet technology fundamentals l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CS 352 Spring 2005 Internet Technology Fundamentals PowerPoint Presentation
Download Presentation
CS 352 Spring 2005 Internet Technology Fundamentals

Loading in 2 Seconds...

play fullscreen
1 / 80

CS 352 Spring 2005 Internet Technology Fundamentals - PowerPoint PPT Presentation


  • 242 Views
  • Uploaded on

CS 352 Spring 2005 Internet Technology Fundamentals Dept. of Computer Science Rutgers University Administrative Class web page: http://remus.rutgers.edu/cs352/S05/ Not up yet (check Thursday noon) Notes/Slides Announcements Projects Homeworks Old exams Course Goals

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CS 352 Spring 2005 Internet Technology Fundamentals' - benjamin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cs 352 spring 2005 internet technology fundamentals

CS 352Spring 2005Internet TechnologyFundamentals

Dept. of Computer Science

Rutgers University

administrative
Administrative

Class web page:

    • http://remus.rutgers.edu/cs352/S05/
  • Not up yet (check Thursday noon)
  • Notes/Slides
  • Announcements
  • Projects
  • Homeworks
  • Old exams
course goals
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
course goals cont
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.
course approach
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
course work
Course Work
  • 2 Mid-terms (15% each)
  • Class participation (10%)
  • Final (30%)
  • Project (30%)
    • Part 1 (8%)
    • Part 2 (10%)
    • Part 3 (12%)
programming assignments
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)
programming assignment
Programming Assignment
  • 2 Code reviews
    • 15 minute oral question and answer period.
    • TA an 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.
facilities
Facilities
  • “Cereal” machines and lab
    • ~20 UltraSparc machines
    • ~30+ Linux machines
  • Romulus and remus for general use
    • Create your accounts now!
    • http://remus.rutgers.edu/newaccount.html
  • Cardkey Access: See your TA
why study networks
Why Study Networks?
  • Integral part of society
      • Work, entertainment, community
  • Pervasive
      • Home, car, office, school, mall …
  • Understand what they do, how they work, and limitations
    • Any jobs left?
    • What happened to IT?
    • Future of the IT industry.
impact of the net on people
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, meeting
  • Form and strengthen communities
    • chat rooms, MUDs, newsgroups
impact of the net on society
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
internet roles
Internet Roles
  • Users
      • Everyone (mom and pop, kids)
      • work, leisure, serious, frivolous
  • Designers
      • protocol design and implementation
      • performance, cost and scale
  • Service Providers
      • Administrators and ISPs
      • Management, revenue, deployment
what is internet technology
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, protocols and services
sample internet applications
Sample Internet Applications
  • Electronic mail
  • Remote terminal
  • File transfer
  • Newsgroups
  • File sharing
  • Resource distribution
  • World Wide Web
  • Video conferencing
  • Games
what is a network
What is a Network?
  • Carrier of information between 2 or more entities
  • Interconnection may be any media capable of communicating information:
    • copper wire
    • lasers
    • microwave
    • satellite link
some definitions
Some Definitions
  • Network: Collection of interconnected machines
  • Host: Machine running user application
  • Channel: Logical line of communication
  • Media: Physical process used
  • Protocol: Rules of communication
  • Router: decide were to send data next
  • Topology: How network is interconnected
how do computers communicate
How Do Computers Communicate?
  • With 1’s and 0’s
    • Computers only deal with 1’s and 0’s
    • So do networks
    • Must build all further structures from this basic representation
  • How do we transmit 1’s and 0’s in a network?
physical transmission
Physical Transmission

A physical quantity (e.g. voltage), varying over time represents a digital 0 or 1

concepts for this week
Concepts for this week
  • Layering and encapsulation
    • IP Hourglass
  • Core and Edge of the Internet
  • Circuit, message and packet switching
  • Single link transmission delay
  • Multi-link transmission delay
    • Circuit switching
    • Message switching
    • Packet switching
    • Computing general pipelining delay
why layering
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
protocol hierarchy
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
protocol hierarchy cont d
Protocol Hierarchy (cont’d)

Host A

Host B

Layer 7 Protocol

Layer 7

Layer 7

Layer 6 Protocol

Layer 6

Layer 6

Layer 5 Protocol

Layer 5

Layer 5

Layer 4 Protocol

Layer 4

Layer 4

Layer 3 Protocol

Layer 3

Layer 3

Layer 2 Protocol

Layer 2

Layer 2

Layer 1 Protocol

Layer 1

Layer 1

Physical Medium

different layering architectures
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
standards making organizations
Standards Making Organizations

ISO = International Standards Organization

ITU = International Teletraffic 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

why so many standards organizations
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
iso osi layering architecture
ISO OSI Layering Architecture

Host A

Host B

Application Protocol

Application

Layer

Application

Layer

Presentation Protocol

Presentation

Layer

Presentation

Layer

Session Protocol

Session

Layer

Session

Layer

Transport Protocol

Transport

Layer

Transport

Layer

Network

Layer

Network

Layer

Network

Layer

Network

Layer

Data Link

Layer

Data Link

Layer

Data Link

Layer

Data Link

Layer

Physical

Layer

Physical

Layer

Physical

Layer

Physical

Layer

Router

Router

iso s design principles
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
layer 1 physical layer
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?
layer 2 data link layer
Layer 2: Data Link Layer
  • Functions:
    • Provides reliable transfer of information between two adjacent nodes
    • Creates frames, or packets, 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
layer 3 network layer
Layer 3: Network Layer
  • Functions:
    • Responsible for routing decisions
      • Dynamic routing
      • Fixed routing
    • Performs congestion control
layer 4 transport layer
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
transport layer cont d
Transport Layer (cont’d)

Host A

Host B

Application Protocol

Application

Layer

Application

Layer

first

end-to-end

layer

Presentation Protocol

Presentation

Layer

Presentation

Layer

Session Protocol

Session

Layer

Session

Layer

Transport Protocol

Transport

Layer

Transport

Layer

Network

Layer

Network

Layer

Network

Layer

Network

Layer

Data Link

Layer

Data Link

Layer

Data Link

Layer

Data Link

Layer

Physical

Layer

Physical

Layer

Physical

Layer

Physical

Layer

Router

Router

transport layer cont d35
Transport Layer (cont’d)
  • Functions (cont’d):
    • Perform end-to-end flow control
    • Perform packet retransmission when packets are lost by the network
layer 5 session layer
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
layer 6 presentation layer
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
layer 7 application layer
Layer 7: Application Layer
  • Application layer protocols are application-dependent
  • Implements communication between two applications of the same type
  • Examples:
    • FTP
    • Quake
    • SMTP (email)
encapsulation
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
encapsulation40

AH

Data

SH

Data

TH

Data

Encapsulation
  • Headers
  • Trailer

Data

Application

Layer

Presentation

Layer

PH

Data

Session

Layer

Transport

Layer

Network

Layer

NH

Data

Data Link

Layer

DH

Data

DT

Physical

Layer

PH

Data

internet hourglass architecture

FTP

HTTP

RTP

TFTP

UDP

TCP

IP

Ethernet

802.11

PPP

CAT-5

Single-Mode

Fiber

RS-232

Internet “Hourglass” Architecture
  • Defined by Internet Engineering Task Force (IETF)
  • “Hourglass” Design
internet design principles
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.
tcp ip layering architecture
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

Application

Transport

Internet/Network

Host-to-Net

tcp ip layering architecture cont d

Host A

Application

Layer

Transport

Layer

Network

Layer

Host-to-

Net Layer

TCP/IP Layering Architecture (cont’d)

Host B

Application Protocol

Application

Layer

Transport Protocol (TCP)

Transport

Layer

IP

IP

IP

Network

Layer

Network

Layer

Network

Layer

Host-to-

Net Layer

Host-to-

Net Layer

Host-to-

Net Layer

internet topology
Internet Topology
  • Current structure divides network into the “core” and “edge” networks
  • Core ISP’s “tiers”
    • Tier 1: Biggest ISPs
      • E.g. MCI, Sprint, AT&T
    • Tier 2 and 3: Regional and very small.
  • Edges:
    • Companies, organizations with a “default route”
      • E.g. Rutgers
edge networks
Edge Networks

Internet Service Provider 1

Company A

ISP 2

Company B

Edge router

why study network performance
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
digression units
Digression: 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 (msec) = 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)
types of delay
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”
some definitions52
Some Definitions
  • Packet length: size of a packet (units = bits or bytes)
  • Channel speed: How fast the channel can transmit bits (units = bits/second)
  • Packet transmission time: amount of time to transmit an entire packet (units = seconds)
  • Propagation delay: Delay imposed by the properties of the link. Depends on the link’s distance (units = seconds)
transmission vs prop delay
Transmission vs. Prop. delay

A single transmission link as a water pipe

The thicker the pipe, the more water it can carry from one end to the other

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 delay

transmission vs prop delay cont
Transmission vs. Prop. Delay (cont)

pipe

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

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

Assumption that inserting water and propagation overlap

transmission time
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)?

Solving for t…

t = 0.00012 sec (or 120 msec)

100 Mbits

1500 x 8 bits

=

1 sec

t

propagation delay
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 msec/km

Another way to ask this question:

If it takes a signal 5 msec to travel 1 kilometer, then how long does it take a signal to travel 500 meters?

5 msec

t

Solving for t…

t = 2.5 msec

=

1000 m

500 m

processing delay

Host

Host

Application

Layer

Application

Layer

Transport

Layer

Transport

Layer

Router

Network

Layer

Network

Layer

Network

Layer

Host-to-

Net Layer

Host-to-

Net Layer

Host-to-

Net Layer

Processing Delay

Stylized format required to send data

Analogy: adding and removing envelopes to letters

How long does it take to execute all these layers?

Why is this time important?

example

A

B

500 m

Example

Protocol Processing Time = 40 msec

packet length = 1500 bytes

channel capacity = 100 Mbps

propagation delay factor = 5 msec/km

How long to format the data?

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

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

timeline method
Timeline Method

Host A

Host B

Protocol Delay

40

1st bit

2.5

Propagation delay

Time

120

Transmission time

last bit

40

Protocol Delay

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

queuing delay

2

0

3

1

0

0

Router

Network

Layer

Host-to-

Net Layer

Queuing Delay

Packets waiting processing at input ports

0

0

Packets waiting transmission at output ports

Router

1

2

2

3

Packets arriving faster than processing or transmission delay

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

switching schemes
Switching Schemes

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

switching schemes62
Switching Schemes
  • Circuit Switching

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

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

circuit switching
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
circuit switching cont d
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

circuit switching cont d65
Circuit Switching (cont’d)

Call request signal

Propagation Delay

Transmission

Delay

Time

Call accept signal

Data

Transmission

Time

Data

A

B

C

D

Routers/Switches

message switching
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
message switching cont d

Msg

Msg

Msg

Message Switching (cont’d)

Header

Transmission

Delay

Time

Queueing

Delay

A

B

C

D

Routers/switches

packet switching
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
packet switching cont d

Pkt 1

Pkt 2

Pkt 1

Pkt 3

Pkt 2

Pkt 1

Pkt 3

Pkt 2

Pkt 3

Packet Switching (cont’d)

Header

Time

Transmission

Delay

A

B

C

D

IMPs

comparisons
Comparisons

(1) Header Overhead

Circuit < Message < Packet

(2) Transmission Delay

Short Bursty Messages:

Packet < Message < Circuit

Long Continuous Messages:

Circuit < Message < Packet

analytic comparison
Analytic Comparison
  • 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?
example circuit switching vs packet switching
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
factors
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
circuit switching time
Circuit Switching Time
  • Time to send N bytes using circuit switching
  • = Set-up cost + bandwidth delay
pipelining parallelogram for packet switching
Pipelining “Parallelogram” for packet switching

Host A

Switch 1

Switch 2

Host B

Packet 1

Packet 2

Bandwidth

Delay

Packet 3

Time

Packet 4

Propagation

Delay

note on pipelining
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?
packet switching time
Packet Switching Time

Delay = Transmission + “Propagation” delays

Transmission delay (also bandwidth delay):

Time to push all the packets into the network

+ “Propagation” delay:

Time for the last packet to cross

- not really prop. delay in the traditional sense

packet switching time78
Packet Switching Time

Transmission delay

“Propagation” delay

Number of packets

Number of links/hops

Time for each packet

equilibrium point
Equilibrium Point

Assuming all other factors equal, solve for C

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

homework questions
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?