Title: Exterior Routing Protocols
1Chapter 16
- Exterior Routing Protocols
- And Multicasting
2Problems with Distance-Vector and Link-State
Routing
- Neither distance-vector (RIP) nor link state
(OSPF) protocols effective for exterior routing - Distance vector and link state protocols assume
all routers share common metric - Priorities and restrictions may differ between
ASs - Flooding of link state information may become
unmanageable
3Path Vector Routing
- Dispense with routing metrics
- Provide information about
- Which networks can be reached by given router
- Which ASs must be crossed to get there
- No distance or cost element
- Routing information includes all Ass visited to
reach destination - Allows policy routing
4Boarder Gateway Protocol (BGP)
- Allows routers (gateways) in different ASs to
exchange routing information - Messages sent over TCP
- See next slide
- Three functional procedures
- Neighbor acquisition
- Neighbor reachability
- Network reachability
5BGP v4 Messages
- Open
- Start neighbor relationship with another router
- Update
- Transmit information about single route
- List multiple routes to be withdrawn
- Keepalive
- Acknowledge open message
- Periodically confirm neighbor relationship
- Notification
- Send when error condition detected
6Neighbor Acquisition
- Neighbors attach to same subnetwork
- If in different ASs routers may wish to exchange
information - Neighbor acquisitionis when two neighboring
routers agree 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 active intervention
7Neighbor Reachability
- Periodic issue of keepalive messages
- Between all routers that are neighbors
8Network Reachability
- Each router keeps database of subnetworks it can
reach and preferred route - When change made, router issues update message
- All BGP routers build up and maintain routing
information
9BGP MessageFormats
- Marker
- Reserved for authentication
- Length
- In octets
- Type
- Open, Update, Keepalive, Notification
10Neighbor Acquisition Detail
- Router opens TCP connection with neighbor
- Sends open message
- Identifies senders AS and gives IP address
- Includes Hold Time
- As proposed by sender
- If recipient prepared to open neighbor
relationship - Calculate hold time
- min own hold time, received hold time
- Max time between keepalive/update messages
- Reply with keepalive
11Keepalive Detail
- Header only
- Often enough to prevent hold time expiring
12Update Detail
- Information about single route through internet
- Information to be added to database of any
recipient router - Network layer reachability information (NLRI)
- List of network portions of IP addresses of
subnets reached by this route - Total path attributes length field
- Path attributes field (next slide)
- List of previously advertised routes being
withdrawn - May contain both
13Path 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 information needed in NLRI
14Withdrawal of Route(s)
- Route identified by IP address of destination
subnetwork(s)
15Notification 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
16Diagram for BGP Routing Information Exchange
17BGP 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
18Inter-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 address
schemes - Aggregates path information using routing domain
confederations
19Routing Domain Confederations
- Set of connected AS
- Appear to outside world as single AS
- Recursive
- Effective scaling
20Multicasting
- Sending message to multicast address
- Multicast address refers to a group of hosts
- Multimedia
- Teleconferencing
- Databases
- Distributed computation
- Real-time workgroup
21Multicasting within LAN
- MAC level multicast addresses
- IEEE 802 uses highest order bit 1
- All stations that recognise the multicast address
accept the packet - Works because of broadcast nature of LAN
- Packet only sent once
- Much harder on internet
22Example Configuration for Multicast Internet
23Broadcast
- Assume location of recipients not know
- Send packet to every network
- Packet addressed to N3 traverses N1, link L3, N3
- Router B translates IP multicast address to MAC
multicast address - Repeat for each network
- Generates lots of packets
- In example, 13
24Multiple Unicast
- Location of each member of multicast group known
to source - Table maps multicast address to list of networks
- Only need to send to networks containing members
of multicast group - Reduced traffic (a bit)
- In example, 11
25True Multicast
- Least cost path from source to each network
containing member of group is determined - Gives spanning tree configuration
- For networks containing group members only
- Source transmits packet along spanning tree
- Packet replicated by routers at branch points of
spanning tree - Reduced traffic
- In example, 8
26Multicast Transmission Example
27Requirements for Multicasting (1)
- Router must forward two or more copies of
incoming packet - Addressing
- IPv4 uses class D
- Start 1110 plus 28 bit group id
- IPv6 uses 8 bit prefix of all 1s, 4 bit flags
field, 4 bit scope field 112 bit group id - Node must translate between multicast address and
list of networks containing members of group - Router must translate between IP multicast
address and subnet multicast address to deliver
to destination network
28Requirements for Multicasting (2)
- Multicast addresses may be permanent or dynamic
- Individual hosts may join or leave dynamically
- Need mechanism to inform routers
- Routers exchange information on which subnets
contain members of groups - Routers exchange information to calculate
shortest path to each network - Need routing protocol and algorithm
- Routes determined based on source and destination
addresses - Avoids unnecessary duplication of packets
29Internet Group Management Protocol (IGMP)
- TypeMembership query (general or group
specific), membership report, leave group, max.
response time - Checksum uses IPv4 algorithm
- Group address zero for request, valid IP
multicast for report or leave
30IGMP Operation
- Host uses IGMP to make itself know as member of
group to other hosts and routers - To join, send IGMP membership report message
- Send to multicast destination of group being
joined - Routers periodically issue IGMP query
- To all-hosts multicast address
- Hosts respond with report message for each group
to which it belongs - Only one host in group needs to respond to keep
group alive - Host keeps timer and reponds if no other reply
heard in time - Host sends leave group message
- Group specific query from router determins if any
members remain
31Group Membership with IPv6
- Function incorporated in ICMPv6
- Includes all ICMPv4 plus IGMP
- Includes group membership query and report
- Addition of new group membership termination
message
32Multicast Extension to OSPF (MOSPF)
- Enables routing of IP multicast datagrams within
single 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 containing members
of group (Dijkstra) - Takes time, so on demand only
33Forwarding Multicast Packets
- If multicast address not recognised, discard
- If router attaches to a network containing a
member of group, transmit copy to that network - Consult spanning tree for this source-destination
pair and forward to other routers if required
34Equal Cost Multipath Ambiguities
- Dijkstra algorithm will include one of multiple
equal cost paths - Which depends on order of processing nodes
- For multicast, all routers must have same
spanning tree for given source node - MOSPF has tiebreaker rule
35Interarea Multicasting
- Multicast groups amy contain members from more
than one area - Routers only know about multicast groups with
members in its area - Subset of areas border routers forward group
membership information and multicast datagrams
between areas - Interarea multicast forwarders
36Inter-AS Multicasting
- Certain boundary routers act as inter-AS
multicast forwarders - Run and inter-AS multicast routing protocol as
well as MOSPF and OSPF - MOSPF makes sure they receive all multicast
datagrams from within AS - Each such router forwards if required
- Use reverse path routing to determine source
- Assume datagram from X enters AS at point
advertising shortest route back to X - Use this to determine path of datagram through
MOSPF AS
37MOSPF Routing Illustration
38Multicast 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
39Protocol Independent Multicast (PIM)
- Independent of unicast routing protocols
- Extract required routing information from any
unicast routing protocol - Work across multiple AS with different unicast
routing protocols
40PIM 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 MOSPF
- Sparse mode
- Inter-AS multicast routing
41Spares Mode PIM
- A spare group
- Number of networks/domains with group members
present significantly small than number of
networks/domains in internet - Internet spanned by group not sufficiently
resource rich to ignore overhead of current
multicast schemes
42Group Destination Router Group Source Router
- Group Destination Router
- Has local group members
- Router becomes destination router for given group
when at least one host joins group - Using IGMP or similar
- Group source router
- Attaches to network with at least one host
transmitting on multicast address via that router
43PIM Approach
- For a group, one router designated rendezvous
point (RP) - Group destination router sends join message
towards RP requesting its 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 shortest path tree to any source - By sending a join back to source router along
unicast shortest path - Selection of RP dynamic
- Not critical
44Example of PIM Operation