Archive

Category Archives for "Anton Muravlev"

How to deploy a BGP route generator? | Containerlab | ExaBGP

Hi all!

The blog post is sort of "How to ...?"

Introduction

Some time ago I needed to prepare a lab environment where I should have to simulate a huge amount of BGP updates between routers.  How can we arrange that? The main thing is how to generate a lot of BGP updates? As I see we have two ways:

  • VM with network OS from classic vendors (Cisco, Juniper, Nokia);
  • Linux BGP daemon
Sure, BGP daemons are more scalable and suitable for lab purposes. And a lot of companies use them in production (in most cases as BGP RR). Of course, I knew about different Linux BGP demons but didn't have experience with them. This time I followed the next simple workflow in the tech world - don't know something? Let's Googling! (don't use this way in the production environment - firstly, read tech books, user guides, RFC, etc :) )

This way I've found all that I need:

1) BGP daemon. I decided to use ExaBGP
2) Route generator. It's a simple python script route-smash that uses ExaBGP API.

As a lab environment, I'm using Containerlab. Don't know what more I can add about Containerlab. If you don't Continue reading

Segment Routing | Control and Data plane review

Hi all!

Today I’m going to talk about Segment Routing, especially SR-MPLS. Exactly the best source of theoretical information is RFC. But Segment Routing is a huge topic and it's difficult to sort things out. I will provide basic concepts of SR-MPLS and we will go through basic control plane and data plane tasks of SR.

A good network engineer always tries to optimize network, operation tools and workflow. And I’m sure, engineers who develop Segment Routing concepts follow the same idea.


Why do I think so? Look SR-MPLS short facts:

  1. SR is an alternative of main label distribution protocols - LDP and RSVP.

  2. SR decreases control plane entities because it’s a part of IGP protocols (IS-IS or OSPF)

  3. SR uses stateless paradigm unlike RSVP (It helps to reduce CPU consumption)


Let’s investigate basic SR concepts.

Segment and routing. Take the first definition. What is a "segment"? What types of segments do we have? 


Segments are instructions. Head-end encodes these instructions into MPLS headers. It's an interesting concept. We can steer traffic flow by data plane units that contain a stack of MPLS labels - stack of instructions. It helps to eliminate states for every MPLS LSP on Continue reading

Nokia Lab | LAB 8 RSVP-TE Resiliency |


Hello!

Today I'm going to lab one of my favorite topic - RSVP-TE Resiliency. It's a real pleasure to see how different methods of network resiliency can make your network more stable and reliable. 

Please check my first lab for input information.

Topology example

