Test 3 Flashcards

1
Q

Why is traditional network configuration hard? (4)

A

1) Defining correctness is hard.
2) Interactions between protocols is unpredictable.
3) Operators make mistakes.
4) Configuration is distributed across many devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does SDN provide to operators? (3)

A

1) Network-wide views of topology and traffic.
2) Ability to satisfy network-level objectives of load balance and security
3) Gives operator direct control of data plane

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How does SDN change the role of routers?

A

Routers no longer need to compute routes. The routing can be logically centralized.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the two functions of a network and what do they do?

A

1) The Data Plane forwards packets to the destination.

2) The Control Plane computes the routing table. It is the logical that controls forwarding behavior.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How do the two functions of a network differ on traditional networks versus SDNs?

A

Traditionally, control and data planes are distributed across all of the routers. On SDNs, the control plane is
run on a logically central controller that controls all of the network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the three main advantages of SDNs?

A

1) Easier to coordinate behavior
2) Behavior is easier to evolve / faster innovation
3) Behavior is easier to reason about and debug. You can apply typical CS techniques.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does the infrastructure of the Control Plane and Data Plane differ on SDNs?

A

The control plane is written in a high level language that sends “control commands,” while the data plane is programmable hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What four opportunities do SDN and plane separation provide?

A

1) Data centers - facilitates VM migration to adapt to fluctuating network demands.
2) Routing - more control over decision logic.
3) Enterprise networks - can write security applications that manage network access control.
4) Research - can virtualize networks so research networks and experimental protocols can coexist with production networking applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What problem does SDN solve in data centers and how?

A

One cluster has many servers which have many VMs. These VMs need to be migrated across servers due to load. SDN allows for the switch states to be programmed easily from a central database to allow for this.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are three challenges of SDN?

A

1) Scalability - control element may be responsible for hundreds to thousands of switches
2) Consistency - we want to replicate the controller, but we want to ensure the same view on all.
3) Security/Robustness - we want to make sure that the network functions correctly if a controller fails or is compromised.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the main advantage and disadvantage of Pox vs NOX?

A

Pox is written is Python, so control programs are easier to write and understand versus NOX’s C++. However, Python is slower.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the advantages/disadvantages of Ryu?

A

Supports later versions of OpenFlow, but it is written in Python and therefore slower.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the advantages/disadvantages of Floodlight?

A

Written in Java, fast, good documentation, REST API, but hard to learn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the difference between a hub vs a switch?

A

A hub maintains no state about where packets should be forwarded and therefore forwards to every output port. A switch learns a forwarding table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How does caching work in SDN?

A

1) The packets reach the controller if no flow table entry at switch.
2) When controller decides on action, installs entry on switch.
3) Decision is cached on switch.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the two consistency problems that arise with SDN?

A

1) Packet-level: updates may disrupt packets along an end-to-end path when switches receive updates at different times.
2) Flow-level: packets from the same flow may be disrupted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Why can’t OpenFlow deal with the problem of “Show all web server traffic except source 1.2.3.4” and what is the solution?

A

OpenFlow only uses simple match-action rules which do not allow you to express exceptions. The solution is to use “predicates.” These can be translated via a runtime system into low-level OpenFlow rules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the problem dealing with the number of rules, and what is the solution?

A

There are too many possible rules, as every rule could apply to every IP address, port, etc. The solution is to dynamically unfold the rules as the traffic arrives.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the problem of “extra unexpected events,” and what is the solution?

A

The first packet of a flow gets send to the controller, and the controller installs a rule on the switches to deal with the packet. But if this doesn’t happen quickly enough, many packets of the flow will be sent to the controller.

The solution is to specify a Limit(1) rule to suppress all but the first packet to the controller.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What is the two-phase commit and how does it work?

A

It’s a solution to writing network configuration consistently. It ensures that packets are either subjected to the old configuration on all switches or the new configuration on all switches.

Packets are tagged with the network configuration when they enter. Switches maintain copies of both configurations and use the updated one when no more old configuration packets are being forwarded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is network virtualization?

A

It is an abstraction of a physical network where multiple “logical networks” can exist on a shared physical substrate.
It is analogous to multiple virtual machines running on shared hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Why is network virtualization used?

