COMPUTER NETWORKS Flashcards

1
Q

Protocols

A

TCP/IP

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

General Network (WAN or LAN)

A

nodes, aka switches) inside the subnet, connected by
communication links;

(external devices, e.g., computers, servers, terminals, and so
on) outside the subnet, connected via the subnet

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

Messages

A

originated at these external devices,
pass into the subnet,
from node to node on the links,
to the external recipient.
: a string of bits

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

Topology

A

placement of links between
nodes

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

LAN

A

Local Area Networks
on the order of a square kilometer or less.
restricted topology – nodes distributed on a bus, a ring, or a
star

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

MAN

A

Metropolitan Area Networks)

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

WAN

A

more than a metropolitan,
comparatively arbitrary topology.

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

Packet

A

transmitting messages long in length can be harmful – delay,
congestion, complex buffer management…,
solution: messages broken into shorter strings, i.e., packets,
packets transmitted through the subnet as individual entities,
and reassembled into messages at the destination

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

Session

A

a sequence of messages. e.g.:
Interactive: short messages, small delay, high reliability,
File: long messages, moderate delays

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

Shared Media Broadcast Network

A

defn: terminals share a common channels (for example,
Ethernet, Token Ring);
all will receive the sender’s message, but only the receiver is
interested;
cheap, limited in scalability

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

Switched Point-to-point Network

A

defn: information travels over several points from one terminal
to the other;
circuit switched - separate channel for session, e.g., telephone.
packet switched/store-and-forward - several sessions share
channel

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

Circuit Switching

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

Packet Switching

A

virtual circuit routing (generally used in practise, connection
oriented)
a fixed path,
but it is virtual - link capacity shared by sessions, and link use
based on demand.

dynamic routing (connectionless)
packets may be missing,
packets might arrive destination in different order.
, 8

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

Circuit Switching

A

assign a rate rs to the session s,
create a path
allocate/reserve rs on each link of the path
condition: sum of all rates cannot exceed the total
transmission capacity of the link
if no such path can be found, the session is rejected,
once a session is setup, it has guaranteed transmission rate rs
through the network
example: telephone network

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

Packet Switching concepts

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

circuit Switching: Inefficient Use of Links

A

Typical data sessions tend to have short bursts of high activity
followed by lengthy inactive periods;
but circuit switching wastes the allocated rate during these
inactive periods.
A quantitative view:
let λ be the message arrival rate for a given session. (e.g.,
λ = 3 messages/min)
1/λ, the expected interarrival time between messages (1/3
minutes, 20 sec.)
̄X , expected transmission time of a message (4 sec).

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

Delays

A

Queueing Delay: the time the packet is assigned to a queue
for transmission and the time it starts being transmitted.
During this time, the packet waits while other packets in the
transmission queue are transmitted.

Propagation Delay: the time between the last bit is
transmitted at the head node of the link and the time the last
bit is received at the tail node. This is proportional to the
physical distance between transmitter and receiver

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

Packet Switching: Control of Queueing Delay

A

packets queued are from many different sites, when delay
excessive (or buffer full) need to slow down.
hard to control,
largely nonexistent in circuit switching

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

Circuit Switching vs. Packet Switching

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

Complexity of Networks

A

Many issues to address
synchronization, encoding, addressing, error control, ordering
messages, flow control, message segmentation, framing,
routing, scheduling, multiplexing, security, billing, compression,
code conversion.

useful method of dealing with complexity is through the use of
functional modularity.
break complex problem into simple sub-problems,
use “black box” abstraction of sub-problems.

example:
computer: processor, memory, bus, …
processor: control unit, arithmetic unit, I/O Unit …
arithmetic unit: adders, accumulators
, 16

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

Layered Network Architectures

A

Hierarchical Layering, a type of functional modularity useful in
communication networks

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

Peers of Peer Processe

A

members of the same layer at
different locations

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

Protocol

A

set of rules for how peers interac

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

Service

A

function performed by layer N for layer N+1 across
an interface

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

Network Architecture

A

the set of layers (services and
protocols) that defines a network

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

Explain a blackbox communication system

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

Explain the 7 architecture system

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

Describe the order of growth of data units between:

Transport layer

Network Layer

Data Link layer

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

Application Layer

A

