NSG rules (inbound, outbound) in Azure - Time & Space Complexity
We want to understand how the time to process network security rules changes as we add more rules.
How does the system handle more inbound and outbound rules as their number grows?
Analyze the time complexity of checking NSG rules for network traffic.
// Pseudocode for NSG rule evaluation
foreach (rule in inboundRules) {
if (rule matches incoming traffic) {
allow or deny;
break;
}
}
foreach (rule in outboundRules) {
if (rule matches outgoing traffic) {
allow or deny;
break;
}
}
This sequence checks inbound and outbound rules one by one until a match is found.
We look at how many times the system checks each rule against the traffic.
- Primary operation: Matching a network packet against a single NSG rule.
- How many times: Up to all inbound rules for incoming traffic, and all outbound rules for outgoing traffic.
As the number of rules increases, the system may check more rules before finding a match.
| Input Size (n rules) | Approx. Rule Checks |
|---|---|
| 10 | Up to 10 checks per direction |
| 100 | Up to 100 checks per direction |
| 1000 | Up to 1000 checks per direction |
Pattern observation: The number of checks grows linearly with the number of rules.
Time Complexity: O(n)
This means the time to evaluate rules grows directly in proportion to the number of rules.
[X] Wrong: "Adding more rules won't affect evaluation time because the system checks all rules at once."
[OK] Correct: The system checks rules one by one until it finds a match, so more rules mean more checks in the worst case.
Understanding how rule evaluation scales helps you design efficient network security setups and shows you can think about system behavior as it grows.
What if the rules were organized in a way that the system could jump directly to the matching rule? How would the time complexity change?
Practice
Solution
Step 1: Understand NSG function
NSGs are designed to filter network traffic to and from Azure resources.Step 2: Compare options
Only To control inbound and outbound network traffic to resources describes controlling inbound and outbound traffic, which matches NSG's role.Final Answer:
To control inbound and outbound network traffic to resources -> Option CQuick Check:
NSG controls traffic = B [OK]
- Confusing NSG with storage or identity services
- Thinking NSG monitors performance
- Assuming NSG manages user access
Solution
Step 1: Identify direction and protocol
The question asks for inbound TCP traffic on port 80, so Direction must be Inbound and Protocol TCP.Step 2: Check port and action
Port must be 80 and Action Allow to permit traffic.Final Answer:
Priority: 100, Direction: Inbound, Protocol: TCP, Port: 80, Action: Allow -> Option AQuick Check:
Inbound TCP port 80 allow = C [OK]
- Using outbound direction instead of inbound
- Using UDP protocol instead of TCP
- Specifying wrong port number
1) Priority 100: Allow inbound TCP port 22 from 10.0.0.0/242) Priority 200: Deny inbound TCP port 22 from anyWhat will happen if a connection attempt comes from IP 10.0.0.5 on port 22?
Solution
Step 1: Understand rule priority
Lower priority number means higher priority. Priority 100 rule is evaluated before 200.Step 2: Evaluate matching rules
IP 10.0.0.5 matches allow rule at priority 100, so connection is allowed before deny rule is checked.Final Answer:
The connection is allowed because allow rule has higher priority -> Option AQuick Check:
Lower priority allow beats higher priority deny = D [OK]
- Assuming deny always overrides allow
- Ignoring rule priority order
- Thinking private IPs bypass deny rules
Solution
Step 1: Check rule priority and direction
If traffic is blocked despite allow rule, a deny rule with higher priority likely blocks it.Step 2: Evaluate other options
Inbound vs outbound mismatch or protocol mismatch would cause no effect, but the question states rule exists for outbound HTTPS.Final Answer:
There is a higher priority outbound deny rule blocking port 443 -> Option DQuick Check:
Higher priority deny blocks traffic despite allow = A [OK]
- Ignoring rule priority order
- Confusing inbound and outbound directions
- Assuming source IP 0.0.0.0/0 blocks traffic
Solution
Step 1: Allow specific IP range first
Allow rule with higher priority (lower number) must permit traffic from 192.168.1.0/24.Step 2: Deny all other IPs
Deny rule with lower priority blocks all other inbound HTTP traffic.Final Answer:
Priority 100: Allow inbound TCP port 80 from 192.168.1.0/24; Priority 200: Deny inbound TCP port 80 from any -> Option BQuick Check:
Allow specific IP first, then deny others = A [OK]
- Placing deny rule before allow rule
- Allowing all IPs instead of specific range
- Using wrong priority numbers
Ready to prove it?
Pass the test and this pattern moves unknown
