Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation

Example: Configuring BGP and CLNS

Understanding BGP for CLNS VPNs

BGP extensions allow BGP to carry Connectionless Network Service (CLNS) virtual private network (VPN) network layer reachability information (NLRI) between provider edge (PE) routers. Each CLNS route is encapsulated into a CLNS VPN NLRI and propagated between remote sites in a VPN.

CLNS is a Layer 3 protocol similar to IP version 4 (IPv4). CLNS uses network service access points (NSAPs) to address end systems. This allows for a seamless autonomous system (AS) based on International Organization for Standardization (ISO) NSAPs.

A single routing domain consisting of ISO NSAP devices are considered to be CLNS islands. CLNS islands are connected together by VPNs.

You can configure BGP to exchange ISO CLNS routes between PE routers connecting various CLNS islands in a VPN using multiprotocol BGP extensions. These extensions are the ISO VPN NLRIs.

Each CLNS network island is treated as a separate VPN routing and forwarding instance (VRF) instance on the PE router.

You can configure CLNS on the global level, group level, and neighbor level.

Example: Configuring BGP for CLNS VPNs

This example shows how to create a BGP group for CLNS VPNs, define the BGP peer neighbor address for the group, and define the family.

Requirements

Before you begin, configure the network interfaces. See the Junos OS Interfaces Configuration Guide for Security Devices.

Overview

In this example, you create the BGP group called pedge-pedge, define the BGP peer neighbor address for the group as 10.255.245.215, and define the BGP family.

Configuration

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, and then copy and paste the commands into the CLI at the [edit] hierarchy level.

set protocols bgp group pedge-pedge neighbor 10.255.245.213set protocols bgp family iso-vpn unicast

Step-by-Step Procedure

The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User Guide.

To configure BGP for CLNS VPNs:

  1. Configure the BGP group and define the BGP peer neighbor address.
    [edit protocols bgp]user@host# set group pedge-pedge neighbor 10.255.245.213
  2. Define the family.
    [edit protocols bgp]user@host# set family iso-vpn unicast
  3. If you are done configuring the device, commit the configuration.
    [edit]user@host# commit

Verification

Confirm that the configuration is working properly.

Verifying the Neighbor Status

Purpose

Display information about the BGP peer.

Action

From operational mode, run the show bgp neighbor 10.255.245.213 command. Look for iso-vpn-unicast in the output.

user@host> show bgp neighbor 10.255.245.213
Peer: 10.255.245.213+179 AS 200 Local: 10.255.245.214+3770 AS 100
Type: External State: Established Flags: <ImportEval Sync>
Last State: OpenConfirm Last Event: RecvKeepAlive
Last Error: None
Options: <Multihop Preference LocalAddress HoldTime AddressFamily PeerAS
Rib-group Refresh>
Address families configured: iso-vpn-unicast
Local Address: 10.255.245.214 Holdtime: 90 Preference: 170
Number of flaps: 0
Peer ID: 10.255.245.213 Local ID: 10.255.245.214 Active Holdtime: 90
Keepalive Interval: 30 Peer index: 0
NLRI advertised by peer: iso-vpn-unicast
NLRI for this session: iso-vpn-unicast
Peer supports Refresh capability (2)
Table bgp.isovpn.0 Bit: 10000
RIB State: BGP restart is complete
RIB State: VPN restart is complete
Send state: in sync
Active prefixes: 3
Received prefixes: 3
Suppressed due to damping: 0
Advertised prefixes: 3
Table aaaa.iso.0
RIB State: BGP restart is complete
RIB State: VPN restart is complete
Send state: not advertising
Active prefixes: 3
Received prefixes: 3
Suppressed due to damping: 0
Last traffic (seconds): Received 6 Sent 5 Checked 5
Input messages: Total 1736 Updates 4 Refreshes 0 Octets 33385
Output messages: Total 1738 Updates 3 Refreshes 0 Octets 33305
Output Queue[0]: 0
Output Queue[1]: 0 

Enabling BGP to Carry CLNS Routes

Connectionless Network Service (CLNS) is a Layer 3 protocol similar to IP version 4 (IPv4). CLNS uses network service access points (NSAPs) to address end systems. This allows for a seamless autonomous system (AS) based on International Organization for Standardization (ISO) NSAPs.

