CSE 4344 Midterm 1 Review

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/84

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

85 Terms

1
New cards

Application Layer

The layer in the network stack where network applications and their protocols operate, enabling communication between end systems.

2
New cards

Client-Server Architecture

A network architecture where a centralized server (always-on host) provides services to clients (intermittently connected hosts), which do not communicate directly with each other.

3
New cards

P2P (Peer-to-Peer) Architecture

A decentralized network architecture where peers (end systems) directly communicate and share resources without a central server, offering self-scalability.

4
New cards

Socket

A software interface through which processes send and receive messages over the network, analogous to a 'door' for communication.

5
New cards

Port Number

A numerical identifier used alongside an IP address to specify a particular process on a host (e.g., HTTP uses port 80).

6
New cards

App-Layer Protocol

Defines the rules for communication between applications, including message types, syntax, semantics, and timing (e.g., HTTP, SMTP).

7
New cards

TCP Service

Provides connection-oriented, reliable, and ordered data transfer with flow and congestion control, but no timing or throughput guarantees.

8
New cards

UDP Service

Provides connectionless, unreliable data transfer with no guarantees for reliability, flow control, or congestion control.

9
New cards

SSL (Secure Socket Layer)

A security protocol that provides encrypted TCP connections, data integrity, and authentication for secure communication.

10
New cards

HTTP (Hypertext Transfer Protocol)

The application-layer protocol used for web communication, following a client-server model and operating over TCP (default port 80).

11
New cards

Stateless (HTTP)

A property of HTTP where the server does not retain information about past client requests.

12
New cards

Non-Persistent HTTP

An HTTP connection where only one object is transferred per TCP connection, requiring multiple connections for multiple objects (response time: 2 RTTs + transmission time).

13
New cards

Persistent HTTP

An HTTP connection where multiple objects can be transferred over a single TCP connection, reducing overhead and improving efficiency (as little as 1 RTT for referenced objects).

14
New cards

HTTP GET

Requests data from a server.

15
New cards

HTTP POST

Submits data to a server (e.g., form input).

16
New cards

HTTP HEAD

Requests metadata about an object (debugging).

17
New cards

HTTP PUT

Uploads an object to a server.

18
New cards

HTTP DELETE

Removes an object from a server.

19
New cards

URL Method (GET with Input)

A way to upload user input by including it in the URL field of the request line (e.g., www.example.com/search?query=term).

20
New cards

HTTP Response Message

Contains a status line (e.g., HTTP/1.1 200 OK), header lines, and the requested data (e.g., HTML file).

21
New cards

HTTP status code 200

Request succeeded.

22
New cards

HTTP status code 301

Object relocated (new URL in Location: header).

23
New cards

HTTP status code 400

Server couldn't understand the request.

24
New cards

HTTP status code 404

Requested object not found.

25
New cards

HTTP status code 505

Unsupported protocol version.

26
New cards

Web Cache (Proxy Server)

Acts as both client (to origin server) and server (to requesting client). Stores copies of objects to reduce response time and traffic.

27
New cards

Conditional GET

HTTP mechanism to check if a cached object is up-to-date. Uses If-Modified-Since header; server replies 304 Not Modified if unchanged.

28
New cards

Electronic Mail Components

User Agents (e.g., Outlook): Compose/edit emails.

Mail Servers: Store incoming (mailbox) and outgoing (queue) messages.

SMTP: Protocol for transferring emails between servers.

29
New cards

Mail Servers

Store incoming (mailbox) and outgoing (queue) messages.

30
New cards

SMTP

Protocol for transferring emails between servers.

31
New cards

SMTP (Simple Mail Transfer Protocol)

Uses TCP (port 25) for reliable transfer.

32
New cards

Three phases of SMTP

Handshaking, message transfer, closure.

Commands/responses are ASCII-text (e.g., HELO, MAIL FROM).

33
New cards

SMTP vs. HTTP

SMTP: Push protocol (server sends emails), uses persistent connections, requires 7-bit ASCII.

HTTP: Pull protocol (client requests objects), encapsulates each object separately.

34
New cards

Mail Message Format (RFC 5322)

Headers (e.g., To:, From:, Subject:)

Blank line

Body (ASCII only).

Differs from SMTP commands (MAIL FROM, RCPT TO).

35
New cards

POP3

Downloads/deletes messages from server (stateless).

36
New cards

IMAP

Keeps messages on server, supports folders, and maintains state.

37
New cards

What protocol is used by webmail services like Gmail?

HTTP

38
New cards

DNS (Domain Name System)

Distributed database translating hostnames (e.g., www.example.com) to IP addresses. Avoids centralization for scalability.

39
New cards

DNS Services

Hostname-to-IP translation

Aliasing (e.g., enterprise.com → relay1.enterprise.com)

Load distribution (multiple IPs per name).

40
New cards

What is the function of Root Servers in the DNS hierarchy?

Direct queries to TLD servers.

41
New cards

What do TLD Servers manage?

Domains (e.g., .com, .edu).

42
New cards

What do Authoritative Servers provide?

Final IP mappings.

43
New cards

Local DNS Server

ISP-provided; caches recent translations and forwards queries into the DNS hierarchy.

44
New cards

Iterated Query in DNS

A server replies with the next server to ask (e.g., 'Ask .com server').

