Its the third one because, packets are bits of data that travel trough a network.
Answer:
No you can not tell that recursion is ever required to solve a problem.
Recursion is required when in the problem, the solution of the input depends on the solution of the subsets of the input.
Iteration is also another form of repetitive approach we follow to solve that kind of problems.
But the difference between recursion and iteration is :
- In recursion we call the function repeatedly to return the result to next level.
- In iteration certain bunch of instructions in a loop are executed until certain conditions met.
Explanation:
For example in the Fibonacci sequence problem, to find , we need to compute and before that.
- In case of recursion we just call the method Fibonacci(n) repeatedly only changing the parameter Fibonacci(n-1), that calculates the value and return it.
Fibonacci(n)
1. if(n==0 or n==1)
2. return 1.
3.else
4. return( Fibonacci(n-1)+Fibonacci(n-1) )
- But in case of iteration we run a loop for i=2 to n, within which we add the value of current and to find the value of
Fibonacci(n)
1. if(n<=2)
2. result = 1
3. else
4. result1 =1 and result2=1.
5. { result = result1 +result2.
6. result1= result2.
7. result2 = result.
8. }
9. output result.
The obvious answer is
Layer 3, the network layer. but it's not always the case.
Point in case. Since firewalls essentially filter data, the answer depends on what kind of filtering you do.
If you filter based on IP address (for example), you can say that your firewall is filtering at layer 3. If you filter specific ports, you can say you're filtering at layer 4. If your firewall inspects specific protocol states or data, you can say it operates at layer 7.
The truth is that most firewalls do all these things in combination. So practically speaking there really is no useful answer to your question.