Professional Documents
Culture Documents
R3 R2 R6 Interior
Subnet 1.2
Subnet 1.2
R5 Subnet 1.2
R7 1. Routing Algorithms: Link-State, Distance Vector
Dijkstra’s algorithm, Bellman-Ford Algorithm
R8
R4 R1 Exterior Subnet 1.2
Subnet 1.2
Subnet 1.2
2. Routing Protocols: OSPF, BGP
Raj Jain 3. SDN Control Plane
Washington University in Saint Louis 4. ICMP
Saint Louis, MO 63130 5. SNMP
Jain@wustl.edu
Audio/Video recordings of this lecture are available on-line at: Note: This class lecture is based on Chapter 5 of the textbook
(Kurose and Ross) and the figures provided by the authors.
http://www.cse.wustl.edu/~jain/cse473-16/
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-1 5-2
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-3 5-4
Rooting or Routing Routeing or Routing
T Rooting is what fans do at football games, what pigs T Routeing: British
do for truffles under oak trees in the Vaucluse, and T Routing: American
what nursery workers intent on propagation do to T Since Oxford English Dictionary is much heavier than
cuttings from plants. any other dictionary of American English, British
T Routing is how one creates a beveled edge on a table English generally prevails in the documents produced
top or sends a corps of infantrymen into full scale, by ISO and CCITT; wherefore, most of the
disorganized retreat international standards for routing standards use the
routeing spelling.
Ref: Piscitello and Chapin, “Open Systems Networking: TCP/IP and OSI,” Adison-Wesley, 1993, p413 Ref: Piscitello and Chapin, “Open Systems Networking: TCP/IP and OSI,” Adison-Wesley, 1993, p413
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-5 5-6
T We limit to “Undirected” graphs, i.e., cost is same in both T Sent to all nodes, e.g., u will send to v, w, x, y, z
directions T Small vectors to large # of nodes
Tell about the neighbors to the world
T Newer method. Used in OSPF.
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-7 5-8
Dijkstra’s Algorithm Dijkstra’s Algorithm: Example
T Goal: Find the least cost paths from a given node to 5
all other nodes in the network 3
v w 5
T Notation: 2
c(i,j) = Link cost from i to j if i and j are connected u 2 1 z
3
D(k) = Total path cost from s to k 1 2
N’ = Set of nodes so far for which the least cost path is known x 1
y
T Method:
T Initialize: N’={u}, D(v) = c(u,v) for all neighbors of u N’ D(v) Path D(w) Path D(x) Path D(y) Path D(z) Path
T Repeat until N includes all nodes: 0 {u} 2 u-v 5 u-w 1 u-x f - f -
1 {u, x} 2 u-v 4 u-x-w 2 u-x-y f -
Find node w N’, whose D(w) is minimum
2 {u, x, y} 2 u-v 3 u-x-y-w 4 u-x-y-z
Add w to N’ 3 {u, x, y, v} 3 u-x-y-w 4 u-x-y-z
Update D(v) for each neighbor of w that is not in N’
4 {u, x, y, v, w} 4 u-x-y-z
5 {u, x, y, v, w, z}
D(v) = min[D(v), D(w) + c(w,v)] for all v N’
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-9 5-10
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-11 5-12
Bellman-Ford Algorithm node x table Bellman Ford Example 1
cost to
o cost to cost to
x y z x y z
T Notation: x y z
x 0 2 7 x 0 2 3
u = Source node x 0 2 3
from
from
y y 2 0 1
from
y 2 0 1
c(i,j) = link cost from i to j z z 7 1 0 z 3 1 0
h = Number of hops being considered node y table
cost to cost to cost to
Du(n) = Cost of h-hop path from u to n x y z x y z x y z 2
y
1
x x 0 2 7
T Method: x 0 2 3 x z
from
y 2 0 1 y 2 0 1 7
from
from
y 2 0 1
1. Initialize: Du(n) = f for all n z u; Du(u) = 0 z z 7 1 0 z 3 1 0
node z table
cost to cost to
2. For each node: Du(n) = minj [Du(j) +c(j,n)] cost to
x y z x y z
x y z
3. If any costs change, repeat step 2 x x 0 2 7 x 0 2 3
from
from
y 2 0 1 y 2 0 1
from
y
z 7 1 0 z 3 1 0 z 3 1 0
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ time ©2016 Raj Jain
5-13 5-14
x y x y If cost changes x y
C. w D. w
5 v 5 v Recompute the costs to all neighbors
2 3 4 5 2 3 3 5 h D(v) Path D(w) Path D(x) Path D(y) Path D(z) Path
0 2 10 0 2 4 0 f - f - f - f - f -
2 3 1 2 3 1 1 2 u-v 5 u-w 1 u-x f - f -
u z u z 2 2 u-v 4 u-x-w 1 u-x 2 u-x-y 10 u-w-z
1
1 1 2 2 1
1 1 2 2 3 2 u-v 3 u-x-y-w 1 u-x 2 u-x-y 4 u-x-y-z
4 2 u-v 3 u-x-y-w 1 u-x 2 u-x-y 4 u-x-y-z
x
Washington University in St. Louis
y http://www.cse.wustl.edu/~jain/cse473-16/ x y ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-15 5-16
Counting to Infinity Problem Routing Algorithms: Summary
A R1 R2
Time
0 A 1 R1 1. Distance Vectors: Distance to all nodes in the network sent to
1 A 2 R1 neighbors. Small # of large messages.
R1 loses A 1.5 A 16 R1 2. Link State: Cost of link to neighbors sent to entire network.
R1 hears from R2 2 A 3 R2 A 2 R1
Large # of small messages.
(Before it tells R2) 3 A 4 R1
3. Dijkstra’s algorithm is used to compute shortest path using
4 A 5 R2
5 A 6 R1 link state
6 A 7 R2 4. Bellman Ford’s algorithm is used to compute shortest paths
… using distance vectors
… 5. Distance Vector algorithms suffer from the count-to-infinity
14 A 15 R2
problem
15 A 16 R1
16 A 16 R2 Ref: Read Section 5.2 of the textbook and try review questions R3-R6.
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-17 5-18
Homework 5B Overview
Routing Protocols
Prepare the routing calculation table for node 1 in the 1. Autonomous Systems (AS)
following network using the Bellman-Ford Algorithm. 2. Open Shortest Path First (OSPF)
T OSPF Areas
3. Border Gateway Protocol (BGP)
3
2 3
2
1
1 1
1 6
4 4
1
4 5
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-19 5-20
Autonomous Systems Routing Protocols
T An internet connected by homogeneous routers under T Interior Router Protocol (IRP): Used for passing
the administrative control of a single entity routing information among routers internal to an
autonomous system. Also known as IGP.
Subnet 1.2 Subnet 1.2
T Examples: RIP, OSPF, IGRP
5-21 5-22
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-23 5-24
Border Gateway Protocol BGP Operations
T Inter-autonomous system protocol [RFC 1267] T BGP systems initially exchange entire routing tables.
T Used since 1989 but not extensively until recently Afterwards, only updates are exchanged.
T Runs on TCP (segmentation, reliable transmission) T BGP messages have the following information:
T Origin of path information: RIP, OSPF, …
T Advertises all transit ASs on the path to a destination address
T AS_Path: List of ASs on the path to reach the dest
T A router may receive multiple paths to a destination Can
T Next_Hop: IP address of the border router to be
choose the best path
used as the next hop to reach the dest
T iBGP used to forward paths inside the AS. T Unreachable: If a previously advertised route has
eBGP used to exchange paths between ASs. become unreachable
AS1 AS2 T BGP speakers generate update messages to all peers
iBGP when it selects a new route or some route becomes
eBGP
unreachable.
Ref: Section 5.4 of the textbook.
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-25 5-26
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-27 5-28
Intra- vs. Inter-AS Routing Routing Protocols: Summary
T Policy:
T Inter-AS: admin wants control over how its traffic
1. OSPF uses link-state routing and divides the
routed, who routes through its net. autonomous systems into multiple areas.
T Intra-AS: single admin, so no policy decisions
Area border router, AS boundary router, designated
needed router
T Scale: 2. BGP is an inter-AS protocol Policy driven
T Hierarchical routing saves table size, reduced
update traffic
T Performance:
T Intra-AS: can focus on performance
5-29 5-30
Network Topology Mgr Stats Mgr Switch Mgr FRM Host Tracker
Service OVSDB
Functions GBP Svc L2 Switch LACP LISP Svc NIC Neutron
5-31 5-32
OpenDaylight SDN Controller ICMP
T Multi-company collaboration under Linux foundation T Internet Control Message Protocol
T Many projects including OpenDaylight Controller T Required companion to IP. Provides feedback from
T Dynamically linked in to a Service Abstraction Layer the network.
(SAL) SAL figures out how to fulfill the service T ICMP: Used by IP to send error and control messages
requested by higher layers irrespective of the T ICMP uses IP to send its messages (Not UDP)
southbound protocol
T ICMP does not report errors on ICMP messages.
T Modular design
T ICMP reports error only on the first fragment
T A rich set of North-bound APIs via RESTful (Web
page like) services ICMP Header ICMP Data
IP Header IP Data
Datalink Header Datalink Data
Ref: Read Section 5.5 and try review questions R14-R18.
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-33 5-34
5-35 5-36
Trace Route Example Lab 5A: ICMP
C:\>tracert www.google.com T Download the Wireshark traces from
Tracing route to www.l.google.com [74.125.93.147] http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip
over a maximum of 30 hops: T Open icmp-ethereal-trace-1 in Wireshark.
1 3 ms 1 ms 1 ms 192.168.0.1 Select View o Expand All. Answer the following questions:
2 12 ms 10 ms 9 ms bras4-l0.stlsmo.sbcglobal.net [151.164.182.113]
3 10 ms 8 ms 8 ms dist2-vlan60.stlsmo.sbcglobal.net [151.164.14.163] 1. Examine Frame 3.
4 9 ms 7 ms 7 ms 151.164.93.224
5 25 ms 22 ms 22 ms 151.164.93.49 A. What is the IP address of your host? What is the IP
6
7
25
30
ms
ms
22
28
ms
ms
22
28
ms
ms
151.164.251.226
209.85.254.128
address of the destination host?
8
9
61
54
ms
ms
57
52
ms
ms
58
51
ms
ms
72.14.236.26
209.85.254.226
B. Why is it that an ICMP packet does not have source and
10 79 ms 160 ms 67 ms 209.85.254.237 destination port numbers?
11 66 ms 57 ms 68 ms 64.233.175.14
12 60 ms 58 ms 58 ms qw-in-f147.google.com [74.125.93.147] C. What are the ICMP type and code numbers? What other
Trace complete. fields does this ICMP packet have? How many bytes are
the checksum, sequence number and identifier fields?
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-37 5-38
5-39 5-40
What is Network Management? Components of Network Management
T Traffic on Network = Data + Control + Management 1. Fault Management:
T Data = Bytes/Messages sent by users Detect, log, and respond to fault conditions
T Control = Bytes/messages added by the system to properly 2. Configuration Management:
transfer the data (e.g., routing messages) Track and control which devices are on or off
T Management = Optional messages to ensure that the network 3. Accounting Management:
functions properly and to handle the issues arising from Monitor resource usage for records and billing
malfunction of any component 4. Performance Management:
T If all components function properly, Measure, report, analyze, and control traffic, messages
control is still required but management is optional. 5. Security Management:
T Examples: Enforce policy for access control, authentication, and
T Detecting failures of an interface card at a host or a router
authorization
T Monitoring traffic to aid in resource deployment
T FCAPS
T Intrusion Detection
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-41 5-42
Agent MIB
A MIB is
Agent defined for
each device
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-43 5-44
SNMP SNMP protocol
T Based on Simple Gateway Management Protocol (SGMP) –
RFC 1028 – Nov 1987 Two ways to convey MIB info, commands:
T SNMP = Simply Not My Problem [Marshall Rose]
Simple Network Management Protocol Managing Managing
Entity Entity
T RFC 1058, April 1988
T Only Five commands Request
Trap Msg
Command Meaning
Response
get-request Fetch a value
get-next-request Fetch the next value (in a tree) Agent data Agent data
get-response Reply to a fetch operation
set-request Managed device Managed device
Store a value
trap An event Request/response mode Trap mode
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-45 5-46
Ref: Read Section 5.7 of the textbook and try review questions R21-R23.
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-47 5-48
Network Layer Control Plane: Summary Acronyms
T ABR Area border router
T API Application Programming Interface
T AS Autonomous System
T ASBR Autonomous System Boundary Router
1. Dijkstra’s algorithm allows path computation using link state T BDR Backup Designated Router
T BGP Border Gateway Protocol
2. Bellman Ford’s algorithm allows path computation using T BR Backbone Router
distance vectors. T CAPWAP Control and Provisioning of Wireless Access Points
3. OSPF is a link state IGP. T CCITT Consultative Committee for International Telegraph and
Telephone (now ITU-T)
4. BGP is an EGP and uses path vectors T CoAP Constrained Application Protocol
5. SDN controllers use various algorithms for centralized T COPS Common Open Policy Service
computation of path and other policies T DIDM Device Identifier and Driver Management
6. ICMP is IP control protocol is used to convey errors T DLUX OpenDaylight User Interface
T DOCSIS Data over Cable Service Interface Specification
7. SNMP is the simple network management protocol to manage T DR Designated Router
all devices and protocols in a network T eBGP exterior BGP
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-49 5-50
5-51 5-52
Acronyms (Cont) Scan This to Download These Slides
T SDN Software Defined Networking
T SDNI SDN domains interface
T SFC Service Function Chaining
T SGMP Simple Gateway Management Protocol
T SNBI Secure Network Bootstrapping Interface
T SNMP Simple Network Management Protocol
T SXP SGT (Security Group Tags) Exchange Protocol
T TCP Transmission Control Protocol
T ToS Type of Service Raj Jain
T TSDR Time Series Data Repository
T TTL Time to Live
http://rajjain.com
T UDP User Datagram Protocol
T USC Unified Secure Channel
T VPN Virtual Private Network
T VTN Virtual Tenant Network
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-53 5-54
Related Modules
CSE 473s: Introduction to Computer Networks
(Course Overview),
http://www.cse.wustl.edu/~jain/cse473-16/ftp/i_0int.pdf
CSE473S: Introduction to Computer Networks (Fall 2016),
http://www.cse.wustl.edu/~jain/cse473-16/index.html
Wireless and Mobile Networking (Spring 2016),
http://www.cse.wustl.edu/~jain/cse574-16/index.html
CSE571S: Network Security (Fall 2014),
http://www.cse.wustl.edu/~jain/cse571-14/index.html
Audio/Video Recordings and Podcasts of
Professor Raj Jain's Lectures,
https://www.youtube.com/channel/UCN4-5wzNP9-ruOzQMs-8NUw
Washington University in St. Louis http://www.cse.wustl.edu/~jain/cse473-16/ ©2016 Raj Jain
5-55