A single routing domain consisting of ISO NSAP devices are considered to be CLNS islands. CLNS islands are connected together by VPNs.

You can configure BGP to exchange ISO CLNS routes between provider edge (PE) routers connecting various CLNS islands in a virtual private network (VPN) using multiprotocol BGP extensions. These extensions are the ISO VPN NLRIs.

To enable multiprotocol BGP (MP-BGP) to carry CLNS VPN NLRIs, include the iso-vpn statement:

iso-vpn {unicast {prefix-limit number;rib-group group-name;}}

To limit the number of prefixes from a peer, include the prefix-limit statement. To specify a routing table group, include the rib-group statement.

For a list of hierarchy levels at which you can include this statement, see the statement summary section for this statement.

Each CLNS network island is treated as a separate VRF instance on the PE router.

You can configure CLNS on the global level, group level, and neighbor level.

For sample configurations, see the following sections:

Example: Enabling CLNS Between Two Routers

Configure CLNS between two routers through a route reflector:

On Router 1:
protocols {bgp {local-address 10.255.245.195;group pe-pe {type internal;neighbor 10.255.245.194 {family iso-vpn {unicast;}}}}}
routing-instances {aaaa {instance-type vrf;interface fe-0/0/0.0;interface so-1/1/0.0;interface lo0.1;route-distinguisher 10.255.245.194:1;vrf-target target:11111:1;protocols {isis {export dist-bgp;no-ipv4-routing;no-ipv6-routing;clns-routing;interface all;}}}}
On Router 2:
protocols {bgp {group pe-pe {type internal;local-address 10.255.245.198;family route-target;neighbor 10.255.245.194 {family iso-vpn {unicast;}}}}}
routing-instances {aaaa {instance-type vrf;interface lo0.1;interface so-0/1/2.0;interface so-0/1/3.0;route-distinguisher 10.255.245.194:1;vrf-target target:11111:1;routing-options {rib aaaa.iso.0 {static {iso-route 47.0005.80ff.f800.0000.bbbb.1022/104 next-hop 47.0005.80ff.f800.0000.aaaa.1000.1921.6800.4196.00;}}}protocols {isis {export dist-bgp;no-ipv4-routing;no-ipv6-routing;clns-routing;interface all;}}}}
On Route Reflector:
protocols {bgp {group pe-pe {type internal;local-address 10.255.245.194;family route-target;neighbor 10.255.245.195 {cluster 0.0.0.1;}neighbor 10.255.245.198 {cluster 0.0.0.1;}}}}

Example: Configuring CLNS Within a VPN

Configure CLNS on three PE routers within a VPN:

On PE Router 1:
protocols {mpls {interface all;}bgp {group asbr {type external;local-address 10.245.245.3;neighbor 10.245.245.1 {multihop;family iso-vpn {unicast;}peer-as 200;}}}}
routing-instances {aaaa {instance-type vrf;interface lo0.1;interface t1-3/0/0.0;interface fe-5/0/1.0;route-distinguisher 10.245.245.1:1;vrf-target target:11111:1;protocols {isis {export dist-bgp;no-ipv4-routing;no-ipv6-routing;clns-routing;interface all;}}}}
On PE Router 2:
protocols {bgp {group asbr {type external;multihop;family iso-vpn {unicast;}neighbor 10.245.245.2 {peer-as 300;}neighbor 10.245.245.3 {peer-as 100;}}}}
routing-instances {aaaa {instance-type vrf;interface lo0.1;route-distinguisher 10.245.245.1:1;vrf-target target:11111:1;}}
On PE Router 3:
protocols {bgp {group asbr {type external;multihop;local-address 10.245.245.2;neighbor 10.245.245.1 {family iso-vpn {unicast;}peer-as 200;}}}}
routing-instances {aaaa {instance-type vrf;interface lo0.1;interface fe-0/0/1.0;interface t1-3/0/0.0;route-distinguisher 10.245.245.1:1;vrf-target target:11111:1;protocols {isis {export dist-bgp;no-ipv6-routing;clns-routing;interface all;}}}}

Published: 2013-02-19