CS 352 Internet Technology Fundamentals - PowerPoint PPT Presentation

1 / 84
About This Presentation
Title:

CS 352 Internet Technology Fundamentals

Description:

Video conferencing. Games. 9. Course Goals. Understand the basic principles of computer networks ... the message waits in a queue until the channel becomes free ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 85
Provided by: brettv4
Category:

less

Transcript and Presenter's Notes

Title: CS 352 Internet Technology Fundamentals


1
CS 352Internet TechnologyFundamentals
  • Dept. of Computer Science
  • Rutgers University

2
Administrative
  • Special permission
  • Class web pages
  • http//remus.rutgers.edu/cs352/F01/

3
Why Study Networks?
  • Rapidly becoming integral part of society
  • Work, entertainment, community
  • Pervasive
  • Home, car, office, school, mall
  • Understand what they do, how they work, and
    limitations
  • Jobs

4
Impact of the Net on People
  • Anytime access to remote information
  • HW assignments from my server
  • Person-to-person and group communication
  • email, chat, meetings
  • Form and strengthen communities
  • chat rooms, MUDs, newsgroups

5
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

6
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

7
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

8
Sample Internet Applications
  • Electronic mail
  • Remote terminal
  • File transfer
  • Newsgroups
  • File sharing
  • Resource distribution
  • World Wide Web
  • Video conferencing
  • Games

9
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

10
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.

11
Course Approach
  • Lectures theory behind how networks operate
  • Tested in exams
  • See last semesters class for sample problems
  • Programming assignments
  • Real world experience with networks
  • Program design
  • Working in groups
  • Communicating your design

12
Programming assignments
  • Single long project
  • Broken into three parts
  • Groups of up to 3
  • Code and write-up required
  • Background needed to get started
  • Java (111 and 112 level)
  • Unix (login, handin, permissions, javac)

13
Facilities
  • Cereal machines
  • 20 UltraSparc 10 machines
  • 20 Linux machines
  • Romulus and remus for general use
  • Create your accounts now!
  • http//remus.rutgers.edu/newaccount.html

14
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

15
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

16
1. How Do Computers Communicate?
  • With 1s and 0s
  • Computers only deal with 1s and 0s
  • So do networks
  • How do we transmit 1s and 0s in a network?

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

18
Overview of the Topics
  • Fundamentals
  • Media Access
  • Link state management
  • Routing
  • Congestion control
  • Protocols
  • Security
  • Physical layer

19
Possible Media
  • Broadcast or shared channels
  • Point-to-point links

20
Media Access
  • Many users typically share a single link or a
    single medium
  • How do you give them all access?

21
Media Access Protocols
  • If more than one host sends at the same time,
    there is a collision
  • Need algorithm to share the channel
  • Media access protocol

22
Fixed Assignment Schemes
  • Example Time Division Multiple Access (TDMA)
  • Channel capacity is assigned even to users who
    have nothing to send

time
1
2
3
4
1
2
host
23
Demand Assignment
  • Assign channel capacity only to those who have
    packets to send
  • Example Token Passing Scheme
  • Hosts may send packets when they grab the token

24
Random Access
  • Send when you have a packet to send. If
    collision, retransmit
  • Example Ethernet

1
2
3
4
Listen before transmission if busy, wait if
idle, transmit
Listen during transmission if collision,
abort and retransmit
25
7.2.4 Comparison
Random Access
Demand Assignment
Fixed Assignment
Access Delay
light
heavy
Network Traffic
26
Link-State Management
  • Error Detection and Correction
  • Flow control

27
Error Detection/Correction
  • Physical channels are not perfect
  • Can we detect, possibly correct errors?

28
Error Detection
  • Example Parity bit
  • Message Parity Bit
  • 0 0 1 1 1 (odd)
  • 1 0 0 0 0 (odd)
  • 0 1 0 1 0 (even)
  • 1 0 0 0 1 (even)

29
Error Correcting Codes
  • Detect and correct errors
  • Example Hamming Code
  • Capable of detecting and correcting a
    single bit error

30
Flow Control
  • If A sends at a faster rate than B can receive,
    bits will be lost
  • We need flow control!

31
Stop-and-Wait
  • A sends data
  • B sends ACK
  • A sends more data

32
Windowed Flow Control
  • A sends packets 1, 2, 3
  • B sends ACK for 1, 2
  • A sends packets 4, 5
  • B sends ACK for 3, 4, 5

33
Switching Schemes
  • How much state about the connection between two
    hosts does each node/router along a path through
    the network maintain?

34
Switching Schemes
  • Circuit Switching
  • (2) Message Switching (Store-and-Forward)
  • (3) Packet Switching (Store-and-Forward)

