Glossary

Every defined term, twice: once in plain words, once in the book's exact wording. Read the simple line first.

access network ch. 1

Simple

The network that joins your device to the first router on the way to everywhere else.

Precise

The network that physically connects a host to the first router (the edge router) on a path from that host to any other distant host.

access point ch. 1

Simple

The radio box that wireless devices talk to in order to reach the wired network.

Precise

The device in a wireless LAN that wireless users send packets to and receive packets from, and which is itself connected into the enterprise's or home's wired network. A wireless LAN user must typically be within a few tens of meters of it.

acknowledgement number ch. 3

Simple

The number of the next byte this host is waiting for from the other side.

Precise

The 32-bit TCP header field holding the sequence number of the next byte the sender of this segment expects to receive. Because it names the next byte wanted rather than the last byte received, it acknowledges everything before it — TCP acknowledges cumulatively, only up to the first missing byte.

active node ch. 6

Simple

A node that has frames to send.

Precise

A node is said to be active if it has frames to send. The distinction matters because channel partitioning gives a node R/N whether it is active or not, while a random access protocol lets a single active node use the whole channel.

active queue management ch. 4

Simple

Dropping or marking packets before the buffer is full, to warn senders early.

Precise

AQM: proactive packet-dropping and -marking policies at a router port. Rather than waiting for the buffer to overflow, the router signals congestion while the queue is still short — by dropping a packet, or by setting the explicit congestion notification bits so nothing is lost at all. RED, PIE and CoDel are examples.

additive-increase multiplicative-decrease ch. 3

Simple

Grow by one segment each round trip; halve on loss. This makes the sawtooth.

Precise

AIMD: the shape of TCP congestion control once the initial slow start is ignored and losses are assumed to be signalled by duplicate acknowledgements. cwnd rises linearly by 1 MSS per round-trip time and is halved on each loss event, producing the familiar saw-tooth. Later analysis showed this simple rule acts as a distributed asynchronous optimisation algorithm [Kelly 1998].

address resolution protocol ch. 6

Simple

Ask the subnet who owns this IP address.

Precise

ARP takes an IP address on the same subnet and returns the corresponding MAC address. A node broadcasts a query frame; the node owning that IP address replies directly. Results are held in an ARP table with a time-to-live, and ARP resolves addresses only for nodes on the same subnet.

agent discovery ch. 7

Simple

How a visited network announces that it can look after mobile devices.

Precise

The part of the Mobile IP standard defining the protocols a foreign agent uses to advertise its mobility services to a mobile device wishing to attach to its network.

aging time ch. 6

Simple

How long an unused switch-table entry survives.

Precise

The period after which a switch deletes an address from its table if no frame has arrived carrying that address as its SOURCE. The book's example uses 60 minutes. It is what lets a switch cope with a PC being replaced by another with a different adapter, without anyone reconfiguring anything.

alias hostname ch. 2

Simple

A short nickname that stands for a machine’s real name.

Precise

A more mnemonic name for a host whose canonical hostname is longer or less memorable. A CNAME record maps an alias hostname to its canonical hostname, and an MX record does the same for a mail server. This is why a company’s Web server and mail server can share one aliased name.

alternating-bit protocol ch. 3

Simple

Another name for rdt3.0, because its sequence numbers only ever flip between 0 and 1.

Precise

Protocol rdt3.0: reliable data transfer over a channel that can both corrupt and lose packets, built from checksums, one-bit sequence numbers, acknowledgements and a countdown timer. The name comes from the sequence numbers alternating 0, 1, 0, 1.

anycast address ch. 4

Simple

Deliver this to whichever one of these is nearest.

Precise

An IPv6 address type allowing a datagram to be delivered to any one of a group of hosts.

application architecture ch. 2

Simple

How an application spreads its work across the end systems. The developer chooses it.

Precise

The structure, designed by the application developer, that dictates how the application is organised over the various end systems. It is distinctly different from the network architecture (the fixed five-layer Internet architecture), which from the developer’s point of view is given and provides a specific set of services.

application gateway ch. 8

Simple

A firewall that understands the application, not just the headers.

Precise

An application-specific server through which all application data must pass, so filtering decisions can be made on the application data itself rather than only on header fields.

application-layer protocol ch. 2

Simple

The rules for what two application programs say to each other, and when.

Precise

A protocol that defines how an application’s processes, running on different end systems, pass messages to each other. It defines four things: the types of messages exchanged, the syntax of each message type, the semantics of the fields, and the rules for when and how a process sends messages and responds to them. It is only one piece of a network application.

area border router ch. 5

Simple

A router that belongs to two areas and passes traffic between them.

Precise

Within each OSPF area, one or more routers are responsible for routing packets outside the area. Every area border router in an autonomous system also belongs to the backbone area.

arp table ch. 6

Simple

A host's own list of IP-to-MAC mappings, with an expiry time on each.

Precise

A table in each host and router holding mappings of IP addresses to MAC addresses, each with a time-to-live saying when it will be deleted. A typical expiry is 20 minutes. The table is built automatically and never needs configuring, and a host that leaves the subnet has its entry deleted from the others in time.

as-path ch. 5

Simple

The list of autonomous systems a route has crossed.

Precise

A BGP route attribute recording every AS the advertisement has passed through. It is also how BGP detects and prevents routing loops.

association ch. 7

Simple

Choosing an access point and creating a virtual wire to it.

Precise

The process by which a wireless station selects one access point and establishes a link-layer relationship with it. Only the associated AP sends data frames to the device, and the device sends into the network only through that AP. The 802.11 standard requires association but does not specify how to choose among the available APs.

attenuation ch. 1

Simple

How much a signal weakens as it travels along a link.

Precise

The loss of signal strength with distance along a physical medium, measured in decibels. It is the property that makes optical fiber the preferred long-haul medium: fiber has very low attenuation up to 100 km, while copper loses strength quickly, and faster as the signalling frequency rises.

authoritative dns server ch. 2

Simple

The server holding the true records for one organisation’s own hosts.

Precise

The DNS server that houses an organization’s publicly accessible DNS records, mapping the names of its hosts to IP addresses. Every organization with publicly accessible hosts must provide such records, either from a server it runs itself or from one operated by a service provider. Most universities and large companies run their own primary and secondary authoritative servers.

automatic repeat request ch. 3

Simple

A family of protocols that fix errors by asking the sender to send it again.

Precise

ARQ protocols: reliable data transfer protocols based on retransmission. Three capabilities are needed to cope with bit errors — error detection, so the receiver can tell something is wrong; receiver feedback, so the sender learns what the receiver saw; and retransmission of anything received in error.

autonomous system ch. 5

Simple

One organisation’s routers, treated as a unit for routing.

Precise

A group of routers under the same administrative control, identified by a globally unique autonomous system number.

backbone area ch. 5

Simple

The one area every other area routes through.

Precise

Exactly one OSPF area in an autonomous system is configured as the backbone. Its primary role is to route traffic between the other areas. It always contains all the area border routers in the AS, and may contain non-border routers as well.

bandwidth ch. 1

Simple

The width of a frequency band, measured in hertz — not a speed.

Precise

The width of the frequency band allocated to a connection under FDM, typically 4 kHz in telephone networks. On this site, the capacity of a link in bits/second is always called the link rate, never the bandwidth.

bandwidth probing ch. 3

Simple

Speeding up until something breaks, backing off, and then speeding up again.

Precise

TCP’s strategy for finding a sending rate: increase in response to arriving acknowledgements until a loss event occurs, reduce, and begin increasing again to see whether conditions have changed. There is no signalling — acknowledgements and loss events are the only evidence — and every sender acts on local information alone, asynchronously from all the others.

bandwidth-delay product ch. 3

Simple

How many bits fit in the pipe at once: link rate multiplied by round-trip time.

Precise

The product of a path’s link rate and its round-trip time, giving the number of bits that can be in flight at one instant. It is the window size a pipelined protocol needs in order to keep the sender busy. When both the window and this product are large, a single lost packet can force Go-Back-N to retransmit a great many packets unnecessarily.

bandwidth-sensitive application ch. 2

Simple

An application that needs a fixed number of bits per second or it is no use at all.

Precise

An application that has a specific throughput requirement. An Internet telephony application encoding voice at 32 kbps needs that rate delivered; receiving half of the needed throughput is of little or no use. Some multimedia applications avoid this by using adaptive coding.

base station ch. 7

Simple

The infrastructure a wireless host talks to.

Precise

A key part of the wireless network infrastructure, with no obvious counterpart in a wired network. It sends and receives data to and from the hosts associated with it, often coordinates their transmissions, and acts as a link-layer relay between them and the rest of the network.

baseband ch. 6

Simple

The medium carries this one kind of traffic and nothing else.

Precise

A transmission scheme in which the physical medium carries only the one traffic type — for Ethernet, only Ethernet traffic. It is what the BASE in every 802.3 name stands for, and almost all 802.3 standards are baseband.

basic service set ch. 7

Simple

One access point and the stations associated with it.

Precise

The fundamental building block of the 802.11 architecture: one or more wireless stations together with a central base station, known in 802.11 as an access point. Each station and each AP interface has a 6-byte MAC address administered by the IEEE, exactly as in Ethernet.

bbr ch. 3

Simple

A newer delay-based congestion control, used by Google for much of its traffic.

Precise

A congestion-control protocol [Cardwell 2017] that builds on TCP Vegas’ delay-based ideas and adds mechanisms allowing it to compete fairly against non-BBR senders. Google began using it for all TCP traffic on its internal B4 network in 2016, replacing CUBIC, and has deployed it on Google and YouTube Web servers.

beam forming ch. 7

Simple

Aiming a radio signal at one user instead of shouting in every direction.

Precise

What each antenna of a MIMO base station does: rather than broadcasting signals in all directions, it directs the signal at the user. It is how 5G raises spectral efficiency without the 17-fold increase in power that information theory would otherwise demand.

bellman-ford equation ch. 5

Simple

The cheapest route via a neighbour, minimised over all neighbours.

Precise

d_x(y) = min over v of { c(x,v) + d_v(y) }. Its solution provides the entries in x’s forwarding table, and it is the basis of the distance-vector algorithm.

best-effort service ch. 3

Simple

The network tries to deliver each packet, and promises nothing about the result.

Precise

The service model of IP. IP makes its best effort to deliver segments between hosts but guarantees nothing: not delivery, not order, not the integrity of the data. Because it makes no guarantees, IP is called an unreliable service. Every guarantee TCP offers is built on top of this, not taken from it.

bgp ch. 5

Simple

The protocol that tells every network how to reach every other network.

Precise

Border Gateway Protocol: the Internet's inter-autonomous system routing protocol, defined in RFC 4271. Every AS runs it. It advertises prefix reachability between autonomous systems and is decentralized and asynchronous, in the manner of distance-vector routing.

bgp attribute ch. 5

Simple

Extra facts sent along with an advertised prefix.

Precise

The values a router includes with a prefix when it advertises it across a BGP connection. A prefix together with its attributes is called a route. Two of the more important attributes are AS-PATH and NEXT-HOP.

bgp connection ch. 5

Simple

A long-lived TCP connection two routers use to swap routes.

Precise

A semi-permanent TCP connection on port 179 between a pair of routers, together with all the BGP messages sent over it. A connection spanning two autonomous systems is an external BGP (eBGP) connection; one between routers in the same AS is an internal BGP (iBGP) connection.

bgp route ch. 5

Simple

A block of addresses, plus the facts BGP sends with it.

Precise

In BGP jargon, a prefix together with its attributes. Two of the more important attributes are AS-PATH, the list of autonomous systems the advertisement has crossed, and NEXT-HOP, the IP address of the router interface that begins that AS-PATH. Written as NEXT-HOP; AS-PATH; prefix. This is a different idea from the chapter-1 sense of the word route, which meant the sequence of links a packet traverses; from section 5.4 on, that idea is always called a path.

binary exponential backoff ch. 6

Simple

Each collision doubles the range you wait within.

Precise

After a frame has experienced n collisions, a node chooses K at random from {0, 1, …, 2^n − 1} and waits K·512 bit times. n is capped at 10, so the largest set is {0, …, 1023}. Used in Ethernet and in DOCSIS.

bit time ch. 6

Simple

The time it takes to put one bit on the wire.

Precise

The time needed to transmit a single bit at the link rate, that is 1/R seconds. Ethernet measures its backoff in 512-bit times, so the same rule gives a different real delay on a different link: 512 bit times is 51.2 microseconds on 10 Mbps Ethernet and 5.12 microseconds on 100 Mbps.

blade ch. 1

Simple

One server in a data centre: a flat case holding a processor, memory and a disk.

Precise

A commodity host in a data centre, resembling a pizza box, containing CPU, memory and disk storage. Blades are stacked in racks, typically 20 to 40 per rack, and the racks are interconnected by the data centre network.

block cipher ch. 8

Simple

Encrypts fixed-size chunks of the message rather than one bit at a time.

Precise

A cipher that processes the message in fixed-length blocks: DES uses 64-bit blocks with a 56-bit key, AES uses 128-bit blocks with keys of 128, 192 or 256 bits.

botnet ch. 1

Simple

A large group of infected computers that one attacker controls together.

Precise

A network of thousands of similarly compromised devices which attackers control and leverage for spam e-mail distribution or distributed denial-of-service attacks against targeted hosts.

bring home ch. 2

Simple

Putting a few large server clusters at exchange points instead of many small ones.

Precise

A CDN server placement philosophy, taken by Limelight and many others. It builds large clusters at a smaller number of sites — for example tens — typically placed in IXPs rather than inside access ISPs. It gives lower maintenance and management overhead, possibly at the expense of higher delay and lower throughput to end users.

broadcast address ch. 6

Simple

The destination MAC address that means "every adapter on this LAN".

Precise

A special MAC address that makes every adapter on the LAN accept the frame and pass it up. For LANs with 6-byte addresses the broadcast address is 48 consecutive 1s, written FF-FF-FF-FF-FF-FF. An ARP query is sent to it, because the querier does not yet know which adapter should answer.

broadcast domain ch. 6

Simple

The set of ports a broadcast frame can reach, and no further.

Precise

The group of ports within which broadcast traffic travels. In a port-based VLAN each group of ports forms its own broadcast domain, so broadcast traffic from one port reaches only the other ports in the same VLAN. It is the layer-2 traffic isolation that Table 6.1 previously credited only to routers.

broadcast storm ch. 6

Simple

One broken host floods the whole network with broadcasts.

Precise

A failure in which a host transmits an endless stream of broadcast frames, which every switch dutifully forwards everywhere, collapsing the entire network. Switches are susceptible to it; routers provide firewall protection against it, because they do not forward layer-2 broadcasts.

browser ch. 2

Simple

The program on your device that fetches web pages and draws them on the screen.

Precise

A program that implements the client side of HTTP. In the context of the Web the words browser and client are used interchangeably. HTTP has nothing to do with how a browser chooses to display a page.

bufferbloat ch. 4

Simple

Queues so long they add delay without adding throughput.

Precise

Persistent, excessive queueing delay caused by over-large router buffers. The pipe is full and the throughput is at the bottleneck rate, yet a standing queue adds constant delay that neither sender nor receiver can explain.

cable modem ch. 6

Simple

The device in a home that connects it to the cable network.

Precise

The device at a residence that attaches it to a cable access network. Several thousand cable modems typically share a path to one cable modem termination system at the cable headend. They share the upstream channel, so their transmissions can collide; the downstream channel has a single sender and therefore no multiple access problem.

canonical hostname ch. 2

Simple

A machine’s one real, official name.

Precise

The true hostname of a host, behind which alias hostnames may stand. For example relay1.west-coast.enterprise.com may be the canonical hostname for the aliases enterprise.com and www.enterprise.com.

care-of-address ch. 7

Simple

The device's address on the network it is visiting.

Precise

The address a mobile device obtains on a visited network, to which its home network tunnels data addressed to its permanent address. Note the book's hyphenation: care-of-address.

carrier sensing ch. 6

Simple

Listen before you speak.

Precise

A node listens to the channel and, if it senses another transmission in progress, waits until the channel is idle before transmitting. Collisions still occur because a signal takes non-zero time to propagate, so a node can sense an idle channel that is already in use.

centralized routing algorithm ch. 5

Simple

Compute the path knowing the whole network.

Precise

A routing algorithm that computes least-cost paths using complete, global knowledge of connectivity and all link costs. The calculation may run at one site or be replicated in every router; what defines it is the completeness of the information, not the location.

certification authority ch. 8

Simple

A trusted third party that vouches for whose public key is whose.

Precise

A CA validates an entity's identity and issues a certificate binding that identity to its public key, signing the certificate with the CA's own private key. X.509 and RFC 1422 define the certificate format.

channel partitioning protocol ch. 6

Simple

Cut the channel into fixed shares, one per node.

Precise

A class of multiple access protocol that divides the channel among the nodes — by time (TDM), by frequency (FDM) or by code (CDMA). It eliminates collisions and is perfectly fair, but limits a node to R/N even when it is the only one with anything to send.

channel propagation delay ch. 6

Simple

How long a signal takes to travel from one node to another.

Precise

The end-to-end propagation delay of a broadcast channel: the time it takes for a signal to propagate from one of the nodes to another. It decides whether carrier sensing works. The longer it is, the larger the chance that a sensing node cannot yet detect a transmission that has already begun elsewhere.

choke packet ch. 3

Simple

A message a router sends straight back to the sender saying "I am congested".

Precise

The direct form of network-assisted feedback: a router sends a packet to the sender to report congestion. The other and more common form marks a field in a packet already travelling towards the receiver, which then tells the sender — a route that costs a full round-trip time. ECN uses the second form.

chunk ch. 2

Simple

One equal-sized piece of a file that peers trade with each other.

Precise