Lab tasks and questions:
  • Preparing
  • create LSP to_R6 on R1 (parameters: "totally loose" path, cspf)
  • create LSP to_R1 on R6 (parameters: "totally loose" path, cspf)
  • create Epipe service between CPE1 and CPE6. It helps to compare convergency time in the different cases. I use Virtual PC nodes as CPE devices and simple ping as a tool. It's not a production-ready tool suite, but it's relevant for the education lab. (Depend on your CPE devices, but I recommend use rapid ping or adjust send/receive timers. Results will be more clearly)
  • configure BFD (I use TX/RX equal 100ms):
  • on L3 interfaces
  • on OSPF interfaces
  • on RSVP interfaces
  • configure IP addresses on CPE
  • check IP connectivity between CPE
  • Secondary paths
    • The first method is Non-standby secondary path. Add secondary path to exist LSPs
    • check secondary path operation status
    • our goal is investigation the reconvergence process
    • run ping on CPE and break the primary path of any LSP(you can shut Continue reading

    Nokia Lab | LAB 7 RSVP-TE Resource reservation |


    Hello!

    We're going ahead with constraint-based routing and today let's take a look into one of them in more detail - reservation of bandwidth resources.
    I'm using topology and configuration from the previous lab.
    Please check my first lab for input information.

    Topology example

    Lab tasks and questions:
    • Signaling and Reserving Bandwidth Requirements
    • create LSP from R1 to R6. The primary path should have bandwidth constraint (e.g. 500Mbit/s)
    • describe reserving bandwidth process
    • examine signaling with cspf and no cspf option
  • examine opaque LSA
    • check maximum bandwidth, reservable bandwidth, and unreserved bandwidth fields
    • Any changes after LSP signaling?
    • change path bandwidth and check opaque LSA again. Pay attention to Age and Sequence especially. What is a problem that can occur if we have an unstable network and a lot of LSP with bandwidth constraints?
    • How can we decrease the amount of LSA flood?
    • configure Threshold-Triggered IGP TE Updates and examine how it works
  • Bandwidth Reservation Styles
    • configure LSP to_R6 with primary "totally loose" path (bandwidth 200Mbit/s) and standby secondary "totally loose" path (bandwidth 300Mbit/s)
    • find a shared link
    • examine TED
    • What is unreserved bandwidth?
    • What is the default Bandwidth Reservation Style?
    • change Bandwidth Reservation Style and examine TED again
  • Least-Fill Bandwidth Reservation
  • Nokia Lab | LAB 6 RSVP-TE CSPF |


    Hello everyone!

    Today is the second RSVP-TE lab. So I will try to show the differences between TE LSP and non-TE LSP. And we will start to investigate the real traffic engineering features - hop limit and admin groups. I'm using topology and RSVP-TE infrastructure from the previous lab.

    Please check my first lab for input information.

    Topology example

    Lab tasks and questions:
    • Comprasion TE LSP and non-TE LSP
    • create LSP from R1 to R6 with an "empty" path and CSPF option - name to_R6
    • create another LSP from R1 to R6 with an "empty" path and without CSPF option - name to_R6_no_CSPF
    • examine LSP signaling process
    • capture PATH messages for every LSP in the different point of our topology
    • Do PATH messages contain ERO?
    • describe the difference in signaling process - TE LSP/ non-TE LSP
  • So we can assume that both LSP have the same path R1 - R2 - R4 - R6
    • Try to increase link metric R2 - R4 and examine LSP behavior
    • Does Head-end resignal LSP to_R6? Why?
    • exec manual resignal (see useful debug commands for reference)
    • What is the default value of resignal timer?
    • examine Make-before-break process

    Nokia Lab | LAB 5 RSVP-TE basic |


    Hi!

    RSVP-TE is a complex and wide range topic. I'm starting with RSVP-TE basic configuration and control plane processes - label signaling, session maintaining, timers, interaction between RSVP-TE and IGP. The next labs cover CSPF, Resource reservation, Resiliency.

    Please check my first lab for input information.

    Topology example

    Lab tasks and questions:
    • basic RSVP-TE configuration
    • what we need for RSVP-TE infrastructure?
    • configure IGP with TE extension (e.g. OSPF)
    • add all p2p and "system" interfaces to MPLS and RSVP context
    • Do routers establish RSVP-TE adjacency? Why?
  • protocol operation
    • create LSP from R1 to R6 with an "empty" path
    • examine LSP signaling process(use debug or Wireshark)
    • capture PATH and RESV messages and examine their content
    • describe label signaling process
    • examine PSB and RSB (see "useful debug commands" section)
  • How do routers refresh RSVP sessions? What messages do they use?
  • How do routers maintain RSVP adjacency? What message do they use?
  • examine LSP tearing down process
    • break some link with active RSVP session and capture PathTear and ResvTear messages
    • describe tearing down process and message purpose
    • RSVP-TE timers
    • break some link with active RSVP session (e.g. LSP to_R6)
    • examine LSP on Head-end and check LSP  operation status

    Nokia Lab | LAB 4 LDP |


    Hi!

    Move forward to MPLS stack. The first one is LDP.  I make emphasis on LDP session process and interaction between LIB and LFIB. I recommend you use traffic dumps and debug for investigation. 
    Please check my first lab for input information.

    Topology example




    Lab tasks and questions:
    • Basic LDP
    • prepare basic and IGP configuration (Multi-area OSPF, area type - normal, add "system" to OSPF)
    • enable LDP on P2P interfaces
    • LDP session
    • examine LDP neighbor discovery process
    • What is the destination IP address of Hello messages?
  • examine LDP session establishment
    • What address does SR-OS router use as a transport address for LDP control plane?
  • examine Label exchange
    • What label mapping does SR-OS router generate by default?
  • LIB and LFIB
    • examine LIB and LFIB
    • What is the difference between LIB and LFIB?
    • configure ECMP 2 (e.g. on R1) and examine RT, LIB and LFIB
  • Export policy and summarization
    • create two additional loopback interfaces on R1 with addresses from the same subnet (e.g. 172.16.0.0/32, 172.16.0.1/32)
    • export prefixes to LDP by policy
    • examine LFIB on R2
    • Does it contain entries with target prefixes? What about LIB?
    • What is the reason for this difference?
  • add loopback Continue reading
  • Nokia Lab | LAB 3 IS-IS |


    Hello everyone!

    It's the next Nokia lab. Today we will review routing protocol widely spread across service providers networks. 
    Please check my first lab for input information.

    Topology example



















    Lab tasks and questions:
    • Basic IS-IS
    • configure IS-IS between R1 and R2 (use P2P interface type, Level 2 only, "system" interface as passive, area 49.01)
    • check neighbors state
    • examine IS-IS control plane PDUs (You can use debug or packet capture)
    • describe all IS-IS PDU and their purpose
    • What transport does IS-IS use for control plane PDU delivery? Any difference with OSPF?
    • Examine destination MAC address of control plane PDU
  • examine LSDB
    • examine LSP in detail
    • What TLV types does it contain? Examine every TLV
  • examine route table
    • What is the default preference of IS-IS routes?
    • What is max-metric of IS-IS routes (default configuration)?
    • How to change behavior? How to take into account link bandwidth? 
    • Multi-area IS-IS
    • configure R3 and R4 as L1/L2 IS-IS routers (use P2P interface type, area 49.02)
    • configure R5 and R6 as L1-only IS-IS routers (use P2P interface type, area 49.02)
    • check IS-IS adjacency on R3
    • What adjacency types do you see?
  • examine LSDB on R3
    • make attention to LSP attributes

    Troubleshooting steps


    Introduction

    Troubleshooting network issues is one of the common skills of every network engineer.  And usually, we don’t think about it. We don’t study and train this skill especially. I tell about troubleshooting as a formal process. We just get experience from our daily routine or follow company workflow. I will try to formalize some basic notions. Hope it will be helpful. 

    Of course, it depends on the situation and business constraints but when we try to resolve some issue we should follow the next steps:

    Preparing -> Information-gathering -> Isolating -> Resolving -> Escalating

    Let's look at every step.

    Preparing

    Every network has infrastructure tools (monitoring, inventory, etc), but we should continuously improve and keep up to date them. Try to develop and integrate a new one. This stack of tools is our source of truth. If we have it, we can easily fetch a full amount of information before, during, and after problems. It’s an enormous topic but without these tools, we can’t successfully troubleshoot our network.

    Mandatory tools:

    • Syslog (at least simple Syslog server. And good to have e.g. Elastic stack)
    • Alarm management system (e.g. Zabbix)
    • Statistics collector (e. Continue reading

    Nokia Lab | LAB 2 OSPF |


    Introduction

    Hello everyone!

    It's my second Nokia lab. I've tried to cover the main scope of OSPF questions. Lets lab!
    Please check my first lab for input information.

    Topology example



    Lab tasks and questions:
    • Basic OSPF (Backbone area)
    • configure OSPF area 0 (R1 and R2, use P2P interface type, add “system” interface to OSPF)
    • configure BFD and authentication on interfaces
    • examine BFD session
  • check neighbors state
    • examine the connection between OSPF adjacency and BFD session
    • How can you break adjacency? Try it. What factors can influence adjacency? 
  • examine LSDB
    • What LSA types do you see?
    • examine every LSA in detail
  • examine route table
    • What is the default preference of OSPF routes?
    • Multi-area OSPF(Area 0, Area 1 TNSSA, Area 2 Normal,  Area 3 Totally Stub)
    • configure area 1 as a Totally NSSA area
    • run debug OSPF hello packets between R1 and R3
    • examine hello packets
    • Does it contain special bits?
  • What is the difference between NSSA and Totally NSSA areas?
  • create additional loopback interface on R3
    • export it to OSPF by policy
    • What router type is R3?
    • examine LSDB on R3 - especially check NSSA external LSA
    • Does it contain special bits? Describe purpose of them
  • examine LSDB on Continue reading
  • Nokia Lab | LAB 1 Basic |


    Introduction 

    Hi there!

    I'm starting a series of notes focused on Nokia SR-OS labs. It's a part of my preparing for NRSII and SRA.

    Some input points:
    • Labs contain: tasks and questions, topology, final configs, useful debug commands, and different tips;
    • It’s not a lab guide. it’s just my notes which may be useful for someone. I will try to give the right structure of labs and ask reasonable questions. But you can use them as a reference for your own labs. Change everything and have fun :)
    • I make more emphasis on structure and coverage than explanation and step-by-step configuration. In my opinion, step-by-step guides or Youtube tutorials are unuseful for exam preparing or learning something. It's looking like entertainment content. So I don't provide answers,  CLI outputs, debug outputs, traffic dumps. I'm sure you should try it yourself.
    • I use TiMOS-B-12.0.R6 (It’s temporary)

    Topology example








    Lab tasks and questions:
    • card provisioning
    • provision card and MDA
    • examine card and MDA status
    • examine card and MDA detail info
    • ports configuration
    • enable ports
    • examine ports status
  • What is a default port mode?
  • What’s a default port MTU for every port mode?
    • L3 interface configuration(ipv4 and ipv6)

    Nokia Service Routing Certification and my experience

    Introduction 

       Many times I heard that certification is just wasting time. And only real experience does matter. Of course, real experience is important. But often It’s so hard to get experience. E.g. your current job can’t give you opportunities to work with some technologies and you can’t get a new promotion or change a job, because you don’t have some experience. A typical loop. And in my opinion, certification is one of the suitable tools to break this loop and expand your opportunities.

    Benefits of every certification:

        - We always need motivation for learning something. Every certification consists of several levels. Step by step approach. Levels are goals for us. And it helps to keep motivation on a high level. And every achieved level helps to feel more confident.
        - Every certification program has proper learning tools. Self-study guides, books, online/offline courses, etc. It helps to save time so we can just start to study.
        - Certification is not the main goal. Preparing is the main goal. And preparing results. For example, notes. Notes were useful before exams as well as they will be useful in the future.
        - Engineers Continue reading