Download Introduction to Computer Networks

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Zigbee wikipedia , lookup

Computer security wikipedia , lookup

Distributed firewall wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Net bias wikipedia , lookup

CAN bus wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Network tap wikipedia , lookup

Peering wikipedia , lookup

Airborne Networking wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Computer network wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

IEEE 1355 wikipedia , lookup

Deep packet inspection wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Transcript
Introduction to Computer Networks
Slides For Week 1
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
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.

2
Introduction to Computer Networks
Networks
Fundamentals
Why Study Networks?
Integral part of society


Work, entertainment, community
Pervasive


Home, car, office, school, mall …
Huge impact on people and society


Person-to-person and group communication


Form and strengthen communities


4
email, blogs, chat
chat rooms, newsgroups ...
Commerce, services, entertainment, socializing
Introduction to Computer Networks
Concepts for this week
What is the Internet?




What is a network?
Core and Edge of the Internet
Circuit, message and packet switching
Layering and encapsulation
Network delay analysis


5
Introduction to Computer Networks
What is the Internet?
What is a network?
Lets start at the beginning…
What is a network for?



To allow two or more endpoints to communicate
Is Cable T.V. a network?

– yes.
What is a computer network?



Nodes connected by links
Nodes are computers:



Is this a Network?

7
Processing ability
Receive and transmit information (unlike televisions).
Yes, not an interesting one..
Introduction to Computer Networks
Other Networks (network topologies)
Ring
Hierarchical
8
Star (Hub and Spoke)
Broadcast
Introduction to Computer Networks
Data Networks
Data networks are Packet Switching Networks




Data is carried in packets and is switched between routers
Every packet carries its destination address and is routed
according to current network conditions.
There is no fixed route between every pair of end points.
Telephone networks are Circuit Switched Networks




9
Voice is carried over a predetermined circuit between two
phones.
The route is established before any of the data is sent, and then
the data is sent (like a phone call – you first call, have a
connection, and then talk).
Data is also carried (e.g., fax). But it is not a data network!
Introduction to Computer Networks
Data Types
Non-Isochronous
Isochronous
Examples: mail, web files, P2P traffic, etc.
Examples: voice, live broadcast
Arrival rate is undetermined, bursty.
Jitter (variation of delay between
subsequent packets) is unknown, and not
important.
Arrival rate is predetermined and jitter
should be fixed. E.g., packet every 0.25
msec.
Delay is possible. For example, your email
cab be delayed by a few seconds.
Delay is critical and bounded. Maximal
possible delay is ~ 30-70 msecs.
Packet loss can be taken care of by the
network, and missing packets can be
retransmitted, so that the receiving side
receives the complete data sent.
Packets lost cannot be resent due to the
maximal delay limitation.
Ideal for packet switching
10
Ideal for circuit switching
Introduction to Computer Networks
The Internet

Built initially for non-isochronous data


Hence, a packet switching architecture.
Today we see that the world moves towards integration
of networks: carry data, voice, TV over the Internet.

Termed: everything over IP


Why not use circuit switching (telephone network)?


(We will see later what that means)
There was a big debate, of course, but telephone networks are
less efficient for routing bursty data (Internet data).
In this course we study a packet switching network:
The Internet.
11
Introduction to Computer Networks
What is Internet Technology?

What is an internet?


What is the Internet?


Network of networks
A global internet based on the IP protocol
To what does “Internet technology” refer?

Architecture
Protocols


12
Services
We will learn the protocols which enable the services,
and understand the architecture it is built over.
Introduction to Computer Networks
Architecture-wise
Company A
Internet Service Provider 1
ISP 2
Company B
Host: Machine running user application
13
Media: Physical process used
(copper
wire, fiber
optics, satellite link)
Introduction
to Computer
Networks
Architecture-wise
Company A
Internet Service Provider 1
(ISP 1)
ISP 2
Company B
14
Router: decide where to send data next
Network : Collection of interconnected machines
Introduction
to Computer
Networks
or interconnected
LANs
(subnetworks)
Architecture-wise
Company A
Internet Service Provider 1
(ISP 1)
ISP 2
Company B
15
Core Networks (ISP tiers)
Edge Networks:
•Tier 1: Biggest ISPs
Companies,
•Tier 2 and 3: Regional and
with a “default route”
Introductionorganizations
to Computer Networks
very small.
Networks Today