An equal-size piece of a file that peers in a torrent download from one another, with a typical chunk size of 256 kilobytes. A peer joining a torrent has no chunks and accumulates them over time, uploading chunks while it downloads.

cidr ch. 4

Simple

Writing the prefix length after the address.

Precise

Classless Interdomain Routing: addresses take the form a.b.c.d/x, where x is the number of bits in the network prefix. It generalised and replaced the earlier class A, B and C scheme.

cipher block chaining ch. 8

Simple

Mixing each block with the previous ciphertext, so identical blocks do not encrypt alike.

Precise

CBC. A technique in which each plaintext block is combined with the previous ciphertext block before encryption, and one random Initialization Vector is sent in the clear, so that identical plaintext blocks produce different ciphertext.

ciphertext ch. 8

Simple

The scrambled version of a message, unreadable without the key.

Precise

The output of the encryption algorithm, written K_A(m) for message m encrypted with key K_A. It should look unintelligible to any intruder.

circuit ch. 1

Simple

A reserved path through the network that gives you a guaranteed constant rate.

Precise

In telephony jargon, the connection established between sender and receiver for which the switches on the path maintain connection state, and for which a constant transmission rate is reserved on every link for the duration of the connection.

circuit switching ch. 1

Simple

Reserving a fixed share of every link along a path before you send anything.

Precise

The approach in which the resources needed along a path (buffers, link transmission rate) are reserved for the duration of the communication session between the end systems. The reserved end-to-end connection is called a circuit, and is implemented with FDM or TDM.

client ch. 1

Simple

The host that asks for something, usually your laptop or phone.

Precise

A host that requests and receives service from a server. Informally, clients tend to be desktops, laptops and smartphones.

client process ch. 2

Simple

The process that speaks first and starts the session.

Precise

In the context of a communication session between a pair of processes, the process that initiates the communication. That is, the one that first contacts the other process at the beginning of the session. A single process can be a client in one session and a server in another.

client-server architecture ch. 2

Simple

One always-on server answers many clients. The clients never talk to each other.

Precise

An application architecture with an always-on host, called the server, which services requests from many other hosts, called clients. Clients do not directly communicate with each other, and the server has a fixed, well-known IP address, so a client can always contact it. The Web, FTP, Telnet and e-mail use this architecture.

clos network ch. 6

Simple

A multi-stage interconnect built from many small switches.

Precise

A multi-switch layered interconnection network, named after Charles Clos, who studied them in 1953 for telephone switching. Modern data centre fabrics are Clos networks: they serve the same purpose as one very large crossbar switch, but offer multiple switch-disjoint and link-disjoint paths between any two hosts, giving both extra capacity and reliability that a single switch could not.

cloud computing ch. 1

Simple

Renting computing power and storage from another company instead of owning machines.

Precise

The third purpose of a data centre: providing scalable computing and storage environments to other companies, together with implicit access to the provider's high-performance private network. Companies such as Airbnb run their entire web services this way rather than owning data centres.

cluster selection strategy ch. 2

Simple

The rule a CDN uses to decide which of its clusters should serve you.

Precise

The mechanism for dynamically directing clients to a server cluster or data centre within a CDN. The CDN learns the IP address of the client’s local DNS server from the DNS lookup and chooses on that basis. One approach picks the geographically closest cluster, using a geo-location database; another picks the cluster with the best periodically measured delay. Both have weaknesses: some users are configured with a remote local DNS server, and many such servers do not answer probes.

coaxial cable ch. 1

Simple

A copper cable whose two conductors sit one inside the other, shielded so it can carry more.

Precise

A cable of two copper conductors that are concentric rather than parallel. With its insulation and shielding it achieves high data rates, and it can be used as a guided shared medium: several hosts connect directly to the cable and each receives whatever the others send.

collision ch. 6

Simple

Two nodes transmit at once and both frames are ruined.

Precise

When more than one node transmits into a broadcast channel at the same time, the frames become inextricably tangled at every receiver. All the frames involved are lost and the channel is wasted for the duration.

collision detection ch. 6

Simple

Listen while you speak, and stop if you hear a crash.

Precise

A transmitting node monitors the channel and ceases transmission as soon as it detects that another node is also transmitting, rather than finishing a frame that nobody can read.

conditional get ch. 2

Simple

A request that says: send this file only if it has changed since the date I give you.

Precise

An HTTP request message that uses the GET method and includes an If-Modified-Since header line. The value of that line is the Last-Modified date the server sent when the object was cached. If the object has not been modified, the server replies 304 Not Modified with an empty entity body, so the cache may forward its own copy.

confidentiality ch. 8

Simple

Only the two of you can understand what was sent.

Precise

Only the sender and the intended receiver should be able to understand the contents of a transmitted message. Because eavesdroppers may intercept it, this requires the message to be encrypted so that an intercepted copy cannot be understood.

congestion avoidance ch. 3

Simple

The careful phase: one more segment per round trip instead of twice as many.

Precise

The state TCP enters when cwnd reaches ssthresh. Instead of doubling every round-trip time, cwnd grows by a single MSS per round-trip time, usually implemented as cwnd += MSS·(MSS/cwnd) on each new acknowledgement. A timeout sends TCP back to slow start with cwnd = 1 MSS; three duplicate acknowledgements halve cwnd and move it to fast recovery.

congestion collapse ch. 3

Simple

The state where the network is busy but almost nothing useful arrives.

Precise

The condition in which increasing the offered load makes throughput fall rather than rise, because capacity is being spent on packets that will be dropped further along the path and on retransmissions of packets already delivered. In the limit of scenario 3, a connection’s end-to-end throughput approaches zero. Observed on the real Internet in the 1980s, which is what TCP congestion control was written to fix [Jacobson 1988].

congestion control ch. 2

Simple

A rule that slows a sender down when the network between the two ends is overloaded.

Precise

A TCP mechanism that throttles a sending process, client or server, when the network is congested between sender and receiver. It is a service for the general welfare of the Internet, not for the direct benefit of the two communicating processes. It also tries to limit each TCP connection to its fair share of the link’s capacity. UDP has no congestion control.

congestion window ch. 3

Simple

A sender-side limit on unacknowledged data, set by what the network seems able to take.

Precise

cwnd: a variable kept only at the sender, which together with rwnd bounds the unacknowledged data by LastByteSent − LastByteAcked ≤ min{cwnd, rwnd}. Roughly, the sender may send cwnd bytes per round-trip time, so its rate is about cwnd/RTT. Unlike rwnd it appears in no header — the network never states it, the sender infers it.

connection socket ch. 2

Simple

A fresh socket the server creates for one particular client.

Precise

The new socket created in the server by accept(), dedicated to one particular client, through which that client’s bytes are read and the reply is written. Students meeting TCP sockets for the first time often confuse it with the welcoming socket.

connection-oriented service ch. 2

Simple

The two sides greet each other and agree on state before any real data flows.

Precise

A service in which the client and server exchange transport-layer control information with each other before the application-level messages begin to flow. After this handshaking phase, a connection is said to exist between the sockets of the two processes; when the application finishes sending it must tear the connection down.

connectionless service ch. 2

Simple

Data is sent with no greeting first, and with no promise that it will arrive.

Precise

The service provided by UDP. There is no handshaking before the two processes start to communicate, and no guarantee that a message will ever reach the receiving process. Messages that do arrive may arrive out of order.

content distribution network ch. 2

Simple

A fleet of servers spread around the world, each holding copies of the content.

Precise

A CDN manages servers in multiple geographically distributed locations and stores copies of videos and other Web content in those servers. It then tries to direct each user request to the CDN location that will give the best user experience. It may be a private CDN owned by the content provider itself, such as Google’s or Netflix’s, or a third-party CDN serving many providers, such as Akamai or Limelight.

control agent ch. 5

Simple

The small piece of a router that takes orders from the controller.

Precise

A component in each router that communicates with a logically centralized controller and does as it commands. Control agents have minimum functionality: they do not talk to each other and take no part in computing the forwarding table.

control plane ch. 4

Simple

How the routers work out where everything should go.

Precise

The network-wide logic that controls how a datagram is routed among routers along an end-to-end path from source host to destination host.

correspondent ch. 7

Simple

Whoever is talking to the mobile device.

Precise

The Internet-connected host that wants to communicate with a mobile device, which may be in its home network or roaming in a visited one. Whether the correspondent has to know which is the difference between indirect and direct routing.

count-to-infinity ch. 5

Simple

Two routers raise each other’s estimate for ever.

Precise

A routing loop in which two nodes each believe the other has a path to a destination, so their distance estimates increase in small steps without converging.

countdown timer ch. 3

Simple

A clock the sender starts with each packet, which interrupts it if no reply comes in time.

Precise

The mechanism rdt3.0 adds to cope with loss. The sender must be able to start the timer whenever it sends a packet, respond to the interrupt when it expires, and stop it when an acknowledgement arrives. The interval is chosen so that loss is likely, though not certain, to have happened — waiting for a guaranteed worst case would make recovery far too slow.

cryptographic hash function ch. 8

Simple

A one-way fingerprint of a message: easy to compute, impossible to reverse.

Precise

A hash function with the additional property that it is computationally infeasible to find any two different messages x and y such that H(x) = H(y). MD5 and SHA-1 are the widely used examples; an Internet checksum is not one.

csma/ca ch. 7

Simple

Sense the channel, then avoid collisions rather than detect them.

Precise

802.11's multiple access protocol. Unlike Ethernet's CSMA/CD it cannot detect collisions, because a radio adapter cannot listen while it transmits — its own signal drowns everything else. So it avoids them instead, and confirms success with a link-layer acknowledgement.

cumulative acknowledgement ch. 3

Simple

An ACK for packet n that also means "everything before n arrived too".

Precise

An acknowledgement carrying sequence number n that indicates every packet up to and including n has been received correctly. It is the natural choice for Go-Back-N, because the receiver delivers packets to the layer above strictly in order. TCP uses cumulative acknowledgements as well, but numbers them by the next byte expected rather than the last byte received.

cyclic redundancy check ch. 6

Simple

Divide the bits by an agreed number; the remainder is the check.

Precise

Sender and receiver agree on an r+1 bit generator G. The sender chooses r bits R such that the d+r bit pattern D·2^r XOR R is exactly divisible by G in modulo-2 arithmetic. The receiver divides by G and a non-zero remainder means an error. CRC codes are also called polynomial codes.

data center ch. 1

Simple

A building full of thousands of servers, joined by their own internal network.

Precise

A facility housing tens to hundreds of thousands of hosts, called blades and stacked 20 to 40 per rack, interconnected by a data centre network and connected to the Internet.

data center network ch. 6

Simple

The network inside one company's building full of servers.

Precise

The internal network of a data centre, connecting tens to hundreds of thousands of hosts — called blades — mounted in racks. Each rack has a top-of-rack switch, and those switches interconnect through a hierarchy of tier-2 and tier-1 switches with border routers at the top.

data plane ch. 4

Simple

What each router does to each packet, on its own.

Precise

The per-router functions of the network layer that determine how a datagram arriving on one of a router's input links is forwarded to one of its output links.

datagram ch. 1

Simple

The network-layer packet: a segment plus a header carrying the two host addresses.

Precise

The network-layer packet. It encapsulates a transport-layer segment and adds network-layer header information (Hn), such as the source and destination host addresses.

decentralized routing algorithm ch. 5

Simple

Compute the path knowing only your neighbours.

Precise

A routing algorithm in which the least-cost calculation is carried out iteratively and distributed across routers. No node has complete information about all link costs. Each begins knowing only the costs of its own attached links, then converges through repeated exchange with its neighbours.

delay-based congestion control ch. 3

Simple

Reading rising round-trip times, rather than losses, as the sign of a filling queue.

Precise

An approach that detects the onset of congestion before packets are dropped. TCP Vegas [Brakmo 1995] records RTT_min, the smallest round-trip time seen, computes the throughput an uncongested path would give as cwnd/RTT_min, and slows down when the measured throughput falls well below it. The guiding idea is to keep the pipe just full, but no fuller [Kleinrock 2018].

delayed acknowledgement ch. 3

Simple

Waiting a short while before acknowledging, in the hope of acknowledging two segments at once.

Precise

The policy in Table 3.2 [RFC 5681]: on the arrival of an in-order segment with everything before it already acknowledged, the receiver waits up to 500 ms for a second in-order segment and then sends one cumulative acknowledgement for both. If nothing arrives in that interval it acknowledges the single segment.

denial-of-service attack ch. 1

Simple

An attack that floods or crashes a service so that real users cannot use it.

Precise

An attack that renders a network, host, or other piece of infrastructure unusable by legitimate users. Most fall into three categories: vulnerability attack, bandwidth flooding, and connection flooding.

dhcp ch. 4

Simple

The protocol that hands a newly arrived host its network settings automatically.

Precise

Dynamic Host Configuration Protocol [RFC 2131]: a four-step client-server exchange — discover, offer, request, acknowledge — by which a host obtains an IP address, a subnet mask, a default gateway and a DNS server. All four messages are broadcast, because the client has no address to send or receive at. The address is a lease with a stated lifetime, not a permanent assignment.

digital signature ch. 8

Simple

Signing a message with your private key, so anybody can check it was you.

Precise

Bob's signature of a document m is K_B^-(m), the document encrypted with his private key. Anyone can verify it by applying his public key. In practice the hash of the document is signed rather than the document itself.

digital subscriber line ch. 1

Simple

Home Internet access that sends data over the ordinary telephone wire.

Precise

A residential broadband access technology in which a DSL modem exchanges data with a DSLAM in the telco's central office over the existing twisted-pair telephone line. Three frequency bands share the line: 0–4 kHz voice, 4–50 kHz upstream data, 50 kHz–1 MHz downstream data.

dijkstra's algorithm ch. 5

Simple

Grow a set of solved nodes outward from the source.

Precise

The link-state algorithm the book presents. It computes the least-cost path from one source node to all other nodes, iteratively: after the kth iteration the least-cost paths are known to k destinations, and those k paths are the k cheapest of all. Worst-case complexity O(n squared).

direct routing ch. 7

Simple

Learn where it is, then send straight there.

Precise

The correspondent first learns the mobile device's current location and addresses data there. More efficient than indirect routing, at the cost of making the correspondent do work that indirect routing hides from it.

distance vector ch. 5

Simple

One router's list of guessed costs, one number for every destination.

Precise

D_x = [D_x(y): y in N] — node x's vector of cost estimates from itself to every other node in N. It is the only thing a node ever sends to its neighbours.

distance-vector algorithm ch. 5

Simple

Nobody knows the map; neighbours tell each other how far things are.

Precise

An iterative, asynchronous and distributed routing algorithm. Each node receives distance vectors from its directly attached neighbours, applies the Bellman-Ford equation, and distributes the result back.

distributed application ch. 1

Simple

A program that runs on several hosts at once and exchanges data between them.

Precise

An application involving multiple end systems that exchange data with each other. Internet applications run on hosts; they do not run in the packet switches of the network core.

distributed denial-of-service attack ch. 1

Simple

A denial-of-service attack sent from many machines at once, so it is hard to block.

Precise

A DoS attack in which the attacker controls multiple sources and has each source blast traffic at the target, so that the aggregate rate across all sources approaches the victim's access rate R. Much harder to detect and defend against than a single-source DoS attack.

distributed hash table ch. 2

Simple

A simple database whose records are spread over the peers of a P2P system.

Precise

A DHT: a simple database with the database records distributed over the peers in a P2P system. DHTs have been widely implemented, for example in BitTorrent, and have been the subject of extensive research.

distribution time ch. 2

Simple

How long it takes until every peer has a complete copy of the file.

Precise

The time it takes to get a copy of a file to all N peers. For the client-server architecture it is D_cs = max{NF/u_s, F/d_min}, which grows without bound as N grows. For P2P it is D_P2P = max{F/u_s, F/d_min, NF/(u_s + Σu_i)}, which stays bounded because each peer adds upload capacity.

dns caching ch. 2

Simple

Keeping a copy of an answer, so the same question does not have to travel again.

Precise

The feature by which a DNS server stores a mapping in its local memory when a reply arrives. It can then answer later queries for the same hostname even though it is not authoritative for it. Because hostname-to-address mappings are not permanent, cached information is discarded after a period, often two days.

dns poisoning ch. 2

Simple

Feeding a DNS server false records, so it sends people to the wrong place.

Precise

An attack in which the attacker sends bogus replies to a DNS server, tricking it into accepting bogus records into its cache. Together with the man-in-the-middle attack, in which the attacker intercepts queries and returns bogus replies, it could be used to redirect an unsuspecting Web user to the attacker’s Web site. DNSSEC was designed and deployed to protect against such exploits.

dns time to live ch. 2

Simple

How long a cached DNS answer may be kept before it must be looked up again.

Precise

The TTL field of a resource record, which determines when the record should be removed from a cache.

domain name system ch. 2

Simple

The Internet’s directory: it turns names like www.example.edu into IP addresses.

Precise

The DNS is (1) a distributed database implemented in a hierarchy of DNS servers and (2) an application-layer protocol that allows hosts to query that database. Its main task is translating hostnames to IP addresses. The protocol runs over UDP on port 53. DNS servers often run the Berkeley Internet Name Domain software. Unlike the Web or e-mail, users never interact with DNS directly.

duplicate acknowledgement ch. 3

Simple

A second ACK asking again for a byte the sender has already been told about.

Precise

An acknowledgement that re-acknowledges a segment for which the sender has already had an earlier acknowledgement. The receiver generates one whenever a segment arrives out of order, because TCP has no negative acknowledgement and re-asking is the only way to report a gap. A run of them means the network is still delivering, but something in the middle is missing.

duplicate packet ch. 3

Simple

A second copy of something the receiver already has.

Precise

A packet the receiver has already accepted, arriving again because the sender retransmitted after a corrupted acknowledgement or a timeout that fired too early. Sequence numbers exist so that a receiver can recognise and discard duplicates instead of delivering the same data to the application twice.

