/
Link State Algorithm Alternative to distance-vector Link State Algorithm Alternative to distance-vector

Link State Algorithm Alternative to distance-vector - PowerPoint Presentation

danika-pritchard
danika-pritchard . @danika-pritchard
Follow
351 views
Uploaded On 2018-09-21

Link State Algorithm Alternative to distance-vector - PPT Presentation

Distributed computation Broadcast link information to all routers Each router computes shortest paths to all destinations based on knowledge of full topology Uses Dijkstras algorithm to compute the paths ID: 673394

lsa router link ospf router lsa ospf link routers state area neighbors database neighbor bdr lsas information network packet

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Link State Algorithm Alternative to dist..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Link State Algorithm

Alternative to distance-vector

Distributed computation

Broadcast link information to all routers

Each router computes shortest paths to all destinations based on knowledge of full topology

Uses Dijkstra’s algorithm to compute the paths

Avoids problem where one router can damage the entire internet by passing incorrect information as all routers have knowledge of full topology

Most common implementation: Open Shortest Path First (OSPF)Slide2

Link State Update

All routers know the network topology by sharing their local link information with

all

other routers.

Think of routers as nodes in a graph, and the networks connecting them as edges or links

Pairs of directly-connected routers periodically

Test link between them

Broadcast status of link to

all

other routers

All routers

Receive link status messages from

all

routers

Compute

routes based on

their

local database

of link informationSlide3

Open Shortest Path First (OSPF)

Uses Link State routing

Each router acquires complete topology information using

link state updates

Link-state - what it means:

Link

: That’s the interface of a router.

State

: Description of that interface and how it’s connected to neighboring routers.

Link state information must be flooded to all routers (uses multicasting)

Cost metric used to calculate shortest paths. Metric can be any link or network parameter (time, congestion, bandwidth, $$, distance) or a function that combines several weighted parameters

Guaranteed to convergeSlide4

4

Link State Routing: Basic principles

Routers establish a relationship

(

adjacency

)

with neighbors. Two types:

full neighbors: allows exchange of routing information

2way neighbor: no routing information exchange

2. Each router generates

link state advertisements

(LSAs)

which are distributed to all “

adjacent

” routers (after all routers have established adjacencies).

LSA = (link id, state of the link, cost, neighbors of the link)

3. Each router maintains a database (LSDB) of all received LSAs (

topological database

or

link state database

), which describes the network as a graph with weighted edges

4. Each router uses its link state database to run a shortest path algorithm (

Dijikstra

s algorithm) to produce the shortest path to each networkSlide5

5

Operation of a Link State Routing protocol

Received

LSAs

IP Routing

Table

Dijkstra

s

Algorithm

Link State

Database

LSAs are flooded

to other interfacesSlide6

6

Features of OSPF

Provides

authentication

of routing messages

Enables

load balancing

by allowing traffic to be split evenly across routes with

equal

cost

Type-of-Service routing allows setup of different routes dependent on the TOS (DS) field in IP headerUses AREAs to subdivide large networks, providing a hierarchical structure and limits the multicast LSAs within routers of the same area. Area 0 is called the backbone area and all other areas connect directly to it. All OSPF networks must have a backbone areaSlide7

OSPF Areas

Area Border Routers (ABR) are any routers that have one interface in one area and another interface in another areaSlide8

Link State Advertisements (LSA)

LSAs are at the heart of OSPF operation

OSPF routers use LSAs to describe the link state of all its interfaces.

A Link State

DataBase

(LSDB) stores all received LSAs on a router.

A router uses a Router LSA to describe its interface IP addresses.After OSPF is started on a router, it creates an LSDB that contains entries of this router’s Router LSAsSlide9

OSPF Operation contd.

Link-state routing protocols generate routing updates

only

when a

change

occurs in the network topology.

When a link changes state, the device that detected the change creates a link-state advertisement (LSA) concerning that link and sends it to all neighboring devices using a special multicast address. Each routing device reads the LSA.The LSA has a sequence number that allows the router to check to see if it has already seen that update. If old, it is discarded, if new, link-state database (LSDB) info updated and LSA passed along to next neighbors.The entire routing table (LSDB) is transmitted once every 30 minutesSlide10

Types of OSPF Messages

There are

five

types of OSPF Link-State Packets (LSPs).

Hello

: are used to establish and maintain adjacency with other OSPF routers. They are also used to elect the Designated Router (DR) and

BackupDesignated Router (BDR) on multi-access networks.Database Description (DBD or DD): contains an abbreviated list of the sending router’s link-state database and is used by receiving routers to check against the local link-state database to make sure it has the latest informationSlide11

LSPs contd.

Link-State Request (LSR)

: used by routers to

request

more information about any entry in the DBD

Link-State Update (LSU)

