Chapter 2

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/355

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 11:22 PM on 8/26/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

356 Terms

1
New cards

Application layer

The layer responsible for supporting network applications and application-layer protocols such as HTTP, SMTP, IMAP, and DNS.

2
New cards

Main topics of Chapter 2

Principles of network applications; DNS; Web and HTTP; e-mail with SMTP and IMAP; video streaming and CDNs; and socket programming with UDP and TCP.

3
New cards

Network application

A program that runs on an end system and communicates with another program over a network.

4
New cards

Where do network applications run?

On end systems such as computers, phones, and servers rather than inside network-core routers and switches.

5
New cards

Why don't application developers need to write software for network-core devices?

Network-core devices do not run user applications; network applications run at end systems, allowing rapid development and deployment.

6
New cards

Client-server architecture

An application architecture in which an always-on server provides services to clients that contact it.

7
New cards

Server in the client-server model

An always-on host, usually with a permanent IP address, often located in a data center for scalability.

8
New cards

Client in the client-server model

A host or process that contacts and communicates with a server. Clients may connect intermittently and may have dynamic IP addresses.

9
New cards

Do clients communicate directly with each other in the client-server model?

Usually no. They communicate through the server.

10
New cards

Examples of client-server applications

HTTP, IMAP, and FTP.

11
New cards

Peer-to-peer (P2P) architecture

An application architecture with no always-on server in which arbitrary end systems communicate directly.

12
New cards

Peer

A participating end system in a P2P system that can both request service from other peers and provide service to other peers.

13
New cards

Self-scalability in P2P systems

As new peers join, they create additional demand but also contribute additional service capacity.

14
New cards

Major management difficulty of P2P systems

Peers may connect intermittently and change IP addresses, making management more complex.

15
New cards

Example of P2P architecture

P2P file sharing.

16
New cards

Client-server vs. P2P

Client-server relies on an always-on centralized server, while P2P allows end systems to communicate directly without a permanent central server.

17
New cards

Process

A program running within a host.

18
New cards

How do processes on the same host communicate?

Through inter-process communication defined by the operating system.

19
New cards

How do processes on different hosts communicate?

By exchanging messages across the network.

20
New cards

Client process

The process that initiates communication.

21
New cards

Server process

The process that waits to be contacted.

22
New cards

Socket

A software interface or "door" between an application process and the end-to-end transport protocol.

23
New cards

How does a process use a socket?

A process sends and receives network messages through its socket.

24
New cards

How many sockets are involved in communication between two processes?

Two sockets: one associated with each communicating process.

25
New cards

What is controlled by the application developer around a socket?

The application-side behavior of the process.

26
New cards

What is controlled by the operating system around a socket?

The underlying transport and networking infrastructure.

27
New cards

Three basic things needed to create a network application

Process addressing, application-layer message formats/protocol rules, and an appropriate transport-layer service.

28
New cards

Why isn't an IP address alone enough to identify a process?

Multiple processes can run on the same host, so a process is identified using both an IP address and a port number.

29
New cards

Process identifier

A combination of the host's IP address and the port number associated with the process.

30
New cards

Port number

A number used to identify a particular process or network service running on a host.

31
New cards

HTTP server port number shown in the slides

Port 80.

32
New cards

SMTP/mail server port number shown in the slides

Port 25.

33
New cards

Application-layer protocol

A protocol that defines how application processes communicate with each other.

34
New cards

What does an application-layer protocol define?

Message types, message syntax, message semantics, and rules for when and how processes send and respond to messages.

35
New cards

Message type

The kind of application-layer message being exchanged, such as a request or response.

36
New cards

Message syntax

The structure of a message, including what fields it contains and how the fields are separated.

37
New cards

Message semantics

The meaning of the information contained in each message field.

38
New cards

Protocol rules

Rules specifying when and how processes send messages and respond to received messages.

39
New cards

Open protocol

A protocol whose specification is publicly available, usually through an RFC, allowing interoperability.

40
New cards

Examples of open protocols

HTTP and SMTP.

41
New cards

RFC

Request for Comments. Documents that publicly define Internet standards and protocols.

42
New cards

Why do open protocols support interoperability?

Different developers and systems can access the same protocol specification and implement compatible software.

43
New cards

Proprietary protocol

A protocol whose design is controlled by a particular organization rather than being openly standardized.

44
New cards

Examples of proprietary protocols listed in the slides

Skype and Zoom.

45
New cards

Four major transport-service requirements for applications

Data integrity, timing, throughput, and security.

46
New cards

Data integrity requirement

The application's need for reliable delivery of data without loss.

47
New cards

Which applications commonly require fully reliable data transfer?

File transfer and Web transactions are examples.

48
New cards

Which applications may tolerate some data loss?

Audio and other real-time multimedia applications may tolerate some loss.

49
New cards

Timing requirement

The application's need for low delay in order to function effectively.

50
New cards

Which applications are especially delay-sensitive?

Internet telephony and interactive games.

51
New cards

Throughput requirement

The application's need for a certain rate of data delivery.

52
New cards

Which applications may require minimum throughput?

Multimedia applications such as audio and video.

53
New cards

Elastic application

An application that can make use of whatever throughput the network provides rather than requiring a strict minimum.