dynamic adaptive streaming over http ch. 2

Simple

Storing several qualities of a video, and letting the player pick, chunk by chunk, what it can afford.

Precise

DASH. The video is encoded into several versions, each with a different bit rate and quality level, each stored under its own URL. The client requests chunks of a few seconds’ length one at a time. While downloading it measures the throughput it is receiving and runs a rate determination algorithm to choose which version the next chunk should come from. It therefore adapts both across clients and over time for one client.

edge router ch. 1

Simple

The first router between your device and the rest of the Internet.

Precise

The first router on a path from a host to any other distant host; the point where the access network meets the wider Internet.

efficiency ch. 6

Simple

The long-run fraction of slots that carry exactly one frame.

Precise

For a slotted multiple access protocol, the long-run fraction of successful slots when there are a large number of active nodes, each always having a large number of frames to send. It is 1/e for slotted ALOHA and 1/(2e) for pure ALOHA. Not to be confused with the link's rate: the channel still transmits each individual frame at the full rate R.

elastic application ch. 2

Simple

An application that works with whatever rate it can get. More is simply better.

Precise

An application that can make use of as much, or as little, throughput as happens to be available. Electronic mail, file transfer and Web transfers are all elastic applications.

encapsulation ch. 1

Simple

Each layer wraps the data from the layer above inside its own header.

Precise

The process by which a layer takes the packet from the layer above as its payload and adds its own header, producing that layer's packet: message → segment → datagram → frame.

end system ch. 1

Simple

The book's other name for a host: a device at the edge of the network that runs applications.

Precise

A device connected at the edge of the Internet that runs application programs. The book states explicitly that host = end system and uses the two words interchangeably.

end-end principle ch. 3

Simple

A job that only the two ends can finish properly should be done by the two ends.

Precise

A design rule in layered systems [Saltzer 1984]: functions placed at lower layers may be redundant, or of little value, compared with the cost of providing them at the higher layer. UDP checksums the segment end to end even though Ethernet already checks each link, because there is no guarantee that every link on the path checks anything, and because bits can be corrupted inside a router’s memory between two links.

end-point authentication ch. 1

Simple

Proving that a message really came from the sender it claims to come from.

Precise

A mechanism that allows a receiver to determine with certainty whether a message originates from where it appears to originate.

end-to-end congestion control ch. 3

Simple

Working out that the network is congested from what the two ends can see, with no help from routers.

Precise

The approach in which the network layer gives the transport layer no explicit help, so congestion must be inferred from observed behaviour — lost segments, or rising delay. Classic TCP takes this approach: a timeout or three duplicate acknowledgements is read as a sign of congestion and the congestion window is reduced.

end-to-end delay ch. 1

Simple

The total time a packet takes to travel from the sending host to the receiving host.

Precise

The accumulation of the nodal delays along the whole path. With N−1 routers between the hosts, negligible queuing, and identical nodes: d_end-end = N(d_proc + d_trans + d_prop), where d_trans = L/R.

enter deep ch. 2

Simple

Putting many small server clusters inside access ISPs, right next to the users.

Precise

A CDN server placement philosophy, pioneered by Akamai, of entering deep into the access networks of ISPs by deploying server clusters in thousands of locations. The goal is to get close to end users, improving delay and throughput by reducing the number of links and routers between the user and the serving cluster. The cost is that maintaining and managing the clusters becomes challenging.

entity body ch. 2

Simple

The part of an HTTP message that carries the actual file, or the form data.

Precise

The part of an HTTP message that follows the header lines and a blank line. It is empty with the GET method, carries what the user typed into the form fields with the POST method, and carries the requested object itself in a response.

estimated rtt ch. 3

Simple

A running average of the recent measurements, so one strange sample cannot mislead TCP.

Precise

EstimatedRTT: an exponential weighted moving average of SampleRTT, updated as (1−α)·EstimatedRTT + α·SampleRTT with a recommended α of 0.125 [RFC 6298]. Recent samples weigh more than old ones, because they better reflect current congestion.

ethane ch. 5

Simple

The 2007 research network that OpenFlow grew out of.

Precise

A project that pioneered a network of simple flow-based Ethernet switches with match-plus-action flow tables, a centralized controller managing flow admission and routing, and the forwarding of unmatched packets from the switch to that controller. More than 300 Ethane switches were operational in 2007, and the project evolved into OpenFlow.

ethernet ch. 6

Simple

The wired LAN technology that beat everything else.

Precise

The dominant wired LAN technology, invented in the mid-1970s. Its service is connectionless and unreliable: no handshake, and no acknowledgement of frames that pass the CRC. Recovery from loss is left to a higher layer, which is why running Ethernet under TCP works and running it under UDP loses data silently.

event-based programming ch. 3

Simple

Writing a protocol as a set of handlers, each run when a particular thing happens.

Precise

The implementation style that matches an extended finite-state machine: procedures are invoked either by other procedures in the protocol stack or by an interrupt. For a sender the events are a call from above to rdt_send(), a timer interrupt, and a call from below when a packet arrives.

explicit congestion notification ch. 3

Simple

Routers marking a bit in passing datagrams so senders slow down before anything is lost.

Precise

ECN [RFC 3168], the Internet’s network-assisted congestion control. Two bits in the IPv4 Type of Service field carry it: one setting lets a sender announce that both ends understand ECN, another lets a congested router mark a datagram. The receiving TCP sets the ECE bit in an acknowledgement; the sender halves its congestion window as if a segment had been lost, and sets CWR in its next segment. What counts as congested is left to the operator.

exponential weighted moving average ch. 3

Simple

An average in which each older value counts a fixed fraction less than the one after it.

Precise

An EWMA. Each update mixes a small fraction of the newest sample into the running value, so the weight of any given sample decays exponentially as updates proceed. TCP uses one for EstimatedRTT with α = 0.125 and another for DevRTT with β = 0.25.

fairness ch. 3

Simple

Each connection through a congested link getting roughly the same share of it.

Precise

A congestion-control mechanism is fair if K connections sharing a bottleneck link of rate R each achieve about R/K. TCP’s AIMD converges to this for connections with equal round-trip times and equal segment sizes. In practice it does not hold: connections with shorter round-trip times open their windows faster and get more [Lakshman 1997], UDP flows never back off at all, and an application can simply open several connections at once.

fast recovery ch. 3

Simple

After three duplicate ACKs, carrying on from half the window instead of starting over.

Precise

The state entered on three duplicate acknowledgements. ssthresh is set to half of cwnd, cwnd becomes ssthresh + 3·MSS, and cwnd grows by one MSS for each further duplicate acknowledgement. When the missing segment is finally acknowledged, TCP deflates cwnd and enters congestion avoidance. Recommended but not required [RFC 5681]; it is what distinguishes Reno from Tahoe.

fast retransmit ch. 3

Simple

Resending a segment as soon as three duplicate ACKs arrive, without waiting for the timer.

Precise

On receiving three duplicate acknowledgements for the same data — four acknowledgements of that byte in total — the TCP sender concludes that the segment after the acknowledged one is lost and retransmits it immediately, before its timer expires [RFC 5681]. Since a timeout interval can be far longer than a round-trip time, this removes a large part of the delay caused by a single loss.

fiber to the home ch. 1

Simple

Home Internet access with an optical fibre running all the way to the house.

Precise

An access technology providing an optical fiber path from the central office directly to the home, using either an active optical network (AON) or a passive optical network (PON) for distribution. It can potentially provide access rates in the gigabits per second range.

filtering ch. 6

Simple

Deciding a frame does not need to go anywhere, and dropping it.

Precise

The switch function that determines whether a frame should be forwarded to some interface or simply dropped. A frame is filtered when the switch table says the destination is on the very interface the frame arrived from — the destination has already heard it.

fin segment ch. 3

Simple

A segment with the FIN bit set, meaning "I have no more data to send".

Precise

A TCP segment with the FIN flag set to 1, used to shut down one direction of a connection. A full teardown takes four segments: each side sends a FIN and each FIN is acknowledged. The side that closes first then waits in TIME_WAIT before releasing its resources.

finite-state machine ch. 3

Simple

A drawing of a protocol as a few states with labelled arrows between them.

Precise

An FSM: a description of a protocol as a set of states joined by transitions. Each arrow is labelled with the event that causes it above a horizontal rule, and the actions taken below the rule. The symbol Λ means "no event" above the rule, or "no action" below it. A dashed arrow marks the initial state. Sender and receiver always have separate FSMs.

firewall ch. 8

Simple

A checkpoint at the network's edge that decides which packets may pass.

Precise

A combination of hardware and software isolating an organisation's internal network from the Internet at large. It has three goals: all traffic passes through it, only authorised traffic is allowed through, and the firewall itself is immune to penetration.

flat addressing ch. 6

Simple

An address with no parts — it tells you who, never where.

Precise

An addressing structure with no internal hierarchy, so the address says nothing about where its owner is attached. MAC addresses are flat and never change, however far the adapter travels; IP addresses are hierarchical, with a network part and a host part, and must change when a host moves to another network. The book's analogy: a social security number against a postal address.

flow control ch. 3

Simple

Stopping a fast sender from filling up a slow reader’s buffer.

Precise

A speed-matching service that matches the rate at which the sender sends against the rate at which the receiving application reads. It protects the *receiver*, and is easy to confuse with congestion control, which protects the *network*. Both throttle the sender, for entirely different reasons. UDP has no flow control, so its segments are simply dropped when the receiving buffer overflows.

foreign agent ch. 7

Simple

In Mobile IP, the thing in the network you are visiting that tells your home you arrived.

Precise

The Mobile IP element in a foreign network that advertises mobility services, supplies a care-of-address to a visiting mobile device, registers that device with its home agent, and forwards datagrams to and from it. Its role corresponds to the MME in 4G/5G.

forward error correction ch. 6

Simple

Fix the error where it lands, without asking again.

Precise

The ability of a receiver both to detect and to correct errors. It reduces the number of sender retransmissions and, more importantly, allows immediate correction — avoiding a round-trip wait, which matters for real-time applications and for long-delay links such as deep-space links.

forwarding ch. 4

Simple

Getting a packet through one router.

Precise

The router-local action of transferring a packet from an input link interface to the appropriate output link interface. It takes place on very short timescales — typically a few nanoseconds — and is usually implemented in hardware.

forwarding table ch. 1

Simple

A table in a router that says which outgoing link to use for each destination address.

Precise

A table in a router that maps destination addresses, or portions of destination addresses, to that router's outbound links. On arrival, the router examines the packet's destination address and searches this table to find the appropriate outbound link.

four-tuple ch. 3

Simple

The four values that name one TCP socket: both addresses and both port numbers.

Precise

The set (source IP address, source port number, destination IP address, destination port number) that identifies a TCP socket. All four values are used to demultiplex an arriving TCP segment, which is why two connections to the same server port from different clients — or even from the same client on different ports — reach different sockets. A UDP socket, by contrast, is named by only two values: the destination IP address and destination port.

frame ch. 1

Simple

The link-layer packet, sent over one single link from one device to the next.

Precise

The link-layer packet. It encapsulates a network-layer datagram and adds link-layer header information (Hl). A datagram may be carried by a different link-layer protocol, and therefore a different frame format, on each link along its route.

framing ch. 6

Simple

Wrapping a datagram in a frame before putting it on the link.

Precise

Almost all link-layer protocols encapsulate each network-layer datagram in a link-layer frame before transmission. A frame consists of a data field holding the datagram and a number of header fields, and its structure is specified by the link-layer protocol.

framing sub-layer ch. 2

Simple

The part of HTTP/2 that cuts messages into frames and puts them back together.

Precise

The sub-layer of HTTP/2 that breaks a message into frames and binary-encodes them. It interleaves those frames with the frames of other messages over the single persistent TCP connection, and reassembles the original messages at the receiver. Binary encoding is more efficient to parse, gives slightly smaller frames, and is less error-prone.

freerider ch. 2

Simple

A peer that downloads from others but uploads nothing back.

Precise

A participant that consumes the capacity of a P2P system without contributing any. The BitTorrent tit-for-tat mechanism exists to make freeriding unattractive.

frequency-division multiplexing ch. 1

Simple

Giving each connection its own frequency band on the same link, all the time.

Precise

A multiplexing technique in which the frequency spectrum of a link is divided among the connections, each connection receiving a dedicated frequency band for the duration of the connection. In telephone networks that band is typically 4 kHz wide.

full-duplex ch. 2

Simple

Both sides can send at the same time over the same connection.

Precise

A property of a TCP connection whereby the two processes can send messages to each other over the connection at the same time.

gateway router ch. 5

Simple

A router on the edge of one organisation's network.

Precise

A router at the edge of an autonomous system that connects directly to one or more routers in other autonomous systems. Contrast an internal router, which connects only to hosts and routers inside its own AS.

generalized forwarding ch. 4

Simple

Match on anything in the header, then do anything.

Precise

A match-plus-action paradigm in which the match may be made over multiple header fields from several layers, and the action may forward, drop, duplicate, load-balance or rewrite header values.

generator ch. 6

Simple

The agreed bit pattern a CRC divides by.

Precise

An r+1 bit pattern G, whose leftmost bit must be 1, agreed by sender and receiver for a CRC. International standards define 8-, 12-, 16- and 32-bit generators; CRC-32 is used in several IEEE link-level protocols.

geostationary satellite ch. 1

Simple

A satellite that stays above the same spot on Earth, very high up.

Precise

A communication satellite placed in orbit 36,000 kilometres above the Earth's surface, so that it permanently remains above the same spot. The round trip through it introduces a propagation delay of 280 milliseconds; such links can operate at hundreds of Mbps.

go-back-n ch. 3

Simple

A pipelined protocol that, after a loss, resends everything from the missing packet onwards.

Precise

GBN: the sender may have at most N unacknowledged packets outstanding; acknowledgements are cumulative; there is a single timer, for the oldest unacknowledged packet; and on timeout the sender retransmits every packet that has been sent but not acknowledged. The receiver keeps only one variable, the next expected sequence number, and discards anything out of order. Simple to build, wasteful when the window is large.

ground station ch. 1

Simple

The dish on the ground that talks to a satellite.

Precise

An Earth-based microwave transmitter/receiver linked by a communication satellite. The satellite receives on one frequency band, regenerates the signal with a repeater, and transmits on another.

guided media ch. 1

Simple

Media where the signal travels inside a solid cable.

Precise

Physical media in which the waves are guided along a solid medium, such as fiber-optic cable, twisted-pair copper wire, or coaxial cable.

half-open connection ch. 3

Simple

A connection the server has set up resources for, whose client never finished the handshake.

Precise

The state a server is left in after replying to a SYN with a SYNACK when the third segment of the handshake never arrives. The buffers and variables stay allocated, often for a minute or more, before the server gives up and reclaims them. Creating many of these deliberately is the SYN flood attack.

handoff ch. 7

Simple

Changing which base station you are attached to.

Precise

What happens when a mobile host moves beyond one base station's range and into another's, changing its point of attachment to the larger network. Also called handover.

handshaking ch. 2

Simple

A short opening exchange that lets both sides get ready before the real data arrives.

Precise

The procedure by which a client and server exchange transport-layer control information before application-level messages flow. It alerts the client and server, allowing them to prepare for the packets to come.

head-of-line blocking ch. 2

Simple

One large item at the front of a queue makes everything behind it wait.

Precise

The problem in which a large object being sent over a single connection delays the small objects queued behind it. The book’s example is a video clip at the top of a page blocking the small objects below it over a slow bottleneck link. HTTP/1.1 browsers work around this by opening up to six parallel TCP connections; HTTP/2 solves it by breaking messages into frames and interleaving them.

header line ch. 2

Simple

A “name: value” line carrying extra information about a message.

Precise

A line following the request line or the status line, terminated by a carriage return and a line feed. It consists of a header field name, a colon, a space and a value. Which header lines appear depends on the browser type and version, its configuration, and whether it already holds a cached copy of the object.

hidden terminal problem ch. 7

Simple

Two senders can each reach the receiver but not each other.

Precise

A situation in which two stations' transmissions both reach a receiver while neither station can sense the other, so carrier sensing fails to prevent a collision. The reason 802.11 offers the RTS/CTS exchange.

hit rate ch. 2

Simple

The share of requests a cache can answer from its own copies.

Precise

The fraction of requests that are satisfied by a cache. Hit rates typically range from 0.2 to 0.7 in practice.

home agent ch. 7

Simple

In Mobile IP, the thing at home that always knows where your device is.

Precise

The Mobile IP element in a mobile device's home network that tracks the device's location by receiving updates from foreign agents in the foreign networks the device visits. Its role corresponds to the HSS in 4G/5G.

home network ch. 7

Simple

The network a mobile device permanently belongs to.

Precise

A mobile device's permanent home, whose address the device keeps regardless of where it currently is. All of chapter 7's mobility discussion is about getting data to a device that is not currently on it.

host ch. 1

Simple

Any device connected to the Internet that runs your programs: a laptop, a phone, a server.

Precise

A device connected to the Internet that runs (hosts) application programs. Also called an end system, because it sits at the edge of the network; the book uses host = end system.

host aliasing ch. 2

Simple

Giving one machine a short easy name as well as its long official one.

Precise

A DNS service in which a host with a complicated hostname can have one or more alias names. DNS can be invoked by an application to obtain the canonical hostname for a supplied alias hostname, as well as the IP address of the host.

hostname ch. 2

Simple

The readable name of a host, such as www.example.edu.

Precise

A mnemonic identifier for a host, made of variable-length alphanumeric characters. Hostnames are appreciated by humans but give little information about where the host sits in the Internet, and their variable length makes them difficult for routers to process. This is why hosts are also identified by IP addresses.

hot-potato routing ch. 5

Simple

Get the packet out of my network as cheaply as possible.

Precise

