Download - 12-Exterior Routing P#88016
-
8/7/2019 12-Exterior Routing P#88016
1/54
Computer Networks with
Internet TechnologyWilliam Stallings
Chapter 12
Exterior Routing Protocols
And Multicasting
-
8/7/2019 12-Exterior Routing P#88016
2/54
Boarder Gateway Protocol
(BGP)
Allows routers (gateways) in different ASs toexchange routing information
Messages sent over TCP
See next slide Three functional procedures
Neighbor acquisition
Neighbor reachability
Network reachability
-
8/7/2019 12-Exterior Routing P#88016
3/54
BGP Messages
Open
Start neighbor relationship with another router
Update
Transmit information about single routeList multiple routes to be withdrawn
Keepalive
Acknowledge open message
Periodically confirm neighbor relationship
Notification
Send when error condition detected
-
8/7/2019 12-Exterior Routing P#88016
4/54
Neighbor Acquisition
Neighbors attach to same subnetwork
If in different ASs routers may wish to exchangeinformation
Neighbor acquisitionis when two neighboring routersagree to exchange routing information regularly Needed because one router may not wish to take part
One router sends request, the other acknowledges
Knowledge of existence of other routers and need to exchange
information established at configuration time or by activeintervention
-
8/7/2019 12-Exterior Routing P#88016
5/54
Neighbor Reachability
Periodic issue of keepalive messages
Between all routers that are neighbors
-
8/7/2019 12-Exterior Routing P#88016
6/54
Network Reachability
Each router keeps database of subnetworks itcan reach and preferred route
When change made, router issues update
message All BGP routers build up and maintain routing
information
-
8/7/2019 12-Exterior Routing P#88016
7/54
Figure 12.1
BGP Message
Formats
-
8/7/2019 12-Exterior Routing P#88016
8/54
Neighbor Acquisition Detail
Router opens TCP connection with neighbor
Sends open messageIdentifies senders AS and gives IP address
Includes Hold Time As proposed by sender
If recipient prepared to open neighborrelationshipCalculate hold time
min [own hold time, received hold time] Max time between keepalive/update messages
Reply with keepalive
-
8/7/2019 12-Exterior Routing P#88016
9/54
Keepalive Detail
Header only
Often enough to prevent hold time expiring
-
8/7/2019 12-Exterior Routing P#88016
10/54
Update Detail
Information about single route through internetInformation to be added to database of any recipient
router
Network layer reachability information (NLRI)
List of network portions of IP addresses of subnets reachedby this route
Total path attributes length field
Path attributes field (next slide)
List of previously advertised routes beingwithdrawn
May contain both
-
8/7/2019 12-Exterior Routing P#88016
11/54
Path Attributes Field Origin
Interior (e.g. OSPF) or exterior (BGP) protocol
AS_Path
ASs traversed for this route
Next_Hop IP address of boarder router for next hop
Multi_Exit_disc
Information about routers internal to AS
Local_Pref
Tell other routers within AS degree of preference Atomic_Aggregate, Aggregator
Uses subnet addresses in tree view of network to reduce informationneeded in NLRI
-
8/7/2019 12-Exterior Routing P#88016
12/54
Withdrawal of Route(s)
Route identified by IP address of destinationsubnetwork(s)
-
8/7/2019 12-Exterior Routing P#88016
13/54
Notification Message
Error notification
Message header error Includes authentication and syntax errors
Open message error
Syntax errors and option not recognised Proposed hold time unacceptable
Update message error Syntax and validity errors
Hold time expired
Finite state machine error
Cease Close connection in absence of any other error
-
8/7/2019 12-Exterior Routing P#88016
14/54
BGP Routing Information
Exchange R1 constructs routing table for AS1 using OSPF
R1 issues update message to R5 (in AS2)
AS_Path: identity of AS1
Next_Hop: IP address of R1
NLRI: List of all subnets in AS1
Suppose R5 has neighbor relationship with R9 in AS3
R9 forwards information from R1 to R9 in update message
AS_Path: list of ids {AS2,AS1}
Next_Hop: IP address of R5
NLRI: All subnets in AS1
R9 decides if this is prefered route and forwards to neighbors
-
8/7/2019 12-Exterior Routing P#88016
15/54
Inter-Domain Routing Protocol
(IDRP)
Exterior routing protocol for IPv6
ISO-OSI standard
Path-vector routing
Superset of BGP
Operates over any internet protocol (not just TCP)
Own handshaking for guaranteed delivery
Variable length AS identifiers
Handles multiple internet protocols and addressschemes
Aggregates path information using routing domainconfederations
-
8/7/2019 12-Exterior Routing P#88016
16/54
Routing Domain Confederations
Set of connected AS
Appear to outside world as single AS
Recursive
Effective scaling
-
8/7/2019 12-Exterior Routing P#88016
17/54
Multicasting
Addresses that refer to group of hosts on one ormore networks
Uses
Multimedia broadcastTeleconferencing
Database
Distributed computing
Real time workgroups
-
8/7/2019 12-Exterior Routing P#88016
18/54
Figure 12.2
Example
Configuration
-
8/7/2019 12-Exterior Routing P#88016
19/54
Broadcast and Multiple Unicast
Broadcast a copy of packet to each network
Requires 13 copies of packet
Multiple Unicast
Send packet only to networks that have hosts ingroup
11 packets
-
8/7/2019 12-Exterior Routing P#88016
20/54
True Multicast
Determine least cost path to each network thathas host in group
Gives spanning tree configuration containingnetworks with group members
Transmit single packet along spanning tree
Routers replicate packets at branch points ofspanning tree
8 packets required
-
8/7/2019 12-Exterior Routing P#88016
21/54
Figure 12.3 Multicast
Transmission Example
-
8/7/2019 12-Exterior Routing P#88016
22/54
Requirements for
Multicasting (1)
Router may have to forward more than one copy ofpacket
Convention needed to identify multicast addresses IPv4 - Class D - start 1110
IPv6 - 8 bit prefix, all 1, 4 bit flags field, 4 bit scope field, 112bit group identifier
Nodes must translate between IP multicast addressesand list of networks containing group members
Router must translate between IP multicast address andnetwork multicast address
-
8/7/2019 12-Exterior Routing P#88016
23/54
Requirements for
Multicasting (2)
Mechanism required for hosts to join and leavemulticast group
Routers must exchange info
Which networks include members of given groupSufficient info to work out shortest path to each
network
Routing algorithm to work out shortest path
Routers must determine routing paths based onsource and destination addresses
-
8/7/2019 12-Exterior Routing P#88016
24/54
Figure 12.4 Spanning Tree from
Router C to Multicast Group
-
8/7/2019 12-Exterior Routing P#88016
25/54
Internet Group Management
Protocol (IGMP)
RFC 3376
Host and router exchange of multicast groupinfo
Use broadcast LAN to transfer info amongmultiple hosts and routers
-
8/7/2019 12-Exterior Routing P#88016
26/54
Principle Operations
Hosts send messages to routers to subscribe toand unsubscribe from multicast group
Group defined by multicast address
Routers check which multicast groups of interestto which hosts
IGMP currently version 3
IGMPv1
Hosts could join group
Routers used timer to unsubscribe members
-
8/7/2019 12-Exterior Routing P#88016
27/54
Operation of IGMPv1 & v2
Receivers have to subscribe to groups
Sources do not have to subscribe to groups
Any host can send traffic to any multicast group
Problems:Spamming of multicast groups
Even if application level filters drop unwantedpackets, they consume valuable resources
Establishment of distribution trees is problematic
Location of sources is not known
Finding globally unique multicast addresses difficult
-
8/7/2019 12-Exterior Routing P#88016
28/54
IGMP v3
Allows hosts to specify list from which they wantto receive traffic
Traffic from other hosts blocked at routers
Allows hosts to block packets from sources thatsend unwanted traffic
-
8/7/2019 12-Exterior Routing P#88016
29/54
Figure 12.5a IGMP Message
Formats Membership Query
-
8/7/2019 12-Exterior Routing P#88016
30/54
Membership Query
Sent by multicast router
General query
Which groups have members on attached network
Group-specific queryDoes group have members on an attached network
Group-and-source specific query
Do attached device want packets sent to specified
multicast addressFrom any of specified list of sources
-
8/7/2019 12-Exterior Routing P#88016
31/54
Membership Query Fields (1)
Type
Max Response Time Max time before sending report in units of 1/10 second
Checksum
Same algorithm as IPv4
Group Address
Zero for general query message
Multicast group address for group-specific or group-and-source
S Flag 1 indicates that receiving routers should suppress normal timer
updates done on hearing query
-
8/7/2019 12-Exterior Routing P#88016
32/54
Membership Query Fields (2)
QRV (querier's robustness variable) RV value used by sender of query
Routers adopt value from most recently received query
Unless RV was zero, when default or statically configured valueused
RV dictates number of retransmissions to assure report notmissed
QQIC (querier's querier interval code) QI value used by querier
Timer for sending multiple queries
Routers not current querier adopt most recently received QI Unless QI was zero, when default QI value used
Number of Sources
Source addresses
One 32 bit unicast address for each source
-
8/7/2019 12-Exterior Routing P#88016
33/54
Figure 12.5b IGMP Message
Formats Membership Report
-
8/7/2019 12-Exterior Routing P#88016
34/54
Membership Reports
Type
Checksum
Number of Group Records
Group RecordsOne 32-bit unicast address per source
-
8/7/2019 12-Exterior Routing P#88016
35/54
Figure 12.5c IGMP Message
Formats Group Record
-
8/7/2019 12-Exterior Routing P#88016
36/54
Group Record
Record TypeSee later
Aux Data LengthIn 32-bit words
Number of Sources
Multicast Address
Source Addresses
One 32-bit unicast address per source Auxiliary Data
Currently, no auxiliary data values defined
-
8/7/2019 12-Exterior Routing P#88016
37/54
IGMP Operation - Joining
Host using IGMP wants to make itself known as groupmember to other hosts and routers on LAN
IGMPv3 can signal group membership with filteringcapabilities with respect to sources EXCLUDE mode all group members except those listed
INCLUDE mode Only from group members listed
To join group, host sends IGMP membership reportmessageAddress field multicast address of group
Sent in IP datagram with Group Address field of IGMP messageand Destination Address encapsulating IP header same
Current members of group will receive learn of new member
Routers listen to all IP multicast addresses to hear all reports
-
8/7/2019 12-Exterior Routing P#88016
38/54
IGMP Operation
Keeping Lists Valid
Routers periodically issue IGMP general query message
In datagram with all-hosts multicast address
Hosts that wish to remain in groups must read datagrams withthis all-hosts address
Hosts respond with report message for each group to which itclaims membership
Router does not need to know every host in a group Needs to know at least one group member still active
Each host in group sets timer with random delay
Host that hears another claim membership cancels own report If timer expires, host sends report
Only one member of each group reports to router
-
8/7/2019 12-Exterior Routing P#88016
39/54
IGMP Operation - Leaving
Host leaves group, by sending leave group message toall-routers static multicast address
Send membership report message with EXCLUDE optionand null list of source addresses
Router determine if there are any remaining groupmembers using group-specific query message
-
8/7/2019 12-Exterior Routing P#88016
40/54
Group Membership with IPv6
IGMP defined for IPv4
Uses 32-bit addresses
IPv6 internets need functionality
IGMP functions incorporated into InternetControl Message Protocol version 6 (ICMPv6)
ICMPv6 includes all of functionality of ICMPv4 andIGMP
ICMPv6 includes group-membership query andgroup-membership report message
Used in the same fashion as in IGMP
-
8/7/2019 12-Exterior Routing P#88016
41/54
Multicast Extension to OSPF
(MOSPF)
Enables routing of IP multicast datagrams withinsingle AS
Each router uses MOSPF to maintain local group
membership information Each router periodically floods this to all routers
in area
Routers build shortest path spanning tree from
a source network to all networks containingmembers of group (Dijkstra)
Takes time, so on demand only
-
8/7/2019 12-Exterior Routing P#88016
42/54
Forwarding Multicast Packets
If multicast address not recognised, discard
If router attaches to a network containing amember of group, transmit copy to that network
Consult spanning tree for this source-destinationpair and forward to other routers if required
-
8/7/2019 12-Exterior Routing P#88016
43/54
Equal Cost Multipath
Ambiguities
Dijkstra algorithm will include one of multipleequal cost paths
Which depends on order of processing nodes
For multicast, all routers must have samespanning tree for given source node
MOSPF has tiebreaker rule
-
8/7/2019 12-Exterior Routing P#88016
44/54
Interarea Multicasting
Multicast groups amy contain members frommore than one area
Routers only know about multicast groups with
members in its area Subset of areas border routers forward group
membership information and multicastdatagrams between areas
Interarea multicast forwarders
-
8/7/2019 12-Exterior Routing P#88016
45/54
Inter-AS Multicasting
Certain boundary routers act as inter-ASmulticast forwarders
Run and inter-AS multicast routing protocol as well asMOSPF and OSPF
MOSPF makes sure they receive all multicastdatagrams from within AS
Each such router forwards if required
Use reverse path routing to determine source
Assume datagram from X enters AS at point advertisingshortest route back to X
Use this to determine path of datagram through MOSPF AS
-
8/7/2019 12-Exterior Routing P#88016
46/54
Figure 12.6
Illustrations of MOSPF Routing
-
8/7/2019 12-Exterior Routing P#88016
47/54
Multicast Routing Protocol
Characteristics
Extension to existing protocol
MOSPF v OSPF
Designed to be efficient for high concentration
of group members Appropriate with single AS
Not for large internet
-
8/7/2019 12-Exterior Routing P#88016
48/54
Protocol Independent Multicast
(PIM)
Independent of unicast routing protocols
Extract required routing information from anyunicast routing protocol
Work across multiple AS with different unicastrouting protocols
-
8/7/2019 12-Exterior Routing P#88016
49/54
PIM Strategy
Flooding is inefficient over large sparse internet
Little opportunity for shared spanning trees
Focus on providing multiple shortest path
unicast routes Two operation modes
Dense mode For intra-AS
Alternative to MOSPFSparse mode
Inter-AS multicast routing
-
8/7/2019 12-Exterior Routing P#88016
50/54
Spares Mode PIM
A spare group:Number of networks/domains with group members
present significantly small than number ofnetworks/domains in internet
Internet spanned by group not sufficiently resourcerich to ignore overhead of current multicast schemes
-
8/7/2019 12-Exterior Routing P#88016
51/54
Group Destination Router Group
Source Router
Group Destination RouterHas local group members
Router becomes destination router for given groupwhen at least one host joins group
Using IGMP or similar
Group source router
Attaches to network with at least one hosttransmitting on multicast address via that router
-
8/7/2019 12-Exterior Routing P#88016
52/54
PIM Approach
For a group, one router designated rendezvous point (RP)
Group destination router sends join message towards RP requestingits members be added to group
Use unicast shortest path route to send
Reverse path becomes part of distribution tree for this RP to listeners in
this group Node sending to group sends towards RP using shortest path
unicast route
Destination router may replace group-shared tree with shortestpath tree to any source
By sending a join back to source router along unicast shortest path Selection of RP dynamic
Not critical
-
8/7/2019 12-Exterior Routing P#88016
53/54
Figure 12.7
Example of PIM Operation
-
8/7/2019 12-Exterior Routing P#88016
54/54
Required Reading
Stallings chapter 12