Title: CS 352 Internet Technology
1CS 352 Internet Technology
- Dept. of Computer Science
- Rutgers University
2Administrative
- 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
3Course 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
4Course 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.
5Course 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
6Course 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)
7Programming 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)
8Programming 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!
9Academic 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
10Facilities
- 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
11CS352 Fundamentals
12Why Study Networks?
- Integral part of society
- Work, entertainment, community
- Pervasive
- Home, car, office, school, mall
- Huge impact on people and society
13Impact 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
14Impact 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
15Concepts 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
16What is the Internet?
17What 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
18Architecture-wise
Network Collection of interconnected machines
Host Machine running user application
Media Physical process used (copper wire, fiber
optics, satellite link)
Channel Logical line of communication
Router decide where to send data next
19Service-wise (applications)
- Electronic mail
- Remote terminal
- File transfer
- Newsgroups
- File sharing
- Resource distribution
- World Wide Web
- Video conferencing
- Games
20Protocols
- Protocol
- Architecture ? Service
- Rules of communication
21Core Network Switching Schemes
- How much state about the connection between two
hosts does each node/router along a path through
the network maintain?
22 Switching Schemes
- Circuit Switching
- Message Switching (Store-and-Forward)
- Packet Switching (Store-and-Forward)
23Circuit Switching
- Provides service by setting up the total path of
connected lines hop-by-hop from the origin to the
destination - Example Telephone network
24Circuit Switching (contd)
- 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
25Circuit Switching (contd)
Call request signal
Propagation Delay
Transmission Delay
Time
Call accept signal
Data Transmission Time
Data
A
B
C
D
Routers/Switches
26Message 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
27Message Switching (contd)
Header
Transmission Delay
Time
Queueing Delay
A
B
C
D
Routers/switches
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
29Packet Switching (contd)
Header
Time
Transmission Delay
Pipelining
A
B
C
D
30Comparisons
- (1) Header Overhead
- Circuit lt Message lt Packet
- (2) Transmission Delay
- Short Bursty Messages
- Packet lt Message lt Circuit
- Long Continuous Messages
- Circuit lt Message lt Packet
31Network delay analysis
32Why 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-gtuseful, practical - Complex Models Hard to understand -gt useless
33Units
- 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)
34Types 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
35Transmission 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 in each unit time - 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
36Transmission vs. Prop. Delay (cont)
- 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 opening
per unit time
37 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
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 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
39Processing 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?
40Example
- 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?
41Timeline Method
Host A
Host B
Protocol Delay
40
1st bit
Propagation delay
2.5
Time
120
Transmission time
last bit
Protocol Delay
40
Total time 401202.540 202.5 msec
42Queuing 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 gt queuing (I.e. waiting in
line)
43Analytic 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?
44Example 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 - Well ignore wire-line propagation delay in this
example
45Factors
- 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
46Circuit Switching Time
- Time to send N bytes using circuit switching
- Set-up cost bandwidth delay
47Pipelining Parallelogram for packet switching
Host A
Switch 1
Switch 2
Host B
Packet 1
Propagation Delay
Packet 2
Packet 3
Time
Packet 4
Bandwidth Delay
48Note 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?
49Packet Switching Time
Delay Transmission Propagation delays
Propagation delay Time for a single packet
to cross - not really prop. delay in the
traditional sense
Transmission delay (also bandwidth delay)
Time to push all the packets into the network
50Packet Switching Time
Transmission delay
Propagation delay
Number of packets
Number of links/hops
Time for each packet to go through each link
51Equilibrium Point
Assuming all other factors equal, solve for C Q
Can you add link propagation delay to this
example?
52Homework 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?
53Layering and Encapsulation
54Why 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
55Protocol 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
56Protocol Hierarchy (contd)
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
57Different 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
58Standards 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
59Why 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
60ISO 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
61ISOs 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
62Layer 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?
63Layer 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
64Layer 3 Network Layer
- Functions
- Responsible for routing decisions
- Dynamic routing
- Fixed routing
- Performs congestion control
65Layer 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
66Transport Layer (contd)
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
67Transport Layer (contd)
- Functions (contd)
- Perform end-to-end flow control
- Perform packet retransmission when packets are
lost by the network
68Layer 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
69Layer 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
70Layer 7 Application Layer
- Application layer protocols are
application-dependent - Implements communication between two applications
of the same type - Examples
- FTP
- HTTP
- SMTP (email)
71Encapsulation
- Treat the neighboring layers information as a
black box, cant 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
72Encapsulation
Data
Application Layer
Presentation Layer
Data
PH
Session Layer
Transport Layer
Network Layer
Data
NH
Data Link Layer
Data
DH
DT
Physical Layer
Data
PH
73Internet Hourglass Architecture
- Defined by Internet Engineering Task Force (IETF)
- Hourglass Design
74Internet 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.
75TCP/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
76TCP/IP Layering Architecture (contd)
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