Choosing, among all BGP routes to a destination, the one whose NEXT-HOP router is cheapest to reach within the router’s own AS — ignoring the cost of the path beyond it.

http method ch. 2

Simple

The word at the start of a request saying what the client wants done.

Precise

The value of the method field in an HTTP request line. GET requests the object named in the URL field, and is used by the great majority of requests. POST sends an entity body, typically the contents of a form. HEAD replies with the headers but leaves out the object, which is useful for debugging. PUT uploads an object to a specific path on a server, and DELETE removes one.

http streaming ch. 2

Simple

Storing a video as an ordinary file and fetching it with a normal web request.

Precise

A scheme in which the video is stored at an HTTP server as an ordinary file with a specific URL. The client issues an HTTP GET, collects the bytes in a client application buffer, and begins playback once the buffer passes a threshold. Its major shortcoming is that every client receives the same encoding, whatever rate it can actually sustain.

http/2 frame ch. 2

Simple

A small piece of an HTTP/2 message. Pieces of different messages take turns on one connection.

Precise

The unit into which the HTTP/2 framing sub-layer breaks each HTTP message. Frames belonging to different messages can then be interleaved on one TCP connection and reassembled at the other end. On this site it is always called an HTTP/2 frame, never simply a frame, because “frame” already names the link-layer packet of §1.5.

http/3 ch. 3

Simple

The version of HTTP built on QUIC rather than on TCP.

Precise

The HTTP version that natively incorporates QUIC, so that the reliability, congestion control and encryption HTTP/2 obtained from TCP and TLS come from QUIC over UDP instead. Each object in a page travels on its own QUIC stream, so a loss affecting one object does not hold up the others.

hub ch. 6

Simple

A physical-layer repeater: whatever comes in on one interface goes out on all the others.

Precise

A physical-layer device that regenerates an incoming signal onto every other interface. It has no table, no addresses and no idea what a frame is, so it isolates no traffic and every host shares one collision domain. Unlike a switch, a hub cannot stop two frames from colliding.

hybrid fiber coax ch. 1

Simple

Cable Internet access: fibre to the neighbourhood, then coaxial cable to each home.

Precise

The cable access network architecture in which optical fiber connects the cable head end to neighborhood-level junctions and coaxial cable reaches individual homes. Each junction typically supports 500 to 5,000 homes, and the medium is a shared broadcast medium.

icmp ch. 5

Simple

How the network layer reports errors about itself.

Precise

Internet Control Message Protocol: messages carried in the payload of IP datagrams with upper-layer protocol number 1, reporting errors and diagnostics about IP delivery. Each carries the header and first 8 bytes of the datagram that caused it. ping and traceroute are built on it.

icmpv6 ch. 5

Simple

The version of ICMP that goes with IPv6.

Precise

A new version of ICMP defined for IPv6 in RFC 4443. Besides reorganising the existing type and code definitions, it adds new types and codes required by IPv6 functionality, including a Packet Too Big type and an unrecognized IPv6 options error code.

imsi ch. 7

Simple

The number on a SIM card that says who this phone is and which network it belongs to.

Precise

The International Mobile Subscriber Identity, provided by the mobile device during base-station association. It uniquely identifies the mobile device as well as its home network and other subscriber information.

indirect routing ch. 7

Simple

Send it home first, and let home forward it.

Precise

The correspondent addresses the mobile device's permanent address; the home network intercepts the data and tunnels it to the device's current location. It asks nothing of the correspondent, and it is inefficient — data may travel a long way to the home network and then back again.

infrastructure mode ch. 7

Simple

The network provides the services; you just associate with it.

Precise

Operating while associated with a base station, so that address assignment, routing and other traditional network services come from the network behind it. Contrasted with an ad hoc network, where the hosts must provide those services for themselves.

intent framework ch. 5

Simple

Ask for what you want, not for how to do it.

Precise

A feature unique to ONOS among the book's examples. It lets an application request a high-level service — set up a connection between host A and host B, or prevent A and B from communicating — without knowing the details of how the service is carried out.

interface ch. 4

Simple

The point where a device meets one wire.

Precise

The boundary between a host or router and one of its physical links. An IP address is technically associated with an interface rather than with the host or router containing it.

internal router ch. 5

Simple

A router with no link leaving its own organisation.

Precise

A router that connects only to hosts and routers within its own autonomous system. In Figure 5.8, routers 1a, 1b and 1d are internal routers and 1c is a gateway router.

internet ch. 1

Simple

A worldwide network that connects billions of devices so they can exchange data.

Precise

A computer network that interconnects billions of computing devices throughout the world, running the TCP/IP protocols. It can equally be described as an infrastructure that provides services to distributed applications.

internet checksum ch. 3

Simple

A small number sent with a packet so the receiver can tell whether the bits changed.

Precise

The error-detection field used by UDP and TCP. The sender treats the segment as a sequence of 16-bit words, adds them with any overflow carried around and added back in, and stores the ones complement of that sum. The receiver adds every 16-bit word including the checksum; if nothing was damaged the result is all ones. It detects errors but cannot correct them, and some multi-bit errors escape it.

internet exchange point ch. 1

Simple

A building where many ISPs plug into each other in one place.

Precise

A meeting point, created by a third-party company, where multiple ISPs can peer together. An IXP is typically a stand-alone building with its own switches; there are over 600 in the Internet today.

internet service provider ch. 1

Simple

A company or organisation that connects you to the rest of the Internet.

Precise

A network of packet switches and communication links that provides network access to hosts and to other ISPs. ISPs form a loose hierarchy of access ISPs, regional ISPs and tier-1 ISPs.

intra-as routing protocol ch. 5

Simple

The routing protocol used inside one organisation's network.

Precise

An intra-autonomous system routing protocol: the routing algorithm run among the routers of a single autonomous system. Every router in the AS runs the same one and holds information about the others. OSPF and IS-IS are the Internet's.

intrusion detection system ch. 8

Simple

A device that inspects packets deeply and raises an alarm.

Precise

An IDS generates alerts when it observes potentially malicious traffic, performing deep packet inspection — examining the payload and comparing it with a database of attack signatures, or looking for statistically unusual traffic. An intrusion prevention system blocks the traffic as well.

ip address ch. 1

Simple

The number that identifies a device on the Internet, written like 192.168.1.24.

Precise

An address that every host on the Internet has, carried in a packet's header. Like a postal address it has a hierarchical structure, so a router can examine only a portion of it to index its forwarding table.

ip spoofing ch. 1

Simple

Sending a packet with a fake sender address, to pretend to be someone else.

Precise

The ability to inject packets into the Internet with a false source address, in order to masquerade as another user. The defence is end-point authentication.

ip-anycast ch. 5

Simple

Send it to the nearest of several identical servers.

Precise

Several servers share one IP address, and BGP’s own route selection delivers each client to whichever is closest.

ipv4 time-to-live ch. 4

Simple

A counter in every datagram saying how many more routers it may cross.

Precise

TTL: an 8-bit IPv4 header field, decremented by one each time the datagram is processed by a router. At zero the router must drop it. It exists so that datagrams do not circulate for ever in a routing loop, and it is what makes traceroute possible.

ipv6 ch. 4

Simple

The version of the Internet Protocol with 128-bit addresses and a simpler, fixed-size header.

Precise

Internet Protocol version 6 [RFC 2460, RFC 4291]: 128-bit addresses, a fixed 40-byte header, no fragmentation at intermediate routers, no header checksum, options carried as chained next headers, a 20-bit flow label, and anycast alongside unicast and multicast. Every removal was made to shrink a router’s per-packet work.

iterative query ch. 2

Simple

A query answered with “I do not know, but ask them”. You do the walking.

Precise

A DNS query whose reply is returned directly to the querying server, typically naming the next server to ask rather than giving the final answer. In practice the queries from a local DNS server up the hierarchy are iterative.

label-switched router ch. 6

Simple

A router that forwards on a short label instead of an IP address.

Precise

An MPLS-capable router. It forwards a frame by looking up the MPLS label in its forwarding table and passing the datagram straight to the right output interface, so it never extracts the destination IP address and never performs a longest-prefix match. An MPLS-enhanced frame can only be sent between routers that are both MPLS capable.

least-cost path ch. 5

Simple

The cheapest way from one node to another.

Precise

The path between two nodes with the smallest sum of edge costs. When every cost is 1 it is also the shortest path.

leo satellite ch. 1

Simple

A satellite in a low orbit that moves across the sky, so many are needed for full coverage.

Precise

A low-earth orbiting satellite, placed much closer to Earth than a geostationary satellite and not remaining above one spot. LEO satellites rotate around the Earth and may communicate with each other as well as with ground stations; many are needed to give an area continuous coverage.

load balancer ch. 6

Simple

Spreads incoming requests across the hosts that can serve them.

Precise

The device external requests reach first inside a data centre. It forwards each request to one of the hosts handling that application, choosing by their current load, and also performs a NAT-like translation between the application's public IP address and the chosen host's internal one. Sometimes called a layer-4 switch, because it decides using the destination port number as well as the destination IP address.

load distribution ch. 2

Simple

Spreading visitors over several identical servers by rotating the order of the addresses.

Precise

A DNS service in which a set of IP addresses is associated with one alias hostname. The server responds with the entire set but rotates the ordering of the addresses within each reply. Because a client typically sends its request to the address listed first, DNS rotation distributes traffic among the replicated servers. It is used for mail servers as well as Web servers.

local area network ch. 1

Simple

A network covering one building, campus or home, joining nearby devices together.

Precise

A network used to connect a host to the edge router within a campus, company or home. Ethernet and 802.11 wireless (WiFi) are by far the most prevalent LAN technologies.

local breakout ch. 7

Simple

Letting the visited network send your data straight out, instead of back home.

Precise

In LTE, the option where a datagram from a roaming device is transmitted from the visited network directly to the correspondent, rather than tunnelled back to the home gateway router first. It is step 4b of Figure 7.26.

local dns server ch. 2

Simple

The nearby server your machine asks first. It does the running around for you.

Precise

Also called a default name server. It does not strictly belong to the hierarchy of DNS servers but is central to the DNS architecture. Each ISP has one, and a host learns its address when it connects, typically through DHCP. It sits close to the host: often on the same LAN, or a few routers away. It acts as a proxy, forwarding the host’s query into the DNS hierarchy and caching what comes back.

local preference ch. 5

Simple

A number an operator sets to say which route it prefers.

Precise

A BGP route attribute whose value is a policy decision left entirely to the AS's network administrator. It may be set by the router or learned from another router in the same AS. Rule 1 of BGP's route-selection algorithm keeps only the routes with the highest local preference.

local recovery ch. 7

Simple

Fixing an error on the link where it happened, before the sender ever notices.

Precise

A class of approach in which protocols recover from bit errors when and where they occur — for example the 802.11 ARQ protocol, or schemes combining ARQ and forward error correction as used in 4G/5G. The TCP sender remains unaware that its segments are traversing a wireless link.

logical communication ch. 3

Simple

The illusion that two programs are joined directly, however far apart they really are.

Precise

The service a transport-layer protocol gives to application processes: from the application’s point of view it is as if the two hosts running the processes were connected directly, when in reality they may be on opposite sides of the planet, joined by many routers and many kinds of link. A transport protocol gives logical communication between *processes*; a network-layer protocol gives logical communication between *hosts*.

logically centralized control ch. 5

Simple

One remote brain fills in every table.

Precise

A control-plane approach in which a controller computes and distributes the forwarding tables used by every router. "Logically" centralized means the service is reached as if it were one point, even though it is normally run on several servers for fault tolerance and scale.

longest prefix matching ch. 4

Simple

When several rules fit, the most specific one wins.

Precise

The forwarding rule by which a router, finding several forwarding-table prefixes that match a destination address, uses the entry with the longest matching prefix.

loss event ch. 3

Simple

Either a timeout or three duplicate ACKs — TCP’s two ways of concluding a segment was lost.

Precise

The trigger for TCP to reduce its congestion window: the occurrence of either a timeout or the receipt of three duplicate acknowledgements. It is not the same as "loss", which is the general word for a dropped packet. The distinction matters because TCP responds far more sharply to a timeout than to duplicate acknowledgements, which at least prove the network is still delivering something.

loss-tolerant application ch. 2

Simple

An application that still works when a little of its data goes missing.

Precise

An application — most notably a multimedia application such as conversational audio or video — that can tolerate some amount of data loss. Lost data might result in a small glitch in the audio or video rather than a crucial impairment.

mac address ch. 6

Simple

The permanent, flat address burned into an adapter.

Precise

A link-layer address, also called a LAN address or physical address. It belongs to an adapter rather than to a host, is 6 bytes long for most LANs, and is flat rather than hierarchical — it does not change when the device moves. IEEE manages the address space, selling 2^24-address chunks to manufacturers.

mail access protocol ch. 2

Simple

The rules your mail program uses to pull messages out of your mailbox.

Precise

A protocol a user agent uses to retrieve messages from a mail server. It is needed because obtaining messages is a pull operation while SMTP is a push protocol. Today the two common choices are HTTP (Web-based e-mail and smartphone apps) and IMAP, defined in RFC 3501. Both let the user manage folders held on the server.

mail server ch. 2

Simple

An always-on machine that holds mailboxes and passes mail on.

Precise

The core of the e-mail infrastructure. Each recipient has a mailbox on one of the mail servers. Every mail server runs both the client and the server side of SMTP: it is an SMTP client when sending to another server and an SMTP server when receiving.

mailbox ch. 2

Simple

The store on a mail server that holds one person’s messages.

Precise

The place on a mail server that manages and maintains the messages sent to a particular recipient. The server authenticates the recipient with a username and password before granting access.

malware ch. 1

Simple

Harmful software that enters your device from the Internet and does damage.

Precise

Malicious software that can enter and infect a device over the Internet, then delete files, install spyware that collects private information, or enrol the host in a botnet. Much malware is self-replicating and therefore spreads exponentially fast.

managed device ch. 5

Simple

Any piece of equipment the operator manages.

Precise

A piece of network equipment, including its software, that resides on a managed network: a host, router, switch, middlebox, modem, thermometer or other network-connected device. Each has many manageable components and configuration parameters for them.

managing server ch. 5

Simple

The machine an operator uses to watch and change the network.

Precise

An application, typically with human network managers in the loop, running in a centralized network management station in the network operations centre. It controls the collection, processing, analysis and dispatching of network management information and commands. A network may have several.

manifest file ch. 2

Simple

The list telling the player which versions of a video exist, and where each one is.

Precise

A file held by the DASH HTTP server that provides a URL for each version of the video along with its bit rate. The client requests it first to learn what versions exist, then selects one chunk at a time by giving a URL and a byte range in an HTTP GET request.

map message ch. 6

Simple

The CMTS control message saying who may transmit when.

Precise

A control message the CMTS sends on a downstream channel specifying which cable modem may transmit during which mini-slot, for the interval of time named in the message. Because the assignment is explicit, the CMTS can guarantee there are no colliding transmissions in an assigned mini-slot.

master node ch. 6

Simple

The node that tells the others when they may transmit.

Precise

In a polling protocol, the one node designated to poll the others in round-robin order. It removes collisions entirely, but it is a single point of failure: if the master node fails, the entire channel becomes inoperative.

match-plus-action table ch. 4

Simple

The generalised version of a forwarding table.

Precise

The flow table in a packet switch, generalising destination-based forwarding: each entry pairs a match over header fields with a list of actions. It is typically computed, installed and updated by a remote controller.

maximum packet lifetime ch. 3

Simple

The longest a packet is assumed to be able to survive inside the network.

Precise

The assumption that lets a protocol safely reuse a sequence number: no previously sent packet carrying that number can still be wandering in the network. The TCP extensions for high-speed networks [RFC 7323] assume roughly three minutes. Without such an assumption, packet reordering could make an old copy indistinguishable from new data.

maximum segment size ch. 3

Simple

The largest amount of application data TCP will put in one segment — headers not counted.

Precise

The MSS. It is normally derived from the largest link-layer frame the sending host can emit, the maximum transmission unit, so that a segment plus its 40 bytes of TCP and IP headers still fits in one frame. With the 1,500-byte MTU of Ethernet and PPP, a typical MSS is 1,460 bytes. Note that it limits the *data*, not the whole segment — confusing, but firmly established.

maximum transmission unit ch. 3

Simple

The largest frame a link will carry.

Precise

The MTU: the length of the largest link-layer frame that can be sent on a given link. Ethernet and PPP both use 1,500 bytes. The path MTU is the largest frame that can cross every link from source to destination [RFC 1191]; discovering it lets a sender choose an MSS that never needs fragmenting.

medium access control protocol ch. 6

Simple

The rules that say when a node may transmit.

Precise

A MAC protocol specifies the rules by which a frame is transmitted onto the link. For a point-to-point link it is simple or absent. The interesting case is a shared broadcast link, where it must coordinate the transmissions of many nodes — the multiple access problem.

message ch. 1

Simple

The packet at the application layer: what your application actually sends.

Precise

The application-layer packet of information, exchanged between the application-layer protocol entities running in different hosts. Written M in the encapsulation figure.

message authentication code ch. 8

Simple

A hash of the message plus a shared secret, so only the holder of the secret could have made it.

Precise

The MAC, H(m + s), where s is a shared secret and H a cryptographic hash function. Alice appends it to m; Bob recomputes it knowing s. It provides message integrity and source authentication without any encryption at all. Not the same MAC as the link layer's medium access control.

message integrity ch. 8

Simple

What arrives is exactly what was sent, and any change is detected.

Precise

The property that the content of a communication is not altered in transit, either maliciously or by accident. It is provided by extensions to the checksumming techniques already used in reliable transport and link-layer protocols.

message prioritization ch. 2

Simple

Telling the server which answers matter most, so it sends those frames first.

Precise

