Title: Computer Networks (CSC 345)
1Computer Networks(CSC 345)
- Fall 2004
- Professor Haimeng Zhang
- IVERS 234F
- zhang_at_cord.edu
- x4742
2Course Objectives
- Motivation What is the Internet and how it works
- To present a comprehensive view of the principles
and fundamental concepts in Computer Networks - To learn about the basics in design and
implementation of network protocols - To provide an understanding of the components of
a network and how they are connected. - To acquire some hands-on experience
3Course Requirements
- Prerequisites
- Programming experience with C/C, equivalent to
CSC 225 - Good to have the knowledge on OS
- Required Textbook
- Douglas Comer Computer Networks and Internets
with Internet Applications, 4th ed. Prentice
Hall, 2004 - Reference Book
- R. Stevens, TCP/IP Illustrated, Volume 1 The
Protocols, Addison-Wesley, 1994. - Supplementary class notes available on line
- Course web page http//www.cord.edu/faculty/zhang
/cs345/cs345.html
4Course Organization
- Lectures TH 1030am 1210pm, IVERS 218
- Homework assignments once every two weeks
- Programming project one group project
- Reading project individual project
- Midterm
- Final
5Course Outline
- Introduction
- Fundamental concepts
- Basic definitions
- Network architecture
- Communication Basics
- Media and signals
- Asynchronous and synchronous communication
- Relationship among bandwidth, throughput, and
noise - Frequency-division and time-division multiplexing
6Course Outline (Continued)
- Networking and network technologies
- Packing switching
- Framing, parity, and error detection
- Local and wide area technologies
- Network addressing
- Connection, wiring and extension (repeaters,
bridges, hubs, switches) - Forwarding and measuring of delay and throughput
7Course Outline (Continued)
- Internets and Internetworking
- Motivation and concept
- Internet Protocol (IP) datagram format and
addressing - Internet routers and routing
- Address binding (ARP)
- Internet Control Message Protocol (ICMP)
- User Datagram Protocol (UDP)
- Transmission Control Protocol (TCP)
8Course Outline (Continued)
- Network Applications
- Domain Name System (DNS)
- File Transfer Protocol (FTP)
- Remote Login Protocol (TELNET)
- Email Transfer (SMTP)
- Web technologies and protocol (HTTP)
- Putting all pieces together
9Schedule of Topics
- Signals, media, bandwidth, throughput and
multiplexing 2 weeks - Packet transmission concepts, technologies 5
weeks - Internetworking fundamentals 5 weeks
- Internet applications 2 weeks
10What is a Computer Network?
- A collection of computers (PCs, workstations) and
other devices (e.g. printers, credit card
readers) are all interconnected - Components
- Hosts (computers)
- Links (coaxial cable, twisted pair, optical
fiber, radio, satellite) - Switches/routers (intermediate systems)
- Goal provide ubiquitous access to resources
(e.g., database servers, Web), allow remote users
to communicate (e.g., email) - User runs applications
11What is a Computer Network?
- Major Network Categories
- The global Internet
- Internal corporate networks
- The worldwide telephone system
12What is a Computer Network?
- Telecommunications spans two concerns
- Voice and video communication versus
- Data communication
- At least one party is a computer
- The two are converging
13What is a Computer Network?
14What is a Computer Network?
15What is a Computer Network?
16What is a Computer Network?
17What is a Computer Network?
18What is a Computer Network?
19What is a Computer Network?
- In summary, a network is a system of hardware,
software and transmission components that
collectively allow two application programs on
two different stations connected to the network
to communicate well
20What is a Computer Network?
- Direct links (connectivity)
-
- Point-to-point communication
- Multiple-access
21What is a Computer Network?
- Switched Networks
- Circuit - switched network public telephone
network - Packet switched network Internet (collection of
networks)
22Circuit-Switching
- Set up a connection path (circuit) between the
source and the destination (permanent for the
lifetime of the connection) - All bytes follow the same dedicated path
- Used in telephony
- Advantages dedicated resources
- Disadvantages not very efficient (lower
utilization, e.g., a person talks lt 35 of the
time during a call) - While A talks to C, B cannot talk to D on the
same line.
23Packet-Switching
- Packets from different sources are interleaved
- Efficient use of resources (since they are used
on a demand) statistical multiplexing. Nobody
reserves a lane on a freeway - Can accommodate bursty traffic (as opposed to
circuit-switching where transmission is at
constant rate).
24Features of a Packet-Switching
- Store and forward intermediate nodes (e.g.,
routers) store (buffer) incoming packets, process
them and forward them to the appropriate outgoing
link. - Allows for flexibility and robustness. Packets
can travel through alternate paths (adaptive
routing). - Undesired situations such congestion, long delays
may occur.
25Packet Switched Networks Example
- Packets can travel on different networks/links
that may have different line speeds
26Packet-Switched Networks Topologies
27What is the Internet?
- In the 60s and 70s the Internet (ARPANET) was a
small network connecting universities, research
labs and government agencies. Main application
email, FTP. Motivation share research - Today it is a global, non-regulated
communications network with millions of hosts and
users. Main applications Web, multimedia
(audio/video), email. Motivation
commercialization - A large number of different network technologies
and standards exist LANs, WANs, B-ISDN, Optical
Nets, Wireless, Satellite.
28The Internet Today-- Complicated
- A huge and arbitrary collection of heterogeneous
nets. A network of networks! - More than 70 million hosts
- Growing exponentially doubling every 18 months
- Hierarchically structured
- LANs (e.g., Ethernet)
- CANs (e.g., FDDI)
- National/global (e.g., ATM or optical backbone)
- Fully distributed operation (i.e., no centralized
system or computer)
29An Internet
30Probing the Network-Example
- Concordia campus network
- http//www.cord.edu/faculty/dduncan/cordnet.ht
m - Minnesota State Network
- http//graphs.onvoy.com/infrastructure
- Ping - sends message that is echoed by remote
computer - Traceroute - reports path to remote computer
31Internet Today
- Packet - switched network
- Packets
- Data are chopped up into small blocks called
packets (e.g., 4500 bytes) - Each packet carries extra information to allow it
to reach its destination - Each intermediate node processes the packet and
forward it to the next node
32Issues
- Resource sharing (i.e., accommodate many users
over the same link or through the same router) - Addressing and routing (i.e., how does an email
message finds its way to the receiver) - Reliability and recovery guarantee end-to-end
delivery - Traffic management monitoring and policing the
network! Regulate traffic
33Network Performance
- There is a number of measures that characterize
and capture the performance of a network - It is not enough that networks work
- They must work well
- Quality of service (QoS) defines quantitative
measures of service quality - Speed
- Delay (Latency)
- Reliability
- Security (not a QoS measure but crucial)
34Network Performance
- Speed
- Bits per second (bps)
- Multiples of 1,000 (not 1,024)
- Kilobits per second (kbps) ? Note the lower case
k - Megabits per second (Mbps)
- Gigabits per second (Gbps)
- Terabits per second (Tbps)
- Related to link bandwidth
35Network Performance
- Congestion and Latency
- Congestion because traffic chronically or
momentarily exceeds capacity - Latency delay measured in milliseconds (ms),
microseconds ( ). - Especially bad for some services such as voice
communication or highly interactive applications
36Network Performance
- Delay
- Transmission time time it takes to transmit a
packet (depends on the link speed) packet size/
speed - Propagation delay time for a bit to travel
across a link (depends on the distance, physical
medium) - Queuing delay waiting time inside a buffer
- Processing delay time to process a packet
- RTT (round-trip time) time for a bit to travel
to the destination and come back
37Network Performance
- Example consider a 100 Mbps link which is 4,000
miles long, if data travels at 40,000 miles/sec
and a packet is 1MB ( Bytes
- bits), then
- Transmission delay 1MB/100 Mbps
- ms 0.080 sec
- Propagation delay 4,000/40,000 0.1 sec
38Reliability and Recovery
- Reliability
- Availability percentage of time the network is
available to users for transmission and reception - Error rate percentage of lost or damaged
messages or bits. (For example, bit error rate of
) - Examples
- Bit errors (bits are flipped, e.g., due to
electrical signal interference.) - Packet loss (packets may be dropped due to
insufficient buffer space.) - Packet delays (e.g., due to large queue size)
- Nodes or links can fail (go down)
- Malicious users
39Reliability and Recovery
- As a consequence
- Packets delivered to the wrong destination
- Long delays on packets
- Packets delivered out-of-order
- Duplicate packets
- Recovery
- Implement error-control mechanism
- Hop by hop (I.e., between nodes)
- End-to-end (source-to-destination).
- Retransmissions
- End-to-end security (e.g., encryption,
authentication)
40User Applications
- Users run application programs (web, email, ftp)
at the hosts interconnected through a network - Hosts need to communicate in a meaningful way.
User should not be concerned with the underlying
network - Network supports process-to-process (uni- or
bi-directional) communication among the hosts - Applications need to take into consideration
limitations imposed by the networks physical
characteristics
41What is a Protocol?
- Set of rules that specify the format and meaning
of messages exchanged between computers across a
network - Format is sometimes called syntax
- Meaning is sometimes called semantics
- Example from everyday life traffic laws!
42One Or Many Protocols?
- Computer communication across a network is a very
hard problem - Complexity requires multiple protocols, each of
which manages a part of the problem - May be simple or complex must all work together
43Protocol Suites
- A set of related protocols that are designed for
compatibility is called a protocol suite - Protocol suite designers
- Analyze communication problem
- Divide problems into subproblems
- Design a protocol for each subproblem
44Layered Protocol Design
- Layering model is a solution to the problem of
complexity in network protocols - Model suggests dividing the network protocol
into layers, each of which solves part of the
network communication problem - These layers have several constraints, which
ease the design problem - Network protocol designed to have a protocol or
protocols for each layer
45Layered Network Architecture
- Application data need to be transformed into
packets (the basic transmission unit) - Peer entities in layer N1 communicate with each
other by communication services provided by layer
N (below them) - Each layer has specific tasks and functionality.
It also provides services to the layers above and
below it - Peer entities communicate by exchanging messages
46ISO 7-Layer Reference Model
- International Organization for Standards (ISO)
defined a 7-layer reference model as a guide to
the design of a network protocol suite
47ISO 7-Layer Reference Model
- Layers are named and numbered reference to
layer n'' often means the nth layer of the ISO
7-layer reference model - many modern protocols do not exactly fit the ISO
model, and the ISO protocol suite is mostly of
historic interest
48ISO 7-Layer Reference Model
- Layer 7 Application
- Application-specific protocols such as FTP and
SMTP (electronic mail) - Layer 6 Presentation
- Common formats for representation of data
- Layer 5 Session
- Management of sessions such as login to a remote
computer - Layer 4 Transport
- Reliable delivery of data between computers
49ISO 7-Layer Reference Model
- Layer 3 Network
- Address assignment and data delivery across a
physical network - Layer 2 Data Link
- Format of data in frames and delivery of frames
through network interface - Layer 1 Physical
- Basic network hardware media transmission
50Layering Principle
51Layering Principle
- Application data need to be transformed into
packets (the basic transmission unit) - Peer entities in layer N1 communicate with each
other by communication services provided by layer
N (below them) - Each layer has specific tasks and functionality.
It also provides services to the layers above and
below it - Peer entities communicate by exchanging messages
52Data Communications
- On the sender, each layer
- Accepts an outgoing message from the layer above
- Adds a header and other processing
- Passes resulting message to next lower layer
- On the receiver, each layer
- Receives an incoming message from the layer below
- Removes the header for that layer and performs
other processing - Passes the resulting message to the next higher
layer
53Data Communications
- The software at each layer communicates with the
corresponding layer through information stored in
headers - Each layer adds its header to the front of the
message from the next higher layer - Headers are nested at the front of the message as
the message traverses the network
54Data Communications
55Internet Protocol Architecture
- Originally it was based on the ISO reference
model - Currently, Internet is mostly based on the TCP/IP
protocol suite (designed in late 70s) - TCP/IP became popular as it was bundled with the
UNIX/C environment - ISO is still influential in designing networks
- Other architectures ATM. Frame Relay
56Reading Materials
- Textbook
- Chapters 1, 2 and Sections 3.1, 3.2 of Chapter 3
- Chapter 16