Basics of OSPF

No Comments

OSPF is by far the most popular and important protocol in use today.

Most important features of OSPF:

  1. Its open source !
  2. Very fast convergence time, ( a tad close to even EIGRP )
  3. Link-state routing protocol
  4. Supports multiple, equal cost routes to the same destination
  5. Supports both IPv4 and IPv6
  6. Uses Dijkstra’s algorithm to find the shortest path tree and follows that by populating the routing table with resulting best path.
  7. Allows creation of areas and autonomous system
  8. Minimizes routing update traffic
  9. Supports VLSM/CIDR
  10. Unlimited hop count (unlike RIP)
  11. Supports Multi-vendor deployment.

Lets get familiar with few terms related to OSPF:

  • Router ID: In OSPF this is a unique 32-bit number assigned to each router. This is chosen as the highest IP address on a router, and can be set large by configuring an address on a loopback interface of the chosen router.
  • Neighbor Routers: two routers with a common link that can talk to each other.
  • Adjacency: a two-way relationship between two neighbor routers. Neighbors don’t always form adjacencies.
  • LSA: Link State Advertisements are flooded; they describe routes within a given link.
  • Hello Protocol: this is how routers on a network determine their neighbors and form LSAs.
  • Area: a hierarchy. A set of routers that exchange LSAs, with others in the same area. Areas limit LSAs and encourage aggregate routes.

OSPF protocol builds and maintains three separate tables:

  1. A neighbor table – contains a list of all neighboring routers.
  2. A topology table – contains a list of all possible routes to all known networks within an area. ( and finally.. drum rolls)
  3. A routing table – contains the best route for each known network.

Different types of routers :

  1. ABR : An Area Border Router is a router that is in area zero, and one or more other areas.
  2. DR, BDR : A Designated Router, as we said, is the router that keeps the database for the subnet. It sends and receives updates (via multicast) from the other routers in the same network.
  3. ASBR : The Autonomous System Boundary Router is very special, but confusing. The ASBR connects one or more AS, and exchanges routes between them. The ASBR’s purpose is to redistribute routes from another AS into its own AS.

OSPF states – The device operating OSPF goes through certain states. These states are:

  1. Down – In this state, no hello packet have been received on the interface.
    Note – The Down state doesn’t mean that the interface is physically down. Her, it means that OSPF adjacency process has not started yet.
  2. INIT – In this state, hello packet have been received from the other router.
  3. 2WAY – In the 2WAY state, both the routers have received the hello packets from other routers. Bidirectional connectivity has been established.
    Note – In between the 2WAY state and Exstart state, the DR and BDR election takes place.
  4. Exstart – In this state, NULL DBD are exchanged.In this state, master and slave election take place. The router having the higher router I’d becomes the master while other becomes the slave. This election decides Which router will send it’s DBD first (routers who have formed neighbourship will take part in this election).
  5. Exchange – In this state, the actual DBDs are exchanged.
  6. Loading – In this sate, LSR, LSU and LSA (Link State Acknowledgement) are exchanged.
    Important – When a router receives DBD from other router, it compares it’s own DBD with the other router DBD. If the received DBD is more updated than its own DBD then the router will send LSR to the other router stating what links are needed. The other router replies with the LSU containing the updates that are needed. In return to this, the router replies with the Link State Acknowledgement.
  7. Full – In this state, synchronization of all the information takes place. OSPF routing can begin only after the Full state.

Categories: Programming

Linear Regression Interview Questions – Part 2

No Comments

In the previous post, you saw some common interview questions asked on linear regression. The questions in that segment were mostly related to the essence of linear regression and focused on general concepts related to linear regression. This section extensively covers the common interview questions asked related to the concepts learnt in multiple linear regression.

Q1. What is Multicollinearity? How does it affect the linear regression? How can you deal with it?

Multicollinearity occurs when some of the independent variables are highly correlated (positively or negatively) with each other. This multicollinearity causes a problem as it is against the basic assumption of linear regression. The presence of multicollinearity does not affect the predictive capability of the model. So, if you just want predictions, the presence of multicollinearity does not affect your output. However, if you want to draw some insights from the model and apply them in, let’s say, some business model, it may cause problems.

Read More…

Linear Regression Interview Questions

No Comments

It is a common practice to test data science aspirants on linear regression as it is the first algorithm that almost everyone studies in Data Science/Machine Learning. Aspirants are expected to possess an in-depth knowledge of these algorithms. We consulted hiring managers and data scientists from various organisations to know about the typical Linear Regression questions which they ask in an interview. Based on their extensive feedback a set of question and answers were prepared to help students in their conversations.

Q1. What is linear regression?

In simple terms, linear regression is a method of finding the best straight line fitting to the given data, i.e. finding the best linear relationship between the independent and dependent variables.

Read More…

Logistic Regression Interview Questions – Part 3

No Comments

Q1. What is accuracy?
Accuracy is the number of correct predictions out of all predictions made.

Accuracy=True Positives+True NegativesTotal Number of Predictions

Q2. Why is accuracy not a good measure for classification problems?
Accuracy is not a good measure for classification problems because it gives equal importance to both false positives and false negatives. However, this may not be the case in most business problems. For example, in the case of cancer prediction, declaring cancer as benign is more serious than wrongly informing the patient that he is suffering from cancer. Accuracy gives equal importance to both cases and cannot differentiate between them.

Read More…

Logistic Regression Interview Questions – Part 2

No Comments

Q1. What is the Maximum Likelihood Estimator (MLE)?
 The MLE chooses those sets of unknown parameters (estimator) that maximise the likelihood function. The method to find the MLE is to use calculus and setting the derivative of the logistic function with respect to an unknown parameter to zero, and solving it will give the MLE. For a binomial model, this will be easy, but for a logistic model, the calculations are complex. Computer programs are used for deriving MLE for logistic models.

(Here’s another approach to answering the question.)

Read More…

Logistic Regression Interview Questions – Part 1

No Comments

Q1. What is a logistic function? What is the range of values of a logistic function?
The logistic function is as defined below:

                                                                           f(z)=1(1+e−z)

The values of a logistic function will range from 0 to 1. The values of Z will vary from −∞ to +∞.

Read More…

Euler Problem 4: Largest palindrome product : C Programming Solution

Problem 4: 

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.

Find the largest palindrome made from the product of two 3-digit numbers.

Solution Approach:

Brute force method:

  1. Create a function that checks a number for being a palindrome.
  2. keep multiplying the numbers from 999 X 999 decretmenting one at a time.
  3. Find the multiplication and get the highest product and  print

Read More…

Categories: Programming

Euler Problem 3: Largest prime factor : C Programming Solution

No Comments

Problem :

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

Solution Approach :

Simple approach would be to identify all the prime numbers under the square root of the number 600851475143 which divide the the number 600851475143. When you find a prime factor using this method, keep the track of largest such number to get our result. Read More…

Categories: Programming

Euler Problem 2: Even Fibonacci numbers : C Programming Solution

No Comments

Problem 2:

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

Solution Approach:

Question starts of with introduction to Fibonacci sequence, which by the way, is a very interesting topic and highly encourage you guys to read about it in web whenever you get time.

Idea is to get the “next” element of Fibonacci series by adding the “present” and “previous” element.  When the element is an even number, add to the “sum” variable. Very simple indeed. Give it a try for yourself before checking the problem solution below. Read More…

Categories: Programming

Euler Problem 1: Multiples of 3 and 5 : C programming solution

No Comments

Problem Statement :

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

Solution Approach:

Being the first problem of the series, its quite a simple one. there are many ways to approach this problem.

Most simplest one is  to iterate through all the numbers from 3 to 1000 and check if its divisible by 3 or 5. If they are, just add them to the sum. Read More…

Categories: Programming Tags: Tags: , , ,