An HTTP/2 feature in which a client assigns each concurrent request a weight between 1 and 256, a higher number meaning higher priority. The client may also state a message’s dependency by giving the ID of the message it depends on. The server uses these weights to send the highest-priority frames first.

message queue ch. 2

Simple

The waiting line of outgoing mail that a server has not yet managed to deliver.

Precise

The outgoing queue in which a mail server places a message it must send. If the destination mail server cannot be reached, the message stays in this queue and delivery is reattempted, often every 30 minutes. After several days without success the server removes the message and notifies the sender by e-mail.

mib ch. 5

Simple

The collection of readable values a device exposes.

Precise

Management Information Base: the objects holding a managed device's operational state and, to some extent, its configuration data. An object might be a counter, descriptive information, status information or protocol-specific information. Related objects are gathered into MIB modules, of which over 400 are defined in RFCs, plus many device- and vendor-specific ones.

middlebox ch. 4

Simple

A box in the path that is not a router.

Precise

RFC 3234: any intermediary box performing functions apart from the normal, standard functions of an IP router on the data path between a source host and a destination host. Examples are NAT boxes, firewalls, intrusion detection systems, caches and load balancers.

millimeter wave ch. 7

Simple

The very high radio frequencies 5G uses to go fast, which do not travel far.

Precise

The FR2 frequency group, 24 GHz to 52 GHz. It allows much faster data speeds than FR1, with two drawbacks: a much shorter range from base station to receiver, and high susceptibility to atmospheric interference — foliage and rain both cause problems outdoors.

minislot ch. 6

Simple

A small unit of upstream time that the CMTS hands out.

Precise

In DOCSIS, each upstream channel is divided into intervals of time, each containing a sequence of mini-slots during which cable modems may transmit. Most are explicitly assigned to one modem so no collision is possible; a dedicated set is left for mini-slot-request frames and is contended for by random access.

mobile ip ch. 7

Simple

The Internet's own specification for mobility.

Precise

The architecture and protocols specified for supporting mobile users in an IP setting. It is technically complete and was never widely deployed, which the chapter contrasts deliberately with the mobility services 4G and 5G cellular networks do provide.

multi-homed access isp ch. 5

Simple

A customer network attached to two providers at once, and still only a customer.

Precise

An access ISP connected to the rest of the Internet through two or more different provider networks. Being attached twice does not make it a transit network: like any access ISP, all traffic leaving it must have originated in it, and all traffic entering it must be destined for it. It enforces this by advertising to its providers that it has no path to any destination except itself.

multi-homing ch. 1

Simple

Connecting to two or more providers, so you stay online if one of them fails.

Precise

The practice of an ISP connecting to two or more provider ISPs. Any ISP except a tier-1 ISP may multi-home; it can then continue to send and receive packets even if one of its providers has a failure.

multipath fading ch. 1

Simple

Copies of the same radio signal arrive by different routes and interfere with each other.

Precise

The distortion of a radio signal caused by its reflection off interfering objects, so that several copies arrive at the receiver by paths of different lengths.

multipath propagation ch. 7

Simple

The same signal arrives several times over.

Precise

Portions of an electromagnetic wave reflecting off objects and the ground, so that copies of the signal travel paths of different lengths and arrive at the receiver at slightly different times, blurring it.

multiple access problem ch. 6

Simple

Deciding who gets to talk, and when.

Precise

The problem of coordinating the access of many sending and receiving nodes to a shared broadcast channel. Every multiple access protocol falls into one of three classes: channel partitioning, random access, or taking turns.

multiprotocol label switching ch. 6

Simple

Forward on a short fixed label instead of an IP address.

Precise

MPLS adds a header between the link-layer and network-layer headers, carrying a label, three experimental bits, an S bit and a time-to-live. An MPLS-capable router forwards on the label alone, using a fixed-length lookup rather than a longest-prefix match, and can therefore route on criteria IP forwarding cannot express.

negative acknowledgement ch. 3

Simple

A short message from the receiver meaning "that arrived damaged — send it again".

Precise

A NAK: a control packet sent from receiver to sender to say that a packet was received in error and must be repeated. Protocol rdt2.1 uses NAKs; rdt2.2 removes them by having the receiver acknowledge the last correctly received packet instead, so that two ACKs for the same packet carry the same meaning. TCP has no NAK, and gets the same effect from three duplicate acknowledgements.

net neutrality ch. 4

Simple

The policy question of whether an Internet provider may treat some traffic better than other traffic.

Precise

A term with no precise definition, usually associated with three rules from the US FCC’s 2015 Order on Protecting and Promoting an Open Internet: no blocking of lawful content, no throttling of lawful traffic, and no paid prioritization — the first two subject to reasonable network management. The packet-scheduling mechanisms of §4.2.5 are what make the question possible: a router that can prioritise by port can prioritise by who paid.

netconf ch. 5

Simple

Configure devices, do not just read them.

Precise

Network Configuration Protocol, RFC 6241. It runs between the managing server and the managed devices, providing messaging to retrieve, set and modify configuration data, to query operational data and statistics, and to subscribe to notifications. Messages and configurations are XML documents, exchanged in a remote-procedure-call style over a secure connection-oriented session such as TLS over TCP.

netconf capability ch. 5

Simple

An extra feature a NETCONF endpoint says it supports.

Precise

NETCONF functionality that supplements the base specification in RFC 6241. The managing server and the managed device declare their capabilities to each other in <hello> messages, immediately after a secure connection is established and before any other exchange.

network adapter ch. 6

Simple

The chip that does the link layer.

Precise

Also called a network interface controller. It implements framing, link access and error detection, so most of the link layer is hardware. Part of the link layer is still software on the host CPU, which is why the book calls the link layer the place in the stack where software meets hardware.

network address translation ch. 4

Simple

One public address shared by a whole home network.

Precise

NAT: a router rewrites the source address and port of outgoing datagrams to its own single public address and a chosen port, recording the mapping in a NAT translation table so replies can be reversed. The 16-bit port field allows over 60,000 simultaneous connections.

network congestion ch. 3

Simple

Too many senders pushing data through the network faster than it can carry it.

Precise

The condition in which too many sources are sending too fast for the network to handle, so router queues grow and eventually overflow. Retransmission treats a symptom of congestion — a lost segment — but not the cause. Its costs are large queuing delays, retransmissions that would not otherwise be needed, and upstream capacity spent carrying packets that are dropped further along.

network core ch. 1

Simple

The inside of the Internet: the mesh of routers and links that carries packets between hosts.

Precise

The mesh of packet switches and links that interconnects the Internet's hosts.

network edge ch. 1

Simple

The outer part of the Internet, where hosts and applications live.

Precise

The part of the Internet consisting of the hosts — clients and servers — and the access networks that connect them. Applications run here, never in the network core.

network function virtualization ch. 4

Simple

Run middlebox jobs as software on ordinary hardware.

Precise

NFV: implementing middlebox services with commodity networking, computing and storage hardware and specialised software on a common stack — the approach SDN took for the control plane a decade earlier.

network management ch. 5

Simple

Keeping a network running, and knowing that it is.

Precise

The deployment, integration and coordination of the hardware, software and human elements to monitor, test, poll, configure, analyze, evaluate and control the network and element resources, to meet the real-time, operational performance and quality-of-service requirements at a reasonable cost. [Saydam 1996]

network management agent ch. 5

Simple

The small program inside a device that takes orders.

Precise

A software process running in a managed device that communicates with the managing server, taking local actions at the device under the server's command and control. It is similar in spirit to the routing control agent of Figure 5.2.

network management protocol ch. 5

Simple

The language between the operator's machine and the devices.

Precise

The protocol running between the managing server and the managed devices. It lets the server query device status and take actions through the agents, and lets agents report exceptional events. It does not itself manage the network: it provides capabilities that human network managers use to manage it.

network of networks ch. 1

Simple

The Internet is not one network but many separate networks joined together.

Precise

The structure of today's Internet: hundreds of thousands of access ISPs interconnected through regional ISPs and about a dozen tier-1 ISPs, together with PoPs, multi-homing, peering, IXPs and content-provider networks.

network service model ch. 4

Simple

What the network layer promises the layer above.

Precise

The definition of the characteristics of end-to-end delivery of packets between sending and receiving hosts. Candidates include guaranteed delivery, bounded delay, in-order delivery, minimum bandwidth and confidentiality.

network slicing ch. 7

Simple

Cutting one physical network into several virtual ones with different promises.

Precise

A 5G core capability, managed alongside network function virtualization, that lets one physical network support different applications and services with different performance requirements.

network-assisted congestion control ch. 3

Simple

Routers telling the ends directly that they are congested.

Precise

The approach in which routers give explicit feedback about their congestion state. The feedback can be as small as a single bit, as in the early IBM SNA, DEC DECnet and ATM architectures, or as detailed as ATM ABR’s explicit rate. On the Internet it appears as Explicit Congestion Notification.

network-control application ch. 5

Simple

A program that decides what the network should do.

Precise

A program running in the SDN control plane, above the controller, that uses the controller's APIs to specify and control the data plane. The book's examples are a routing application that computes end-to-end paths by running Dijkstra's algorithm over the controller's state, an access-control application that decides which packets a switch should block, and a load balancer. These are the brains of the SDN control plane.

next-hop ch. 5

Simple

The router that begins this route.

Precise

A BGP route attribute giving the IP address of the router interface that starts the AS-PATH.

next-hop router ch. 5

Simple

The one neighbour a packet is handed to next.

Precise

v*(y), the neighbouring node that achieves the minimum in the Bellman-Ford equation for destination y. It is the value node x records in its forwarding table for that destination.

nodal delay ch. 1

Simple

The total time a packet spends at one router.

Precise

d_nodal = d_proc + d_queue + d_trans + d_prop: the sum of the four delay components suffered at a single node.

node ch. 6

Simple

Any device that runs a link-layer protocol.

Precise

In this chapter, any device running a layer-2 protocol: hosts, routers, switches and WiFi access points. The word is deliberately broader than 'host' or 'router', because the link layer treats them all the same way.

non-persistent connection ch. 2

Simple

One new TCP connection for each object, closed as soon as that object has been sent.

Precise

A connection arrangement in which each request/response pair is sent over a separate TCP connection, which does not persist for other objects. HTTP/1.0 employs non-persistent connections. Each object then costs two round-trip times: one to set the connection up and one to request and receive the object.

nonce ch. 8

Simple

A number used exactly once, to prove a reply is fresh rather than a recording.

Precise

A number that a protocol will use only once in a lifetime. Bob sends a nonce R to Alice, who returns it encrypted with their shared key, which proves the response was created after the nonce was chosen and so is not a playback.

northbound interface ch. 5

Simple

The controller's doorway upward, to the applications.

Precise

The API through which an SDN controller interacts with network-control applications. It lets an application read and write network state and flow tables in the state-management layer, and lets it register to be notified when state-change events occur. Two popular controllers offer it as a RESTful request-response interface.

object ch. 2

Simple

One file — an image, a script, a style sheet — that has its own web address.

Precise

A file that is addressable by a single URL. It may be an HTML file, a JPEG image, a JavaScript file, a CSS style sheet file or a video clip. A page with HTML text and five images has six objects.

offered load ch. 3

Simple

Everything a sender actually puts into the network, original data and retransmissions together.

Precise

λ′_in: the rate at which the transport layer sends segments into the network, counting both original data and retransmitted data. It is distinct from λ_in, the rate at which the application supplies original data, and from λ_out, the throughput measured at the receiver. Keeping the three apart is what makes the congestion scenarios of §3.6.1 readable.

ones-complement sum ch. 3

Simple

Adding binary numbers, then adding any carry from the top back into the bottom.

Precise

The addition rule used by the Internet checksum: 16-bit words are added, and any carry out of the most significant bit is wrapped around and added to the least significant bit. The ones complement of a value is that value with every 0 turned into a 1 and every 1 into a 0.

openflow ch. 4

Simple

The standard that pioneered match-plus-action forwarding and remote controllers.

Precise

A packet-switch standard [McKeown 2008] whose flow tables pair a match over up to 12 header values — 11 fields plus the ingress port, in OpenFlow 1.0 — with a list of actions. It pioneered the match-plus-action abstraction and the notion of a remote controller, and with them software-defined networking. Later specifications raised the matchable values to 41.

optical fiber ch. 1

Simple

A thin glass thread that carries data as pulses of light, one pulse per bit.

Precise

A thin, flexible medium that conducts pulses of light, each pulse representing a bit. A single fiber supports tens or hundreds of gigabits per second, is immune to electromagnetic interference, has very low signal attenuation up to 100 km, and is very hard to tap.

optimistically unchoked ch. 2

Simple

The one extra neighbour picked at random every 30 seconds, to give newcomers a chance.

Precise

In BitTorrent, the additional neighbour a peer picks at random every 30 seconds and sends chunks to, regardless of measured rate. This lets peers discover better trading partners, and lets new peers that have nothing to trade obtain their first chunks.

origin server ch. 2

Simple

The machine that really owns an object, as opposed to a cache holding a copy of it.

Precise

The Web server on which an object permanently resides. A Web cache contacts the origin server when it does not have a copy of a requested object, then stores a copy locally and forwards one to the browser.

ospf ch. 5

Simple

Link-state routing inside one organisation, using Dijkstra.

Precise

Open Shortest Path First: a link-state intra-AS routing protocol that floods link-state information to every router in the autonomous system. Each router builds a complete topological map of the AS and runs Dijkstra locally to find a shortest-path tree to all subnets, with itself as the root. Defined for version 2 in RFC 2328.

ospf area ch. 5

Simple

A piece of one organisation's network that does its own routing.

Precise

A hierarchical subdivision of an OSPF autonomous system. Each area runs its own link-state routing algorithm, and a router broadcasts its link state only to the other routers in its own area.

out-of-order segment ch. 3

Simple

A segment that arrives before an earlier one that has not turned up yet.

Precise

A segment whose sequence number is beyond the next expected byte, leaving a gap. The TCP RFCs do not say what to do with it: an implementation may discard it, which simplifies the receiver, or keep it and wait for the gap to be filled, which wastes less link capacity. Real implementations keep it, which is one reason TCP is not purely Go-Back-N.

output queue ch. 1

Simple

The line where packets wait their turn to be sent out on a link.

Precise

A buffer at a packet switch, one for each attached link, which stores packets the switch is about to send into that link. Also called an output buffer. Packets wait here when the link is busy, suffering queuing delay.

packet ch. 1

Simple

A small block of data with an address on it, sent through the network on its own.

Precise

A package of information formed when a sending host segments its data and adds header bytes to each segment. Packets travel through communication links and packet switches to the destination host, where they are reassembled.

packet filter ch. 8

Simple

A firewall that judges each packet on its own, with no memory.

Precise

A traditional firewall that examines each datagram in isolation, deciding from header fields alone — source and destination IP address, protocol, port numbers, TCP flag bits — with no record of what came before.

packet loss ch. 1

Simple

A packet is thrown away because there is no room left to hold it.

Precise

The dropping of a packet that arrives at a queue which is already completely full; either the arriving packet or one of the already-queued packets is dropped. From an end-system viewpoint, the packet enters the network core and never emerges.

packet scheduling ch. 4

Simple

Choosing which waiting packet goes next.

Precise

The link-scheduling discipline determining the order in which queued packets are transmitted on an outgoing link: first-come-first-served, priority, round robin or weighted fair queueing.

packet sniffer ch. 1

Simple

A passive listener that quietly copies every packet it can hear.

Precise

A passive receiver that records a copy of every packet that flies by, in a wireless channel or a wired broadcast environment such as an Ethernet LAN or a cable access network. Because sniffers do not inject packets, they are difficult to detect.

packet switch ch. 1

Simple

A device that takes a packet arriving on one link and sends it out on another link.

Precise

A device that takes a packet arriving on one of its incoming communication links and forwards that packet on one of its outgoing communication links. The two most prominent types in today's Internet are routers and link-layer switches.

packet switching ch. 1

Simple

Sending data as separate packets that share links with everyone else's packets, on demand.

Precise

The approach in which a source breaks a long message into packets that travel through links and packet switches without reserving any link resources. Link capacity is allocated on demand, packet by packet, only among users who have packets to send.

parity bit ch. 6

Simple

One extra bit that makes the number of ones even, or odd.

Precise

In an even parity scheme the sender adds one bit so the total number of 1s in the d+1 bits is even. The receiver counts the 1s; an odd count means an odd number of bit errors occurred. An even number of errors goes undetected, and under burst conditions that probability can approach 50 per cent.

path loss ch. 1

Simple

A radio signal gets weaker the further it travels.

Precise

The decrease in radio signal strength as the signal travels over a distance. Together with shadow fading it is one of the environmental effects that determine the characteristics of a radio channel.

payload ch. 1

Simple

The part of a packet that carries the data, not the header.

Precise

The field of a packet that carries the data being delivered; it is typically the entire packet from the layer above.

peer ch. 2

Simple

One user-owned machine in a peer-to-peer application. It downloads and uploads at the same time.

Precise

An intermittently connected host in a P2P architecture, not owned by the service provider but controlled by a user. Most peers reside in homes, universities and offices.

peer-to-peer architecture ch. 2

Simple

Users’ own machines send files straight to each other, with little or no help from servers.

Precise

An application architecture with minimal or no reliance on dedicated servers in data centres. The application exploits direct communication between pairs of intermittently connected hosts, called peers, which are controlled by users rather than owned by the service provider. BitTorrent is the best-known example.

peering ch. 1

Simple

Two ISPs connect directly so their traffic does not have to travel through a third one.

Precise

A direct connection between a pair of nearby ISPs at the same level of the hierarchy, so that all traffic between them passes over that direct connection rather than through upstream intermediaries. Peering is typically settlement-free: neither ISP pays the other.

per-router control ch. 5

Simple

Every router works out its own table.

Precise

