lect1..ppt - 03/28/05 cda 6505 network architecture and client/server computing lecture 16 exterior...
TRANSCRIPT
Lect1..ppt - 03/28/05
CDA 6505 Network Architecture
and Client/Server Computing
Lecture 16
Exterior Routing ProtocolsAnd Multicasting
byZornitza Genova Prodanoff
ZGP002
Outline
• Path-Vector Protocols: BGP and IDRP• Muticasting
ZGP003
Problems 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
ZGP004
Path 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
ZGP005
Boarder Gateway Protocol (BGP)
• Allows routers (gateways) in different ASs to exchange routing information
• Messages sent over TCP– See next slide
• Three functional procedures– Neighbour acquisition– Neighbour reachability– Network reachability
ZGP006
BGP v4 Messages
• Open– Start neighbour relationship with another
router• Update
– Transmit information about single route– List multiple routes to be withdrawn
• Keepalive– Acknowledge open message– Periodically confirm neighbour relationship
• Notification– Send when error condition detected
ZGP007
Neighbour Acquisition
• Neighbours attach to same subnetwork• If in different ASs routers may wish to exchange
information• Neighbour acquisition is when two neighbouring
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
ZGP008
Neighbour Reachability
• Periodic issue of keepalive messages• Between all routers that are neighbours
ZGP009
Network 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
ZGP0010
BGP Message Formats
• Marker:– Reserved for
authentication• Length:
– In octets• Type:
– Open, Update, Keepalive, Notification
ZGP0011
Neighbour Acquisition Detail
• Router opens TCP connection with neighbour• Sends open message
– Identifies sender’s AS and gives IP address– Includes Hold Time
• As proposed by sender• If recipient prepared to open neighbour
relationship– Calculate hold time
• min [own hold time, received hold time]• Max time between keepalive/update
messages– Reply with keepalive
ZGP0012
Keepalive Detail
• Header only• Often enough to prevent hold time expiring
ZGP0013
Update 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
ZGP0014
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
information needed in NLRI
ZGP0015
Withdrawal of Route(s)
• Route identified by IP address of destination subnetwork(s)
ZGP0016
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
ZGP0017
Diagram for BGP Routing Information Exchange
ZGP0018
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 neighbour 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 preferred route and forwards to neighbours
ZGP0019
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 address
schemes• Aggregates path information using routing domain
confederations
ZGP0020
Routing Domain Confederations
• Set of connected AS• Appear to outside world as single AS
– Recursive• Effective scaling
ZGP0021
Multicasting
• Sending message to multicast address– Multicast address refers to a group of hosts
• Multimedia• Teleconferencing• Databases• Distributed computation• Real-time workgroup
ZGP0022
Multicasting 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
ZGP0023
Example Configuration for Multicast Internet
ZGP0024
Broadcast
• 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
ZGP0025
Multiple 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
ZGP0026
True 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
ZGP0027
Multicast Transmission Example
ZGP0028
Requirements 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
ZGP0029
Requirements 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
ZGP0030
Internet Group Management Protocol (IGMP)
• Type: Membership 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
ZGP0031
IGMP 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
ZGP0032
Group 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
ZGP0033
Multicast 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
ZGP0034
Forwarding 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
ZGP0035
Equal 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
ZGP0036
Interarea Multicasting
• Multicast groups amy contain members from more than one area
• Routers only know about multicast groups with members in its area
• Subset of area’s border routers forward group membership information and multicast datagrams between areas– Interarea multicast forwarders
ZGP0037
Inter-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
ZGP0038
MOSPF Routing Illustration
ZGP0039
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
ZGP0040
Protocol 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
ZGP0041
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 MOSPF
– Sparse mode• Inter-AS multicast routing
ZGP0042
Spares 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
ZGP0043
Group 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
ZGP0044
PIM 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
ZGP0045
Example of PIM Operation