Routing Protocols
CSCI 690Lecture 5-7
Michael HuttNew York Institute of Technology
Overview Static Routing Dynamic Routing Protocols
Distance Vector Protocols Link State Protocols
Interior Gateway Protocols RIP RIPv2 OSPF IS-IS
Exterior Gateway Protocols BGP4
CIDR - Classless Interdomain Routing Multicast Routing Protocols
Overview…
Route Tableearth#sh ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route
Gateway of last resort is not set
172.16.0.0/32 is subnetted, 4 subnetsO 172.16.1.4 [110/11] via 192.168.203.253, 00:01:36, Ethernet0C 172.16.1.1 is directly connected, Loopback0O 172.16.1.3 [110/61] via 192.168.203.253, 00:01:37, Ethernet0O 172.16.1.2 [110/1623] via 192.168.203.253, 00:01:37, Ethernet0 192.168.5.0/30 is subnetted, 2 subnetsO 192.168.5.8 [110/60] via 192.168.203.253, 00:01:37, Ethernet0O 192.168.5.0 [110/1622] via 192.168.203.253, 00:01:37, Ethernet0 10.0.0.0/32 is subnetted, 1 subnetsO 10.1.1.1 [110/1623] via 192.168.203.253, 00:01:37, Ethernet0C 192.168.203.0/24 is directly connected, Ethernet0C 192.168.1.0/24 is directly connected, Ethernet1O 192.168.103.0/24 [110/1632] via 192.168.203.253, 00:01:37, Ethernet0
Static Routesearth#sh ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter
area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route
Gateway of last resort is 192.168.1.1 to network 0.0.0.0
172.17.0.0/24 is subnetted, 1 subnetsS 172.17.1.0 is directly connected, Ethernet1
Dynamic Routing Protocols Dynamically create and update routing tables Compensate for topology changes IP Routing Protocols
RIP RIPv2 IGRP (Cisco Only) EIGRP (Cisco Only) OSPF IS-IS BGP4 EGP
Routers must be using the same protocol to shareinformation
Routing Protocol Basics Path Determination
Install directly connected networks in the routing tablebased on interface configuration
interface Ethernet1 description backbone connection ip address 192.168.1.254 255.255.255.0 ip pim sparse-dense-mode
earth#sh ip route 192.168.1.0Routing entry for 192.168.1.0/24 Known via "connected", distance 0, metric 0
(connected, via interface) Routing Descriptor Blocks: * directly connected, via Ethernet1 Route metric is 0, traffic share count is 1
Routing Protocol Basics… Metrics - to choose from multiple routes to the same
destination
Hop Count Counts router hops
Bandwidth Load
Traffic utilization Delay Reliability
Errors on link Cost
Configured by network admin
Routing Protocol Basics…earth#sh int e1Ethernet1 is up, line protocol is up Hardware is Lance, address is 00e0.b064.0b7d (bia 00e0.b064.0b7d) Description: backbone connection Internet address is 192.168.1.254/24 MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters never Input queue: 1/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 2099 packets input, 163455 bytes, 0 no buffer Received 269 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 input packets with dribble condition detected 2005 packets output, 160113 bytes, 0 underruns 0 output errors, 0 collisions, 21 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out
Routing Protocol Basics…
Convergence The process of bringing all route tables to a state
of consistency
Load Balancing Optionally alternate traffic between multiple paths Packet by packet or session by session
(destination)
Distance Vector Protocols
R.E. Bellman, L.R. Ford and D.R. Fulkerson
Bellman-Ford or Ford-Fulkerson Algorithms
Advertise routes as a vector containing (distance,direction) destination 192.168.103.0/24 is 3 hops away in
the direction of 192.168.203.253
Distance Vector Protocols…
Routers will periodically send updates to theirneighbors by broadcasting their entire routingtable
RIP for example broadcasts its routing tableto its neighbors every 30 sec
After 3 to 6 update periods if info about acertain route is not included it is removedfrom the routing table
Distance Vector Protocols… Split Horizon
Routes are not advertised back out the interfacethey were received from
Prevents routing loops by not advertising reverseroutes
Split Horizon with poisoned reverse Advertises reverse routes but with a metric (hop
count) of infinity
Distance Vector Protocols…
Counting to Infinity Define infinity to be 16 Hop count of 16 means network is
unreachable
Distance Vector Protocols…
Triggered Updates as soon as a metric changes an update is
immediately sent
Hold-down Timers if a metric changes for a route, don’t accept any
new updates until the timer expires - reducelikelihood of bad routing info as changes in thenetwork are occurring
Link State Protocols Each router has a complete picture of the network
and can compute its own best paths
The topology information in each router is identical
Shortest path first or distributed database protocols
Dijkstra’s Algorithm
OSPF and IS-IS
Link State Protocols… An adjacency is established with each neighbor Each router sends LSAs (link state advertisements)
to each neighbor LSA contains link identifier, state of the link, metric
cost of the link, and any neighbors connected viathat link
Each neighbor floods all LSAa received to all itsneighbors
Once the topology or link state database is completeeach router can compute the shortest path to anydestination using Dijkstra’s algorithm and update itsown routing table
Link State Protocols…
Routers send hello packets containing arouter ID (ip address of an interface - e.g.,Loopback0) to establish adjacencies with itsneighbors
If hello packets are not heard e.g., every 10s,then the adjacency is broken after say 4timeouts, and the neighbor is consideredunreachable
Link State Protocols…
LSAs are flooded immediately when achange occurs
Convergence is much quicker than withdistance vector protocols
Sequence numbers are used to detectduplicate LSAs
Link State Protocols… Sequence number spaces can be linear or circular
IS-IS uses a 32 bit linear sequence number space
Finding the larger number in a circular sequencenumber space a > b and (a-b) <= n/2 a < b and (b-a) > n/2
if n = 6 and we’re given 48 and 18 48 > 18 and (48-18) = 30 and 30 < 32, so 48 is more recent
Link State Protocols… Lollipop-Shaped Sequence Number Spaces
Hybrid of linear and circular number spaces Linear number space forms the stick - used for
restarts Circular number space forms lollipop - after a
router restarts and receives an LSA from aneighbor it can jump back to the circular portion -where it was before it restarted
Link State Protocols…
Each LSA contains an age field initialized tozero
Each router increments the field when theLSA is received
If two LSAs with the same sequence numberand different ages are received, the age canbe used to determine which one to keep(routing protocol specific based onMaxAgeDiff)
Link State Protocols…earth#sh ip ospf database
OSPF Router with ID (172.16.1.1) (Process ID 100)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count172.16.1.1 172.16.1.1 1134 0x80000007 0x7D6D 3172.16.1.2 172.16.1.2 1034 0x80000007 0x2DBC 5172.16.1.3 172.16.1.3 1058 0x80000009 0x8B33 5172.16.1.4 172.16.1.4 1093 0x80000009 0x62D3 4
Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum192.168.203.253 172.16.1.4 1093 0x80000006 0x3689
Link State Protocols…
Link State Database
Router link information (routerID, neighborID,cost)
Stub network information (routerID, networkID,cost) - network with no neighbors
Dijkstra’s algorithm is run by each router in thenetwork to build its own routing table
Link State Protocols…
Area - subset of routers that make up aninternetwork
Area Border Routers (ABRs) connect areas ABRs pass a summary of the link state info
Dijkstra’s Algorithm
C 0 CF 2 C -> FB 2 C -> BG 3 C -> F -> GE 3 C -> B -> ED 5 C -> B -> E -> DA 7 C -> B -> E -> D -> A
Dijkstra’s Algorithm…7 nodes in the network: F A D C G E Bunsolved C D A F B E Gworking on C...checking neighbor F...new dist for F: 2, prev: Cchecking neighbor G...new dist for G: 5, prev: Cchecking neighbor B...new dist for B: 2, prev: Cunsolved F B G E A Dworking on F...checking neighbor C...old dist for C: 0, prev: Cchecking neighbor G...new dist for G: 3, prev: Fchecking neighbor E...new dist for E: 6, prev: Funsolved B G E A Dworking on B...checking neighbor A...new dist for A: 8, prev: Bchecking neighbor C...old dist for C: 0, prev: Cchecking neighbor E...new dist for E: 3, prev: Bunsolved G E A Dworking on G...checking neighbor F...old dist for F: 2, prev: Cchecking neighbor C...old dist for C: 0, prev: Cunsolved E A Dworking on E...checking neighbor F...old dist for F: 2, prev: Cchecking neighbor D...new dist for D: 5, prev: Echecking neighbor B...old dist for B: 2, prev: Cunsolved D Aworking on D...checking neighbor A...new dist for A: 7, prev: Dchecking neighbor E...old dist for E: 3, prev: Bunsolved Aworking on A...checking neighbor D...old dist for D: 5, prev: Echecking neighbor B...old dist for B: 2, prev: C
Autonomous System (AS) An internetwork under a common administration Interior Gateway Protocols run within an AS Distance Vector and Link State protocols are IGPs Exterior Gateway Protocols route between
Autonomous Systems BGP4 EGP IDRP (ISO’s InterDomain Routing Protocol)
IGP vs EGP
RIP Routing Information Protocol Classful routing protocol Uses UDP port 520 Updates are broadcast out all RIP enabled
interfaces every 30 seconds If an update for a route is not heard in 180 seconds
the route is set as unreachable (hop count of 16) Workstations can run RIP (routed) routed -q - listens to RIP but does not generate RIP
updates Broadcasts contain up to 25 routes at a time
RIP… Classful routing RIP does not advertise a subnet mask in its updates The router must use the mask configured on one of
its interfaces and assume that is the mask usedthroughout the network
jupiter# debug ip rip*Mar 1 04:48:20.113 UTC: RIP: sending v1 update to 255.255.255.255 via Ethernet0/0
(192.168.203.253)*Mar 1 04:48:20.113 UTC: RIP: build update entries - suppressing null update*Mar 1 04:48:20.702 UTC: RIP: received v1 update from 192.168.203.254 on Ethernet0/0*Mar 1 04:48:20.706 UTC: 192.168.1.0 in 1 hops
R 192.168.1.0/24 [120/1] via 192.168.203.254, 00:00:02, Ethernet0/0
RIP Version 2
Authentication (MD5) Route Tag for interaction with EGPs (BGP) Routing updates now contain subnet mask
info - supports VLSM Next to which packets should be forwarded,
e.g., skip hops where RIP is not being run Multicast route updates to 224.0.0.9
RIPv2 VLSM
Variable Length Subnet MaskingBreak up an address using different subnet masks
Subnet/Mask Address Range Broadcast Address
192.168.50.0/25 192.168.50.1 - 192.168.50.126 192.168.50.127
192.168.50.128/26 192.168.50.129 - 192.168.50.190 192.168.50.191
192.168.50.192/27 192.168.50.193 - 192.168.50.222 192.168.50.223
192.168.50.224/28 192.168.50.225 - 192.168.50.238 192.168.50.239
192.168.50.240/30 192.168.50.241 - 192.168.50.242 192.168.50.243
192.168.50.244/30 192.168.50.245 - 192.168.50.246 192.168.50.247
OSPF IETF Recommended IGP
Link State Protocol
Uses Dijkstra’s SPF Algorithm
V1 only experimental
V2 used in production environments
OSPF… Use of areas reduces load on cpu
Fully classless - supports VLSM
Uses multicast to flood LSAs
Supports authentication
Operation of OSPF Send hello packets to find neighbors Form adjacencies between neighbors Send LSAs over all adjacencies Each router records each LSA in its Link State
Database By flooding LSAs all routers build identical
databases When DBs are complete each router runs SPF
algorithm to find shortest path to each destination Each router builds its own routing table from the
shortest path trees
Neighbors and Adjacencies Router ID - numerically highest IP address on any
of the loopback interfaces (Cisco) Router ID is advertised to neighbors in hello packets Hello protocol used to discover neighbors Hello protocol acts as keepalives between neighbors Hello protocol elects Designated Routers (DRs) and
Backup DRs on broadcast networks
Designated Routers Multiaccess networks with n routers will form n*(n-
1)/2 adjacencies For example 5 routers connected to an ethernet will
form 10 adjacencies (fully meshed) Each router would flood 4 LSAs plus one LSA for
the common ethernet Only the DR floods LSAs to the internetwork A backup DR is also elected All routers form adjacencies with the DR and BDR
OSFP Interfaceearth#sh ip ospf intEthernet0 is up, line protocol is up Internet Address 192.168.203.254/24, Area 0 Process ID 100, Router ID 172.16.1.1, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 172.16.1.4, Interface address 192.168.203.253 Backup Designated router (ID) 172.16.1.1, Interface address
192.168.203.254 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:09 Index 3/3, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 1, maximum is 1 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 172.16.1.4 (Designated Router) Suppress hello for 0 neighbor(s)
OSPF Areas Reduces size of link state database Reduces load on cpu Reduces flooding - limited to the area Uses 32 bit area ID Area 0 is reserved for the backbone Backbone summarized topographies of each
area to every other area Every area must connect to area 0 via an
area border router (ABR)
OSPF Areas…
Types of Traffic
Intra-area - traffic within a single area
Inter-area - traffic between areas
External - traffic from another AS
OSPF Areas… Router Types
Internal Routers - routers have a single link statedatabase. All interfaces are in the same area
Area Border Router - connects one or more areasto the backbone. Maintains separate link statedatabases for each area
Backbone Routers - all interfaces belong to area 0 Autonomous System Boundary Router (ASBR) -
gateways for external traffic
OSPF Areas… Partitioned Area
Isolated Area
Virtual Links A link to the backbone through a non-backbone area
Used to connect two parts of a partitioned backbonethrough a non-backbone area
Must be configured between ABRs
Partitioned Area
Partitioned Backbone
Virtual Link
OSPF Link State Database Stores all LSAs LSAs are flushed are 60 min, so updates are sent
every 30 min 11 Different types of LSAs
Router LSA - lists all router links along with state and cost Network LSA - sent by DR, lists all attached routers Opaque LSAs - advertise application specific info. E.g.,
bandwidth usage for traffic engineering External LSAs - flooded by ASBRs
OSFP Stub Area
Area into which AS External LSAs are NOTflooded
All traffic must pass through the ABR toreach the external networks
ABR uses Network Summary LSAs toadvertise a single default route
Not-So-Stubby-Areas Allow external routes to be advertised into OSPF
NSSA
IS-IS Intermediate System to Intermediate System
Routing protocol for ISO’s ConnectionlessNetwork Protocol (CLNP)
Integrated IS-IS or Dual IS-IS Extension to IS-IS to support transition from
TCP/IP to OSI Could route both IP and CLNS
IS-IS Areas
Area borders are on links not routers Routers connecting areas are level 2 routers Routers with no direct connection to another
area are level 1 routers Routers can be L1, L2 or L1/L2 L2 and L1/L2 router form the IS-IS backbone Distributes link state info in Link State PDUs,
not LSAs
Network Entity Title
IS-IS Router Address area id.system id.sel 07.0000.3090.c7df.00 If sel is something other than zero, than it is a
Network Service Access Point (NSAP) System id will usually be set to a mac
address to ensure it’s unique
Border Gateway Protocol 4(BGP4) Exterior Routing and Autonomous Systems Basic Messages CIDR Path Vector Protocol Path Attributes
http://www.bgp4.as/
BGP4
An Exterior Gateway Protocol (EGP), used topropagate tens or hundreds of thousands ofroutes between networks (ASs).
The only protocol used to do this on theInternet today.
BGP4 Overview The Border Gateway Protocol, currently Version 4 -
defined in RFC 1771, and extended (with additionaloptional attributes) in other RFCs.
A “path-vector” routing protocol, running over TCPport 179.
Supports modern “classless” routing. BGP3, RIPv1,and some others do NOT.
Version 4 handles aggregation (CIDR) andsupernetting
BGP4 and AS Numbers
AS 4969
AS 5000
AS 6461
AS 701
AS 12001
Basic Messages Open
Initiates BGP session between routers Update
Advertise routing information Notification
Used to report an error KeepAlive Route-Refresh
Specific request for a router to re-advertise all its routes
Basic Messages…
BGP Speaker - can send and receive BGPmessages
BGP Peers - pair of routers that exchangeBGP messages
Classless Interdomain Routing(CIDR)
Reduces the size of routing tables Uses prefix notation 192.32.0.0/16 - illegal class C network With CIDR 192.32.0.0/16 is a supernet
Prefix contains fewer bits than the natural mask 192.32.1.0/20 - more specific Longer mask always used for routing
Longest Match Routing Rule
CIDR Example
192.24.160.0/19
Netmask: 255.255.224.0
Wild card mask: 0.0.31.255
CIDR Address Range 192.24.160.0 - 192.24.191.255
CIDR Conversion TableCIDR Length Mask # Networks /1 128.0.0.0 128 A /2 192.0.0.0 64 A /3 224.0.0.0 32 A /4 240.0.0.0 16 A /5 248.0.0.0 8 A /6 252.0.0.0 4 A /7 254.0.0.0 2 A /8 255.0.0.0 1 A or 256 B /9 255.128.0.0 128 B /10 255.192.0.0 64 B /11 255.224.0.0 32 B /12 255.240.0.0 16 B /13 255.248.0.0 8 B /14 255.252.0.0 4 B /15 255.254.0.0 2 B /16 255.255.0.0 1 B or 256 C /17 255.255.128.0 128 C /18 255.255.192.0 64 C /19 255.255.224.0 32 C /20 255.255.240.0 16 C /21 255.255.248.0 8 C /22 255.255.252.0 4 C /23 255.255.254.0 2 C /24 255.255.255.0 1 C /25 255.255.255.128 1/2 C /26 255.255.255.192 1/4 C /27 255.255.255.224 1/8 C /28 255.255.255.240 1/16 C /29 255.255.255.248 1/32 C /30 255.255.255.252 1/64 C /31 255.255.255.254 1/128 C /32 255.255.255.255 1/256 C
Path Vector Protocol
Sequence of AS numbers to indicate the patha route has traversed
Network Layer ReachabilityInformation(NLRI) <length, prefix> Lists destinations <19,192.24.160.0> 192.24.160.0/19
Path Attributes ORIGIN (type code 1) AS_path (type code 2) NEXT_HOP (type code 3) MULTI_EXIT_DISC (type code 4) LOCAL_PREF (type code 5) ATOMIC_AGGREGATE (type code 6) AGGREGATOR (type code 7) COMMUNITY (type code 8) ORIGINATOR_ID (type code 9) Cluster List (type code 10)
AS Path
AS numbers are prepended to the path
AS Path Manipulation
Can repeat AS number to make path look worse
The Local Preference Attribute Higher local pref indicates a route is more preferred
for a specific destination Used to select links for OUTGOING traffic
The MULTI_EXIT_DISC (MED)Attribute
Hint to external neighbors about the preferredpath into an AS
Lower MED value is preferred over a highervalue
MED is exchanged between ASs
The Community Attribute A group of destinations that share some
common property
Not restricted to a single AS
Example: educational or governmentcommunity
Simplify routing policies
Other Routing Protocols
IGRP EIGRP ES-IS - ISO protocol to run between end
systems and routers Interdomain Routing Protocol (IDRP) - ISO
standard built on BGP Hot Standby Router Protocol (HSRP)
HSRP
Cisco Protocol (Patented) Represents multiple routers as a virtual
router Routers share a virtual IP and MAC address Virtual Router Redundancy Protocol (VRRP)
- open protocol freely available
HSRP…
jupiter#sh standbyEthernet0/0 - Group 0 Local state is Standby, priority 100 Hellotime 3 sec, holdtime 10 sec Next hello sent in 1.922 Virtual IP address is 192.168.203.1 configured Active router is 192.168.203.254, priority 105 expires in 7.360 Standby router is local 1 state changes, last state change 00:05:31 IP redundancy name is "hsrp-Et0/0-0" (default)
HSRP…earth#sh standbyEthernet0 - Group 0 Local state is Active, priority 105, may preempt Hellotime 3 sec, holdtime 10 sec Next hello sent in 1.330 Virtual IP address is 192.168.203.1 configured Active router is local Standby router is 192.168.203.253 expires in 8.932 Virtual mac address is 0000.0c07.ac00 2 state changes, last state change 00:11:21
Multicast Routing Protocols
Multicast Basics Distribution Trees Reverse Path Forwarding TTL Check Protocol Categories IGMP PIM-SM
Multicast Basics Multicast uses class D addresses (groups) Hosts must join the group they wish to receive traffic
on Link Local Multicast Addresses
IANA reserved 224.0.0.0 through 224.0.0.255 for use bynetwork protocols on a local segment
E.g. 224.0.0.2 All Multicast Routers 224.0.0.5 OSPF Routers 224.0.0.13 All PIM Routers
Multicast Basics…
Administratively Scoped Multicast Addresses IANA reserves 239.0.0.0 through
239.255.255.255 for use in private multicastdomains
Ethernet Multicast MAC Address Mapping 01:00:5e:xx:xx:xx only low order 23 bits are available to map IP
address 32 to 1 overlap
Multicast Distribution Trees Source Trees
Tree rooted at source Branches form a spanning tree through the network Uses the shortest path through the network Also called SPT - shortest path tree SPT is enumerated by the Source and Group (S,G) A separate SPT exists for each (S,G)
Shared Trees Uses a single common root Rendezvous Point (RP) or Core RP trees or Core based trees All sources send traffic to the root Tree represented by (*,G)
Source Trees
Shared Tree
Reverse Path Forwarding
Router checks source IP address of packet todetermine if the packet arrived via aninterface that is on the reverse path back tothe source.
If the packet arrives on the interface leadingback to the source the RPF check issuccessful and the packet is forwarded.
If the RPF check fails, the packet isdiscarded.
RPF Check
Router needs to consult routing table to findreverse path back to the source
If RPF check is successful, the packet isforwarded to all interfaces in the OIL.
s0e0s1
192.168.1.0/24172.16.0.0/16151.10.0.0/16
InterfaceNetwork
RPF Check…
Which routing table to use: DVMRP maintains a separate routing table and
uses this for the RPF check PIM and CBT use the unicast routing table
Distance Vector Multicast Routing Protocol(DVMRP)
Protocol Independent Multicast (PIM) Core-Based Trees (CBT)
TTL Thresholds
TTL Scoping A router’s interface can be configured to only
forward multicast packets if the ttl is greater thana certain value.
TTL = 0 stays within the source host
TTL = 1, stays on local subnet
Multicast Routing ProtocolCategories
Dense Mode Protocols DVMRP PIM-DM
Sparse Mode Protocols PIM-SM CBT
Link State Protocols MOSPF
Dense Mode Protocols Employ only SPTs to delivery (S,G) multicast traffic
using the push principle Assume every subnet in the network wants to
receive the multicast Floods multicast to all points in the network Prune back tree where there are no multicast
receivers When a prune message is received, the interface
that the message was received on is removed fromthe oil
Sparse Mode Protocols Make use of shared trees, and occasionally SPTs Uses pull model - receivers must issue an explicit
JOIN Shared tree branch must be constructed from the
root Routers forward the shared JOIN towards the RP PIM-SM also allows SPT joins toward the source to
build an SPT Prune messages are sent when hosts leave the tree
Link State Protocols
MOSPF uses SPTs to distribute multicasttraffic
Flood/Prune mechanism is not used Flood special multicast, link state info that
identifies the location of receivers. Each router then builds SPTs from each
source to the receivers in the group.
IGMP V1
Membership Query Membership Report
V2 Membership Query
General Query Group-Specific Query
V1 Membership Report V2 Membership Report Leave Group
IGMPv3From RFC 3376
Version 3 adds support for "source filtering", that is, the ability for asystem to report interest in receiving packets *only* from specificsource addresses, as required to support Source-Specific Multicast[SSM], or from *all but* specific source addresses, sent to a particularmulticast address. Version 3 is designed to be interoperable withVersions 1 and 2.
PIM-SM Protocol Independent
uses unicast routing table for RPF check Explicit Join Model Shared Trees Shortest Path Trees (SPT) Source Registration Designated Router (DR) STP Switchover RP Discovery
Shared Trees
Receiver sends IGMP Report for Group GRouter C places the interface in its OILSends PIM join towards RP - join shared tree
Shortest Path Trees
Source Registration
PIM uses unidirectional trees Traffic can only flow down the tree from the
RP RP joins the SPT back to the source to get
traffic to the RP PIM Register message sent by first hop DR
to RP to notify RP that Source S is sending toGroup G
Designated Router
DR sends PIM join messages towards theRP when more than one router exists on asubnet
PIM Hello messages can also detect thefailure of the DR
SPT Switchover SPT threshold (bandwidth)
If the threshold is exceeded the last-hop DR joinsthe SPT
If the threshold is zero then the SPT is joined assoon as the first multicast packet is received via theshared tree
If SPT threshold is infinity, the SPT is never joined
RP Discovery
Static configuration - ok for small networks
PIMv2 bootstrap mechanism allows all PIM-SM routers to lean all group-to-RP mappingsand avoid manual RP configuration
Cisco Auto-RP was developed prior to PIMv2