12-exterior routing p#88016

Upload: soubhagya-ranjan-mohanty

Post on 09-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 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