A control-plane approach in which a routing algorithm runs in each and every router, and the routing components of different routers communicate with one another to compute each forwarding table. OSPF and BGP are built this way.

persistent connection ch. 2

Simple

One TCP connection kept open and reused for all the objects of a page.

Precise

A connection arrangement in which all of the requests and their corresponding responses are sent over the same TCP connection. The server leaves the connection open after sending a response, and typically closes it after a configurable timeout interval. Multiple Web pages on the same server can share one connection. This is HTTP/1.1’s default mode.

physical medium ch. 1

Simple

The material or space that actually carries the bits: wire, fibre or air.

Precise

The medium across which a bit propagates as electromagnetic waves or optical pulses between one transmitter-receiver pair. Examples: twisted-pair copper wire, coaxial cable, multimode fiber-optic cable, terrestrial radio spectrum, satellite radio spectrum.

piggybacking ch. 3

Simple

Carrying an acknowledgement inside a segment that is already going the other way with data.

Precise

Placing the acknowledgement for data received in one direction into the header of a segment carrying data in the other direction, rather than sending a separate segment. It is free, because TCP is full-duplex and every segment has an acknowledgement field anyway.

ping ch. 5

Simple

Ask a host to send one message straight back.

Precise

A program that sends an ICMP type 8 code 0 echo request to a named host. The destination host, seeing the echo request, sends back a type 0 code 0 echo reply. Most TCP/IP implementations support the ping server directly in the operating system, so no process is listening for it.

pipelined protocol ch. 3

Simple

A sender allowed to have several unacknowledged packets travelling at once.

Precise

A protocol in which the sender may transmit multiple packets without waiting for acknowledgements, so that packets fill the link the way liquid fills a pipe. It requires a larger range of sequence numbers, buffering at the sender and possibly at the receiver, and a decision about how to recover from loss — the two standard answers being Go-Back-N and selective repeat.

pipelining ch. 2

Simple

Sending the next request without waiting for the previous answer to come back.

Precise

Sending the next unit without waiting for the reply to the previous one. At the application layer (§2.2.2) a browser makes requests for objects back-to-back over a persistent connection and the server sends the objects back-to-back; this is the default mode of HTTP/1.1. At the transport layer (§3.4.2) a sender transmits several packets before any acknowledgement returns, so that packets fill the link the way liquid fills a pipe. It is one idea at two layers, not two ideas.

plaintext ch. 8

Simple

The original readable message, before it is scrambled.

Precise

Alice's message in its original form, also called cleartext. It is the input to the encryption algorithm and the output of the decryption algorithm.

playback attack ch. 8

Simple

Recording somebody's login and replaying it later.

Precise

An attack in which Trudy eavesdrops on an authentication exchange, records the messages, and replays them later to impersonate Alice. It is what defeats protocols ap3.0 and ap3.1, and what the nonce in ap4.0 exists to prevent.

plug-and-play ch. 6

Simple

Works when you plug it in, with nothing to configure.

Precise

A device requiring no configuration by an administrator or user. A switch is plug-and-play because its table builds itself; a router is not, because it and the hosts attached to it need their IP addresses configured.

point of presence ch. 1

Simple

A place in a provider's network where customer networks can connect in.

Precise

A group of one or more routers at the same location in a provider ISP's network, where customer ISPs can connect into the provider. PoPs exist at all levels of the hierarchy except the bottom, access-ISP level.

poisoned reverse ch. 5

Simple

Tell a neighbour infinity if you route through it.

Precise

If z routes through y to reach x, z advertises its distance to x as infinity, so y never routes to x via z. It fixes loops between two nodes and does not solve the general count-to-infinity problem.

polling delay ch. 6

Simple

The time it takes to be told you may transmit.

Precise

The amount of time required to notify a node that it can transmit. It is why a polling protocol does not give a single active node the full rate R: the master must still poll each inactive node in turn between that node's turns.

polling protocol ch. 6

Simple

A master node invites each node to speak in turn.

Precise

One node is designated master and polls the others in round-robin order, telling each that it may transmit up to some maximum number of frames. It eliminates collisions and empty slots, at the cost of a polling delay and a single point of failure. Bluetooth is an example.

port number ch. 2

Simple

A number that says which program on a host a message is meant for.

Precise

An identifier assigned to a socket which, together with the host’s IP address, specifies the receiving process in the destination host. Popular applications have assigned well-known port numbers: a Web server is port 80, an SMTP mail server port 25, a DNS server port 53. The full list is published by IANA.

port scanning ch. 3

Simple

Knocking on a host’s ports one by one to see which ones answer.

Precise

Probing a target host’s ports in sequence to learn which applications are listening. For TCP a scanner sends a SYN segment and reads the reply: a SYNACK means open, an RST means closed, silence usually means a firewall dropped it. The best-known scanner is nmap. System administrators and attackers use the same tool for opposite reasons.

positive acknowledgement ch. 3

Simple

A short message from the receiver meaning "that arrived correctly".

Precise

An ACK: a control packet sent from receiver to sender to say that a packet was received correctly. In principle it need only be one bit long. In TCP it is not a separate packet type but a field in an ordinary segment header.

prefix ch. 5

Simple

A block of IP addresses written as one address and a length.

Precise

A CIDR-form address block such as 138.16.68/22, representing a subnet or a collection of subnets. BGP advertises reachability to prefixes, never to individual destination addresses, and a router's forwarding table holds entries of the form (x, I) where x is a prefix and I an interface.

premature timeout ch. 3

Simple

A timer that fires while the packet is merely slow, not actually lost.

Precise

A timeout that occurs because a packet or its acknowledgement was delayed rather than lost. The sender retransmits anyway, which puts a duplicate into the channel. Sequence numbers already handle the duplicate, so the protocol stays correct; the cost is wasted transmission, which is one of the costs of congestion in §3.6.

process ch. 2

Simple

A program that is currently running inside an end system.

Precise

A program that is running within an end system. Processes on the same end system communicate using interprocess communication governed by the operating system; processes on different end systems communicate by exchanging messages across the computer network.

processing delay ch. 1

Simple

The time a router needs to read the packet's header and decide where to send it.

Precise

d_proc: the time required to examine the packet's header and determine where to direct the packet, which can also include checking for bit-level errors. Typically on the order of microseconds or less in high-speed routers.

propagation delay ch. 1

Simple

The time one bit needs to travel along the link to the far end.

Precise

d_prop = d/s, where d is the distance between the two nodes and s the propagation speed of the link, in the range 2×10⁸ to 3×10⁸ m/s. It is a function of the distance, and has nothing to do with the packet length or the link rate.

protocol ch. 1

Simple

An agreed set of rules for what messages to send, in what order, and what to do with them.

Precise

A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.

protocol layering ch. 1

Simple

Organising protocols into levels, where each level uses the level below it.

Precise

The organisation of protocols — and the hardware and software that implement them — into layers. Each layer provides its service by performing certain actions within that layer and by using the services of the layer directly below it.

protocol stack ch. 1

Simple

The five layers of protocols stacked on each other, from application down to physical.

Precise

The protocols of the various layers taken together. The Internet protocol stack has five layers: application, transport, network, link and physical. Hosts implement all five, routers implement layers 1–3, and link-layer switches implement layers 1–2.

public key encryption ch. 8

Simple

Two keys: one everyone knows, one only you know.

Precise

A system in which each party has a public key known to the whole world and a private key known only to that party, chosen so that applying the private key to a message encrypted with the public key returns the original message. Introduced by Diffie and Hellman in 1976.

pull caching ch. 2

Simple

A cache fetches and stores content the first time somebody asks for it.

Precise

A strategy in which a cluster that does not hold requested content fetches it on demand. It retrieves the content from a central repository or another cluster, stores a copy locally, and streams it to the client at the same time. When storage fills, infrequently requested content is removed. YouTube uses pull caching.

pure aloha ch. 6

Simple

ALOHA with no slots: transmit the moment a frame arrives.

Precise

The original, unslotted ALOHA protocol. A node transmits a frame as soon as it arrives, with no waiting for a boundary and no synchronization between nodes. A frame is destroyed by any other transmission beginning within one frame time either side of its start, so the vulnerable period is two frame times and the maximum efficiency is 1/(2e), about 18 per cent — exactly half that of slotted ALOHA.

push caching ch. 2

Simple

Content is copied out to the caches in advance, during quiet hours.

Precise

A strategy in which content is pushed into the servers at scheduled times during off-peak hours, rather than dynamically on a cache miss. Netflix uses push caching; locations that cannot hold the entire library receive only the most popular videos, chosen day by day.

push protocol ch. 2

Simple

A protocol in which the side holding the data starts the transfer.

Precise

A protocol in which the machine holding the data initiates its transfer. SMTP is a push protocol: it pushes a message from the sender’s mail server to the recipient’s. Retrieving mail from a mailbox is the opposite, a pull operation, which is why a separate mail access protocol is needed.

queuing delay ch. 1

Simple

The time a packet waits in line before it can be sent onto the link.

Precise

d_queue: the time a packet waits in the output queue to be transmitted onto the link. It depends on the number of earlier-arriving packets already queued, and unlike the other three components it varies from packet to packet. Typically microseconds to milliseconds.

quic ch. 3

Simple

An application-layer protocol over UDP that does TCP’s job, faster and per stream.

Precise

Quick UDP Internet Connections [Langley 2017, RFC 9000]: a connection-oriented, encrypted, congestion-controlled protocol implemented in the application layer on top of UDP. It merges the connection, authentication and encryption handshakes into one exchange, so setup costs fewer round trips than TCP plus TLS, and it provides reliable in-order delivery separately per stream. Its congestion control is based on TCP NewReno [RFC 6582]. HTTP/3 is built on it.

quic stream ch. 3

Simple

One independent, reliably delivered flow inside a QUIC connection.

Precise

An abstraction for reliable, in-order, two-way delivery between two QUIC endpoints. Many streams share one QUIC connection and new ones can be added quickly; each has a stream ID, carried with the connection ID in the packet header. Because loss recovery is per stream, a lost UDP segment delays only the streams whose data it carried — which is how QUIC removes the head-of-line blocking of §2.2.5. In HTTP/3 there is one stream per object in a Web page. Not to be confused with TCP’s single byte stream.

quiescent state ch. 5

Simple

Nothing left to send, so the algorithm has quietly stopped.

Precise

The state a distance-vector computation reaches when no node's distance vector has changed, so no update messages are sent and no further calculation occurs. The algorithm is self-terminating: nothing signals that it is finished.

random access protocol ch. 6

Simple

Transmit at full rate, and back off after a collision.

Precise

A class of multiple access protocol in which a transmitting node always transmits at the full channel rate R. After a collision each colliding node waits an independently chosen random delay before retransmitting, so that one of them may get through.

rarest first ch. 2

Simple

Ask first for the piece that the fewest of your neighbours have.

Precise

The BitTorrent technique for deciding which chunks to request. From among the chunks it does not have, a peer determines those that are rarest among its neighbours — that have the fewest repeated copies — and requests those first. The rarest chunks are then redistributed more quickly, roughly equalising the number of copies of each chunk in the torrent.

receive buffer ch. 3

Simple

Memory in the receiving host holding bytes that have arrived but the application has not read yet.

Precise

The buffer into which TCP places the data from correctly received, in-order segments. The application reads the byte stream out of it, not necessarily at the moment the data arrives. Its spare room is what the receive window advertises, and its size is what flow control protects.

receive window ch. 3

Simple

A number the receiver puts in every segment saying how much free buffer space is left.

Precise

rwnd = RcvBuffer − [LastByteRcvd − LastByteRead]: the spare room in the receive buffer, advertised in the 16-bit receive-window field of every segment. The sender keeps LastByteSent − LastByteAcked ≤ rwnd. When rwnd reaches 0 the sender must keep sending one-byte segments, or it would never learn that space had opened up again.

receiver window ch. 3

Simple

The stretch of sequence numbers a selective-repeat receiver is willing to accept.

Precise

In selective repeat, the range [rcv_base, rcv_base+N−1] of packets the receiver will accept and buffer. Packets in [rcv_base−N, rcv_base−1] are acknowledged again even though they were already delivered, because otherwise the sender’s window could never advance. This is distinct from TCP’s **receive window** (`rwnd`), which is a flow-control number in the segment header.

recursive query ch. 2

Simple

A query that asks the server to go and find the whole answer for you.

Precise

A DNS query that asks the contacted server to obtain the mapping on the querying party’s behalf. In theory any DNS query can be recursive or iterative; in practice the query from a requesting host to its local DNS server is recursive.

registrar ch. 2

Simple

A company that sells domain names and puts them into the DNS for you.

Precise

A commercial entity that verifies the uniqueness of a domain name, enters it into the DNS database and collects a fee. Registrars are accredited by ICANN. Registering a domain means giving the registrar the names and IP addresses of your authoritative DNS servers. The registrar then inserts a Type NS and a Type A record into the TLD servers.

reliable channel ch. 3

Simple

An imaginary pipe in which nothing is lost, nothing is damaged and nothing arrives out of order.

Precise

The service abstraction a reliable data transfer protocol provides to the layer above: no transferred bit is corrupted or lost, and all bits are delivered in the order they were sent. It is exactly the service TCP offers Internet applications. The difficulty is that the layer *below* the protocol is usually not reliable.

reliable data transfer ch. 2

Simple

A promise that everything sent arrives, complete, without errors, and in the right order.

Precise

A service in which the transport protocol guarantees that the data sent by one end of the application is delivered correctly and completely to the other end. The sending process can pass its data into the socket and know with complete confidence that it will arrive without errors at the receiving process.

repeater ch. 6

Simple

A physical-layer device that regenerates a signal so it can travel further.

Precise

A physical-layer device that receives a signal on the input side and regenerates it on the output side. It understands nothing about frames or addresses. Early coaxial Ethernet segments were limited to 500 metres, and repeaters were how longer runs were built.

request line ch. 2

Simple

The first line of an HTTP request: what to do, to what, with which version.

Precise

The first line of an HTTP request message. It has three fields: the method field, the URL field and the HTTP version field.

reset segment ch. 3

Simple

A segment with the RST bit set, meaning "there is no socket here — stop".

Precise

A TCP segment with the RST flag set to 1, sent when a host receives a segment whose port numbers or source address match no socket on that host. It tells the source not to resend. The UDP equivalent is not a transport-layer segment at all: the host sends an ICMP destination-unreachable message (Chapter 5).

resource record ch. 2

Simple

One entry in the DNS database, written as four fields.

Precise

A four-tuple (Name, Value, Type, TTL) stored by the DNS servers that together implement the DNS distributed database. Each DNS reply message carries one or more resource records. The meaning of Name and Value depends on Type.

retransmission timeout interval ch. 3

Simple

How long TCP waits for an acknowledgement before deciding the segment is lost.

Precise

TimeoutInterval = EstimatedRTT + 4·DevRTT: the average plus a safety margin that grows when the measurements are unsteady. RFC 6298 recommends an initial value of 1 second. On each timeout the value is doubled rather than recomputed, and it returns to the formula as soon as a new acknowledgement updates EstimatedRTT.

root dns server ch. 2

Simple

A server at the top of the DNS tree. It points to the servers for .com, .edu and the rest.

Precise

There are more than 1000 root server instances scattered all over the world, copies of 13 different root servers managed by 12 organizations and coordinated through IANA. Root name servers provide the IP addresses of the TLD servers. Because local servers cache TLD addresses, root servers are bypassed for all but a very small fraction of queries.

round-trip time ch. 2

Simple

How long a small packet takes to travel to the other side and back.

Precise

The RTT: the time it takes for a small packet to travel from client to server and then back to the client. It includes packet-propagation delays, packet-queuing delays in intermediate routers and switches, and packet-processing delays.

route ch. 1

Simple

The series of links and switches a packet travels through to reach its destination.

Precise

The sequence of communication links and packet switches traversed by a packet from the sending host to the receiving host. Also called a path.

route aggregation ch. 4

Simple

Advertise one prefix instead of many.

Precise

Announcing a single address prefix that covers many subnets, so that other routers need only one forwarding-table entry for the whole group.

route oscillation ch. 5

Simple

Everyone moves to the quiet path at once, so it stops being quiet.

Precise

The pathology that arises when link costs depend on the load the links carry. Routers all shift traffic onto whichever path is currently cheapest, which makes that path expensive and the abandoned one cheap, and the pattern repeats indefinitely.

router ch. 1

Simple

A packet switch in the network core that uses IP addresses to choose the next link.

Precise

A packet switch that implements layers 1 through 3 of the protocol stack and forwards datagrams using a forwarding table indexed by the destination IP address. Routers are typically used in the network core.

routing ch. 4

Simple

Planning the whole path across the network.

Precise

The network-wide process that determines the end-to-end paths packets take from source to destination. It takes place on much longer timescales — typically seconds — and is often implemented in software.

routing algorithm ch. 5

Simple

Works out good paths through the network.

Precise

An algorithm determining good — typically least-cost — paths from senders to receivers through the network of routers.

routing loop ch. 5

Simple

Two routers each send the packet to the other, so it never arrives.

Precise

A state in which the forwarding decisions of two or more routers point at each other for the same destination, so a datagram for that destination is passed between them until the forwarding tables change or its time-to-live runs out.

routing policy ch. 5

Simple

An organisation's own rules about which routes it will use and advertise.

Precise

The rules an autonomous system applies when selecting and advertising routes. Policy can override every other consideration, including shortest AS-PATH and hot potato routing, because BGP's route-selection algorithm consults the local-preference attribute first, and that attribute's value is fixed by the local AS. Policy is enforced by controlling which routes an AS advertises, not only which it uses.

routing protocol ch. 1

Simple

A protocol that routers run to fill in their forwarding tables automatically.

Precise

A protocol used to automatically set the forwarding tables in routers, for example by determining the shortest path from each router to each destination and using that result to configure the tables.

rtt deviation ch. 3

