The Internet & Protocols
Fault Tolerance
Securing Networks
Parallel & Distributed Computing
100

The _______ is the reason you don't have to memorize the IP Address of every website you want to visit.

DNS (Domain Name System)

100

Building extra, duplicate paths into a network’s design is known as ________.

Redundancy

100

Difference between Symmetric and Asymmetric encryption

Symmetric Encryption - A single key which is the same for both encrypting and decrypting

Asymmetric Encryption -  A pair of keys
     - Public key - anyone can use to encrypt data
     - Private key - Owner possesses to decrypt the data

100

Formula for Speedup

Sequential Time ÷ Parallel Time

200

The open protocols that the internet uses are developed, debated, and maintained by the _ _ _ _.

IETF (Internet Engineering Task Force)

200

A true fault-tolerant system is...

...a system that can continue to function properly even if a few of its components fail

200

What are the three things multi-factor authentication requires?

Something you know
Something you have
Something you are

200

How can distributed computing actually make a system more reliable?

It follows the concept of fault tolerance through redundancy. If one machine/server goes down, there are many more to handle the work.

300

What's the point of IPv6 when IPv4 can already hold 4,294,967,296 addresses?

Even though that's a lot of addresses, the amount IPv4 can provide (2^32) does not meet our needs. Already, there are more internet connected devices than people on earth.
IPv6 is 128-bit, which means it can provide 2^128 addresses, which will certainly be enough forever.

300

What's the drawback of using fault tolerance?

Increases cost and complexity

300

How do digital certificates prevent a Man-in-the-Middle attack?

Digital Certificates are issued by trusted Certificate Authorities. When one's browser connects to the site, it checks that certificate to make sure that you are actually "talking" to that site and not an impersonator.

300

______ computing should be used for downloading multiple files off of the internet.

Parallel

400

A programmer says out loud: "I'm extracting the bandwidth of this HTTP request and storing it in a spreadsheet. With this data, over time, we will be able to analyze the average request delay." Why is their terminology incorrect?

Incorrect because latency is the delay of the request, not bandwidth. 

Bandwidth is the max amount of data that can be sent in a certain amount of time. Singular requests don't have a "bandwidth."

400

Give an example of a centralized network.

Give an example of a decentralized network.

Centralized networks: Social media platforms, Google; most client-server systems.
     - Uses a central server = centralized
Decentralized networks: The internet, P2P file sharing
     - No central point of failure

400

What is the relationship between the RSA algorithm and an intractable problem, and why is this this relationship useful?

The relationship is that breaking RSA is an intractable problem.
     - It is infeasible to find the two prime factors of a large number in reasonable time.

It is useful because it allows it to be used in security.

400

S_______ is one of the biggest reasons in using distributed computing instead of parallel computing.

Scalability

500

You send an email to your friend about your new idea to create an online multiplayer video game. The email is sent through the _ _ _ _ Protocol.
You wonder what protocol you should use for the online requests of the game, and realize you should probably use the _ _ _ Protocol.

SMTP Protocol
     - Used for emails

UDP Protocol
     - Used for fast streams of data where speed is preferred over reliability. Common for multiplayer games and online meetings.

500

Is the UDP Protocol fault tolerant or not? Explain why.

Not fault tolerant

The UDP (User Datagram Protocol) does not take the step of checking whether there are missing packets. This is to ensure speed; however, reliability is at cost.

500

Why is hashing instead of encryption used for storing passwords in high-security databases?

Anything that is encrypted can be unencrypted with a key.
On the other hand, hashing is a true one-way function, meaning you can't just "un-hash" a password; there is no key for un-hashing.
Hashes are completely unique, so a server can just compare two hashes to know if the password was correct or not, without the server ever viewing the actual password.

500

Why does a program that takes 10 seconds to run on one processor not take half a second to collectively run on 20 processors?

It is limited by a sequential portion; some tasks need to happen in a specific order and can't be split up.

M
e
n
u