A

It allowed for easier network evolution by letting multiple architectures exist in parallel.
It has also grown in practice due to multi-tenant data centers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is the difference between SDN and network virtualization?

A

Network virtualization can use SDN as a tool. Network visualization separates the logical network from the underlying physical network, while SDN separates the data plane of the network from the control plane.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

How are nodes created in network virtualization?

A

A hypervisor slices the underlying hardware to provide the illusion of multiple guest nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

How do edges between nodes work in network virtualization?

A

Because nodes may be separated by an IP hop, ethernet packets are encapsulated in an IP packet and decapsulated at the destination. The physical hosts can host multiple virtual hosts, and therefore need a virtual switch to link them together.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What are the three problems in programming SDNs (OpenFlow)?

A

1) Low level of abstraction
2) Controller only sees events that switches do not know how to handle
3) Race conditions if switch-level rules not installed properly

27
Q

What is the “northbound” API?

A

It is an API that allows for higher level abstraction when defining network behavior. This would allow for applications to be written on top of OpenFlow, but there is no current standard.

28
Q

What is Frenetic?

A

A programming language that sits on top of the northbound API that uses a SQL-like query language.

29
Q

What is a potential problem in writing multiple high-level network policies, and what is a solution?

A

Different modules can be written (firewall, load-balancer, etc.) but they all affect the same traffic. It needs to specified what can be done in parallel, or in what order the rules need to be applied sequentially.

30
Q

What is traffic engineering?

A

Process of reconfiguring the network in response to changing traffic loads.

31
Q

How can intradomain traffic engineering be done?

A

Tuning link weights based on capacity, delay, or some network-wide optimization goal.

32
Q

What are the three steps in traffic engineering?

A

Measure, model, and control. Traffic is measured (topology and traffic). This is fed to a what-if model that predicts what will happen under various changes. The appropriate changes are applied to control the link weights.

33
Q

What are the three goals of interdomain traffic engineering?

A

1) Predictability
2) Limit influence of neighbors
3) Reduce overhead of routing changes

34
Q

How can interdomain IE affect predictability and how can it be prevented?

A

By changing a configuration of an outgoing link, you can change the routing decisions of other AS’s, thus changing the entire traffic matrix. Prevent this by only making changes that aren’t globally visible.

35
Q

What is multipath routing?

A

It is when an operator specifies multiple paths in advance. For example, an operator could adjust link weights to make two paths have equal length and adjust the traffic fractions to optimize congestion.

36
Q

What are the three main characteristics of data center networks?

A

1) Multi-tenancy
2) Elastic resources
3) Flexible service management - workload movement, migration enabled by virtualization

37
Q

What are the benefits and challenges of modern data center toplogies?

A

Data center core layers are now layer 2 instead of layer 3.

Benefits:

1) Easier migration due to no need for new IP address
2) Easier load balance

Challenges:

1) Harder to scale since all servers are on flat topology and forwarding tables get large
2) Single points of failure
3) Oversubscription of links at top of hierarchy

38
Q

How do pods help with the data center scaling problem?

A

Instead of maintaining forwarding table entries for every MAC address, servers get assigned pseudo-MAC address that corresponds to their pod.

39
Q

What are the goals of valiant load balancing and how does it achieve them?

A

Goals:

1) Spread traffic
2) Ensure traffic load is balanced independent of the destination

It uses an indirection level of switches. Nodes pick one at random, and the switches then forward the traffic to the ultimate destination.

40
Q

What are the goals of jellyfish?

A

1) High throughput

2) Incremental expandability

41
Q

How is a jellyfish random graph constructed?

A

Every top-of-rack (ToR) switch i has k_i total ports, of which it uses r_i to connect to other ToR switches at random and the remaining k_i - r_i to connect to servers.

42
Q

What are the five reasons that the internet is insecure?

A

1) Designed for simplicity
2) “On by default”
3) Hosts are insecure
4) Attacks can look like normal traffic
5) Federated design obstructs cooperation

43
Q

What are the four components of security?

A

