cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

OSPF DR vs ISIS DIS, and Multiaccess Subnet Number

549
Views
15
Helpful
9
Comments
meddane
Frequent Contributor

Like with DR (Designated Router) on OSPF, on broadcast multi-access, IS-IS elects a designated intermediate system (DIS) but keep in mind that unlike with OSPF where a Backup Designated Router is elected , on IS-IS there is no concept of a Backup DIS.
Then the pseudonode LSP is generated by the DIS. Like with the Network LSA (LSA Type 2) generated by a DR on OSPF which lists the attached routers, it represents the multi-access network itself and appears virtually as a pseudonode and the attached routers exchange the informations with the DR.
Also the DIS lists all attached routers and is see as the pseudonode LSP.Therefore the neighbor routers on the LAN send only advertisements to this pseudonode

Remember on OSPF ,in the Network LSA the metric is missing and it is is always equal to zero this prevents the pseudonode from adding a new cost to the SPF computing, the same thing is valid for the DIS,in the pseudonode LSP,the metric is zero.

But, what about the prefix of the multi-access network?

In OSPF, the DR is now responsible of advertising the Subnet Number for example 100.1.1.0/24 in our topology with the combination of two fields in the Type-2 LSA:

-Link State ID field which is the IP address of the DR in the multiaccess network (located in the LSA's Header).
-Mask field located in the LSA's Body.

This is to avoid non-DR to duplicate and carry the same infos (100.1.1.0/24) in their Type-1 LSA.

The result, other routers will compute  that by ANDing the IP address of the DR with the network mask.

In ISIS, this is not the case, the Subnet Number of 100.1.1.0/24 is not carried in the Pseudonode LSP' s DIS as we have seen previously with the Network LSA, rather each non-pseudonode isis router will carry this subnet in its own LSP L1 (similar to Router LSA).

The result is the duplication infos in LSPs of the non-pseudonodes routers.

DR DIS.PNG

 

9 Comments
ngkin2010
Rising star
Spoiler

In OSPF, the DR is now responsible of advertising the Subnet Number for example 100.1.1.0/24 in our topology with the combination of two fields in the Type-2 LSA:

-Link State ID field which is the IP address of the DR in the multiaccess network (located in the LSA's Header).
-Mask field located in the LSA's Body.


This is to avoid non-DR to duplicate and carry the same infos (100.1.1.0/24) in their Type-1 LSA.

Yes, type-2's LSA LSID is the IP interface address of the DR. But I am not sure about the purpose.

 

From my understanding, to build a complete Computer Graph (or topology) the pseudonode (PSN) is needed to represent MA network. The PSN LSP need to have the information about what routers attached, however, the prefix/mask (the MA subnet) of PSN info not quite a matter in building the Computer Graph.

 

For example:

Given that R4 have received all the LSP from R1 to R3, it should have enough information to build the Graph (or the topology) and run SPF on it.

isis.png

 

 

My point is, the prefix info exist or not exist in the PSN LSP (or in OSPF's Type2 LSA), it's not quite a matter during construction of topology. 

 

Well, that's just my thought. feel free to correct me if it's wrong. 

meddane
Frequent Contributor

@ngkin2010  As you shown in the topology, the same infos 100.1.1.0/24 is carried in the LSP of R1,R2 and R3.

For OSPF, this duplication infos is removed to make the LSA Type-1 more smaller, the ennemy of OSPF is when you many routing informations in one area, many adjacents routers and many networks connected to a single router, this causes the Type-1 LSA to be larger and the risk to go beyond the MTU 1500 size. To optimize this, the creators gives the responsability to advertise 100.1.1.0/24 to the DR.

 

In ISIS I think the LSP is smaller than the LSA in OSPF. So keeping the subnet of the multiaccess in the LSP of the non-DIS routers does not impact the size of the LSP.

ngkin2010
Rising star

Hi @meddane 

 

I am not sure if it’s true or not about “this duplication infos is removed to make the LSA Type-1 more smaller” 

 

I will have a lab on this to refresh my knowledge. I don’t really remember MA network is excluded from type 1 LSA.

 

Instead, what i think is, to build a complete Graph, the so-call duplicated info should be included in LSA type 1. 

meddane
Frequent Contributor

No @ngkin2010  the creators of OSPF optimized ospf behavior on multiaccess by:

-first introducing the concept of DR

-second introducing the Network LSA.

After that to optimize LSA flooding. The DR has the responsability to carry two informations:

-the attached routers so the drother routers will discover them

-the shared subnet of the multiaccess.

So that  other routers NOT ATTACHED to this subnet will learn this subnet through LSA Type-2 instead of the LSA Type 1 of each attached routers.

Let s imagine a router in the same area but not attached to the multiaccess segement, then imagine we have 50 routers in this segment. If each attached router will carry the shared subnet . The router which not attached to the segment will receive 50 LSA Type-1 , inside each LSA the same shared subnet 100.1.1.0/24. This is not efficient.  One router is enough to inform it about this subnet instead of 50 routers. This why the information of this special subnet was moved to the DR. No imagine the same drother is connected to multiple segments. Let's say 50 segments in the same area. Therefore it will generate a single Type-1 LSA with 50 links in the body of this LSA increasing the size of the Type-1 LSA with the risk to go beyond the MTU value 1500 and causing ip fragmentation, from the design 's perspective this is not desirable.

ngkin2010
Rising star

Hi @meddane 

 

Nice to discuss with you about OSPF which really help me to dive deeper into it. 

 

I totally agree with you about the concept of DR. However, I am in doubt about "this duplication infos is removed to make the LSA Type-1 more smaller".

 

From my point of view is,

- the router link (to Multiple-Access) will be included in the LSA-1. (acting as Edge in term of computer graph)

- the pseudo-node representing the MA network will be included in the LSA-2.  (acting as Vertex in term of computer graph)

 

Both of the information are needed to build a valid Computer Graph (edge + vertex); A vertex without edge, or the edge without vertex won't be a valid Computer Graph...isn't? So, I am in doubt about you said the former one will be somehow removed or de-duplicated.

 

In fact, RFC also tell us that Type-1 LSA should include the transit network:

 

                   Link type   Description       Link ID
                   __________________________________________________
                   1           Point-to-point    Neighbor Router ID
                               link
                   2           Link to transit   Interface address of
                               network           Designated Router
                   3           Link to stub      IP network number
                               network
                   4           Virtual link      Neighbor Router ID

 

On the other hand, here is my lab:

 

diagram.png

 

 R1:

 

 

Spoiler

R1#show ip ospf ne

Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 2WAY/DROTHER 00:00:36 10.0.0.2 GigabitEthernet1
3.3.3.3 1 FULL/BDR 00:00:38 10.0.0.3 GigabitEthernet1
4.4.4.4 1 FULL/DR 00:00:37 10.0.0.4 GigabitEthernet1
R1#
R1#show ip ospf interface b
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Lo0 1 1 1.1.1.1/32 1 LOOP 0/0
Gi1 1 1 10.0.0.1/24 1 DROTH 2/3
R1#

 R2:

 

Spoiler

R2#show ip ospf ne

Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 2WAY/DROTHER 00:00:37 10.0.0.1 GigabitEthernet1
3.3.3.3 1 FULL/BDR 00:00:34 10.0.0.3 GigabitEthernet1
4.4.4.4 1 FULL/DR 00:00:34 10.0.0.4 GigabitEthernet1
R2#show ip ospf int b
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Lo0 1 1 2.2.2.2/32 1 LOOP 0/0
Gi1 1 1 10.0.0.2/24 1 DROTH 2/3
R2#

R3:

 

Spoiler

R3#show ip ospf ne

Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/DROTHER 00:00:33 10.0.0.1 GigabitEthernet1
2.2.2.2 1 FULL/DROTHER 00:00:34 10.0.0.2 GigabitEthernet1
4.4.4.4 1 FULL/DR 00:00:37 10.0.0.4 GigabitEthernet1
R3#show ip ospf int b
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Lo0 1 1 3.3.3.3/32 1 LOOP 0/0
Gi1 1 1 10.0.0.3/24 1 BDR 3/3
R3#

R4:

Spoiler

R4#show ip ospf ne

Neighbor ID Pri State Dead Time Address Interface
5.5.5.5 0 FULL/ - 00:00:30 192.168.0.2 GigabitEthernet2
1.1.1.1 1 FULL/DROTHER 00:00:34 10.0.0.1 GigabitEthernet1
2.2.2.2 1 FULL/DROTHER 00:00:35 10.0.0.2 GigabitEthernet1
3.3.3.3 1 FULL/BDR 00:00:37 10.0.0.3 GigabitEthernet1
R4#show ip ospf int b
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Lo0 1 1 4.4.4.4/32 1 LOOP 0/0
Gi2 1 1 192.168.0.1/30 1 P2P 1/1
Gi1 1 1 10.0.0.4/24 1 DR 3/3

R5 (please check this):

 

 

Spoiler

R5#show ip ospf database router 1.1.1.1

OSPF Router with ID (5.5.5.5) (Process ID 1)

Router Link States (Area 1)

LS age: 1484
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 1.1.1.1
Advertising Router: 1.1.1.1
LS Seq Number: 8000000A
Checksum: 0x49AA
Length: 48
Number of Links: 2

Link connected to: a Stub Network
(Link ID) Network/subnet number: 1.1.1.1
(Link Data) Network Mask: 255.255.255.255
Number of MTID metrics: 0
TOS 0 Metrics: 1

Link connected to: a Transit Network     <-----
(Link ID) Designated Router address: 10.0.0.4
(Link Data) Router Interface address: 10.0.0.1
Number of MTID metrics: 0
TOS 0 Metrics: 1


R5#show ip ospf database router 2.2.2.2

<... omitted..>
Link connected to: a Transit Network <---
(Link ID) Designated Router address: 10.0.0.4
(Link Data) Router Interface address: 10.0.0.2
Number of MTID metrics: 0
TOS 0 Metrics: 1


R5#show ip ospf database router 3.3.3.3

<... omitted..>
Link connected to: a Transit Network  <---
(Link ID) Designated Router address: 10.0.0.4
(Link Data) Router Interface address: 10.0.0.3
Number of MTID metrics: 0
TOS 0 Metrics: 1

R5#show ip ospf database router 4.4.4.4

<... omitted..>
Link connected to: a Transit Network  <----
(Link ID) Designated Router address: 10.0.0.4
(Link Data) Router Interface address: 10.0.0.4
Number of MTID metrics: 0
TOS 0 Metrics: 1

 

I don't see the information get removed from LSA-1 according to the above result...

 

meddane
Frequent Contributor

@ngkin2010  the pleasure is for me too.

But in a multiaccess there is no need to carry the shared subnet using the Link Type 3 of the Type-1 LSA's drother as the Stub network, the infos of the stub network is replaced by the Link type 2 (Link connected to Transit), the Link type 2 gives only the information, "I am connected to a segment where a DR is elected", it didnt give the informs of the subnet's segment.

According to your topology, how the R5 gets the infos about the presence of the subnet 10.0.0.0/24, this is done by looking at the Type-2 LSA of the DR and exactly by ANding the Link State ID of the  Network LSA with the Mask carried in the same network LSA.

We know that the Type-1 LSA describes the link type connected to the router, the neighbor router and the subnet number.

In this topology, assume we dont have a Type-2 LSA, so each router will create its own Type-1 LSA, the Type-1 LSA will describe the neighboring router and the subnet connected to.

DR.jpg

Each router will create its own Type-1 LSA with 14 links, 7 Link Type 1 to describe who is connected to me, and 7 Link Type 3 to describe the subnet number shared with the neighboring router, in this case all routers share the same subnet number 192.168.1.0/24.

For example for R1, the Type-1 LSA will look like this:

Link State ID: 0.0.0.1

Advertising Router: 0.0.0.1

Number of Links: 14

Link connected to: another Router (point-to-point)

(Link ID) Neighboring Router ID: 0.0.0.2

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.168.1.0

(Link Data) Network Mask: 255.255.255.0

Link connected to: another Router (point-to-point)

(Link ID) Neighboring Router ID: 0.0.0.3

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.168.1.0

(Link Data) Network Mask: 255.255.255.0

Link connected to: another Router (point-to-point)

(Link ID) Neighboring Router ID: 0.0.0.4

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.168.1.0

(Link Data) Network Mask: 255.255.255.0

Link connected to: another Router (point-to-point)

(Link ID) Neighboring Router ID: 0.0.0.5

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.168.1.0

(Link Data) Network Mask: 255.255.255.0

Link connected to: another Router (point-to-point)

(Link ID) Neighboring Router ID: 0.0.0.6

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.168.1.0

(Link Data) Network Mask: 255.255.255.0

Link connected to: another Router (point-to-point)

(Link ID) Neighboring Router ID: 0.0.0.7

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.168.1.0

(Link Data) Network Mask: 255.255.255.0

Link connected to: another Router (point-to-point)

(Link ID) Neighboring Router ID: 0.0.0.8

Link connected to: a Stub Network

(Link ID) Network/subnet number: 192.168.1.0

(Link Data) Network Mask: 255.255.255.0

The first issue is that each Router creates a big Type-1 LSA with a lot Links Type, the flooding of these big LSA Type-1 between the routers will cause a chaotic situation for the network. the second issues is that the Link Type 3 (which describe the subnet number) is repeated uselessly.

This is why the creators of OSPF have introduced the DR concepts and the Type-2 LSA, the purpose of the DR is to manage the adjacencies between the routers in the same broadcast domain, by suppressing the Link Type 1 (neighboring router) and the Link Type 3 (Subnet Number), instead each non-DR router will create the Type-1 LSA with a new Link Type 2, this Link Type 2 will identify the DR with the IP address only, now a non-DR router does not see the other non-DR routers in its Type-1 LSA, instead it sees only the DR, and the DR sees the non-DR routers through the Type-2 LSA and identifies the non-DR routers with the router-ID, also the DR is now responsible of advertising the Subnet Number in order to avoid the second issues described above.

If R1 is the DR. For example for R2, the Type-1 LSA will look like this:

Link State ID: 0.0.0.2

Advertising Router: 0.0.0.2

Number of Links: 1

Link connected to: a Transit Network

(Link ID) Designated Router address: 192.168.1.1

(Link Data) Router Interface address: 192.168.1.1

We have only one link carried by each LSA Type-1. The size of the Type-1 LSA is reduced greatly, and it does not describe the neighboring routers and the subnet number, this is done by the Type-2 LSA originated by the DR.

The Type-2 of the DR R1 looks like this:

Link State ID: 192.168.1.1 (address of Designated Router)

Advertising Router: 0.0.0.1

Network Mask: /24

Attached Router: 0.0.0.2

Attached Router: 0.0.0.3

Attached Router: 0.0.0.4

Attached Router: 0.0.0.5

Attached Router: 0.0.0.6

Attached Router: 0.0.0.7

Attached Router: 0.0.0.8

Now the DR R1 is simply responsible to tell to all non-DR Routers who is connected to the segment and which subnet is shared between them.

Note: Since the IP prefix of the transit multi-access network is not carried in the Type-2 LSA, rather it should be computed by other routers that receive this LSA; by ANDing the IP address of the DR 192.168.1.1 with the network mask /24 included in the Type-2 LSA.

 

ngkin2010
Rising star

Hi @meddane 

 

You were describing if Type-2 LSA was not ever introduced in OSPF, then there will be many router links needed to describe a fully-meshed router neighbors under MA network. So, that's why you meant by introducing Type-2 LSA into OSPF, it helps to reduce size of Type-1 LSA. 

 

diagram.png

 

 

 

 

meddane
Frequent Contributor

@ngkin2010  From OSPF Anatomy of an Internet routing protocol book written by John.T.Moy.

The common theme in running OSPF over broadcast subnets is reducing an O(n ) problem
to O(n). Representation of broadcast subnets in the link-state database is no exception.
We want to capture the fact that each of the routers connected to the broadcast
subnet can talk to each other directly. The obvious way to do this is for each router to
include links to all other routers in its router-LSA. But this would introduce n* (n-l)
links into the OSPF database. So instead, OSPF creates a new LSA type, called the
network-LSA, to represent the broadcast subnet. Each router-LSA then has a link to
the broadcast subnet's network-LSA, and the network-LSA has links to each of the
router-LSAs, reducing the number of links from n * (n - 1) to n * 2. These two alternatives
are shown in Figures 5.5 and 5.6.

1.png

 2.png

 

ngkin2010
Rising star

Hi @meddane 

 

Indeed, by comparing the two scenarios (with / without Type-2 LSA to represent a broadcast subnet), the former one need smaller size LSA compared to latter one. I finally realize what is the duplicated information that you were talking about.

 

Thanks, It's a good blog which illustrate why Type-2 LSA is designed to represent a broadcast subnet.