Download Computer Networks (CSC 345)

Document related concepts

Net neutrality law wikipedia , lookup

Peering wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

CAN bus wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Distributed firewall wikipedia , lookup

Net bias wikipedia , lookup

Zero-configuration networking wikipedia , lookup

IEEE 1355 wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Network tap wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Computer network wikipedia , lookup

Deep packet inspection wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Airborne Networking wikipedia , lookup

Internet protocol suite wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Packet switching wikipedia , lookup

Quality of service wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Transcript
Computer Networks
(CSC 345)
Fall 2004
Professor Haimeng Zhang
IVERS 234F
[email protected]
x4742
Course 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
Course 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
Course Organization
•
•
•
•
•
•
Lectures – TH 10:30am – 12:10pm, IVERS 218
Homework assignments – once every two weeks
Programming project – one group project
Reading project – individual project
Midterm
Final
Course 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
Course 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
Course 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)
Course 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
Schedule of Topics
• Signals, media, bandwidth, throughput and
multiplexing – 2 weeks
• Packet transmission: concepts, technologies
– 5 weeks
• Internetworking fundamentals – 5 weeks
• Internet applications – 2 weeks
What 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
What is a Computer Network?
• Major Network Categories
– The global Internet
– Internal corporate networks
– The worldwide telephone system
What 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
Telecommunications
Voice and
Video
Data
Communication
What is a Computer Network?
Application
Application
Frame
Networks connect applications
on different stations
What is a Computer Network?
Frame
Client
Station
Mobile Client
Station
Stations are computers
and other devices
such as cellphones and PDAs
Server
Station
Server
Station
What is a Computer Network?
Frame
Client
Station
Mobile Client
Station
Stations communicate by
sending messages called
Frames
Server
Station
Server
Station
What is a Computer Network?
Frame
Switch
Switch
Switch
Switch
Frames may pass
through multiple switches;
Each switch reads the frame
And passes it on
What is a Computer Network?
Access links connect
stations to the
first switch
Usually copper wire
Access
Link
Access
Link
Access
Link
Access
Link
What is a Computer Network?
Trunk
Link
Trunk
Link
Trunk links
connect switches
Higher capacity
than access links
Often optical
fiber
Trunk Link
Trunk
Link
Trunk
Link
What 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
What is a Computer Network?
• Direct links (connectivity)
Point-to-point communication
Multiple-access
What is a Computer Network?
• Switched Networks
– Circuit - switched network: public telephone
network
– Packet switched network: Internet (collection of
networks)
Circuit-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 < 35% of the time during a call)
• While A talks to C, B cannot talk to D on the same line.
Packet-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).
Features 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.
Packet Switched Networks: Example
• Packets can travel on different networks/links that may
have different line speeds
Packet-Switched Networks: Topologies
What is the Internet?
• In the 60’s and 70’s 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.
The 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)
An Internet
Multiple Networks
Connected by Routers
Path of a Packet is its Route
Single Network
Routers
Packet
Single Network
Route
Probing the Network-Example
• Concordia campus network
http://www.cord.edu/faculty/dduncan/$cordnet.htm
• Minnesota State Network
http://graphs.onvoy.com/infrastructure
• Ping - sends message that is echoed by remote computer
• Traceroute - reports path to remote computer
Internet 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
Issues
• 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
Network 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)
Network 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
Network Performance
• Congestion and Latency
– Congestion because traffic chronically or
momentarily exceeds capacity
– Latency delay measured in milliseconds (ms),
microseconds ( s ).
• Especially bad for some services such as
voice communication or highly interactive
applications
Network 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
Network Performance
• Example: consider a 100 Mbps link which is
4,000 miles long, if data travels at 40,000
6
10
miles/sec and a packet is 1MB (=
Bytes =
10 6 * 8 bits), then:
– Transmission delay = 1MB/100 Mbps =
106 * 8 / 100 *106  80 ms = 0.080 sec
– Propagation delay = 4,000/40,000 = 0.1 sec
Reliability 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 10 9 )
• 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
Reliability 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)
User 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 bidirectional) communication among the hosts
• Applications need to take into consideration limitations
imposed by the networks physical characteristics
What 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!
One 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
Protocol 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
Layered 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
Layered Network Architecture
• Application data need to be transformed into packets
(the basic transmission unit)
• Peer entities in layer N+1 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
ISO 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
ISO 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
ISO 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
ISO 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
Layering Principle
Layering Principle
• Application data need to be transformed into packets
(the basic transmission unit)
• Peer entities in layer N+1 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
Data 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
Data 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
Data Communications
Internet 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 70’s)
• 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
Reading Materials
• Textbook
– Chapters 1, 2 and Sections 3.1, 3.2 of Chapter 3
– Chapter 16