Computer Networks Chapter 2 Flashcards

1
Q

API

A

Application programming interface. A set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.

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

Process

A

Program running within a host (end system).

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

Communication Within the Same Host

A

Within the same host, two processes communicate using inter-process communication, defined by the OS.

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

Communication Between Different Hosts

A

Processes in different hosts communicate by exchanging messages.

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

Client Process

A

Process that initiates communication.

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

Server Process

A

Process that waits to be contacted.

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

Open Protocols

A

Defined in RFCs. Everyone has access to protocol definition. Allows for interoperability.

ex. HTTP, SMTP.

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

Proprietary Protocols

A

Private protocol definition.

ex. Skype, Zoom.

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

Client-Server Paradigm

A

Server:
-always-on host
-permanent IP address
often in data centers, for scaling

Clients:
-contact, communicate with, server
-may be intermittently connected
-may have dynamic IP addresses
-do not communicate directly with each other
ex. HTTP, IMAP, FTP

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

Peer-Peer (P2P) Architecture

A

-no always-on server
-arbitrary end systems directly communicate
-peers request service from other peers, provide service in return to other peers
-self-scalability - new peers bring new service capacity as well as new service demands
-peers are intermittently connected and change IP addresses
-complex management compared to client-server paradigm

*Applications with P2P architecture have both client and server processes, depending on the task they are currently carrying out.

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

Sockets

A

A socket is analogous to a door:
-process sends/receives messages to/from its socket.
-sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process.
-two sockets involved: one on each side.

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

Identifiers

A

To receive messages, a process must have an identifier. An identifier includes both IP address and port number associated with the process on the host.

*Host devices have a unique 32-bit IP address.
*example port numbers include: HTTP server (80) and mail server (25).

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

An Application-Layer Protocol Defines…

A

How an application’s processes, running on different end systems, pass messages to each other.

-types of messages exchanged.
-message syntax.
-message semantics.
-rules for when and how processes send and respond to a message.

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

Transport Services an App Needs

A

-data integrity
-timing
-throughput
-security

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

Internet Transport Protocols Services

A

-TCP
-UDP

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

TCP Service

A

“Transmission control protocol” service.
-reliable transport between sending and receiving process.
-flow control: sender won’t overwhelm receiver.
-congestion control: throttle sender when network overloaded.
-connection-oriented: setup required between client and server processes.
-does not provide: timing, minimum throughput guarantee, security.

17
Q

UDP Service

A

“User Datagram Protocol” services.
-unreliable data transfer between sending and receiving process.
-does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup.

18
Q

Vanilla TCP and UDP Sockets

A

-no encryption.
-cleartext passwords sent into socket traverse Internet in cleartext.

19
Q

HTTP

A

Hypertext transfer protocol. Web’s application-layer protocol. Based on the client/server model.

20
Q

Client/Server Model

A

client: browser that requests, receives (using HTTP protocol), and “displays” Web objects.
server: Web server sends (using HTTP protocol) objects in response to requests.

21
Q

Non-persistent HTTP

A

-TCP connection opened.
-At most one object sent over TCP connection.
-TCP connection closed.

*downloading multiple objects requires multiple connections.

22
Q

Persistent HTTP

A

-TCP connection opened to a server.
-Multiple objects can be sent over single TCP connection between client and that server.
-TCP connection closed.

23
Q

RTT

A

“Round Trip Time.” Time for a small packet to travel from client to server and back.

24
Q

HTTP Response Time (per object)

A

-one RTT to initialize TCP connection.
-one RTT for HTTP request and first few bytes of HTTP response to return.
-object/file transmission time.

25
Q

Non-persistent HTTP Issues

A
26
Q

Application Architecture

A

Designed by the application developer and dictates how the application is structured over the various end systems.

-Client-server Architecture
-P2P Architecture

27
Q

Handshaking

A

Client and server exchange transport-layer control information with each other before the application-level messages begin to flow.

28
Q

Full-Duplex

A

Two processes can send messages to each other over the connection at the same time.

29
Q

Pipelining

A

Requests for objects can be made back-to-back, without wait
ing for replies to pending requests.