01-Introduction To Computer Networks
01-Introduction To Computer Networks
Febriliyan Samopa
Objectives
• Understand the state-of-the-art in network
protocols, architectures and applications
• Understand how networking research is
done
• Teach the typical constraints and thought
process for networked systems
• How is class different from undergraduate
networking
• Training network programmers vs. training
network researchers
2
Network Paradigm
• Why we need network ?
• What is the problem that the only solution is
network ?
3
What is the Objective of Networking?
• Communication between applications on
different computers
• Must understand application
needs/demands
• Traffic data rate
• Traffic pattern (bursty or constant bit rate)
• Traffic target (multipoint or single destination,
mobile or fixed)
• Delay sensitivity
• Loss sensitivity
4
Four Steps to Networking
• Communicating across a link
5
A First Step
• Creating a link between nodes
• Link: path followed by bits
• Wired or wireless
• Photon or electron
• Broadcast or point-to-point (or both)
• Node: any device connected to a link
6
Link Model
• A link model consist of a transmitter that
connected to a receiver by a medium.
• A Transmitter : a node that sends data.
• A Receiver : a node that accept data.
7
Electrical Model
• The transmitter acts as a voltage source in
the close circuit.
• The medium acts as a resistance from
transmitter to receiver and vice versa.
• The receiver acts as a load in closed circuit
• The transmitter will generate series of
voltage (signal) according to the data sends
and arrive in the receiver as series of
voltage that less than the original voltage.
8
Electrical Model
Medium
Trans Medium Recei Sour
Load
mitter ver ce
Medium
R1 UTP Cable
VS R2 VL
R3
VS : Source Voltage
VL : Load Voltage = Voltage between R2 = Voltage arrived at Receiver
R2 : Resistance of Load BNC Cable
R1, R3 : Resistance of Medium
if medium is symmetric (i.e. UTP Cable) then R1 = R3
if medium is asymmetric (i.e. BNC Cable) then R1 ≠ R3
9
Electrical Model
R1 Serial Circuit :
• The current (I) is constant.
VS R2 VL • VS = I x (R1 + R2 + R3)
• VL = I x R2
R3 • Power transmitted by Source (PS) = VS x I
• Power received by Load (PL) = VL x I
• Efficiency (E) = Power received / Power transmitted
= PL/ PS
= (VL x I) / (VS x I) = VL / VS
= (I x R2) / (I x (R1 + R2 + R3))
= R2 / (R1 + R2 + R3)
R1 = (ρ1 / a1) x l
R3 = (ρ3 / a3) x l
12
Types of Links
13
What are Switched Networks?
• Switch: moves bits Switched Network
between links
• Packet switching
• Circuit switching
14
Back in the Old Days…
15
Then Came TDM…
• Synchronous time division multiplexing
16
TDM Logical Network View
17
TDM Variety
• Frequency Division Multiplexing (FDM)
• Code Division Multiplexing (CDM)
18
Packet Switching (Internet)
Packets
19
Packet Switching
• Interleave packets from different sources
• Efficient: resources used on demand
• Statistical multiplexing
• General
• Multiple types of applications
• Accommodates bursty traffic
• Addition of queues
20
Statistical Multiplexing Gain
• 1 Mbps link; users require 0.1 Mbps when
transmitting; users active only 10% of the
time
• Circuit switching: can support 10 users
• Packet switching: with 35 users, probability
that >=10 are transmitting at the same time
< 0.0017
21
Characteristics of Packet Switching
• Store and forward
• Packets are self contained units
• Can use alternate paths – reordering
• Contention
• Congestion
• Delay
22
Second Step: Internet[work]
• A collection of Internet[work]
interconnected
networks
• Host: network
endpoints (computer,
PDA, light switch, …)
• Router: node that
connects networks
• Internet vs. internet
23
Challenge
• Many differences between networks
• Address formats
• Performance – bandwidth/latency
• Packet size
• Loss rate/pattern/handling
• Routing
• How to translate between various network
technologies
24
Third Step: How To Find Nodes?
Internet
Computer 1 Computer 2
25
Naming
• Humans use readable host names
• E.g. www.cmu.edu
• Globally unique (can correspond to multiple
hosts)
• Naming system translates to physical
address
• E.g. DNS translates name to IP Address (e.g.
128.2.11.43)
• Address reflects location in network
26
Domain Name System
It is 128.2.11.43
27
Packet Routing/Delivery
• Each network technology has different local
delivery methods
• Address resolution provides delivery
information within network
• E.g., ARP maps IP addresses to Ethernet
addresses
• Local, works only on a particular network
• Routing protocol provides path through an
internetwork
28
Network:Address Resolution Protocol
Ethernet
Unicast: Yes, it is
08-00-2c-19-dc-45
Ethernet
29
Internetwork: Datagram Routing
Routers send
packet to next
closest point H R
H
R R
H
R
H
R
R H: Hosts
H R: Routers
30
Routing
• Forwarding tables at each router populated by
routing protocols.
• Warning: Routed vs Routing Protocols
• Routed Protocols used between routers to direct user’s
traffic. Examples: IP, IPX
• Routing Protocols used only between routers to
maintain tables. Examples: RIP, OSPF, BGP.
• Original Internet: manually updated
• Routing protocols update tables based on “cost”
• Exchange tables with neighbors or everyone
• Use neighbor leading to shortest path
31
Fourth Step: Application Demands
• Reliability
• Corruption
• Lost packets
• Flow and congestion control
• Fragmentation
• In-order delivery
• Etc…
32
What if the Data gets Corrupted?
0,9 9 6,7,8 21
X
4,5 7 1,2,3 6
33
What if the Data gets Corrupted?
Sophisticated Solution: Add a CRC
X
6,7,8 CRC Code 1,2,3 CRC Code
34
What if Network is Overloaded?
35
Dropping Packets
• There are two methods exist
• WINE Methods
• The Idea : An older wine is better than the fresh one
• This methods will drop packets starting from the
youngest until the congestion is relieved
• MILK Methods
• The Idea : A fresh milk is better than the old one
• This methods will drop packets starting from the
oldest until the congestion is relieved
36
What if the Data gets Lost?
GET index.html
Internet
GET index.html
GET index.html
Internet
GET index.html
37
What if the Data Doesn’t Fit?
GET index.html
38
What if the Data is Out of Order?
GET x.htindeml
GET index.html
39
Network Functionality Summary
• Link
• Multiplexing
• Routing
• Addressing/naming (locating peers)
• Reliability
• Flow control
• Fragmentation
• Etc….
40
What is Layering?
• Modular approach to network functionality
• Example:
Application
Application-to-application channels
Host-to-host connectivity
Link hardware
41
Protocols
• Module in layered structure
• Set of rules governing communication
between network elements (applications,
hosts, routers)
• Protocols define:
• Interface to higher layers (API)
• Interface to peer
• Format and order of messages
• Actions taken on receipt of a message
42
Layering Characteristics
• Each layer relies on services from layer
below and exports services to layer above
• Interface defines interaction
• Hides implementation - layers can change
without disturbing other layers (black box)
43
Layering
User A User B
Application
Transport
Network
Link
Host Host
User A User B
Get index.html
Connection ID
Source/Destination
Link Address
45
Protocol Demultiplexing
• Multiple choices at each layer
TCP UDP
Network IP TCP/UDP
IPX IP
Type Protocol Port
Field Field Number
NET1 NET2 … NETn
46
E.g.: OSI Model: 7 Protocol Layers
• Physical: how to transmit bits
• Data link: how to transmit frames
• Network: how to route packets
• Transport: how to send packets end2end
• Session: how to tie flows together
• Presentation: byte ordering, security
• Application: everything else
47
The Transport Layer
• The transport layer “DIRECTS PACKETS”,
splits it up into smaller units if need be,
pass these to the network and ensure that
the pieces are traveling in an orderly
fashion.
• A series of protocols are also established in
this layer to ensure proper flow of the
packets.
• You can basically describe the Transport
Layer as a “TRAFFIC COP”.
48
The Session Layer
• The session layer allows different machines
to establish sessions between themselves.
• Once communications are established,
encryption then begins both parties.
49
The Presentation Layer
• The Presentation Layer’s job is managing data
structures and converting from the representation
used inside the computer to the network standard
representation an visa versa.
• In English terms, the Presentation layer basically
takes the packets and re-assembles them so you
can open the e-mail or the attachment.
• If any packets got lost along the way, or were
damaged, then the Presentation layer will send a
sign to the sender that it requires the specific
packet.
50
The Application Layer
• The Application layer contains a variety of
protocols that are commonly required.
• One of Application layer function is file
transfer.
• Different file systems have different file
naming conventions, different ways of
representing text lines, and so on.
• Transferring a file between two different
systems requires handling and other
incompatibilities.
51
OSI Layers and Locations
Application
Presentation
Session
Transport
Network
Data Link
Physical
52
Example: Transport Layer
• First end-to-end layer
• End-to-end state
• May provide reliability, flow and congestion
control
53
Example: Network Layer
• Point-to-point communication
• Network and host addressing
• Routing
54
Is Layering Harmful?
• Sometimes..
• Layer N may duplicate lower level functionality
(e.g., error recovery)
• Layers may need same info (timestamp, MTU)
• Strict adherence to layering may hurt
performance
55