Default Route Networks: Campus, Company

Local Area Networks (LANs) for labs, or certain floors

Virtual LANs
Edge Networks:

Small Internet Service Providers


Core Networks:


Metropolitan
Wide Area Network
The Internet: Core + Edge Networks
16
Introduction to Computer Networks
Networks Legendary Scaling
Inter-processor
Distance
Processors Located
In Same
1m
Square meter
10m
Room
100m
Building
1km
Campus
10 km
Personal Area Network
City
Local Area Network
Metropolitan Area
Network
100 km
Country
1000km
Continent
10000 km
17
Planet
Introduction to Computer Networks
Wide Area Network
The Internet
Local Area Network (LAN)





Limited Size
Run at speeds of 10Mbs, 100 Mbs, 1Gbps, 10 Gbps
Legend topology: Ethernet (broadcast)
Example: PC farm with servers and printers.
Today:
Switched computers
and nodes.
18
Introduction to Computer Networks
Service-wise (applications)









Electronic mail
Remote terminal
File transfer
Newsgroups
File sharing
Resource distribution
World Wide Web
Video conferencing
Games
19
Introduction to Computer Networks
Enabling A Service


The user, at home, is requesting page www.mta.ac.il
The network (Internet) should figure:
1.
Which server is www.mta.ac.il? (all computers use numbers. Most
2.
Which Route to use for user’s request?
What format to use for sender request and receiver’s reply?
(maybe data should be encrypted)
What to do if the message gets corrupted along the way?
What to do if a routing computer fails along the way?
Maybe the server restricts access to this page, is this user ok?
What if the page content was moved to another server, or
was deleted?
What if user logged off or pressed “refresh” before
transmission was completed? ….
3.
4.
5.
6.
7.
8.
20
people seem to prefer names).
Introduction to Computer Networks
Protocols

The Internet uses the TCP/IP protocol suite
 Architecture  Service
 Rules of communication
 Divided to layers
FTP
HTTP
RTP
TFTP
UDP
TCP
IP
Ethernet
CAT-5
21
802.11
Single-Mode
Fiber
…
PPP
RS-232
Introduction to Computer Networks
Layering


An important and basic principle in computer networks
Divide the work hierarchically: each layer is a separate
entity that maintains its part.
Host
Application
The application layer receives or transmits the
data to/from the application
Transport
The Transport layer is responsible to packetize the data
and transmit it without errors to the end host
Network
The Network layer is responsible to choose the next hop
(a neighbor network node) and route the packets to it
Host-to-Net *
(Link layer)
The Host-to-net layer is responsible to send the data
over the attached physical link in its format and
* host-to-net layer is also called the link layer
22
Introduction to Computer Networks
TCP/IP Layering Architecture
Host B
Host A
Application Protocol
end-to-end communication
Application
Layer
Transport Protocol (TCP)
end-to-end communication
Transport
Layer
IP
23
Application
Layer
IP
Transport
Layer
IP
Network
Layer
Network
Layer
Network
Layer
Network
Layer
Link Layer
Link
Layer
Link
Layer
Link Layer
Introduction to Computer Networks
Layering and Encapsulation

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
This is done using encapsulation:


Treat the neighbouring 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



24
headers in front
trailers in back
Receiving: Strip off headers and trailers before handing up the
stack
Introduction to Computer Networks
Layering (cont.)
At the sending host
data
data
Transport
layer header
data
Transport
Network
layer header layer header
data
Transport
Network
layer header layer header
 A Packet
Host-to-net
layer header
 A Frame
Host sends the frame on the attached link
26
Introduction to Computer Networks
Layers (cont.)

At the receiving host