Simple

A running estimate of how far the measurements usually stray from the average.

Precise

DevRTT: an EWMA of |SampleRTT − EstimatedRTT|, updated as (1−β)·DevRTT + β·|SampleRTT − EstimatedRTT| with β = 0.25. It is small when round-trip times are steady and large when they jump about, which is exactly when the timeout needs more headroom.

running configuration ch. 5

Simple

The settings a device is actually using right now.

Precise

A device may hold several configurations. There is always a running configuration, which describes the device's current settings. A NETCONF <edit-config> naming the running configuration changes what the device is doing at that moment; on error the configuration state can be rolled back to its previous state.

sample rtt ch. 3

Simple

One measurement of how long a segment took to be acknowledged.

Precise

SampleRTT: the time between passing a segment to IP and receiving an acknowledgement for it. Most implementations measure only one at a time, so a new value appears about once per round-trip time, and never measure a retransmitted segment, because there is no way to know which copy the acknowledgement refers to [Karn 1987].

sdn controller ch. 5

Simple

The remote brain that works out every switch's flow table.

Precise

The software, running on servers distinct and remote from the network's switches, that maintains accurate network state information, provides that information to the network-control applications above it, and provides the means by which those applications monitor, program and control the underlying devices. Its functionality divides into three layers: communication with the controlled devices, network-wide state management, and the interface to the applications. It is also called a network operating system.

security association ch. 8

Simple

A one-way agreement between two IPsec endpoints about how to protect traffic.

Precise

An SA is a simplex logical connection holding the state both ends need: a 32-bit Security Parameter Index, the origin and destination interfaces, the encryption type and key, and the integrity check type and key.

segment ch. 1

Simple

The transport-layer packet: the application's message plus a transport header.

Precise

The transport-layer packet. It encapsulates an application-layer message and adds transport-layer header information (Ht), which may include information for delivering the message to the right application and error-detection bits.

selective acknowledgement ch. 3

Simple

An optional TCP extension letting the receiver name exactly which blocks it has.

Precise

SACK [RFC 2018]: an extension allowing a TCP receiver to acknowledge out-of-order segments individually, instead of only cumulatively acknowledging the last in-order byte. Combined with selective retransmission — skipping segments the receiver has already reported — it makes TCP behave much like the generic selective-repeat protocol of §3.4.4.

selective repeat ch. 3

Simple

A pipelined protocol that resends only the packets it believes were actually lost.

Precise

SR: the receiver acknowledges every correctly received packet individually, whether or not it is in order, and buffers out-of-order packets until the gaps are filled. The sender keeps a separate logical timer per packet and retransmits only the packet that timed out. It avoids Go-Back-N’s wasted retransmissions, at the cost of buffering at the receiver and the window rule below.

selective route advertisement ch. 5

Simple

Not telling a neighbour about a path you know, so it never sends you that traffic.

Precise

The mechanism by which BGP routing policy is enforced. An AS that knows a path may simply decline to advertise it. A neighbour unaware of the path will never forward traffic over it, so withholding an advertisement is how customer and provider relationships are implemented.

self-clocking ch. 3

Simple

Letting the arrival of acknowledgements set the pace at which the window grows.

Precise

TCP’s use of arriving acknowledgements to trigger increases in the congestion window. If acknowledgements return slowly, because the path is long or a link is slow, the window grows slowly; if they return quickly, it grows quickly. The protocol therefore adapts its own rate of adaptation to the path, with no clock and no measurement of the link.

self-learning ch. 6

Simple

The switch works out its own table by watching frames arrive.

Precise

A switch's table is built automatically and without intervention: when a frame arrives on an interface, the switch records the sending MAC address, that interface and the time. Entries older than the aging time are deleted. A switch is therefore plug-and-play.

self-scalability ch. 2

Simple

The system gains capacity as it gains users, because every user also serves others.

Precise

The property of a P2P architecture whereby each peer generates workload by requesting files but also adds service capacity to the system by distributing files to other peers. It is a direct consequence of peers being redistributors as well as consumers of bits.

send buffer ch. 3

Simple

Memory in the sending host holding bytes the application has written but TCP has not finished sending.

Precise

One of the buffers set aside during the three-way handshake. The application writes a byte stream into the socket; TCP takes chunks out of this buffer at its own convenience, up to the maximum segment size, adds a header, and passes each segment to the network layer.

sender utilization ch. 3

Simple

The fraction of the time the sender is actually putting bits on the link.

Precise

U_sender: for a stop-and-wait protocol, (L/R) / (RTT + L/R), where L is the packet length, R the link rate and RTT the round-trip time. In the book’s cross-country example — 1 Gbps, 30 ms, 1,000-byte packets — it is 0.00027, so a gigabit link delivers 267 kbps. Pipelining N packets multiplies it by N, up to 1.

sender window ch. 3

Simple

The stretch of sequence numbers the sender is currently allowed to use.

Precise

The range [base, base+N−1], where base is the sequence number of the oldest unacknowledged packet. Numbers below base are sent and acknowledged; numbers from base to nextseqnum−1 are sent and unacknowledged; numbers from nextseqnum to base+N−1 may be sent immediately; numbers from base+N may not be used until base is acknowledged.

sequence number ch. 3

Simple

A number written into each packet so the receiver can tell one from the next.

Precise

A field added to a data packet so the receiver can decide whether an arriving packet is new or a retransmission of one it already has. For a stop-and-wait protocol one bit is enough, since the receiver only needs to distinguish the current packet from the previous one. With a k-bit field the range is 0 to 2ᵏ−1 and all arithmetic is modulo 2ᵏ. TCP’s field is 32 bits and counts bytes, not packets.

server ch. 1

Simple

The host that stores content and answers requests, usually inside a data centre.

Precise

A more powerful host that stores and distributes Web pages, streams video, relays e-mail and so on. Most servers reside in large data centres.

server process ch. 2

Simple

The process that waits, and answers when it is contacted.

Precise

In the context of a communication session between a pair of processes, the process that waits to be contacted to begin the session.

server push ch. 2

Simple

The server sends files it knows you will need, before you ask for them.

Precise

An HTTP/2 feature in which the server answers the original request and also sends objects the client has not asked for. It can do this because the HTML base page states which objects are needed to render the page. The server analyses that page and sends them, which removes the delay of waiting for those requests.

service abstraction layer ch. 5

Simple

The part of OpenDaylight through which everything talks to everything.

Precise

OpenDaylight's nerve centre. It allows controller components and applications to invoke each other's services, to reach configuration and operational data, and to subscribe to the events they generate. It also presents one uniform abstract interface over the specific protocols that run between the controller and the controlled devices.

service model ch. 1

Simple

What a layer promises to do for the layer above it.

Precise

The set of services that a layer offers to the layer above. As long as a layer offers the same service model and uses the same services from below, its implementation can change without affecting the rest of the system.

session key ch. 8

Simple

A symmetric key made up for one conversation and then thrown away.

Precise

A random symmetric key K_S chosen for a single session, used to encrypt the message body because symmetric encryption is far cheaper than public key encryption, and itself sent encrypted with the receiver's public key.

shadow fading ch. 1

Simple

A radio signal gets weaker when it has to pass around or through an obstacle.

Precise

The decrease in radio signal strength caused by obstructing objects that the signal must travel around or through.

simple mail transfer protocol ch. 2

Simple

The rules mail servers use to hand a message from one server to the next.

Precise

SMTP, defined in RFC 5321, the principal application-layer protocol for Internet electronic mail. It uses TCP on port 25 to transfer mail directly from the sender’s mail server to the recipient’s, never through an intermediate mail server. It uses persistent connections, and it restricts the body as well as the headers of all messages to 7-bit ASCII, so binary attachments must be encoded first.

sliding-window protocol ch. 3

Simple

A protocol whose allowed sequence numbers form a window that moves forward as ACKs arrive.

Precise

Another name for a pipelined protocol with a limit N on outstanding packets. The permitted sequence numbers form a window of size N over the sequence-number space, which slides forward each time the oldest unacknowledged packet is acknowledged. Both Go-Back-N and selective repeat are sliding-window protocols.

slotted aloha ch. 6

Simple

Transmit at the start of a slot; after a collision, retry with probability p.

Precise

Time is divided into slots of L/R seconds, nodes transmit only at slot boundaries and are synchronized, and a collision is detected before the slot ends. After a collision a node retransmits in each subsequent slot with probability p. Its maximum efficiency is 1/e, about 37 per cent.

slow start ch. 3

Simple

The opening phase, where the window doubles every round trip — anything but slow.

Precise

The state a TCP connection begins in. cwnd starts at a small value and grows by one MSS for every segment first acknowledged, which doubles the sending rate every round-trip time. It ends when cwnd reaches ssthresh, when a timeout occurs (cwnd returns to 1 MSS and slow start restarts), or when three duplicate acknowledgements arrive (TCP moves to fast recovery). The name refers to starting from 1 MSS, not to the growth rate.

slow-start threshold ch. 3

Simple

The window size at which TCP stops doubling and starts creeping.

Precise

ssthresh: set to half the congestion window at the moment a loss event was detected. When cwnd reaches it, slow start ends and congestion avoidance begins, on the reasoning that a rate which caused loss once is worth approaching cautiously the next time.

small cell station ch. 7

Simple

A little extra base station filling a hole in coverage.

Precise

A station needed to fill coverage gaps between base stations and users, because millimeter wave signals are easily blocked by buildings and trees. In a highly populous region the distance between two small cells could vary from 10 to 100 meters.

smi ch. 5

Simple

The language MIB objects are written in.

Precise

Structure of Management Information: the data description language in which MIB objects are specified, defined in RFCs 2578, 2579 and 2580. A formal definition language ensures that the syntax and semantics of network management data are well defined and unambiguous. The book notes that its name gives no hint of its function.

snmp ch. 5

Simple

Poll devices for numbers, and receive their alarms.

Precise

Simple Network Management Protocol, version 3 defined in RFC 3410. An application-layer protocol carrying network-management control and information messages between a managing server and an agent. Most commonly used request-response, to query or modify MIB object values; also used by an agent to send an unsolicited trap message.

socket ch. 2

Simple

The door of a program, through which its messages leave and enter the network.

Precise

The software interface between the application layer and the transport layer within a host, through which a process sends messages into, and receives messages from, the network. It is the concrete thing a program holds; the socket interface of §1.1 is the service it offers. It is also called the Application Programming Interface between the application and the network. The developer controls everything on the application side of the socket and almost nothing on the transport side.

socket interface ch. 1

Simple

The set of rules a program follows to ask the Internet to deliver its data.

Precise

The interface that end systems provide, specifying how a program running on one end system asks the Internet infrastructure to deliver data to a specific destination program running on another end system.

source quench ch. 5

Simple

An old ICMP message asking a sender to slow down.

Precise

ICMP type 4 code 0. Its original purpose was congestion control: a congested router could send it to a host to force that host to reduce its transmission rate. It is seldom used in practice — TCP has its own congestion control at the transport layer, and Explicit Congestion Notification bits let network-layer devices signal congestion instead.

southbound interface ch. 5

Simple

The controller's doorway downward, to the switches.

Precise

The interface across which an SDN controller communicates with the devices it controls. A protocol is needed in both directions: to send instructions down, and to carry locally observed events such as a link going up or down back to the controller. OpenFlow is one such protocol and is implemented in most, if not all, SDN controllers.

space-time diagram ch. 6

Simple

A picture whose horizontal axis is position and whose vertical axis is time.

Precise

A diagram in which the horizontal axis shows the position of each node in space and the vertical axis represents time, so a transmission appears as a cone spreading outwards from its sender at the speed of the medium. Used in Figures 6.12 and 6.13 to show why carrier sensing does not prevent collisions.

split-connection approach ch. 7

Simple

Cutting one connection into a wireless half and a wired half that meet at the access point.

Precise

An approach in which the end-to-end connection between a mobile user and the other end point is broken into two transport-layer connections: one from the mobile host to the wireless access point, and one from the access point to the other end point. The end-to-end connection is formed by the concatenation of a wireless part and a wired part.

ssid ch. 7

Simple

The network name an access point announces.

Precise

The one- or two-word Service Set Identifier a network administrator assigns to an access point. It is carried in every beacon frame along with the AP's MAC address, and it is what appears in the list of networks a device offers you.

stateful filter ch. 8

Simple

A firewall that remembers which connections are open.

Precise

A firewall that tracks TCP connections in a connection table, observing the handshake and the teardown, so it can allow a packet only if it belongs to an established connection.

stateless protocol ch. 2

Simple

A protocol whose server remembers nothing about earlier requests.

Precise

A protocol whose server maintains no information about its clients. An HTTP server sends requested files without storing any state about the client. If a client asks for the same object twice within a few seconds, the server simply resends it, having completely forgotten what it did earlier. This simplicity is what lets Web servers handle thousands of simultaneous connections.

statistical multiplexing ch. 1

Simple

Letting users share a link on demand, because they are rarely all busy at the same time.

Precise

The on-demand sharing of a link's transmission rate among users whose activity is bursty and uncorrelated. Because the probability of many users being simultaneously active is small, packet switching can support several times more users than circuit switching at the same performance.

status code ch. 2

Simple

A three-digit number saying how the request turned out.

Precise

A number in the status line of an HTTP response, with an associated phrase, indicating the result of the request. Common ones are 200 OK, 301 Moved Permanently (the new URL is in the Location header), 400 Bad Request, 404 Not Found, and 505 HTTP Version Not Supported.

status line ch. 2

Simple

The first line of an HTTP response: the version, and whether the request worked.

Precise

The first line of an HTTP response message. It has three fields: the protocol version field, a status code and a corresponding status message.

stop-and-wait protocol ch. 3

Simple

A sender that refuses to send anything new until the last thing has been acknowledged.

Precise

A protocol in which the sender, having sent one packet, will not accept more data from the layer above until it has received an acknowledgement. rdt2.0 through rdt3.0 are all stop-and-wait. It is simple and correct, and its performance is terrible on any link with a round-trip time much larger than the time to transmit one packet.

store-and-forward transmission ch. 1

Simple

A switch must receive a whole packet before it starts sending it onward.

Precise

Transmission in which the packet switch must receive the entire packet before it can begin to transmit the first bit of the packet onto the outbound link. Sending one packet of L bits over N links each of rate R therefore takes N·L/R.

streaming stored video ch. 2

Simple

Watching a recorded video while it is still arriving, instead of waiting for the whole file.

Precise

An application whose underlying medium is prerecorded video placed on servers, which users request to view on demand. From a networking point of view the salient characteristic of video is its high bit rate: from 100 kbps for low quality to over 10 Mbps for 4K. The most important performance measure is average end-to-end throughput, which must be at least the bit rate of the compressed video for continuous playout.

subnet ch. 4

Simple

A patch of network with no router inside it.

Precise

A set of device interfaces interconnected by a network containing no routers, all sharing a common address prefix. Detaching each interface from its host or router leaves isolated islands; each island is a subnet.

successful slot ch. 6

Simple

A slot in which exactly one node transmitted.

Precise

A slot in which exactly one node transmits, so the frame is received rather than destroyed. Slots with no transmitter are empty and slots with more than one are collisions; both are wasted.

switch table ch. 6

Simple

Which MAC addresses lie behind which switch port.

Precise

A table in a link-layer switch mapping a MAC address to the interface leading to it, with the time the entry was made. It is built by self-learning and entries are aged out, so the table need not contain an entry for every node in the LAN.

switching fabric ch. 4

Simple

The part of a router that carries packets from input to output.

Precise

The component connecting a router's input ports to its output ports, implemented via memory, via a bus, or via an interconnection network such as a crossbar.

symmetric key cryptography ch. 8

Simple

Both sides use the same secret key, so they must agree on it in advance.

Precise

A cryptographic system in which Alice's and Bob's keys are identical and secret. The Caesar cipher is the ancient example; DES, 3DES and AES are the modern block ciphers.

syn flood attack ch. 3

Simple

Flooding a server with connection requests that are never completed, to exhaust its memory.

Precise

A denial-of-service attack in which an attacker sends a large number of TCP SYN segments and never completes the third handshake step. The server’s connection resources are consumed by half-open connections that will never be used, and legitimate clients are refused. Among the first documented denial-of-service attacks [CERT SYN 1996].

syn segment ch. 3

Simple

The first segment of a connection, with the SYN bit set and no application data.

Precise

A TCP segment with the SYN flag set to 1, carrying the sender’s randomly chosen initial sequence number and no application data. Randomising the initial sequence number matters for security [RFC 4987]. A SYN arriving at a port where nothing is listening is answered with a reset segment.

synack segment ch. 3

Simple

The server’s reply that grants the connection: SYN set, plus an acknowledgement.

Precise

The connection-granted segment: SYN set to 1, the acknowledgement field set to the client’s initial sequence number plus one, and the server’s own randomly chosen initial sequence number in the sequence-number field. It says, in effect, "I have your SYN, I agree, and here is my starting number."

taking-turns protocol ch. 6

Simple

Everyone speaks in an agreed order.

Precise

A class of multiple access protocol that gives nodes the channel in turn. The book covers polling, where a master node invites each node to transmit, and token passing, where a special frame circulates and only its holder may send.

tcp cubic ch. 3

Simple

A TCP that climbs quickly back to its old window, then approaches it cautiously.

Precise

A congestion-control variant [Ha 2008, RFC 8312] that changes only the congestion-avoidance phase. Let W_max be the window when loss was last detected and K the time at which the window should reach it again; cwnd grows as the cube of the distance between the current time and K. The result is a fast climb when far from W_max, caution near it, and a fast climb again beyond it. It is the Linux default and, as measured in 2014, ran on about half of the 5,000 most popular Web servers [Yang 2014].

tcp reno ch. 3

Simple

The classic TCP: like Tahoe, but with fast recovery added.

Precise

