A simple network

1 Feb
So i decided to play around with some Service Provider technologies and built myself a little test network with GNS3.

The design so far is really basic since i am just playing around with it.

Mpls

The main network has 8 routers in it with routers 1,2,7 and 8 working as PE routers and 3,4,5 and 6 working as backbone. At the moment R9 and R10 are just simulating some client routers for a test.

Every router has its own loopback and for simplicity it is just based on the router number( 1.1.1.1 for R1, 2.2.2.2 for R2 and so on). As for the IS-IS configuration, atm i am only using a L2 network.

The configuration itself is not very hard, since basicly all you have to do is enable the process and give it a net address. Also since i am going to use this to mainly test some MPLS VPN features and some MPLS TE i set the metric style to wide. Here is an example from R1:

router isis 1
net 49.0001.0000.0000.0001.00
is-type level-2-only
metric-style wide
passive-interface Loopback100

Process enabled so i just needed to add this to the interface as well. By the way i am using normal ethernet interfaces because if i use a FE or GE interface i keep getting packet loss and malformed packets and apparently it is related to this version of Dynamips.

interface Ethernet2/0
ip address 10.1.3.1 255.255.255.0
ip router isis 1
duplex full
mpls ip

IS-IS is working correctly and we can see that the routing table is looking good
R1#sh ip route
Codes: L – local, C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route, + – replicated route

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
C 1.1.1.1 is directly connected, Loopback100
2.0.0.0/32 is subnetted, 1 subnets
i L2 2.2.2.2 [115/20] via 10.1.3.2, Ethernet2/0
3.0.0.0/32 is subnetted, 1 subnets
i L2 3.3.3.3 [115/10] via 10.1.3.2, Ethernet2/0
4.0.0.0/32 is subnetted, 1 subnets
i L2 4.4.4.4 [115/20] via 10.1.3.2, Ethernet2/0
5.0.0.0/32 is subnetted, 1 subnets
i L2 5.5.5.5 [115/20] via 10.1.3.2, Ethernet2/0
6.0.0.0/32 is subnetted, 1 subnets
i L2 6.6.6.6 [115/30] via 10.1.3.2, Ethernet2/0
7.0.0.0/32 is subnetted, 1 subnets
i L2 7.7.7.7 [115/40] via 10.1.3.2, Ethernet2/0
8.0.0.0/32 is subnetted, 1 subnets
i L2 8.8.8.8 [115/40] via 10.1.3.2, Ethernet2/0
10.0.0.0/8 is variably subnetted, 9 subnets, 2 masks
C 10.1.3.0/24 is directly connected, Ethernet2/0
L 10.1.3.1/32 is directly connected, Ethernet2/0
i L2 10.2.3.0/24 [115/20] via 10.1.3.2, Ethernet2/0
i L2 10.3.4.0/24 [115/20] via 10.1.3.2, Ethernet2/0
i L2 10.3.5.0/24 [115/20] via 10.1.3.2, Ethernet2/0
i L2 10.4.6.0/24 [115/30] via 10.1.3.2, Ethernet2/0
i L2 10.5.6.0/24 [115/30] via 10.1.3.2, Ethernet2/0
i L2 10.6.7.0/24 [115/40] via 10.1.3.2, Ethernet2/0
i L2 10.6.8.0/24 [115/40] via 10.1.3.2, Ethernet2/0
R1#

So lets try to reach the other side of the network
R1#ping 8.8.8.8

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 72/103/144 ms
R1#

And we have connectivity. But since we have mpls ip enabled on the interfaces are we really using mpls?

R1#sh mpls ldp bin
lib entry: 1.1.1.1/32, rev 2
local binding: label: imp-null
remote binding: lsr: 3.3.3.3:0, label: 16
remote binding: lsr: 7.7.7.7:0, label: 23
lib entry: 2.2.2.2/32, rev 8
local binding: label: 17
remote binding: lsr: 3.3.3.3:0, label: 17
remote binding: lsr: 7.7.7.7:0, label: 24
lib entry: 3.3.3.3/32, rev 6
local binding: label: 16
remote binding: lsr: 3.3.3.3:0, label: imp-null
remote binding: lsr: 7.7.7.7:0, label: 22
lib entry: 4.4.4.4/32, rev 16
local binding: label: 21
remote binding: lsr: 3.3.3.3:0, label: 18
remote binding: lsr: 7.7.7.7:0, label: 20
lib entry: 5.5.5.5/32, rev 20
local binding: label: 23
remote binding: lsr: 3.3.3.3:0, label: 20
remote binding: lsr: 7.7.7.7:0, label: 21
lib entry: 6.6.6.6/32, rev 24
local binding: label: 25
remote binding: lsr: 3.3.3.3:0, label: 22
remote binding: lsr: 7.7.7.7:0, label: 16
lib entry: 7.7.7.7/32, rev 30
local binding: label: 28
remote binding: lsr: 3.3.3.3:0, label: 25
remote binding: lsr: 7.7.7.7:0, label: imp-null
lib entry: 8.8.8.8/32, rev 32
local binding: label: 29
remote binding: lsr: 3.3.3.3:0, label: 26
remote binding: lsr: 7.7.7.7:0, label: 29
lib entry: 10.1.3.0/24, rev 4
local binding: label: imp-null
remote binding: lsr: 3.3.3.3:0, label: imp-null
remote binding: lsr: 7.7.7.7:0, label: 27
lib entry: 10.2.3.0/24, rev 10
local binding: label: 18
remote binding: lsr: 3.3.3.3:0, label: imp-null
remote binding: lsr: 7.7.7.7:0, label: 28
lib entry: 10.3.4.0/24, rev 12
local binding: label: 19
remote binding: lsr: 3.3.3.3:0, label: imp-null
remote binding: lsr: 7.7.7.7:0, label: 25
lib entry: 10.3.5.0/24, rev 14
local binding: label: 20
remote binding: lsr: 3.3.3.3:0, label: imp-null
remote binding: lsr: 7.7.7.7:0, label: 26
lib entry: 10.4.6.0/24, rev 18
local binding: label: 22
remote binding: lsr: 3.3.3.3:0, label: 19
remote binding: lsr: 7.7.7.7:0, label: 18
lib entry: 10.5.6.0/24, rev 22
local binding: label: 24
remote binding: lsr: 3.3.3.3:0, label: 21
remote binding: lsr: 7.7.7.7:0, label: 19
lib entry: 10.6.7.0/24, rev 26
local binding: label: 26
remote binding: lsr: 3.3.3.3:0, label: 23
remote binding: lsr: 7.7.7.7:0, label: imp-null
lib entry: 10.6.8.0/24, rev 28
local binding: label: 27
remote binding: lsr: 3.3.3.3:0, label: 24
remote binding: lsr: 7.7.7.7:0, label: 17
R1#

Well we have lables so it should be working….

R1# trace 8.8.8.8

Type escape sequence to abort.
Tracing the route to 8.8.8.8

1 10.1.3.2 [MPLS: Label 26 Exp 0] 72 msec 128 msec 100 msec
2 10.3.5.2 [MPLS: Label 28 Exp 0] 104 msec 100 msec 76 msec
3 10.5.6.2 [MPLS: Label 25 Exp 0] 64 msec 40 msec 104 msec
4 10.6.8.2 92 msec * 104 msec
R1#

This was just to build  little test network. From here i will be working with some BGP and a few VRFs.

Source: http://spekd.wordpress.com/2013/01/29/a-simple-network/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: