IS-IS DIS In Practice

April 12, 2010 1 comment

In the previous post IS-IS Neighbor Discovery we have discussed how IS-IS automatically discovers neighbors, in this post we will discuss the DIS role in broadcast networks.

After the adjacency state reached the UP state the DIS election process take place, the router with the highest priority value (0-127 specified in the Priority field of the IIH PDU) win the election, if multiple routers have the same priority which is the case in most scenarios due to the default value “64” of most implementations, the router with the highest SNPA (MAC address discovered from the MAC header of the received IIH PDUs) win the election and become the DIS for this segment (in Some circumstances the System-ID is also used in the election process.

On a frame-relay networks the L2 address is DLCI which is the same in both sides so in this case the System-ID of the origin routers (discovered from the Source-ID of the received IIH PDUs) is used instead and the router with highest System-ID win the election.

Read more…

Categories: IS-IS

IS-IS Neighbor Discovery

April 12, 2010 1 comment

Like other routing and signaling protocols IS-IS has built-in automatic neighbor discovery mechanism which is known by IIHs (IS-IS Hello PDUs), because IS-IS is not IP based protocol the IIH PDUs and all other IS-IS PDUs are directly encapsulated on the data-link layer.

IS-IS has two hierarchical levels (L1 and L2) and two network types (Point-to-Point and Broadcast) so it’s essential to have different types of hello messages or PDUs for serve these networks since the data-link layer for broadcast and P2P links have different style of addressing so they need different treatment, due to this differences there are three IIH PDUs and they are identified in the IS-IS PDU Type field in the IS-IS 8-bit common header that is attached to all the IS-IS messages as the following:

Read more…

Categories: IS-IS

IS-IS MTU Mismatch

March 22, 2010 1 comment

IS-IS uses the concept of distributed map or database, each router originates LSPs for his own links and relays its adjacent  LSPs to build up the distributed map, a local computation is performed on the database to extract IP reachability information to formalize the forwarding plane.

What is the problem?

IS-IS is an extended protocol by nature, basically it wasn’t  carrying IP information but now it does by some extensions, the extendability aspect of IS-IS came from the concept of  using TLVs (Type, Length, Value) which is theoretically allowing the IS-IS to carry any information, adding more and more TLVs to convey additional  information resulting in big messages, the exchanging of these big messages requires a discovery mechanism to discovering the network MTU,  to prevent messages drops ( Due to MTU mismatch).

Read more…

BGP 4 byte ASN

The internet growth is awesome, day by day people recognizes how internet is important in their daily personal  and business life and even for their culture, so the internet has a good bit of newbie everyday which depleted some internet resources such as IPv4 address space and the BGP AS numbers (IPv4 exhaustion dilemma is more severe than the BGP ASN dilemma).

The BGP AS number space is a finite amount of address space. It is defined as a 16 bit integer and hence limited to 65535 unique AS numbers.

Not all can be used!! Out of the AS number space  there are 1023 numbers are reserved for local or private use, and 3 are reserved for special use. The remaining range which is  64510 numbers are available for publicly use on the internet, today there are 56318  AS numbers already allocated (according to ).

The 4-byte ASN
In 2007 IETF standardized the BGP support for 4-octet AS number space in RFC4893, following the IETF standards, IANA has extended the AS number field to 32 bits which increasing the pool size from 65535 to 4294967295.
(The 4-byte AS number space is just an extension so it covers the old range and provides more.)
Categories: BGP Tags:

JunOS static null route

February 9, 2010 1 comment

I just wanted to discuss the differences between reject and discard next-hops when used with static route.
In JunOS the static route next-hop would be direct next-hop (directly connected), remote next-hop (recursive lookup), Qualified next-hop (Floating), Null (Discard or Reject).

Both discard and reject are used to define null routes on Juniper routers, the traffic matching a route with one of these next-hop values will get dropped, but the route response to the dropped packets is quite different.

Any packet matches a route with next-hop set to discard will get silently dropped, whereas any packet marches a route with  next-hop set to reject will get dropped but the local router who dropped the packet will send ICMP notification message “Destination host unreachable” to the source of the packet to let the source knows that the traffic got dropped by one hope in the path.

Categories: JunOS

Cisco MPLS AToM Redundancy

February 8, 2010 Leave a comment

In this post I’m discussing the MPLS L2VPN (AToM) redundancy on Cisco IOS, the AToM Pseudowire Redundancy supports the definition of a backup Pseudowire to protect a primary Pseudowire in case of failure.

The L2VPN Pseudowire Redundancy feature enables the edge router to detect network failures and recovers the connectivity of the L2VPN service with another endpoint to achieve service continuity.

The L2VPN redundancy used for PE-CE link failure as well as remote PE failures detection.

Read more…

Categories: MPLS

MPLS Special labels

February 8, 2010 Leave a comment

MPLS label range from 0 to 1,048,575 (configurable on Cisco IOS) Labels 0 through 15 are reserved labels. An LSR cannot use them in the normal case for forwarding packets, the labels from 16 through 1,048,575 are used for normal packet forwarding. In Cisco IOS, the default range is 16 through 100,000. This number is more than enough for labeling all the IGP prefixes in large routing table, but in very large scale networks this number might be insufficient, so we can change the label range with the mpls label range min max command

LSR1(config)#mpls label range ?
<16-1048575>  Minimum label value


LSR1#show mpls label range
Downstream Generic label region: Min/Max label: 16/100000 

LSR1(config)#mpls label range ?
  <16-1048575>  Minimum label value

LSR1(config)#mpls label range 20 1000

LSR1#show mpls label range
Downstream Generic label region: Min/Max label: 20/1000

Read more…

Categories: MPLS Tags: