4.6k views
An IP router implementing Classless Inter-domain Routing (CIDR) receives a packet with address $131.23.151.76$. The router's routing table has the following entries:
$$\begin{array}{|c|c|c|} \hline \textbf {Prefix} & \textbf {Outer Interface Identifier} \\\hline \text {131.16.0.0/12} & \text{3 } \\\hline \text{131.28.0.0/14} & \text{5} \\\hline \text{131.19.0.0/16} & \text{2} \\\hline \text{131.22.0.0/15} & \text{1} \\\hline \end{array}$$
The identifier of the output interface on which this packet will be forwarded is ______.

edited | 4.6k views
0
131.19.0.0/ 16  Why is it not used?Can any one explain.
0
Isn't the first match in the table should be considered instead of the longest matching?

Answer is Interface $1.$

Given address $133.23.151.76$ coming to the first field of given routing table
$\Rightarrow 131.16.0.0/12$

$\quad\; 131.\mathbf{0001\ 0111}.151.76$

$\quad\; 131.\mathbf{0001\ 0000}.0.0 (\because \text{given mask bits} = 12 )$

$\Rightarrow 131.16.0.0 \qquad \text{Matched}$

Coming to the $2^{nd}$ field of the given Routing table

$\Rightarrow 131.28.0.0/14$

$\quad\; 131.\mathbf{0001\ 0111} .151.76$

$\quad\; 131. \mathbf{0001\ 0100}.0.0 (\because \text{given mask bits} = 14 )$

$\Rightarrow 131.20.0.0 \qquad \text{Not matched.}$

Coming to the $3^{rd}$ field of the given Routing table
Error$!$ Not a valid link. $131.19.0.0/16$

$131.\mathbf{0001\ 0111}.151.76$

$131.\mathbf{0001\ 0111}.0.0 (\because \text{given mask bits} = 16 )$

$\Rightarrow 131.23.0.0 \qquad \text{Not matched}$
Coming to the $4^{th}$ field of given Routing table

$\Rightarrow 131.22.0.0/15$

$\quad\; 131.\mathbf{0001\ 0111} .151.76$

$\quad\; 131. \mathbf{0001\ 0110}.0.0 (\because \text{given mask bits} = 15 )$

$\Rightarrow 131.22.0.0 \qquad \text{Matched.}$

We are getting $1^{st}$ and $4^{th}$ entries are matched so among them we have to
picked up longest mask bit, so output interface identifier is $1.$
by Active (1.4k points)
edited
+1

why link 3 is invalid and for (option 4)131.22.0.0/15 binary is 00010110...so network ip is coming out as 131.6.0.0...please correct me if i am wrong

0
We need to just check the longest matching of 0's and 1's with the given packet
0
among all the matching mask we will take the longest one
0

@ sir

Coming to the $3^{rd}$ field of the given Routing table
Error$!$ Not a valid link. $131.19.0.0/16$

$131.\mathbf{0001\ 0111}.151.76$

$131.\mathbf{0001\ 0111}.0.0 (\because \text{given mask bits} = 16 )$

$\Rightarrow 131.23.0.0 \qquad \text{Not matched}$

How the routing table have error$?$

$23:0 0 0 1$ $0 1 1 1$

$19:0 0 0 1$ $0 0 1 1$        Perform bitwise AND

-------------------------------------

$19:0 0 0 1$  $0 0 1 1$

--------------------------------------

Why this is not valid$?$

This is also mathed.

Why this is not taken in the answer$?$

0
Why we are choosing longest mask ? Is there any specific reason ?

From the table it is clear that we need to focus on 2nd part of ip address only.
131.23.151.76   ->    131.00010111.151.76

(No need to find binary of any subnet id, we just want subnet mask which is all 1's in net id part & all 0's in host id part.)

i)    /12     11111111.11110000.00000000  bitwise &  131.00010111.151.76 =    131.16.0.0  (Matched with interface 3)
ii)   /14     11111111.11111100.00000000   bitwise &  131.00010111.151.76 =    131.20.0.0  (not matched with any interface)
ii)   /16     11111111.11111111.00000000   bitwise &  131.00010111.151.76 =    131.23.0.0  (not matched with any interface)
ii)   /15     11111111.11111110.00000000   bitwise &  131.00010111.151.76 =    131.22.0.0  (Matched with interface 1)

Now there are two matches so we will choose the longer one which is interface 1. i.e 131.22.0.0

by Boss (12.2k points)
edited by
0
Correct the binary expansion of 2nd part of ip
0
@Mostafize Is it fine now? & I have not rechecked bitwise &. Please check and say.
0
thanks

In this question, we need to find out Netmask for each entry and BITWISE AND with given packet address, whichever equals the Netid, is the ans. Ex. 1st entry in table: 131.16.0.0/12. its MASK is first 12 bits of network(they are all 1) and remaining 20 bits of host(they are all 0). so MASK is 255.240.0.0 AND 131.23.151.76 = 131.16.0.0. Last entry is 131.22.0.0/15 MASK--->255.254.0.0 AND 131.23.151.76 = 131.22.0.0. Two ans coming interfaces 1,3. Longest Prefix Matching is used to decide among two. When one destination address matches more than one forwarding table entry. The most specific of the matching table entries is used as the interface. The interface 1 has the longest matching prefix with the input IP address. Therefore 1 is chosen.

by Loyal (9.6k points)

When there are multiple matches, the router uses the longest prefix matching rule; that
is, it finds the longest matching entry in the table and forwards the packet to the link interface associated with the longest prefix match.

131.23.151.76:   1 0 0 0 0 0 1 1 . 0 0 0 1 0 1 1 1 . 1 0 0 1 0 1 1 1 . 0 1 0 0 1 1 0 0

3 -- 131.16.0.0/ 12:   1 0 0 0 0 0 1 1 . 0 0 0 1 x x x x  .  x x x x x x x x .  x x x x x  x x x      No.of prefix bits matched = 12

5 -- 131.28.0.0/ 14:   1 0 0 0 0 0 1 1 . 0 0 0 1 1 1 x x  .  x x x x x x x x .  x x x x x  x x x      Bit mismatch(discarded) as highlighted

2 -- 131.19.0.0/ 16:   1 0 0 0 0 0 1 1 . 0 0 0 1 0 0 1 1 .  x x x x x x x x .  x x x x x  x x x       Bit mismatch(discarded) as highlighted

1 -- 131.22.0.0/ 15:   1 0 0 0 0 0 1 1 . 0 0 0 1 0 1 1 x .  x x x x x x x x .  x x x x x  x x x       No.of prefix bits matched = 15

Ans : Thus the identifier of the output interface on which this packet will be forwarded is  1.

by Loyal (9.6k points)
131.19.0.0/ 16  Why is it not used?Can any one explain.
by Loyal (10k points)
0
we need to consider "longest matching" here 131.16.0.0/ 12 and 131.22.0.0/ 15 both matched but /15 is longest matching it has more prefix so interface will be "1"