The version of TCP that added fast recovery, so that a loss detected by three duplicate acknowledgements halves the congestion window instead of collapsing it to 1 MSS. Timeouts still send it back to slow start. It is the "classic" TCP of RFC 5681 and the baseline against which CUBIC, Vegas and BBR are compared.

tcp tahoe ch. 3

Simple

An early TCP that always dropped back to one segment after any loss.

Precise

The earlier version of TCP, which unconditionally set cwnd to 1 MSS and re-entered slow start after either a timeout or three duplicate acknowledgements. It has no fast recovery, so a single lost segment costs the whole pipe.

tcp vegas ch. 3

Simple

The first widely known TCP to slow down on rising delay instead of on loss.

Precise

A delay-based congestion-control variant [Brakmo 1995] in which the sender compares its measured throughput against cwnd/RTT_min and reduces its rate when the two diverge, so that queues never grow enough to overflow. BBR [Cardwell 2017] builds on these ideas while adding mechanisms to compete fairly with loss-based senders.

terrestrial radio channel ch. 1

Simple

A link that carries signals through the air between antennas on the ground.

Precise

A channel carrying signals in the electromagnetic spectrum, requiring no physical wire, able to penetrate walls and reach mobile users. Its characteristics depend on the propagation environment and distance, and it suffers path loss, shadow fading, multipath fading and interference.

three-way handshake ch. 3

Simple

The three segments — SYN, SYNACK, ACK — that open a TCP connection.

Precise

TCP’s connection-establishment procedure. The client sends a segment with the SYN bit set and a randomly chosen initial sequence number; the server replies with SYN set, its own initial sequence number and an acknowledgement of the client’s; the client acknowledges the server’s. The first two carry no application data; the third may. Both sides allocate buffers and variables during the exchange, which is what the SYN flood attack abuses.

throughput ch. 1

Simple

How many bits per second actually arrive at the receiver.

Precise

The rate, in bits/second, at which the receiving host receives data. Instantaneous throughput is that rate at an instant; the average throughput of a transfer of F bits taking T seconds is F/T. With no competing traffic it is min{R₁, …, R_N}.

tier-1 isp ch. 1

Simple

One of about a dozen very large ISPs at the top; they pay nobody for transit.

Precise

An ISP at the top of the Internet hierarchy, consisting of high-speed routers interconnected with high-speed fiber-optic links. Tier-1 ISPs pay no provider and peer settlement-free with one another. No group officially sanctions tier-1 status.

time_wait state ch. 3

Simple

A short wait after closing, in case the last acknowledgement needs sending again.

Precise

The state a TCP enters after acknowledging the other side’s FIN. It lets the host resend that final acknowledgement if it was lost. The duration is implementation-dependent — 30 seconds, 1 minute and 2 minutes are all common. Only when it ends are all resources, including the port number, released.

time-division multiplexing ch. 1

Simple

Giving each connection the whole link, but only during its own repeating time slot.

Precise

A multiplexing technique in which time is divided into frames of fixed duration, each divided into a fixed number of slots, and the network dedicates one slot in every frame to a connection. The circuit's rate equals the frame rate multiplied by the number of bits in a slot.

timeout doubling ch. 3

Simple

Waiting twice as long after each retransmission of the same segment.

Precise

On each timeout, TCP retransmits the oldest unacknowledged segment and sets the next timeout to twice the previous value instead of recomputing it from EstimatedRTT and DevRTT. Since timeouts usually mean congestion, retransmitting ever more slowly is a crude but real form of congestion control. The same idea appears at the link layer in Ethernet’s CSMA/CD backoff.

tit-for-tat ch. 2

Simple

Send chunks to whoever is currently sending you the most.

Precise

The BitTorrent incentive mechanism of giving priority to the neighbours currently supplying data at the highest rate. The effect is that peers capable of uploading at compatible rates tend to find each other. The scheme can be circumvented. Even so, without it or a variant, most users would have been freeriders and BitTorrent would likely not exist today.

token ch. 6

Simple

A small special frame that gives its holder permission to transmit.

Precise

A small, special-purpose frame exchanged among the nodes in a fixed order. A node holds on to the token only if it has frames to transmit, and otherwise forwards it immediately. If a node neglects to release it, a recovery procedure must put it back in circulation.

token-passing protocol ch. 6

Simple

Hold the token to speak, then pass it on.

Precise

A small special-purpose frame, the token, is exchanged among the nodes in a fixed order, and only the node holding it may transmit. There is no master, but the failure of one node, or the loss of the token, can break the channel.

top-level domain server ch. 2

Simple

A server that knows who is in charge of every name ending in .com, .edu, .uk and so on.

Precise

For each top-level domain — com, org, net, edu, gov, and country domains such as uk, fr, ca and jp — there is a TLD server or server cluster. Verisign Global Registry Services maintains the com TLD servers and Educause maintains the edu TLD servers. TLD servers provide the IP addresses of authoritative DNS servers.

torrent ch. 2

Simple

The whole group of machines sharing one particular file.

Precise

In BitTorrent, the collection of all peers participating in the distribution of a particular file. A torrent may have fewer than ten or more than a thousand peers at any instant of time.

traceroute ch. 1

Simple

A program that lists every router on the path to a destination and the delay to each.

Precise

A program that sends N specially marked packets toward a destination; the nth router along the path returns a message to the source instead of forwarding packet n. The source thereby reconstructs the route and measures the round-trip delay to each router. Described in RFC 1393.

tracker ch. 2

Simple

The one server in a torrent that keeps the list of who is taking part.

Precise

The infrastructure node of a torrent. A peer registers with the tracker on joining and periodically confirms it is still there. When a new peer joins, the tracker randomly selects a subset of participating peers — for concreteness, 50 — and sends their IP addresses to the newcomer. The newcomer then tries to open TCP connections to all of them.

traffic engineering ch. 5

Simple

Choosing link costs to get the traffic pattern you want.

Precise

Configuring OSPF link weights so that the routing the algorithm produces meets an operator's goal, such as minimising the maximum utilisation over all links. It reverses the usual cause and effect: the desired routing is known first, and the weights that produce it must be found.

traffic intensity ch. 1

Simple

How full a link is: the bits arriving each second divided by the bits it can send.

Precise

La/R, where a is the average packet arrival rate in packets/second, L the packet length in bits and R the link rate in bits/second. If La/R > 1 the queue grows without bound; as La/R approaches 1 the average queuing delay increases rapidly.

transit traffic ch. 5

Simple

Traffic passing through a network that is neither its source nor its destination.

Precise

Traffic that an ISP carries across its own backbone even though neither the sender nor the receiver is one of its customers. The rule of thumb commercial ISPs follow is that any traffic crossing an ISP's backbone must have a source or a destination, or both, in one of that ISP's customer networks; otherwise the traffic is getting a free ride.

transmission control protocol ch. 3

Simple

The Internet’s reliable transport protocol: connection-oriented, ordered, flow- and congestion-controlled.

Precise

TCP, defined in RFC 793 and refined by RFC 1122, RFC 2018, RFC 5681 and RFC 7323. It provides a full-duplex, point-to-point connection between exactly two processes, delivers a byte stream that is uncorrupted, gap-free, duplicate-free and in order, and regulates its own sending rate for both the receiver’s sake and the network’s. Its state lives only in the two end systems; routers know nothing about connections.

transmission delay ch. 1

Simple

The time needed to push all of the packet's bits into the link.

Precise

d_trans = L/R, where L is the packet length in bits and R the link rate in bits/second. It is a function of the packet length and the link rate, and has nothing to do with the distance between the two nodes.

transport layer security ch. 2

Simple

A layer of code above TCP that encrypts what an application sends.

Precise

TLS, an enhancement of TCP defined in RFC 5246, providing process-to-process encryption, data integrity and end-point authentication. It is not a third Internet transport protocol alongside TCP and UDP. The enhancements are implemented in the application layer, and an application that wants them must include TLS libraries on both the client and the server side.

transport-layer demultiplexing ch. 3

Simple

Reading a segment’s header to decide which socket in this host it belongs to.

Precise

The job, at the receiving host, of delivering the data in a transport-layer segment to the correct socket. The transport layer examines the fields that identify the socket — the destination port for UDP, all four of the four-tuple for TCP — and directs the segment there.

transport-layer multiplexing ch. 3

Simple

Collecting data from many sockets in one host and putting it all into segments on one link.

Precise

The job, at the sending host, of gathering data chunks from different sockets, adding a header to each chunk (source and destination port numbers, plus error-detection bits) to form segments, and passing the segments to the network layer. Its counterpart at the receiving host is demultiplexing.

trap ch. 5

Simple

The device speaks first, without being asked.

Precise

An unsolicited SNMP message from an agent to a managing server, generated asynchronously in response to an event rather than to a request. RFC 3418 defines well-known trap types including a cold or warm start, a link going up or down, the loss of a neighbour, and an authentication failure. A received trap requires no response.

triangle routing problem ch. 7

Simple

Going home first, even when your friend is next door.

Precise

Indirect routing's inefficiency: datagrams addressed to a mobile device are forwarded first to its home network and then to the visited network, even when a much more efficient route exists between the correspondent and the device. In the book's worst case, two people sitting side by side send data across the world and back.

tunnel mode ch. 8

Simple

Wrapping the whole original datagram inside a new one, header and all.

Precise

The IPsec packet form in which the entire original IPv4 datagram, including its header, is encrypted and placed inside a new datagram with a new IP header. It is the form appropriate for VPNs.

tunneling ch. 4

Simple

Carry one protocol inside another to cross unfriendly ground.

Precise

Placing an IPv6 datagram in the payload field of an IPv4 datagram so that it can cross a stretch of IPv4-only routers, which see only an ordinary IPv4 datagram.

twisted-pair copper wire ch. 1

Simple

Two insulated copper wires twisted around each other, the cheapest and most common cable.

Precise

Two insulated copper wires, each about 1 mm thick, arranged in a regular spiral pattern. The twist reduces electrical interference from similar pairs nearby. A wire pair constitutes a single communication link; unshielded twisted pair (UTP) is common for LANs at 10 Mbps to 10 Gbps.

two-dimensional parity ch. 6

Simple

Parity on every row and every column, so you can find the flipped bit.

Precise

The d data bits are laid out in i rows and j columns and a parity value is computed for each row and each column. A single bit error makes both its row and its column fail, so the receiver can locate and correct it. It can also detect, but not correct, any two errors.

type a record ch. 2

Simple

A DNS record giving the IP address of a named host.

Precise

A resource record in which Name is a hostname and Value is the IP address for that hostname, providing the standard hostname-to-IP-address mapping. For example (relay1.bar.foo.com, 145.37.93.126, A). A server authoritative for a hostname always holds a Type A record for it.

type cname record ch. 2

Simple

A DNS record saying “this nickname really means that official name”.

Precise

A resource record in which Value is a canonical hostname for the alias hostname Name. For example (foo.com, relay1.bar.foo.com, CNAME).

type mx record ch. 2

Simple

A DNS record naming the mail server for a domain.

Precise

A resource record in which Value is the canonical name of a mail server that has the alias hostname Name — for example (foo.com, mail.bar.foo.com, MX). MX records let a company use the same aliased name for its mail server and its Web server. A client queries for MX to reach the mail server, and for CNAME to reach the other.

type ns record ch. 2

Simple

A DNS record naming the server that knows the answers for a domain.

Precise

A resource record in which Name is a domain. Value is the hostname of an authoritative DNS server that knows how to obtain the IP addresses for hosts in that domain. It is used to route DNS queries further along the query chain — for example (foo.com, dns.foo.com, NS). It is normally accompanied by a Type A record giving that server’s address.

unbundling ch. 5

Simple

Splitting one product into parts that different companies can supply.

Precise

The separation of network functionality into data-plane switches, SDN controllers and network-control applications as distinct entities, each of which may be supplied by a different vendor. The book likens it to the move from mainframes, where one vendor supplied hardware, system software and applications, to personal computers, where the three became separate markets.

unchoked ch. 2

Simple

Being one of the four neighbours a peer is currently sending chunks to.

Precise

In BitTorrent, the state of the four neighbours that are feeding a peer bits at the highest rate, to which that peer reciprocates by sending chunks. The rates are recalculated every 10 seconds, and the set may change. All neighbours other than these four and the optimistically unchoked one are choked, and receive nothing.

unguided media ch. 1

Simple

Media where the signal travels through air or space, with no cable.

Precise

Physical media in which the waves propagate in the atmosphere and in outer space, such as in a wireless LAN or a digital satellite channel.

uniform resource locator ch. 2

Simple

A web address: which server holds the file, and where on that server it sits.

Precise

A URL, the address of a Web object, with two components: the hostname of the server that houses the object and the object’s path name. In http://www.someSchool.edu/someDepartment/picture.gif the hostname is www.someSchool.edu and the path name is /someDepartment/picture.gif.

unreliable service ch. 6

Simple

A damaged packet is discarded and nobody is told.

Precise

A service that makes no attempt to recover from loss or corruption. Ethernet's receiving adapter runs the CRC check and, on failure, simply discards the frame — sending neither an acknowledgement nor a negative one. The sender never learns. This is what keeps Ethernet simple and cheap, and it means the stream of datagrams handed to the network layer can have gaps.

user agent ch. 2

Simple

The mail program you actually use to read and write messages.

Precise

The component of the e-mail system that allows users to read, reply to, forward, save and compose messages. Examples include Microsoft Outlook, Apple Mail, Web-based Gmail and the Gmail app on a smartphone.

user datagram protocol ch. 3

Simple

The Internet’s bare transport protocol: addressing and an error check, nothing else.

Precise

UDP, defined in RFC 768. It adds almost nothing to IP: source and destination port numbers for multiplexing and demultiplexing, a length, and a checksum, in an 8-byte header. There is no handshake, no connection state, no retransmission, no flow control and no congestion control, so an application using UDP keeps full control of what it sends and when.

virtual circuit ch. 6

Simple

A pre-established path that packets follow, identified by a short label.

Precise

A network model in which a path is set up before data flows and each packet carries a short fixed-length identifier rather than a full destination address. MPLS borrows the fixed-length label from this world while keeping IP addressing and IP routing underneath — the book calls it blending virtual-circuit techniques into a routed datagram network.

virtual local area network ch. 6

Simple

Several separate LANs configured over one set of switches.

Precise

A VLAN-capable switch is configured so that several logical LANs share one physical infrastructure. Ports are assigned to VLANs in software, so a person moving office, or a group being reorganised, is a configuration change rather than a rewiring. Traffic between VLANs must pass through a router.

virtual private network ch. 6

Simple

A customer's separate networks joined across a provider, kept apart from everyone else's.

Precise

A service in which an ISP uses its own network to connect a customer's various sites, isolating both the resources and the addressing used by that customer from other users crossing the same infrastructure. MPLS is one way to implement it.

visited network ch. 7

Simple

Wherever the device happens to be now.

Precise

Any network a mobile device is attached to other than its home network.

vlan trunking ch. 6

Simple

One link carrying frames for every VLAN, each tagged.

Precise

A trunk port belonging to all VLANs carries frames between VLAN switches, with an 802.1Q tag added to each frame to say which VLAN it belongs to. The tag is a 4-byte field inserted into the Ethernet header, and the CRC is recomputed.

web cache ch. 2

Simple

A nearby machine holding copies of pages, so requests need not travel far.

Precise

Also called a proxy server: a network entity that satisfies HTTP requests on behalf of an origin Web server. It has its own disk storage and keeps copies of recently requested objects. A cache is both a server and a client at the same time — a server to the browser, a client to the origin server. Caches are typically bought and installed by an ISP.

web page ch. 2

Simple

A document made of several files that a browser fetches and shows as one page.

Precise

Also called a document. It consists of objects. Most Web pages consist of a base HTML file and several referenced objects; the base HTML file references the other objects by their URLs.

web server ch. 2

Simple

The program that stores web objects and sends them when they are asked for.

Precise

A program that implements the server side of HTTP and houses Web objects, each addressable by a URL. Popular Web servers include Apache and Microsoft Internet Information Server.

weighted fair queueing ch. 4

Simple

Take turns, but each class gets its agreed share.

Precise

WFQ: a generalised round-robin discipline in which each traffic class receives a guaranteed fraction of the link rate, in proportion to its weight.

welcoming socket ch. 2

Simple

The server socket whose only job is to listen for new clients knocking.

Precise

In a TCP server, the socket that is the initial point of contact for all clients wanting to communicate with the server. It is created, bound to the server port and put into listening state. When a client knocks, accept() returns a separate connection socket dedicated to that client, and the welcoming socket goes back to listening.

well-known port number ch. 3

Simple

A port number below 1024, reserved by agreement for one particular kind of server.

Precise

A port number in the range 0 to 1023, restricted for use by well-known application protocols such as HTTP (80) and FTP (21). The list is in RFC 1700 and is kept up to date by IANA [RFC 3232]. A new application must be given a port number outside this range.

window size ch. 3

Simple

How many packets the sender may have in flight without an acknowledgement.

Precise

N: the maximum number of transmitted but unacknowledged packets allowed in the pipeline. It is limited for two reasons met later in the chapter — flow control, so the receiver is not overrun (§3.5.5), and congestion control, so the network is not overrun (§3.7).

wireless host ch. 7

Simple

An end system that connects over radio.

Precise

An end-system device running applications, connected to the network by a wireless link. It may or may not be mobile — chapter 7 is explicit that being wireless and being mobile are different properties, and that the hard problems each raises are different.

yang ch. 5

Simple

The language the configuration is described in.

Precise

A data modelling language, RFC 6020, used to specify the structure, syntax and semantics of the network management data NETCONF carries — in much the same way SMI specifies MIBs for SNMP. All definitions live in modules, and an XML document describing a device and its capabilities can be generated from a module. It has a small set of built-in data types and lets a modeller express constraints a valid configuration must satisfy.