Professional Documents
Culture Documents
The Internet
What is the Internet?
physical infrastructure
architecture
protocols
software
services/applications
operational practices
standards
Page 1
Lecture notes
Standards
Why do we need standards?
electricity plugs
77
Page 2
Lecture notes
IETF
informal standards body
membership is open to all interested
individuals
few hard and fast rules
publishes RFCs (Request For Comments)
RFC 791: Internet Protocol (IP) Updated in RFC
1391
RFC 793: Transmission Control Protocol (TCP)
Updated in RFC 3168
79
robustness principle:
Be liberal in what you accept, and conservative in what you
send
distributed control
deployment issues:
scale, incremental deployment, heterogeneity
general issues:
simplicity, modularity, performance
80
Page 3
Lecture notes
Packets vs circuits
Some (Bell-heads) believe you need a
dedicated circuit
like a phone line (but higher speed)
81
Packets vs circuits
Circuit switching:
logical equivalent of a phone line connects two (or
more) people.
allows network to control everything (in theory)
allows explicit QoS
needs careful design and admission control
Packet switching:
no physical circuit (though there is still an analogue
of a connection)
packets of data are individually switched.
network doesnt do much (in theory)
hard to do QoS, but network is simpler
prime example is IP
82
Page 4
Lecture notes
Packets vs circuits
Doesnt have to be one
or the other
people may run circuit
switched on one layer, and
packet switched on
another.
classic example is IP over
ATM
Robustness principle
Be liberal in what you accept, and
conservative in what you send.
if somebody else screws up, dont let this
mess your system up (liberal in what you
accept)
e.g. TCP connection termination
Page 5
Lecture notes
Layered Architecture
Divide and conquer:
break the overall big
problem into smaller
ones with standardized
interfaces
Each layer provides a
service to upper layers
and utilizes the services
provided by lower layers
Performance may not be
optimal, but makes the
architecture simple and
flexible
85
86
Page 6
Lecture notes
User Datagram Protocol (UDP), a simple transport protocol used in the Internet. The
Internet Control Message Protocol (ICMP) is chiefly to send error messages
indicating, for instance, that a requested service is not available or that a host or
router could not be reached. The Address Resolution Protocol (ARP) is a protocol for
87
determining a network host's link layer or hardware address when only its Internet
Layer (IP) or Network Layer address is known. Packet over SONET (POS)
Layered protocols
Somewhat like subroutines in programming
Each layer provides services (functions) to higher
layers
Function call interface hides details of how the
service is provided
e.g. network layer asks link layer to transport a packet
across a link, without any network details
benefits
reduction in complexity
Page 7
Lecture notes
Encapsulation
Lower layers deal with higher layer by
treat information from higher layer as black box
dont look inside data
just treat as bunch of bits
Page 8
Lecture notes
Page 9
Lecture notes
Routing details
OSPF - Open Shortest Path First
Open Shortest Path First is a link state (each node possesses information
about the complete network topology), hierarchical IGP (Interior Gateway
Protocol) routing algorithm. Features supported by OSPF include least cost
routing, multipath routing and load balancing.
AS Autonomous System
Autonomous system (Internet), a collection of IP networks and routers
under the control of one entity (typically an Internet service provider or a
very large organization with independent connections to multiple networks,
that adhere to a single and clearly defined routing policy)
94
Page 10
Lecture notes
Page 11
Lecture notes
TCP/IP Encapsulation
Data segment
TCP segment
IP packet
Ethernet frame
98
Page 12
Lecture notes
TCP/IP operation
99
Hourglass IP
robustness against
technological innovations
anyone can innovate at
either end
new applications built by
any students (e.g.
netscape, napster)
new physical/link layers
allows huge
heterogenity
success
100
Page 13
Lecture notes
Broken layering
TCP/IP layers are broken more often than not
ICMP (Internet Control Message Protocol) - uses
IP, but controls its operation
BGP (Border Gateway Protocol) is a routing
protocol (IP layer), but is routed
IP over ATM over IP over ATM over SONET
anything involving MPLS (Multiprotocol Label
Switching)
often services are provided at multiple layers:
error and flow control, e.g. error control in SONET (sortof physical), link layer, IP, TCP
End-to-end principle
Put functionality as high up the stack as
possible.
pushes functionality out towards the end
points results in
dumb network, smart terminals
contrast to PSTN (Telephone Network)
smart network, dumb terminals
Page 14
Lecture notes
Distributed control
anything centralized is vulnerable
distribute physical infrastucture
distribute network control
e.g. routing protocols
OSPF (Open Shortest Path First), IS-IS, BGP
(Border Gateway Protocol)
Deployment issues
scalability: has to work for a large range of networks
(in distance, and number of hosts).
IP creates networks of networks, that can span any scale:
1m > 10 000 km;
1 > 109 hosts;
link speeds 1 kbps 100 Gbps.
Page 15
Lecture notes
Network scales
Geographic scale
PAN Personal Area Network (one room)
LAN Local Area Network (one building)
Ethernet (vast majority), Token ring, Wi-Fi,
Number of routers/switches
small < 10
medium 10-100
large> 100
105
Page 16
Lecture notes
108
Page 17
Lecture notes
Optimization
Optimization variables: x
Constant parameters describe objective
function f and constraint set C
Minimize { f ( x )}
x
Subject to x C
110
Page 18
Lecture notes
Questions
How to describe the constraint set?
Can the problem be solved globally and
uniquely?
What kind of properties does it have?
Can we numerically solve it in an efficient and
distributed way?
Can we optimize multiple objectives
simultaneously?
Can we optimize over a sequence of time
instances?
111
Applications topics
Theory and algorithms of optimization are useful
Information theory problems,
Transmitter and receiver design,
Channel decoding,
Detection and estimation,
Multiple antenna beamforming,
Network resource allocation and utility maximization,
Wireless power control and medium access,
Network flow problems,
IP routing,
TCP congestion control,
Network architecture and topology design
112
Page 19
Lecture notes
Methodology topics
Linear programming,
Convex optimization,
Quadratic programming,
Geometric programming,
Integer programming,
Robust optimization,
Pareto optimization,
Dynamic programming,
Nonconvex optimization,
Lagrange duality,
Gradient methods,
Interior point methods,
Distributed algorithms,
113
optimization constraints
technological, geographic, political
Heuristic is an adjective for experience-based techniques that help in problem solving. A heuristic
algorithm is an algorithm that is able to produce an acceptable solution to a problem in many practical
114
scenarios, but for which there is no formal proof of its correctness. Alternatively, it may be
correct, but may not be proven to produce an optimal solution.
Page 20
Lecture notes
Cost in networking
capital
equipment (cables, switches, ...)
premises
land that cables run along (right of ways)
operations
exclude sales and marketing, management, R&D
doesnt depend on network design
power
transit (from upstream providers)
fixed
traffic based costs
115
A right-of-way is a strip of land that is granted for transportation purposes, such as for a rail line
or highway or communication cables etc.
Equipment costs
Often assumed to dominate
fixed node costs
cost of a router - often assumed small
need to include premises, installation, etc.
distance costs
straight distance cost
BW x distance cost
116
Page 21
Lecture notes
Link costs
Simple model: cost of a link
where
r = link capacity
d = link distance
the parameters k, , , are constants.
often some terms might be close to zero so ignore
some terms are out of our control, so we ignore
these, or push them into constants
117
Example
Lets consider the problem of business
that wants to connect up two locations
with a 10 Mbps link. What can they do:
118
Page 22
Lecture notes
Example
Lets consider the problem of business
that wants to connect up two locations
with a 10 Mbps link. What can they do:
119
Example
Lets consider the problem of business
that wants to connect up two locations
with a 10 Mbps link. What can they do:
120
Page 23
Lecture notes
Example
We have two possible solutions:
private line
lease or build whole line
cost depends on distance: C = kprivate + privated
VPN
pay for access to network at each end, but not for
the network
no distance dependence: VPN 0
decision: use private line if
kprivate + privated 2kVPN
121
The constants
Assume the simple model, how would you work out k,
, , .
and arise from the costs of building a links.
are the fixed costs: right-of-way, digging cables in, i.e.,
things we need regardless of how much capacity we use.
reflects capacity related costs: e.g., in the old days, if you
wanted two links, you needed two cables. Today, this might
reflect the number of wavelengths you use on a WDM
system.
Page 24
Lecture notes
satellites
A virtual private network (VPN) is implemented in an additional software layer (overlay) on top of an
existing larger network providing a secure extension of a private network into an insecure network
such as the Internet. The links between nodes of a virtual private network are formed over logical
124
connections or virtual circuits between hosts of the larger network. The Link Layer protocols of the
virtual network are said to be tunneled through the underlying transport network.
Page 25
Lecture notes
queueing:
queueing is caused by transient congestion
processing:
packet processing time (address lockup, and header update)
fixed per hop
transmission:
time to transmit packet on the line
= packet size / line rate
126
Page 26
Lecture notes
127
Queueing delay:
reduce queueing by reducing load
Processing delay:
minimize number of hops
Transmission delay:
minimize packet sizes
e.g. VoIP uses small packets
128
Page 27
Lecture notes
Five 9s
Goal of many telecom level providers is
five nines reliability
e.g. in IP networks
uptime is 99.999%
translates to about 5 minutes downtime per
year
Page 28
Lecture notes
Reliability approach
Often not approached using
optimization but
redundancy or standby systems
routers, links, power supplies ..
distribution of control
problem detection and diagnosis
131
Technological Constraints
The other aspect of optimization is the
constraints
max node degree
max number of line cards per router
times max ports per card
Page 29
Lecture notes
Non-technological Constraints
geography
cost of cable in oceans is different from land
expensive to lay cable in some places
e.g. downtown Manhattan
politics
internal company organization mandates network
organization
e.g. marketing get a better network than accounting, even
though they have less real need
security
may not want to share network resources outside
of secure building
133
Other Constraints
what if we have more than one objective
e.g. network should be
fastest
cheapest, and
most reliable
Page 30
Lecture notes
Other issues
usually there are other inputs to optimization
traffic measurements
not always as easy to get as we think
planning horizon
usually when we design a network it takes some
time to build
Simple example
Three node network has three acceptable designs:
Page 31
Lecture notes
Bigger problems
Network with N nodes
for small N we can evaluate all designs, and
choose the best
Optimization
Optimization is about building automated
methods for finding optima of such problems
needs to work quickly (enough)
planning horizon
management requirements
size of the problem
Note. A common mistake is to think that the NP in NP-hard stands for non-polynomial. Although it
is widely suspected that there are no polynomial-time algorithms for NP-hard problems, this
138has
never been proven. Moreover, the class NP also contains all problems which can be solved in
polynomial time.
Page 32
Lecture notes
139
140
Page 33
Lecture notes
Optimization Notation
141
Other Notation
We usually use
lower case for scalars, e.g., x
lower-case boldface for (column) vectors, e.g., x
upper-case for matrices, e.g., A
Page 34
Lecture notes
Logical Router
144
Page 35
Lecture notes
145
146
Page 36
Lecture notes
147
Packet processing
In an IP Router
lookup packet destination in forwarding table
up to 150,000 entries
The TTL (Time To Live) field is set by the sender of the datagram, and reduced by every host on
the route to its destination. If the TTL field reaches zero before the datagram arrives at148
its
destination, then the datagram is discarded and an error datagram is sent back to the sender.
Page 37
Lecture notes
Memory demands
forwarding table can be large
up to 150,000 entries per line card
lookup in 30ns for 10 Gbps line
need fast memory
150
Page 38
Lecture notes
Routing
We need a method to map packet routes to
links
called a routing protocol
several types exist
link state
shortest path
Page 39
Lecture notes
153
154
Page 40
Lecture notes
Network Paths
155
Network Paths
156
Page 41
Lecture notes
Network Paths
157
Network Paths
158
Page 42
Lecture notes
Network Paths
159
Network Paths
160
Page 43
Lecture notes
Network Paths
161
Network Paths
162
Page 44
Lecture notes
Network Paths
163
Network Paths
164
Page 45
Lecture notes
165
Routing
166
Page 46
Lecture notes
Routing
167
Routing costs
168
Page 47
Lecture notes
Routing costs
169
Routing problem
170
Page 48
Lecture notes
Routing problem
The Routing Problem: Determine the
optimal routing x to minimize C(f)
171
Linear costs
172
Page 49
Lecture notes
Path lengths
173
174
Page 50
Lecture notes
175
176
Page 51
Lecture notes
177
Special case
178
Page 52
Lecture notes
Triangle inequality
179
Dijkstras algorithm
180
Page 53
Lecture notes
Dijkstras algorithm
181
Dijkstras algorithm
182
Page 54
Lecture notes
Dijkstra Example
183
Dijkstra Example
184
Page 55
Lecture notes
Dijkstra Example
185
Dijkstra Example
186
Page 56
Lecture notes
Dijkstra Example
187
Dijkstra Example
188
Page 57
Lecture notes
Dijkstra Example
189
Dijkstra Example
190
Page 58
Lecture notes
Dijkstra Example
191
Dijkstra Result
192
Page 59
Lecture notes
Dijkstra intuition
193
Dijkstra issues
194
Page 60
Lecture notes
195
Page 61