Final Flashcards
What is network management?
Process of configuring network to achieve a variety of tasks.
- Load balancing
- Security
- Business Relationships
What kind of problems can network misconfigurations lead to?
- Persistent Oscillation - routers can’t agree on route to destination
- Loops - packets keep going in a loop b/t two or more routers and never reach destination
- Partitions - network is split into unconnected segments
- Black holes - router doesn’t know what to do with a packet so it drops it.
Why is configuration hard?
- Defining Correctness is hard
- Interactions b/t protocols can lead to unpredictability
- Operators make mistaks
What does SDN provide to operators?
- Network wide views
* Topology
* Traffic - Ability to satisfy network-level objectives
* load balance
* security - Direct Control
* instead of configuring each device individually, express network level objectives and direct control from a logically centralized controller
What should routers do?
- Forward Packets
- Collect measurements
- NOT computer routes!
- can be (logically) centralized
What is SDN … in the most succinct way.
“Remove routing from Routers”
What is SDN, really?
- Logically centralized control
2. Network Wide Control
What is the control and data plane?
- Data Plane: task is to forward packets to ultimate destination. State that lives in these routers to. Typically programmable hardware and is controlled by the control plane. Sometimes known as the Forwarding plane. Data that goes through the router.
- Control Plane: Compute routing tables. Typically a software program written in high level language. Destined to, or locally originated by the router itself.
Conventionally, Control + Data run on routers
in SDN, control runs in a centralized program and distributes the rules to the routers.
What are the advantages of SDN?
- Coordination
- Evolve
- Reasoning
Separation of control plane means we can apply CS techniques from programming languages or software engineering to help us reason about the network.
What is the difference b/t the control plane and the data plane?
- Control Plane
* Logic that controls forwarding behavior
* Examples: routing protocols, config for network middle boxes (generally software) - Data Plane
* Forward traffic according to control plane logic
* Examples: Forwarding, Switching (generally hardware)
Routing Protocol compute paths (Control Plane) -> Forwarding Table Entries (Data Plan)
Why is separation of Control/Data planes a good thing?
- Independent Evolution - software and hardware can evolve independently
- Control from high level program - debug / check behavior more easily
What opportunities are provided by separating data and control?
- Data Centers - VM Migration to adapt to fluctuating network demand
- Routing - more control over decision logic
- Enterprise - Security
- Research - Coexistence w/ production (on same underlying network hardware)
What are the challenges of SDN?
Scalability: a control element may be responsible for hundreds to thousands of switches
Consistency: Ensuring different replicas see the same view of the network
Security/Robustness: network still functions after failure or is compromised.
What is network virtualization?
Abstraction of a physical network
Multiple logical networks on a shared physical substrate
Sort of like VM’s with the hypervisor. Each network think it’s view is the real view of the network but the underlying real network is hidden from it
Separation of logical and physical network.
What is traffic engineering?
Reconfiguring the network in response to changing traffic loads, to achieve some operational goal
Describe link weight tuning in Intradomain traffic engineering
Adjust link weights to redirect flow within the network to take the path you want it to take.
Some ways to set link weights are:
- Inversely proportional to capacity
- Proportional to propagation delay
- Network wide optimization based on traffic
What are the three steps to traffic engineering?
Measuring - the topology and traffic
Model - pass that into a what-if model to figure out what changes to make
Control - make changes to link weights
What are the goals of interdomain traffic engineering?
- Predictability - predict how traffic flows will change in response to the changes implemented. Don’t want globally visible changes (eg if you change your outbound path to an AS, it could now have more hops, when you advertise that others may not use you now).
- Limit Influence of Neighbors - limit how neighboring AS’s may change their behavior in response to changes made in our network. Consistent adverts across multiple peering links to b/t you and another AS
- Reduce overload of routing changes - changes to as few ip prefixes as possible. Group prefixes that share an AS path. Focus on small fraction of prefixes that carry majority of traffic.
What characterizes a datacenter?
- Multi-tenancy
- Elastic Resources
- Flexible service management
+ amortization of cost
- security, resource isolation
What are the challenges of data center networking?
- Traffic load balance
- support for virtual machine migration
- power savings
- provisioning network when demands fluctuate
- providing security guarantees with multiple tenets
Why is the internet insecure?
- Designed for simplicity
- “on by default” - any host is always reachable by any other host
- Hosts are insecure
- Attacks can look like ‘normal traffic’
- Federated Design - b/c it’s run by many different people, difficult to prevent a coordinated attack
What are the components of Security?
- Availability - ability to use a resource
- Confidentiality - concealing information
- Authenticity - assures origin of information
- Integrity - prevents unauthorized changes data in flight
What is Control Plane Security?
Determine voracity of routing advertisements.
Session: protects point to point comms b/t routers
Path: protects AS path
Origin: protects origin AS in AS path, guaranteeing origin AS that advertises prefix is the owner of that prefix
What’s the ‘TTL Hack’ defense?
Set the TTL to 255 and then the receiver drops anything that has a TTL of < 254. Generally eBGP communication is only a single hop away and most attackers are remote.
What is path attestation?
Each AS signs and appends a path attestation to each route advert.
If you have AS1 => AS2 => AS3
Then AS1 would send {2, 1}k1 (where k1 is the signature of AS1) to AS2
and then AS2 would send {3, 2, 1}k2, {2,1}k1 to AS3
So each hop see’s who the route was intended for and who signed it along the way.
Prevents against:
- Hijacks
- Shortening
- Modification
Can’t protect against
- Suppression
- Replay
How does DNS cache poisoning work?
Since DNS queries are UDP (Connectionless) and there is is not authentication, after someone sends a request, the attack can reply before the request comes back (from the master) with a flood of ID’s. If one of the ID’s matches, then the cache is poisoned until it expires.
How can we defend against DNS cache poisoning?
- use an ID (but it can be guessed)
- randomize the ID (16 bit, only, though) - b/c of birthday paradox, attacker can send only a couple hundred replies instead of all 2^16.
- randomize the source port
- resource intensive
- NAT could derandomize port - 0x20 Encoding -> DNS is case insensitive
* www.GooGle.com == www.google.com
* idea is their is a key that randomizes the capitalization and that must also match - ultimately adds additional entropy
How does DNS amplification work?
attacker makes small DNS queries (~60B) but uses a spoofed source IP. The response may be 3000B, so you get a 2x order of magnitude response. If attacker has fast connection they can send a lot of data and then it gets amplified in return to the victim.
Solutions are:
- prevent ip address spoofing using appropriate filtering rules
- disable DNS resolve from resolving queries from arbitrary locations on the internet