: used to reply to LSRs as well as to announce new information. LSUs can contain 7 different types of Link-State Advertisements (LSAs)Link-State Acknowledgement (LSAck): sent to confirm receipt of an LSU messageSlide12

OSPF Operation

HELLO messages are used to maintain adjacency with neighbors.

By default, OSPF routers send Hello packets every 10 seconds on broadcast networks and every 30 seconds on non-broadcast segmentsSlide13

13

OSPF Packet Format

Destination IP:

neighbor

s IP address or 224.0.0.5 (

ALLSPFRouters

) or 224.0.0.6 (

AllDRouters

:

(

designated

and backup designated

only)

TTL: set to 1 (in most cases)

OSPF packets are not carried as UDP or TCP payload!OSPF has its own IP protocol number: 89Slide14

14

OSPF Packet Format

2: current version is OSPF V2

Message types:

1: Hello (tests reachability)

2: Database description

3: Link Status request

4: Link state update

5: Link state acknowledgement

ID of the Area from which the packet originated

Standard IP checksum taken over entire packet

0: no authentication

1: Cleartext password

2: MD5 checksum

(added to end packet)

ID AddressSlide15

OSPF Hello MessageSlide16

OSPF Operation via an Example

Suppose OSPF has just been enabled on R1 & R2. Both R1 and R2 are very eager to discover if they have any neighbors nearby but before sending Hello messages they must first choose an OSPF router identifier (router-id) to tell their neighbors who they are. The Router ID (RID) is an IP address used to identify the router and is chosen using the following sequence:

The highest IP address assigned to a loopback (logical) interface.

If a loopback interface is not defined, the highest IP address of all the active router’s physical interfaces will be chosen.

The router ID can be manually assigned if necessarySlide17

Example contd.

In this example, suppose R1 has 2 loopback interfaces & 2 physical interfaces:

Loopback 0: 10.0.0.1

Loopback 1: 12.0.0.1

eth0/0: 192.168.1.1

eth0/1: 200.200.200.1

The loopback interfaces are preferred to physical interfaces (because they are never down) so the highest IP address of the loopback interfaces is chosen as the router-id -> Loopback 1 IP address is chosen as the router-id.Slide18

Router 1Slide19

Router 2Slide20

Next Step – Hello

Msgs

Now both the routers have the Router-ID so they will send Hello packets on all OSPF-enabled interfaces to determine if there are any neighbors on those links.

The information in the OSPF Hello includes the OSPF Router ID of the router sending the Hello packet.Slide21

Hello Packet ExchangeSlide22

Hello Packet Content

* Indicates values that have to be the same for both routers if they are

to establish an adjacency, i.e., become neighborsSlide23

Description of Hello Values

Router ID

: Each OSPF router needs to have an unique ID which is the highest IP

address on any active interface. More about this later.

Hello / Dead Interval

: Every X seconds we are going to send a hello packet, if we don’t hear any hello packets from our network for X seconds we declare you “dead” and we are no longer neighbors. These values have to match on both sides in order to become neighbors.

Neighbors: All other routers who are your neighbors are specified in the hello packet.Area ID: This is the area you are in. This value has to match on both sides in order to become neighbors.Router Priority: This value is used to determine who will become designated or backup designated router. DR and BDR IP address: Designated and Backup Designated router for multiple access networks such as an Ethernet segment. Authentication password: You can use clear text and MD5 authentication for OSPF which means every packet will be authenticated. Obviously you need the same password on both routers in order to make things work.Stub area flag: Besides area numbers OSPF has different area types. Both routers have to agree on the area type in order to become “neighbors”.Slide24

24

Discovery of Neighbors

Routers multicast

OSPF

Hello packets

on all OSPF-enabled interfaces.

If two routers share a link,

they can become

neighbors, and establish an adjacency.

Certain conditions have to be met.

In broadcast environments, adjacency is only established with Designated and

BackupDesignated Routers.After becoming a neighbor, routers exchange their link state databasesSlide25

States of Establishing Adjacency

Init

state

– router has received Hello message from other OSFP router

2-way state

– neighbor has received Hello message and replied with a Hello message of his own

Exstart state – beginning of the LSDB exchange between both routers.Exchange state – DBD (Database Descriptor) packets are exchanged. DBDs contain LSAs headers. Routers see what LSAs they need.Loading state – one neighbor starts by sending LSRs (Link State Requests) for every network it doesn't know about. The other neighbor replies with the LSUs (Link State Updates) which contain information about requested links. After all the requested information has been received, the other neighbor goes through the same processFull state (adjacency) - both routers have the synchronized database and are fully adjacent with each other. Slide26

Hello

Msg

R1 to R2

R1 just comes up and R2 is already up and running.

R1 wants to find out if it has any neighbor running OSPF it sends a Hello message to the multicast address 224.0.0.5.

This is the multicast address for all OSPF routers and all routers running OSPF will process this message.Slide27

Establishing adjacency

If an OSPF router receives an OSPF Hello packet it will check some required parameters to determine if adjacency can be established. If all is in order:

R2 will add R1 to its neighbor table and send a Hello packet to R1Slide28

Hello Msg

Adjacency ParametersSlide29

Exchange DD or DBD packets

R1 and R2 are neighbors now

The neighbors must first determine who will be the master and who will be the slave. The router with higher Router-ID becomes master and initiates the link exchange.

They start by sending Database Description (DD or DBD) packets which contain an abbreviated list of the sending router’s link-state database

The receiver acknowledges a received DD packet by sending an identical DD packet back to the sender.

Each DD packet has a sequence number and only the master can increment sequence numbers.Slide30

DD

Msg

ExchangeSlide31

LSA Request

R1 or R2 can send Request to get missing LSA from its neighborsSlide32

LSA Exchange

R2 sends back an

LSAck

packet to acknowledge the packetSlide33

Creating LSDBs

Note that routers first exchange

DD

msgs

that only list the content of the LSDB but no details.

Once a router gets that info, it can then check to see if it has that information in its LSDB.If it doesn’t it requests an LSA to fill in the details.Reliable transmission: when a router receives an Update, it sends an Ack to the Update sender. If the sender does not receive Ack within a specific period, it times out and retransmits Update.OSPF uses Update-Ack to implement reliable transmission. It does not use TCP!Slide34

34

Routing Data Distribution

LSA-Updates are distributed to all other routers via

Reliable Flooding using multicast addresses.

Example:

Flooding of LSA from 10.10.10.1

LSA

LSA

Update

database

Update

database

ACK

ACK

LSA

LSA

LSA

LSA

ACK

ACK

ACK

ACK

LSA

LSA

LSA

LSA

Update

database

Update

database

ACK

ACK

ACK

ACK

ACK

ACK

ACK

Update

databaseSlide35

35

Dissemination of LSA-Update

A router sends and re-floods LSA-Updates, whenever the topology or link cost changes. (If a received LSA does not contain new information, the router will not flood the packet)

Exception: Infrequently (every 30 minutes), a router will flood LSAs even if there are no new updates.

Acknowledgements of LSA-updates:

explicit ACK, or

implicit via reception of an LSA-Update from neighbor.Slide36

Filling the LSDBSlide37

Flow Chart

In this example a new LSA is arriving at the router and OSPF has to decide what to do with it:

If the LSA isn’t already in the LSDB it will be added and a

LSAck

(acknowledgement) will be sent to the OSPF neighbor. The LSA will be flooded to all other OSPF neighbors and we have to run SPF to update our routing table.

If the LSA is already in the LSDB and the sequence number is the same then we will ignore the LSA.

If the LSA is already in the LSDB and the sequence number is different then we have to take action: If the sequence number is higher it means this information is newer and we have to add it to our LSDB. If the sequence number is lower it means our OSPF neighbor has an old LSA and we should help them. We will send a LSU (Link state update) including the newer LSA to our OSPF neighbor. The LSU is an envelope that can carry multiple LSAs in it.Slide38

LSA Sequence Numbers

What do the sequence numbers look like for OSPF LSAs?

There are 4 bytes or 32-bits.

Begins with 0x80000001 and ends at 0x7FFFFFFF and wraps around

Every 30 minutes each LSA will age out and will be flooded with a sequence number that is incremented by one.Slide39

Broadcast Environments - Designated & Backup Designated RoutersSlide40

Broadcast Environments - Designated and Backup Designated Router

To minimize OSPF traffic (LSAs) on broadcast networks, OSPF elects a Designated Router (

DR

) and a Backup DR (

BDR

)

How do we select a DR/BDR? During the process of becoming OSPF neighbors:The router with the highest priority will become DR.The router with the second highest priority will become BDR.If the priority is the same the OSPF router ID is the tiebreaker. Higher wins.DR/BDR election is non-preemptive. This means if you change the priority or router ID you have to reset OSPF in order to select a new DR/BDR.Routers that are not DR or BDR show up as DROTHER.Only DR and BDR have adjacencies (full neighbor) with all routers on the broadcast segment. Other routers are two-way neighbors. If a non designated router has an update, the LSA is sent to the DR and BDR using the 224.0.0.6 address. The LSA is then sent by the DR to all the routers on the broadcast segment using multicast address 224.0.0.5

. Slide41

Router Status

And router Susan (the BDR) sees the DR and DROTHER

.

Two-way neighbor state

Full neighbor stateSlide42

Choosing DR and BDR

We can change which router becomes the DR/BDR by playing with the

priority

.

You change the priority if you like by using the

ip

ospf priority command:The default priority is 1.A priority of 0 means you will never be elected as DR or BDR.You need to use clear ip ospf process before this change takes effect.Let’s turn router Nancy into the DR:Slide43

Donna is still the DR, we need to reset the OSPF neighbor adjacencies so that we’ll elect the new DR and BDR.

Susan is now

Drother

anc

Donna is

ghd BDRNancy is now DRSlide44

By Multiple Access not By Area

Something you need to be aware of is that the

DR/BDR election is per multi-access segment…not per area!

Here we have 2 multi-access (broadcast) segments. Between router Donna and Nancy, and between router Donna and Susan.

For each segment there

will be a DR/BDR election.

You can see that router Nancy is the DR for the 192.168.12.0/24segment and router Susan is theDR for the 192.168.23.0/24 segment.Slide45

Point to Point Links

For a point-to-point link running say HDLC. You can see that we have a neighbor but we didn’t do an election for DR or BDR. Makes sense because there is always only one router on the other side.

192.168.12.0

.1

.2Slide46

Link Cost and Path Choice

What about the link metric? OSPF uses a metric called cost which is based on the bandwidth of an interface, it works like this:

Cost = Reference Bandwidth / Interface Bandwidth

The reference bandwidth is a default value on Cisco routers which is a 100Mbit interface.

You divide the reference bandwidth by the bandwidth of the interface and you’ll get the cost.

Example: If you have a 100 Mbit interface what will the cost be?

Cost = Reference bandwidth / Interface bandwidth100 Mbit / 100 Mbit = COST 1Example: If you have a 10 Mbit interface what will the cost be?100 Mbit / 10 Mbit = COST 10Example: If you have a 1 Mbit interface what will the cost be? 100 Mbit / 1 Mbit = COST 100The lower the cost the better the path is -> minimize route costIf we have links that are > 100M (e.g. 1G) the reference bandwidth is changed to always have a link cost that is >1Slide47

OSPF LSA Types

OSPF has many different types of LSAs:

LSA Type 1: Router LSA

LSA Type 2: Network LSA

LSA Type 3: Summary LSA

LSA Type 4: Summary ASBR LSA

LSA Type 5: Autonomous system external LSALSA Type 6: Multicast OSPF LSA (NOT USED)LSA Type 7: Not-so-stubby area LSALSA Type 8: External attribute LSA for BGPSlide48

Router LSA

Each router within the area will flood a

type 1 router LSA

within the area.

In this LSA you will find a list with all the directly connected links of this router.

The router LSA will always

stay within the area.Slide49

Network LSA

The

network LSA

or

type 2

is created for

multi-access network that have a DR/BDR. If this is the case you will see these network LSAs being generated by the DR.The other routers in the segment generate a type 1 LSA to inform the DR of an update.In the type 2 LSA we will find all the routers that are connected to the multi-access network, the DR, BDR, and the prefix and subnet mask.The network LSA always stays within the area.Slide50

Multi Area LSAs

Type 1 router LSAs

always stay within the area

. OSPF however works with multiple areas and you probably want full connectivity within all of the areas. Router Nancy is flooding a router LSA within the area so Area Border Router (ABR) Donna will store this in her LSDB.

Router Mary and Susan need to know about the topology in Area 2.

Router Donna is going to create a Type 3 summary LSA and flood it into area 0. This LSA will flood into all the other areas of our OSPF network. This way all the routers in other areas will know about the prefixes from other areas.Slide51

An outside RIP Router

In this example we have router Nancy who is redistributing information from the RIP router into OSPF. This makes router Nancy an

ASBR (Autonomous System Border Router).

Router Nancy will flip a bit in her

router LSA

to identify herself as an ASBR.

When router Donna who is a ABR receives this router LSA she will create a type 4 summary ASBR LSA and flood it into area 0. This LSA will also be flooded in all other areas and is required so all OSPF routers know where to find the ASBR.Slide52

Outside Network

Same topology but we’ve added a prefix (5.5.5.0 /24) at our RIP router. This prefix will be redistributed into OSPF.

Router Nancy (our ASBR) will take care of this and create a

type 5 external LSA

for this that will contain the external network prefix

. Slide53

OSPF Tables

There are 3 type of tables stored at a Router:

Neighbor

Topology

RoutingSlide54

Neighbor Table

Contain information about the neighbors

Neighbor is a router which shares a link on same network

Some neighbor relationships are “adjacencies”

LSA updates are exchanged only when adjacency is establishedSlide55

OSPF Topology Table

Contains information about all networks and paths to reach any network

All LSA’s are entered into the topology table

When topology changes, LSA’s are generated and router sends new LSA’s

Using the topology table a shortest path connectivity graph is created (routing table), the algorithm is known as SPF or

Dijkstra’s

algorithmSlide56

Routing Table

Also known as forwarding database

Generated when an algorithm is run on the topology database

Routing table for each router is unique