35
Circuit Switching
  • Provides service by setting up the total path of
    connected lines from the origin to the
    destination
  • Example Telephone network

36
Circuit 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

37
Circuit Switching (contd)
Call request signal
Propagation Delay
Transmission Delay
Time
Call accept signal
Data Transmission Time
Data
A
B
C
D
IMPs
38
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

39
Message Switching (contd)
Header
Transmission Delay
Time
Queueing Delay
A
B
C
D
IMPs
40
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
  • Pipelining

41
Packet Switching (contd)
Header
Time
Transmission Delay
A
B
C
D
IMPs
42
Comparisons
  • (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

43
Routing
  • A slightly more complex network
  • If A sends packets to E, B has to make a routing
    decision
  • Analogy Zip code specifies destination, not
    route used to get there

44
Fixed Routing Schemes
A
E
B
D
C
  • For every source/destination pair, a fixed path
    is given
  • Example A to B to D to E
  • Easy to implement, but
  • (1) What if link BD fails?
  • (2) What if link BD is congested?

45
Dynamic Routing Schemes
A
E
B
D
C
  • Hosts and IMPs periodically exchange information
    and find the best paths for all
    source/destination pairs
  • Can adjust to link failure or congestion, but
  • (1) information exchange creates extra traffic
  • (2) it takes time for information exchange to
    happen, so information could be outdated
  • (3) packet looping can happen

46
Congestion Control
  • What if too many packets flow through a network?
  • Congestion
  • Analogy Two merging freeways

47
Packet discarding
  • In case of congestion, discard some packets
  • Require receiving host to send ACK when it
    receives a packet this way the transmitter will
    know when a packet is lost and it can retransmit
    the packet
  • Reactive

48
Choke Packets
  • When the network becomes congested, a host or
    router sends a choke packet telling a
    transmitter to slow down
  • Reactive

49
Resource Reservation
  • Before sending packets, the transmitter tells the
    network how many packets it wants to send
  • The network checks to see if it can handle those
    packets and if so, reserves resources for those
    packets. It not, the packets have to wait.
  • Preventive

50
Layering and Encapsulation
51
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

52
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

53
Protocol 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
54
Different Layering Architectures
  • ISO OSI 7-Layer Architecture
  • TCP/IP 4-Layer Architecture
  • Novell NetWare IPX/SPX 4-Layer Architecture

55
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

56
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

57
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
58
ISOs 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

59
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?

60
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

61
Layer 3 Network Layer
  • Functions
  • Responsible for routing decisions
  • Dynamic routing
  • Fixed routing
  • Performs congestion control

62
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

63
Transport 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
64
Transport Layer (contd)
  • Functions (contd)
  • Perform end-to-end flow control
  • Perform packet retransmission when packets are
    lost by the network

65
Layer 5 Session Layer
  • May perform synchronization between several
    communicating applications
  • Groups several user-level connections into a
    single session

66
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

67
Layer 7 Application Layer
  • Application layer protocols are
    application-dependent
  • Implements communication between two applications
    of the same type
  • Examples
  • FTP
  • Quake
  • SMTP (email)

68
Encapsulation
  • 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

69
Encapsulation
Data
Application Layer
Presentation Layer
Data
PH
  • Headers
  • Trailer

Session Layer
Transport Layer
Network Layer
Data
NH
Data Link Layer
Data
DH
DT
Physical Layer
Data
PH
70
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
71
TCP/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
72
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.

73
Measuring Network Performance
  • A Brief Introduction

74
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

75
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 links
    distance (units seconds)

76
More Definitions
  • 4 Performance Metrics
  • Overhead Time computer spends managing protocol
    layers (packet is not even on the wire yet )
  • Latency Time packet spends from one host to
    another
  • Per-bit Bandwidth amount of time to move B bits
    (units seconds)
  • Per-message Bandwidth Amount of time to move P
    packets (units seconds)

77
Example
  • Protocol overhead 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?

78
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)

79
Getting to the wire
  • Stylized format required to send data
  • Analogy adding envelope to letter

How long does it take to execute all these
layers? Why is this time important? Higher
traffic -gt less compute time for application
80
Analogy
  • Think of a transmission link as a water pipe
  • with buckets of ice either end
  • Get the water in a movable form (packet
    formatting)
  • 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
81
Packet Transmission Time
  • How long does it take A to transmit an entire
    packet onto the link?

Relevant information packet length 1500
bytes channel capacity 10 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
82
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
83
Putting it all together
40 msec down
40 msec up
120 msec in/out
2.5 across
Total time 401202.540 202.5 msec
84
Timeline Method
Host A
Host B
Send overhead
40
1st bit
Propagation delay
2.5
Time
120
Transmission time
last bit
Receive Overhead
40
Write a Comment
User Comments (0)
About PowerShow.com