The frame arrives on the attached link
data
data
Transport
layer header
data
Transport
Network
layer header layer header
data
Transport
Network
layer header layer header
Host-to-net
layer header
Data is delivered to the application at the receiving host
27
Introduction to Computer Networks
ISO OSI Layering Architecture –
The reference model
Host A
Application
Layer
Presentation
Layer
Session
Layer
Transport
Layer
28
Host B
Application Protocol
Presentation Protocol
Session Protocol
Transport Protocol
Application
Layer
Presentation
Layer
Session
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
Introduction
to Computer
Networks
Router
Router
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
29
Introduction to Computer Networks
Who is who?

ISO - International Organization for Standardization




ISO 9000, etc.
IETF – The Internet Engineering Task Force: Near term,
standardized oriented group, divided into disciplines such
as: applications, routing, addressing, etc.
IRTF – The Internet Research Task Force: Pursue long
term research projects
RFCs: Requests For Comment



30
Some become official standards
http://www.rfc-editor.org
Look for “aviation over IP” (aka birds)…
Introduction to Computer Networks
Host-to-net Layer



Receives a data packet from the network layer
Creates a frame of bits
Signal the start and end of a frame (usually by a string of known
bits)



Add error correcting codes to enable transmission even
on noisy channels
Collision detection and retransmissions
What is the time it takes to transmit and receive a frame on a
link?
31
Introduction to Computer Networks
Link Delay

Two factors

Propagation delay = Distance / Speed of light
Time for bits to “move across wires”

Transmission delay = Packet size / Bandwidth
Time to “get bits on wires”
32
Introduction to Computer Networks
Transmission 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 (bandwidth)
Speed of water through the pipe = Propagation speed (light speed)
33
Introduction to Computer Networks
Transmission vs. Prop. Delay (cont)
pipe
1.
2.
34
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
Introduction to Computer Networks
Transmission Time
How long does it take A to transmit an entire packet on the link?
Relevant information: packet length = 1500 bytes
channel capacity = 100 Mbps
Another way to ask this question:
If the link can transmit 100 million bits in a second, how
many seconds does it take to transmit 1500 bytes (8x1500
bits)?
100 Mbits
1 sec
35
=
1500 x 8 bits
t
Solving for t…
t = 0.00012 sec (or 120 sec)
Introduction to Computer Networks
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
36
=
t
500 m
Solving for t…
t = 2.5 sec
Introduction to Computer Networks
Units

Bits are the units used to describe an amount of data in a network






1 millisecond (msec)
1 microsecond (sec)
1 nanosecond (nsec)
= 1 x 10-3 seconds = 0.001 seconds
= 1 x 10-6 seconds = 0.000001 seconds
= 1 x 10-9 seconds = 0.000000001 seconds
Bits per second are the units used to measure channel capacity/bandwidth
and throughput




~1 x 103 bits = 1,000 bits
~1 x 106 bits = 1,000,000 bits
~1 x 109 bits = 1,000,000,000 bits
Seconds are the units used to measure time


1 kilobit (Kbit)
1 megabit (Mbit)
1 gigabit (Gbit)
bit per second (bps)
kilobits per second (Kbps)
megabits per second (Mbps)
Bytes are units that describe a series of eight bits


37
1 Byte = 8 bits
Bytes per second (Bps)
Introduction to Computer Networks
Processing 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?
Host
38
Host
Application
Layer
Application
Layer
Transport
Layer
Transport
Layer
Router
Network
Layer
Network
Layer
Network
Layer
Host-toNet Layer
Host-toNet Layer
Host-toNet Layer
Introduction to Computer Networks
Example
A
B
500 m
Protocol Processing Time = 40 sec
packet length = 1500 bytes
channel capacity = 100 Mbps
propagation delay factor = 5 sec/km
1.
2.
3.
39
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?
Introduction to Computer Networks
Timeline Method
Host A
Host B
Protocol Delay
40
1st bit
2.5
Propagation delay
120
Transmission time
Time
last bit
40
Protocol Delay
Total time: 40+120+2.5+40 = 202.5 sec
40
Introduction to Computer Networks