Service: Supports applications
Tasks: Connection setup, flow control, error contorl.
Examples: HTTP to support the web, SMTP to support
electronic email, FTP to support file transfer.
, 22

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

Transport Layer

A

Service: prepares messages for being transported over the
network
Tasks: splitting/multiplexing of sessions, message
fragmentation and reassembly, flow control, error control,
connection setup
breaks messages into packets at the transmitting end and
reassembles packets into messages at the receiving end,
end-to-end flow control.
Examples: TCP(Transmission Control Protocol), UDP (User
Datagram Protocol

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

Network Layer

A

Service: Send data units over the network. All peer processes
work together.
Tasks: Routing, addressing, congestion control
Packet: (Packet Header, Packet Body)
the header is used to accomplish routing and flow control
functions.
virtual circuit vs. dynamic routing - for successive packets of a
session, with/out initiation, same/different routes, arrives
in/out order, with/out dropped packets.
congestion, users demand more than the capacity can offer.
solution? flow-control.
along with new packets arrive from the higher layer, transited
packets arrive from the lower layer.
Examples: IP (Internet Protocol)
, 24

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

Data Link Layer

A

Service: Sends data units over a link, asynchronously, but
error free.
Tasks: framing, error control, retransmissions
Frame: Header, Packet, Tailer
overheads control bits determine, whether errors occur, if so
request retransmission, delineate the beginning and ending of
frames.
typically packets leave the receiving DL in the same order in
which they enter the transmitting DL

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

Physical Layer

A

Service: Sends a sequence of bits over a link between a pair of
nodes.
Modem (Modulator/Demodulator)
map the incoming bits from Data Link Layer into signals,
map the signals back into bits at the receiving end.
, 26

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

Why use the layers

A

users care only about what the underlying system does, not
about how it does it,
standardizing what the system does allows the implementation
to change while the users get the same service,
with this standardization, users can change their systems
without worrying about the underlying system,
this allows overall systems to evolve very rapidly, while
interface standards change slowly,
also allows multiple vendors to offer compatible products.

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

Layer Functions

A

error control: makes the logical channel between the layers in
two peer processes more reliable,
flow control: avoids overwhelming a slower peer process,
segmentation and reassembly of data units,
multiplexing: allows several higher-level sessions to share a
single lower-level connection,
connection setup: provides handshaking with peer process

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

Server

A

always-on host
permanent IP address
data centers for scaling

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

clients:

A

communicate with server
may be intermittently connected
may have dynamic IP addresses
do not communicate directly with each other

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

process

A

program running within a host
within same host, two processes communicate using inter-process communication (defined by OS)
processes in different hosts communicate by exchanging messages

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

client process

A

process that initiates communication

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
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
40
Q

Sockets

A

process sends/receives messages to/from its socket
socket analogous to door
sending process shoves message out door
sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process

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

Addressing processes

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

does IP address of host on which process runs suffice for identifying the process?

A

no, many processes can be running on same host

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

identifier

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

Reliable data transfer

A

some apps (e.g., file transfer, web transactions) require 100% reliable data transfer
other apps (e.g., audio) can tolerate some loss

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

throughput

A

some apps (e.g., multimedia) require minimum amount of throughput to be “effective”
other apps (“elastic apps”) make use of whatever throughput they get (e.g., email, file transfer.

46
Q

timing

A

some apps (e.g., Internet telephony, interactive games) require low delay to be “effective”

47
Q

Transport service requirements: common apps

A
47
Q

security

A

encryption, data integrity,

48
Q

TCP service:

A

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

49
Q

Internet apps: application, transport protocols

A
49
Q

UDP service:

A

unreliable data transfer between sending and receiving process

does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup,

connection-less: no hand shaking between client and server processes

50
Q

HTTP

A

hypertext transfer protocol

51
Q

client

A

browser that requests, receives, (using HTTP protocol) and “displays” Web objects

52
Q

server

A

Web server sends (using HTTP protocol) objects in response to requests

53
Q

HTTP overview

A

uses TCP:
client initiates TCP connection (creates socket) to server, port 80
server accepts TCP connection from client
HTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server)
TCP connection closed

54
Q

HTTP is stateless

A

HTTP is “stateless”
server maintains no information about past client requests

55
Q

persistent HTTP

A

multiple objects can be sent over single TCP connection between client, server

55
Q

non-persistent HTTP

A

at most one object sent over TCP connection
connection then closed
downloading multiple objects required multiple connections

55
Q

Non-persistent HTTP Overview

A
  1. HTTP server closes TCP connection.
  2. HTTP client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects
  3. Steps 1-5 repeated for each of 10 jpeg objects
56
Q

Non-persistent HTTP: response time

A

RTT Round Trip Time (definition): time for a small packet to travel from client to server and back
HTTP response time:
one RTT to initiate TCP connection
one RTT for HTTP request and first few bytes of HTTP response to return
file transmission time
non-persistent HTTP response time =
2RTT+ file transmission time

57
Q

non-persistent HTTP issues:

A

requires 2 RTTs per object
OS overhead for each TCP connection
browsers often open parallel TCP connections to fetch referenced object

58
Q

persistent HTTP:

A

server leaves connection open after sending response
subsequent HTTP messages between same client/server sent over open connection
as little as one RTT for all the referenced objects

59
Q

HTTP request message

A

two types of HTTP messages: request, response
HTTP request message:
ASCII (human-readable format)

60
Q

HTTP request message: general format

A
61
Q

POST method:

A

web page often includes form input
input is uploaded to server in entity body

62
Q

URL method:

A

uses GET method
input is uploaded in URL field of request line:

63
Q

Method types: HTTP/1.0:

A

GET
POST
HEAD
asks server to leave requested object out of response
often used by application developer for debugging

64
Q

Method types: HTTP/1.1:

A

GET, POST, HEAD
PUT
uploads file in entity body to path specified in URL field
DELETE
deletes file specified in the URL field

65
Q

HTTP response message

A
66
Q

HTTP response status codes

A
67
Q

User-server state: cookies

A

what cookies can be used for:
authorization
shopping carts
recommendations
user session state (Web e-mail)

how to keep “state”:
protocol endpoints: maintain state at sender/receiver over multiple transactions
cookies: http messages carry state

68
Q

FTP: the file transfer protocol

A
69
Q

FTP: separate control, data connections

A

FTP client contacts FTP server at port 21, using TCP
client authorized over control connection
client browses remote directory, sends commands over control connection
when server receives file transfer command, server opens 2nd TCP data connection (for file) to client
after transferring one file, server closes data connection

server opens another TCP data connection to transfer another file
control connection: “out of band”
FTP server maintains “state”: current directory, earlier authentication

70
Q

FTP commands, repesponses

A
71
Q

Electronic mail

A
72
Q

Electronic mail: mail servers

A
73
Q

Electronic Mail: SMTP [RFC 2821]

A

uses TCP to reliably transfer email message from client to server, port 25
direct transfer: sending server to receiving server
three phases of transfer
handshaking (greeting)
transfer of messages
closure
command/response interaction (like HTTP, FTP)
commands: ASCII text
response: status code and phrase
messages must be in 7-bit ASCII

74
Q

Mail access protocols

A

SMTP: delivery/storage to receiver’s server – assuming Bob reads his email by logging onto the server and executing a mail reader on the server.
But how can emails be read from user’s end systems? (no push protocol such as SMTP).
Mail Access Protocols: retrieval from server
POP: Post Office Protocol [RFC 1939]: authorization, download
IMAP: Internet Mail Access Protocol [RFC 1730]: more features, including manipulation of stored msgs on server
HTTP: gmail, Hotmail, Yahoo! Mail, etc.

75
Q

DNS: services, structure

A

DNS services
hostname to IP address translation
host aliasing
canonical, alias names
mail server aliasing
toronto.ca, utoronto.edu.
load distribution
to associate several IP addresses with a single host name.
when the DNS responds to a request, a whole list of addresses are returned to the client.
these addresses are then used in a round-robin or load-sharing fashion, providing some form of load balancing.

75
Q

DNS: domain name system

A

people: many identifiers:
SSN, name, passport #
Internet hosts, routers:
IP address (32 bit) - used for addressing datagrams
“name”, e.g., www.yahoo.com - used by humans
Q: how to map between IP address and name, and vice versa ?

Domain Name System:
distributed database implemented in hierarchy of many name servers
application-layer protocol: hosts, name servers communicate to resolve names (address/name translation)
note: core Internet function, implemented as application-layer protocol

76
Q

Transport services and protocols

A

provide logical communication between app processes running on different hosts
transport protocols run in end systems
send side: breaks app messages into segments, passes to network layer
rcv side: reassembles segments into messages, passes to app layer
more than one transport protocol available to apps
Internet: TCP and UDP

77
Q

Transport vs. network layer

A

network layer: logical communication between hosts

transport layer: logical communication between processes
relies on, enhances, network layer services

78
Q

Internet transport-layer protocols

A

reliable, in-order delivery (TCP)
congestion control
flow control
connection setup
unreliable, unordered delivery: UDP
no-frills extension of “best-effort” IP
services not available:
delay guarantees
bandwidth guarantees

79
Q

multiplexing at sender:

A

handle data from multiple
sockets, add transport header (later used for demultiplexing)

80
Q

demultiplexing at receiver:

A

use header info to deliver
received segments to correct
socket

81
Q

Connection-oriented demux

A
82
Q

Connectionless demultiplexing

A
82
Q

How demultiplexing works

A

host receives IP datagrams
each datagram has source IP address, destination IP address
each datagram carries one transport-layer segment
each segment has source, destination port number
host uses IP addresses & port numbers to direct segment to appropriate socket

83
Q

UDP: User Datagram Protocol [RFC 768]

A
84
Q

UDP: segment header

A
85
Q

UDP checksum

A
86
Q

rdt2.0: channel with bit errors

A
87
Q

rdt2.0 has a fatal flaw!

A
88
Q

rdt2.1: discussion

A
89
Q

rdt2.2: a NAK-free protocol

A

same functionality as rdt2.1, using ACKs only
instead of NAK, receiver sends ACK for last pkt received OK
receiver must explicitly include seq # of pkt being ACKed
duplicate ACK at sender results in same action as NAK: retransmit current pkt

90
Q

rdt3.0: channels with errors and loss

A
91
Q

Pipelined protocols

A
92
Q

Pipelined protocols: overview

A
93
Q

Selective repeat

A
94
Q

TCP reliable data transfer

A

TCP creates rdt service on top of IP’s unreliable service
pipelined segments
cumulative acks
single retransmission timer
retransmissions triggered by:
timeout events
duplicate acks

95
Q

TCP sender events:

A
96
Q

TCP fast retransmit

A

time-out period often relatively long:
long delay before resending lost packet
detect lost segments via duplicate ACKs.
sender often sends many segments back-to-back
if segment is lost, there will likely be many duplicate ACKs.

97
Q

TCP flow control

A

receiver “advertises” free buffer space by including rwnd value in TCP header of receiver-to-sender segments
RcvBuffer size set via socket options (typical default is 4096 bytes)
many operating systems autoadjust RcvBuffer
sender limits amount of unacked (“in-flight”) data to receiver’s rwnd value
guarantees receive buffer will not overflow

98
Q

Connection Management

A

before exchanging data, sender/receiver “handshake”:
agree to establish connection (each knowing the other willing to establish connection)
agree on connection parameters

99
Q

congestion:

A

informally: “too many sources sending too much data too fast for network to handle”
different from flow control!
manifestations:
lost packets (buffer overflow at routers)
long delays (queueing in router buffers)
a top-10 problem!

100
Q

TCP: closing a connection

A

client, server each close their side of connection
send TCP segment with FIN bit = 1
respond to received FIN with ACK
on receiving FIN, ACK can be combined with own FIN
simultaneous FIN exchanges can be handled

101
Q

Approaches towards congestion control

A
102
Q

Case study: ATM ABR congestion control

A
103
Q

TCP Slow Start

A
103
Q

TCP: detecting, reacting to loss

A

loss indicated by timeout:
cwnd set to 1 MSS;
window then grows exponentially (as in slow start) to threshold, then grows linearly
loss indicated by 3 duplicate ACKs: TCP RENO
dup ACKs indicate network capable of delivering some segments
cwnd is cut in half window then grows linearly
TCP Tahoe always sets cwnd to 1 (timeout or 3 duplicate acks)

103
Q

TCP Fairness

A

fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K

104
Q
A
105
Q
A