Unicast Routing Protocols 3

advertisement
Lecture 6
C
S
Continuing Chapter 11
4
5
0
0
Unicast Routing
Protocols
(RIP, OSPF, BGP)
(How the routers’ tables are filled in)
Dr. Clincy
1
Popular Unicast Routing protocols
C
S
4
5
0
0
• RIP – Routing Information Protocol – treats each network the same (assigns
the same cost for each network) – already covered
• OSPF – Open Shortest Path First protocol – assigns a cost for passing
through a network based on the type of service required – routes through the
network can have different cost – each router would have several tables
• BGP – Border Gateway Protocol – is an exterior routing protocol that uses a
policy that defines what paths should be chosen
Dr. Clincy
2
OSPF: Open Shortest Path First
C
S
• Similar to RIP however, divide autonomous system into areas
• Routers with in an area floods the area with routing info – router sends to all it’s neighbors
and each neighbor sends to all it’s neighbors and etc..
• At the border of an area, special routers called area border routers are used to (1)
summarize info about an area and (2) send info amongst areas
• A special area called the backbone is used to tie together all of the areas – backbone is
primary area and all other areas are secondary areas – backbone area uses backbone
routers
4
5
0
0
• Note: backbone router can also be an area border router
• Each area has an ID (backbone’s Id is 0)
Explain Current Real World Practices relating to this topic
Dr. Clincy
3
Recall OSPF: Open Shortest Path First
C•
S
•
•
4
5
0
0
•
•
•
The OSPF is similar to RIP however, it allows the admin the
ability to assign a cost or metric to each route.
The metric can be based on a type of service (ie . Min delay,
max throughput, etc..)
For OSPF, a router will have multiple routing tables – one
for each TOS
Unlike RIP, sharing or updating is done when there is a
change (not periodically)
For OSPF, the objective is for the routers to contain the full
picture or topology of the Internet – by having this, the
router can figure out the “shortest path” or “least cost” route
between itself and each network
To do this, the Internet is represented by a graph – set of
edges and nodes
Dr. Clincy
4
Defining edges or connections/links
C
S
Point-to-point link
Virtual link
Direct connection between two
routers, no IP address needed
Bi-directional Edge
4
5
0
0
When link between two routers are
broken, admin creates a new route
across multiple routers
Transient link
Stub link
Represents
the network
Dr. Clincy
Connects to only one router – packets
enter and leave through this same
router
5
Graphical representation of an internet
C
S
4
5
0
0
Dr. Clincy
6
OSPF uses Dijkstra’s Shortest Path Algorithm
C
S
4
5
0
0
Dr. Clincy
7
Dijkstra’s Algorithm Cont..
C
S
4
5
0
0
Dr. Clincy
8
Dijkstra’s Algorithm Continued
C
S
4
5
0
0
At this point, we would have the least cost path from A to all other nodes
Note: to find the least cost paths from E to all other nodes, Disjkstra’s algorithm has to run
again
Dr. Clincy
9
C
S
4
5
0
0
Answer in Hyphen Format
A-D
A-D-N3
A-D-N3-F
A-N1-B-E
A-N1-B-E-N4
A-N1-C
A-D-N3-F-N5
A-N1-C-N2
A-N1
Dr. Clincy
A-N1-B
10
C
S
A re-occurring theme
4
5
0
0
How do the OSPF packets travel across the
network(s) ??????????????
Dr. Clincy
11
C
S
OSPF packets are
encapsulated in IP datagrams.
4
5
0
0
Dr. Clincy
12
BGP: Border Gateway Protocol
C
S
4
5
0
0
BPG is an interautonomous
system routing
protocol that
makes use of path
vector routing
For BPG, each routing entry contains (1) destination network, (2)
next router (hop) and (3) entire path to reach destination
Path is an ordered list of
autonomous systems that
the packet should travel
through to make it to the
destination
Dr. Clincy
13
C Lecture 6
S
Chapter 12
Multicast Routing Protocols
4
5
0
0
Dr. Clincy
Lecture
14
Put Your
Unicast
Routing
HAT on
C
S
4
5
0
0
Dr. Clincy
Lecture
15
Recall Unicasting Vs Multicasting Vs Broadcasting
C Unicasting Case:
S
4
5
0
0
•
In unicast routing, the router forwards the received
packet through only one of its interfaces.
•
Both the source and destination addresses are unicast
addresses
•
One-to-One Relationship
Dr. Clincy
Lecture
16
Multicasting Case
C
S
4
5
0
0
Packet starts from source,
S1, and goes to all
destinations belonging to
group, G1
•
In multicast routing, the router may forward the received packet
through several of its interfaces.
•
The source address is unicast and the destination address is a
group address (Class D)
•
Group address define a set of Rx’s
•
One-to-Many Relationship
•
Actually, the packet is DUPLICATED at each router – only one
Dr. Clincy
Lecture
17
copy travels in between any two
routers
Broadcasting Case
C
S
•
One-to-all case would cause traffic problems
4
5
0
0
Dr. Clincy
Lecture
18
Multicasting versus multiple unicasting
C
S
Recall Multicasting
• One packet start from source and is
duplicated at each router
• Only one copy of the packet travels in
between any two routers
• Packet has a single group address
4
5
0
0
Multiple Unicast Case
• More than one copy of the packet starts
from the source
• Each copy of the packet has a different
destination address
• In this case, there could be multiple copies
traveling between any two routers
Multicast is more efficient than multiple unicast because in the unicast cast, some links
will use more bandwidth in handling more packet copies. Also for the unicast case, there
is more delay at the source due to packet duplication
Dr. Clincy
Lecture
19
C
S
MULTICAST ROUTING
Now we understand what multicasting is
Now let’s understand how packets are routed in the multicast
case
Some Objectives of multicast routing (very complex)
4
5
0
0
• Each Rx of the group must get only one copy of the packet
• Rx’s not belonging to the group DO NOT get a copy of the
packet
• The packet can not visit the same router more than once
(no loops)
• The route from Tx to various Rx’s must be optimal
(shortest path)
Dr. Clincy
Lecture
20
C
S
MULTICAST TREES
• Recall in the RIP/OSPF unicast World, we converted
networks to graphs in finding the optimal routes
• For graphs, nodes can have both successors and predecessors
• In the multicast World, networks are converted to trees
4
5
0
0
• Tree has a hierarchical structure
• Each node on a tree has (1) a single parent and (2) zero to
multiple off-springs (children)
• The root (source or Tx) of the tree is the initial node (has no
parent)
• A leaf (group members) of a tree has no child
• Called Spanning Tree provided all nodes are connected
•Dr. Clincy
NOTE: show students difference
between graph & tree
Lecture
21
Two Types of Trees are used for
multicasting by protocols:
C
S
4
5
0
0
• Source-Based Trees – a single tree is created for each
Source-to-Group combination. For example, given M
sources and N groups, there would be a maximum of
MxN trees
• Group-Shared Trees – each group has it’s own tree.
Given N groups, there would be a maximum of N trees.
Dr. Clincy
Lecture
22
Source-Based Tree
C
S
• Given a source needs to send a packet to group-1, a certain tree is used
• Given the same source needs to send a packet to group-5, a different tree
is used
• Challenge: (1) determining all source-to-group combinations, (2) each
tree needs to be optimal
Two approaches used to create optimal source-based trees:
4
5
0
0
• (1st) An extension to the unicast distance vector routing we covered in
regards to RIP – used by DVMRP (Distance Vector Multicasting
Routing Protocol)
• (2nd) An extension to the unicast link state routing we covered in regards
to OSPF – used by MOSPF (Multicast Open Shortest Path First)
• Another protocol called PIM-DM (Protocol Independent Multicast –
Dense Mode) uses either RIP or OSPF depending on need
Dr. Clincy
Lecture
23
Group-Shared Tree
C
S
• Given a source (source x) needs to send a packet to group-1, a certain tree is
used
• Given a different source (source y) needs to send a packet to the same group,
group-1, the same tree is used
• If either source-x or source-y need to send to a different group, the tree would
change
4
5
0
0
• Note: the tree changes when the group changes – the tree remains the same for a
group regardless if the source changes – the group determines the tree
Two approaches used to create optimal group-shared trees:
• (1st) Steiner Tree – the optimal tree has the minimum cost routes like Dijkstra’
algorithm however, instead of it being based around a source node, it is not
based around any particular source (very complex and has to re-run every time
the topology changes) – not really used by the Internet
• (2nd) Rendezvous-Point Tree – a tree is created for each group and a single
router is selected as the core or rendezvous point or root of the tree. The CBT
(Core-Based Tree Protocol) and PIM-SM (Protocol Independent Multicast –
Sparse Mode) use the rendezvous-point tree approach.
Dr. Clincy
Lecture
24
Multicast routing protocols
C
S
4
5
0
0
Dr. Clincy
Lecture
25
C
S
DVMRP
• Distance Vector Multicast Routing Protocol –similar to the distance vector
routing protocol we covered for the unicast case – next hop scenario.
• For DVMRP, the optimal tree is not pre-defined – only the next hop
How do we build a tree using the DVMRP approach ?
4
5
0
0
• Use a modified “flooding” approach
• Recall what flooding is: a router sends a copy of a packet out of all of it’s
interfaces – all interfaces except the interface the packet came in on
• Flooding will cause looping problems (ie. the same packet copy that left the
router will re-visit the router)
• The flooding is modified to stop the looping problem
How is the flooding modified ??????
Dr. Clincy
Lecture
26
C
S
DVMRP - How is the flooding modified ??????
• Instead of forwarding copies of the packet through all interfaces (except the receiving
interface), ONLY FORWARD THE PACKET IF IT CAME IN ON THE
SHORTEST PATH
If it comes in on the
non-shortest path –
drop it
4
5
0
0
• This approach of only forwarding the packet if it comes in on the shortest path is called
Reverse Path Forwarding (RPF) – RPF prevents looping
How does the router determines if the packet came in on the shortest path ???
• Recall that the unicast routing tables contain the next hop based around the shortest path – the table has
destinations, interfaces and next hops en route to destinations
• If the router used the packet’s source address (instead of destination address), the router could determine
the NEXT HOP and desired INTERFACE to exit en route to the packet’s source address
• Punch Line: if the INTERFACE the packet arrived at, is the same INTERFACE the packet needs to take
in achieving the shortest path en route to the source address – then the PACKET ARRIVED USING
THE SHORTEST PATH – make sense ??
Dr. Clincy
Lecture
27
C
S
DVMRP Continuing
EXAMPLE
A multicast router receives a packet with source address 195.34.23.7
and destination address 227.45.9.5 from interface 2. Should the router
discard or forward the packet based on the following unicast table ?
4
5
0
0
Destination
Interface
121.0.0.0
1
185.67.0.0
2
195.34.0.0
3
SOLUTION: In interpreting the source address of 195.34.23.7 using
the default mask, the router would send the packet to network
195.34.0.0 via interface 3 (not interface 2). Recall the packet came in
on interface 2 – therefore, the router would DROP the packet (and not
forward it)
Dr. Clincy
Lecture
28
C
S
DVMRP Continuing
• What RPF guarantees is: each network will receive a copy of the multicast
packet WITHOUT the loop problem
• What RPF doesn’t guarantee is: each network will receive ONLY ONE
COPY
• With the Reverse Path Forwarding approach, networks could received
multiple copies (see example below)
4
5
0
0
• In fixing this problem, a policy called Reverse Path Broadcasting (RPB)
can be implemented.
Dr. Clincy
Lecture
29
Reverse Path Broadcasting (RPB)
C
S
•
•
•
•
•
4
5
0
0
To eliminate networks (nodes) receiving more than one copy, ONLY THE
PARENT HAS THE RIGHT TO FORWARD (this is the RPB policy)
Recall: with a tree, each node has only ONE PARENT
Therefore, if the parent is the only node that can forward, no node should
receive duplicates
Policy: the router sends the packet only out of those interfaces for which it is
the designated parent.
See the example 
• The next question: “How is the parent determined ????”
• The router with the shortest path to the source is designated as the PARENT
• Recall: because routers share info with their neighbors, they can easily determine
which router has the shortest path to the source
Dr. Clincy
Lecture
30
C
S
4
5
0
0
RPB creates a shortest path
broadcast tree (not multicast tree)
from the source
to each destination.
It guarantees that each
destination
receives one and only
one copy of the packet.
Dr. Clincy
Lecture
31
Reverse Path Multicasting (RPM)
C
S
• Recall RPB broadcast a packet versus multicast
• How is multicasting achieved ? (1) the first packet is broadcasted no matter what,
(2) the remaining packets are multicasted based on pruning and grafting
• Another name for pruning and grafting is Reverse Path Multicasting (RPM)
4
5
0
0
Based on pruning
•
Based on grafting
•
•
Suppose a “leaf” router (a router with NO
children) had previously sent a prune
message and suddenly realize it NOW
INTERESTED in receiving the multicast
packet
The leaf router will issue a grafting message
upstream and as a result, multicasting will
resume
•
•
•
Using the IGMP (Internet Group
Management Protocol), each PARENT
ROUTER holds a membership and
knows which groups it is not
responsible for.
The PARENT ROUTER sends a
“prune message” to it’s upstream
router letting the upstream router know
NOT to send any packets belonging to
certain no-interest groups through that
corresponding interface.
That upstream router will do the same
to it’s upstream router
This creates a “pruning” effect in that
only the packets belonging to a group
are forwarded through a particular
interface
Dr. Clincy
•
Lecture
32
C
S
4
5
0
0
RPM adds pruning and
grafting to RPB
to create a multicast shortest
path tree that supports
dynamic membership
changes.
Dr. Clincy
Lecture
33
C
S
MOSPF
• MOSPF stands for Multicast Open Shortest Path First
• Extension of the OSPF protocol
• Instead of the tree being generated gradually – it’s generated all at once – by using the
link state database (recall)
• With the link state database, the router can see the entire topology
• Each router could then use Dijikstra’s algorithm and obtain a least cost tree for each
router (or node)
4
5
0
0
• For multicasting routing, we need a tree for each source/group pair
• For the source/group trees, the only hosts with the particular group address are included
• We do the previous by associating the unicast address with the group address – with this
approach, we do the calculation the same way using the unicast address however, the
associated group address dictates if the host is added to the tree or not
• MOSPF is a data-driven protocol – the first time a MOSPF router sees a datagram with a
given source and group address, the router calculates Dijkstra
Dr. Clincy
Lecture
34
C
S
Core-Based Tree (CBT) Protocol
• Is a group-shared protocol
• Autonomous systems are divided into regions and a core router or
rendezvous point is used for each region
• In forming a tree:
• 1st: the core router or rendezvous router is selected (very complex - will not
cover this process – not covered in your book as well)
4
5
0
0
• 2nd: all other routers are informed of the unicast address of rendezvous router
• 3rd: all routers wanting to join group sends a “join message” to the
rendezvous router
• 4th: the intermediate routers between the rendezvous router and Tx router
record the address of the source and the interface in which the packet came
into the router on
• 5th: after the rendezvous has received all joined messages – the tree is
formed
Dr. Clincy
Lecture
35
CBT - Sending a multicast packet
C
S
Now that the tree is formed, how are multicast packets sent ?
Any particular source can send a multicast packet to the group by:
• 1st: source (inside or outside of the shared tree) sends packet to
rendezvous router (via the rendezvous router’s unicast address)
• 2nd: rendezvous router then sends the packet to the group members
4
5
0
0
Dr. Clincy
Lecture
36
C
S
DVMRP & MOSPF Versus CBT
• For DVMRP and MOSPF, the tree is created from the
root
• For CBT, the tree is created starting from the leaves
4
5
0
0
• For DVMRP, the tree is first made via broadcast and then
pruned into a multicast tree
• For CBT, initially there is no tree and then a tree is
created gradually via grafting (ie. announcing to the core
you want to be apart of the group)
Dr. Clincy
Lecture
37
C
S
Protocol Independent Multicast – Dense Mode
(PIM-DM)
• PIM-DM is used in a dense multicast environment, such as a LAN
environment.
• PIM-DM is justifiably used when each router is involved in multicasting –
therefore broadcasting is justified
4
5
0
0
• PIM-DM uses reverse path forwarding, pruning and grafting techniques
for multicasting
Dr. Clincy
Lecture
38
Protocol Independent Multicast – Sparse Mode
C
(PIM-SM)
S
• PIM-SM is used in a sparse multicast environment, such as a WAN
environment.
• PIM-SM is used when there is a slight possibility each router is involved in
multicasting – therefore NOT justifying broadcasting
4
5
0
0
• PIM-SM operates more like CBT
• PIM-SM allows the ability to switch between source-based tree and groupshared tree strategies
Dr. Clincy
Lecture
39
Multicast Backbone (MBONE)
C
S
• There are many more unicast oriented routers in the Internet than multicast
routers (ie. routers able to multicast)
• In creating more links between multicast routers, the concept of “tunneling” is
used
• Tunneling - via unicast routers, multicast routers are logically connected – in
essence we create a multicast backbone in logically linking the multicast routers
4
5
0
0
Dr. Clincy
Lecture
40
MBONE – How are tunnels created ?
C
S
How to create a tunnel
• 1st: encapsulate multicast packet inside a unicast packet
(in the data field)
• 2nd: the unicast intermediate routers route the packet to
the next multicast router
4
5
0
0
Dr. Clincy
Lecture
41
Download