1) Availability: ability to use a resource
2) Confidentiality: concealing information
3) Authenticity: assures origin of information
4) Integrity: prevent unauthorized changes

44
Q

How could an attack on confidentiality occur?

A

An attacker could place their network card in promiscuous mode and use a packet sniffer to intercept packets not meant for them.

45
Q

How could an attack on authenticity occur?

A

At attacker could intercept messages meant for B from A and suppress the original message. They could alter the message and send it to be while impersonating A. this is a “man in the middle” attack that also attacks integrity.

46
Q

What are the three types of control plane authentication?

A

1) Session: protects point-to-point communication between routers
2) Path: protects AS path
3) Origin: protects origin AS in AS path, and ensures the origin AS that advertises prefix owns the prefix

47
Q

What type of control plane authentication attack is route hijacking?

A

It’s an attack on origin authentication because the AS advertising the prefix doesn’t own the prefix.

48
Q

What is AS path poisoning?

A

It’s where the man-in-the-middle advertises an AS path that includes AS’s that it doesn’t want to link back to itself. Those AS’s won’t update because they think they’ve already seen it.

49
Q

How is session authentication done?

A

The TCP session is authenticated using TCP’s MD5 option with an agreed secret key. Or they set TTL values to 255 and drop packets with TTL values less than 254.

50
Q

How is path authentication done?

A

ASs advertise routes along with a “path attestation” which contains a signed route signed by its secret key. This path attestation includes the AS that it’s sending it to, along with previous attestations that it got.

This prevents path hijacks, shortenings, and modifications, but it does not prevent path suppression.

51
Q

What are the four reasons that DNS is so vulnerable?

A

1) Resolvers trust responses
2) Responses contain info unrelated to query
3) No authentication is required
4) DNS is done over UDP (connectionless)

52
Q

What is DNS cache poisoning?

A

The attacker anticipates a DNS query from a stub resolver to a recursive resolver. Before the start of authority (SOA) can reply, the attacker floods the cache with fake replies in hopes that it will get cached.

53
Q

What is the Kaminsky attack?

A

The attacker sends the DNS queries and then sends NS responses that tell the cache that it owns the whole domain.

54
Q

What are the three ways to defend against DNS cache poisoning?

A

1) ID with randomization
2) Source port randomization
3) “0x20” encoding - using specific capitalization of domain names that is unknown to attacker, adds additional entropy

55
Q

What is the DNS amplification attack?

A

An attacker sends a small DNS query and spoofs the source. The DNS server responds with a much-larger response. If many attackers coordinate, it results in a DOS attack.

56
Q

What is the DNSSEC protocol?

A

It’s an authentication protocol for DNS. When the resolver issues a query, it gets a signed response that includes the location of the next server in the hierarchy along with that server’s private key which it can use to check the next server’s response.

57
Q

What is the difference between a virus and a worm?

A

A virus is an infection of an existing program that results in modified behavior. It typically requires user action in order to spread.
A worm is code that propagates/replicates across the network, and it does so automatically.

58
Q

What are the four types of virus?

A

1) Parasitic: infects executable files
2) Memory resident: infects running programs
3) Boot-sector: spreads when system is booted
4) Polymorphic: encrypts parts of virus program using randomly generated key

59
Q

What is the lifecycle of a worm?

A

1) Discover/”scan” for vulnerable hosts
2) Infect vulnerable machines via remote exploit
3) Remain undetectable

60
Q

How can worms increase their initial compromise rate?

A

1) Hit list of known vulnerable systems

2) Permutation list to ensure different copies of worms try different IP addresses.

61
Q

What are three ways to defend against DOS attacks?

A

1) Ingress filtering
2) uRPF checks
3) Syn cookies (TCP)

62
Q

How do TCP syn cookies work?

A

The server picks a sequence number and checks the clients response against this. This way it doesn’t have to keep a whole TCP buffer.

63
Q

How does “Backscatter” work?

A

Backscatter infers DOS activity by using a part of the network to monitor backscatter replies. If it’s assumed that the attacker is spoofing IP’s at random, then you can compare the backscatter traffic against what you would expect statistically in an attack.

The total attack rate is (Total IP addess space / Monitor IP address space) * observed attack rate