45
New cards

Recursive Query in DNS

A server resolves the query itself, placing the burden on higher-level servers.

46
New cards

DNS Caching

Stores recently resolved mappings to reduce query load. Entries expire after TTL (Time to Live). Cached data may become outdated if the host's IP changes before TTL expires.

47
New cards

DNS Resource Records (RR)

Format: (name, value, type, ttl).

48
New cards

Type A

Maps hostname to IP (e.g., (relay1.foo.com, 145.37.93.126, A)).

49
New cards

Type NS

Authoritative server for a domain (e.g., (foo.com, dns.foo.com, NS)).

50
New cards

Type CNAME

Alias to canonical name (e.g., (www.ibm.com, servereast.ibm.com, CNAME)).

51
New cards

Type MX

Mail server for a domain (e.g., (foo.com, mail.foo.com, MX)).

52
New cards

DNS Protocol Messages

Query/Reply Format: Header (ID, flags), question (name, type), answer (RRs), authority/additional records.

53
New cards

Flags

Indicate recursion desired, authoritative reply, etc.

54
New cards

Video Streaming Challenges

Scalability: Single server can't handle ~1B users.

Heterogeneity: Users vary in bandwidth/device capabilities.

55
New cards

Video Encoding

CBR (Constant Bit Rate): Fixed encoding rate.

VBR (Variable Bit Rate): Adjusts encoding based on content complexity (e.g., MPEG4: <1 Mbps).

56
New cards

DASH (Dynamic Adaptive Streaming over HTTP)

Splits video into chunks encoded at different rates.

57
New cards

Manifest File

Lists URLs for chunks. Client adapts requests based on real-time bandwidth.

58
New cards

Content Distribution Networks (CDNs)

Goal: Distribute video copies globally to reduce latency/congestion.

59
New cards

Placement Strategies

Enter Deep: Servers in many access networks (e.g., Akamai).

Bring Home: Fewer, larger clusters at IXPs (e.g., Limelight).

60
New cards

CDN Workflow Example

Client requests video URL (e.g., netcinema.com/6Y7B23V).

DNS redirects to nearby CDN server (e.g., KingCDN.com/NetC6y&B23V).

Client retrieves video from CDN via HTTP.

61
New cards

Netflix Case Study

Uses DASH: Clients fetch chunks from CDN based on bandwidth.

Steps: Account management → Browsing → Manifest file → Adaptive streaming.

62
New cards

UDP (User Datagram Protocol)

Connectionless, unreliable datagrams (no handshaking).

63
New cards

TCP (Transmission Control Protocol)

Connection-oriented, reliable byte stream (uses welcoming/connection sockets).

64
New cards

Control vs. Data

In-band/out-of-band communication.

65
New cards

Centralized vs. Decentralized

DNS (distributed) vs. SMTP (centralized servers).

66
New cards

Stateless vs. Stateful

HTTP (stateless) vs. IMAP (stateful).

67
New cards

KPIs

Bandwidth, latency, loss.

68
New cards

Delays

Transmission delay (L (bits) / R (bps))

Propagation delay (d (link length) / s (propagation speed))

Nodal processing (error checking, routing).

Queueing delay (depends on congestion).

69
New cards

TDM vs. FDM

Time-division vs. frequency-division multiplexing.

70
New cards

POP3 vs. IMAP

POP3 downloads/deletes (stateless)

IMAP manages folders on server (stateful).

71
New cards

Transport Layer Services

Provides logical communication between application processes on different hosts.

72
New cards

Network Layer

Host-to-host communication (uses IP addresses).

73
New cards

Transport Layer

Process-to-process communication (uses port numbers).

74
New cards

Multiplexing

Combines multiple signals into one (many-to-one).

75
New cards

Demultiplexing

Splits one signal into multiple original streams (one-to-many).

76
New cards

Internet Transport Protocols

TCP: Reliable, ordered, flow/congestion control, connection-oriented.

UDP: Unreliable, no frills (no guarantees), connectionless.

77
New cards

Port Numbers

16-bit identifiers (0-65535).

78
New cards

Connectionless Demultiplexing (UDP)

Uses destination port number to direct segments to sockets.

79
New cards

Connection-Oriented Demultiplexing (TCP)

Identified by 4-tuple: (source IP, source port, dest IP, dest port).

80
New cards

UDP Segment Header

Fields: Source/dest port, length, checksum, payload.

81
New cards

Internet Checksum Example

Sender: Computes checksum (sum of 16-bit integers + wraparound carry).

Receiver: Verifies checksum (sum should be all 1s). No error correction.

82
New cards

Principles of Reliable Data Transfer (RDT)

Key for app/transport/link layers.

An unreliable channel determines protocol complexity (e.g., bit errors, packet loss).

83
New cards

RDT1.0

Assumes perfect channel (no errors/loss).

FSM: Sender sends data; receiver delivers it.

84
New cards

RDT2.0

Channel with Bit Errors: New Mechanisms include error detection (checksums), feedback (ACK/NAK), and retransmission on NAK.

Flaw: Corrupted ACK/NAK causes ambiguity (fixed in RDT2.1 with sequence numbers).

85
New cards

RDT2.1

Adds sequence numbers (0/1) to detect retransmissions.

Receiver: Discards duplicates; sends ACK for correct packets.