54
New cards

Examples of elastic applications

File transfer, e-mail, and Web documents.

55
New cards

Security as a transport-service requirement

Applications may need services such as encryption and data integrity protection.

56
New cards

File transfer transport requirements

No data loss, elastic throughput, and generally not time-sensitive.

57
New cards

E-mail transport requirements

No data loss, elastic throughput, and generally not time-sensitive.

58
New cards

Web document transport requirements

No data loss, elastic throughput, and generally not time-sensitive.

59
New cards

Real-time audio/video transport requirements

Loss-tolerant, requires a minimum throughput, and is highly time-sensitive.

60
New cards

Streaming audio/video transport requirements

Loss-tolerant, requires multimedia-level throughput, and is time-sensitive on the order of seconds.

61
New cards

Interactive game transport requirements

Loss-tolerant, requires some throughput, and is highly delay-sensitive.

62
New cards

Text messaging transport requirements

No data loss, elastic throughput, with mixed sensitivity to delay.

63
New cards

TCP service

TCP provides reliable, connection-oriented transport between sending and receiving processes.

64
New cards

TCP reliability

TCP reliably transfers data between sending and receiving processes.

65
New cards

TCP flow control

TCP prevents a sender from overwhelming the receiving process.

66
New cards

TCP congestion control

TCP throttles the sender when the network becomes overloaded.

67
New cards

TCP connection-oriented service

TCP requires a connection setup between client and server processes before normal data transfer.

68
New cards

What does basic TCP not guarantee according to the slides?

Timing, minimum throughput, and security.

69
New cards

UDP service

UDP provides unreliable data transfer between sending and receiving processes.

70
New cards

Does UDP require connection setup?

No. UDP is connectionless.

71
New cards

What does UDP not provide?

Reliability, flow control, congestion control, timing guarantees, throughput guarantees, security, or connection setup.

72
New cards

TCP vs. UDP

TCP provides reliable, connection-oriented byte delivery with flow and congestion control; UDP provides connectionless, unreliable datagram delivery with fewer built-in services.

73
New cards

FTP

An application-layer protocol used for file transfer/download; it uses TCP in the slides.

74
New cards

SMTP

An application-layer protocol used for e-mail transfer; it uses TCP.

75
New cards

HTTP

An application-layer protocol used for Web documents; it uses TCP in the slides.

76
New cards

SIP

Session Initiation Protocol, listed as a protocol used for Internet telephony.

77
New cards

RTP

Real-time Transport Protocol, listed as a protocol used for Internet telephony.

78
New cards

DASH

Dynamic Adaptive Streaming over HTTP, used for adaptive video streaming.

79
New cards

DNS

Domain Name System. A distributed hierarchical database and application-layer protocol used primarily to translate hostnames and IP addresses.

80
New cards

Why is DNS needed?

Humans prefer meaningful hostnames, while Internet devices use IP addresses to address datagrams, so DNS maps between the two.

81
New cards

DNS as a distributed database

DNS information is stored across a hierarchy of many name servers instead of one centralized server.

82
New cards

Why is DNS considered an application-layer protocol?

Hosts and DNS servers exchange application-layer messages to resolve names, even though DNS performs a core Internet function.

83
New cards

Main DNS services

Hostname-to-IP translation, host aliasing, mail server aliasing, and load distribution.

84
New cards

Hostname-to-IP-address translation

DNS maps a human-readable hostname to its corresponding IP address.

85
New cards

Host aliasing

DNS allows an easier alias hostname to map to a canonical hostname.

86
New cards

Canonical hostname

The official or true hostname associated with an alias.

87
New cards

Mail server aliasing

DNS can map mail-related names to the appropriate mail server.

88
New cards

DNS load distribution

Multiple IP addresses can correspond to the same hostname, allowing requests to be distributed among replicated servers.

89
New cards

Why not centralize DNS?

A centralized DNS would create a single point of failure, enormous traffic volume, long distances to the database, and difficult maintenance.

90
New cards

Why doesn't centralized DNS scale?

The global volume and geographic distribution of DNS requests and records are too large for one centralized database.

91
New cards

General DNS hierarchy

Root DNS servers → Top-Level Domain (TLD) DNS servers → authoritative DNS servers.

92
New cards

Root DNS server

A high-level DNS server used as a contact of last resort when a name server cannot resolve a requested name.

93
New cards

What organization manages the root DNS domain?

ICANN, the Internet Corporation for Assigned Names and Numbers.

94
New cards

How many logical root name servers are listed in the slides?

13 logical root name servers, each replicated many times worldwide.

95
New cards

DNSSEC

A DNS security extension providing authentication and message integrity.

96
New cards

TLD server

Top-Level Domain server responsible for domains such as .com, .org, .net, .edu, and country-code domains.

97
New cards

Examples of country-code TLDs

.cn, .uk, .fr, .ca, and .jp.

98
New cards

Authoritative DNS server

A DNS server that provides authoritative hostname-to-IP mappings for hosts belonging to an organization.

99
New cards

Who can maintain an authoritative DNS server?

The organization itself or a service provider.

100
New cards

Local DNS server

The DNS server that a host normally sends its DNS query to first.