CS 352 Internet Technology Dept. of Computer Science Rutgers University.
-
Upload
edith-carson -
Category
Documents
-
view
232 -
download
2
Transcript of CS 352 Internet Technology Dept. of Computer Science Rutgers University.
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
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
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.
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
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%)
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)
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!
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
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
CS352 Fundamentals
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
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
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
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
What is the Internet?
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
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.
CS352 Fall, 2005 19
Service-wise (applications)
Electronic mail Remote terminal File transfer Newsgroups File sharing Resource distribution World Wide Web Video conferencing Games
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
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?
CS352 Fall, 2005 22
Switching Schemes
(1) Circuit Switching
(2) Message Switching (Store-and-Forward)
(3) Packet Switching (Store-and-Forward)
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
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
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
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
CS352 Fall, 2005 27
Message Switching (cont’d)T
ime
A B C D
Msg
Msg
Msg
QueueingDelay
Routers/switches
TransmissionDelay
Header
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
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
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
Network delay analysis
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
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)
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”
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
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
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)
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
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
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?
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
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
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?
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
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
CS352 Fall, 2005 46
Circuit Switching Time
Time to send N bytes using circuit switching
= Set-up cost + bandwidth delay
€
C +N
B
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
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?
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(
+−⎥⎥⎤
⎢⎢
⎡++
+
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(
+−⎥⎥⎤
⎢⎢
⎡++
+
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?
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?
Layering and Encapsulation
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
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
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
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
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
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
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
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
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?
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
CS352 Fall, 2005 64
Layer 3: Network Layer
Functions: Responsible for routing decisions
Dynamic routing Fixed routing
Performs congestion control
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
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
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
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
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
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)
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
CS352 Fall, 2005 72
Encapsulation
Headers
Trailer
ApplicationLayer
PresentationLayer
SessionLayer
TransportLayer
NetworkLayer
Data LinkLayer
PhysicalLayer
Data
DataAH
DataPH
DataSH
DataTH
DataNH
DataDH DT
DataPH
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
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.
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
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