Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Computer Networks  Module 1 – How the Internet works

How the Internet is built: ISPs, IXPs, access

How homes and phones reach the core: access technologies compared, ISPs and autonomous systems, and peering and transit, read from real traceroutes.

  • Beginner
  • 25 minutes
  • Examples run with Python 3.14.8 and Pyodide 314.0.7
  • By MySmartCoPilot
Free: 25 minutes

What you will learn

  • Describe the network edge, access networks and the core with examples of each
  • Explain how ISPs, autonomous systems and Internet exchange points interconnect
  • Compare FTTH, DSL, cable, 4G/5G, fixed wireless and satellite access by latency and capacity
  • Read India's broadband mix from a TRAI subscription report

Before you start

What you’ll learn · Before you start

What you will learn

  • Describe the network edge, access networks and the core with examples of each
  • Explain how ISPs, autonomous systems and Internet exchange points interconnect
  • Compare FTTH, DSL, cable, 4G/5G, fixed wireless and satellite access by latency and capacity
  • Read India's broadband mix from a TRAI subscription report

Before you start

On this page

The Internet is not one network but tens of thousands of independently run networks that agree to carry each other’s traffic. Your phone or laptop sits at the edge. An access network, such as fibre, a telephone line, cable or a mobile radio, connects it to an Internet service provider (ISP). ISPs and other large networks form the core: each is an autonomous system with its own routing policy, they tell each other which addresses they can reach with the Border Gateway Protocol (BGP), and they connect either directly, often at an Internet exchange point (IXP), or through a transit provider that reaches everyone else. Popular content is often copied into caches inside your ISP, so many of your paths are surprisingly short.

This lesson walks from the edge to the core, reads two real traceroutes from a home connection, and compares the ways homes and phones get online.

Edge, access and core

Three regions make up the path from your screen to a server:

  • The edge is the hosts: phones, laptops, televisions and sensors at home, and the servers in data centres. At home they usually share a router that also translates addresses (NAT) for all of them.
  • The access network is the “last mile” between the edge and the ISP: the fibre or copper into your building, the cable network of your street, or the radio link between your phone and a cell tower.
  • The core is the routers and long-distance links of ISPs and the networks they connect to, down to the submarine cables between continents.
Homes and phones reach an access ISP through an access network; the ISP peers at an exchange point and uses transit for the rest.Home networklaptops and phones on Wi-Fi,a router with NATPhone on 4G or 5GAccess networkfibre, DSL, cable, radioor satelliteAccess ISP (one autonomous system)carrier-grade NAT, core routers,a CDN cache for popular contentInternet exchange pointone shared switch, many networksOther ISPs andcontent networksTransit providerreaches every other networkServers on othercontinentslast mileradiopeeringpeeringtransitlong-haul andsubmarine cables

From your device to the rest of the Internet

Text description of the diagram

The diagram shows the path from the edge of the Internet to its core, from top to bottom.

  1. A home network, with laptops and phones on Wi-Fi and a router that does network address translation (NAT), connects over the last mile of an access network. A phone on 4G or 5G connects to the same kind of access network by radio.
  2. The access network (fibre, DSL, cable, radio or satellite) leads to the access ISP, which is one autonomous system. Inside it are a carrier-grade NAT, core routers and often a CDN cache that holds popular content.
  3. The access ISP peers at an Internet exchange point, one shared switch where many networks meet, and through it with other ISPs and content networks.
  4. For everything else, the access ISP uses a transit provider, which reaches every other network, including servers on other continents over long-haul and submarine cables.

A network of networks

Each network in the core is an autonomous system (AS): in the words of RFC 1930, a connected group of IP prefixes run by one or more operators with a single, clearly defined routing policy. Each AS has a number (ASN). Five regional Internet registries hand out AS numbers and IP addresses, each for its own part of the world (NRO), and their joint delegation report counts more than 120,000 AS numbers handed out (NRO statistics). India also has a national registry, IRINN, which works within the region of the Asia-Pacific registry, APNIC.

Autonomous systems exchange reachability with BGP (RFC 4271): each tells its neighbours “these prefixes can be reached through me”, and each decides by its own policy which of the paths it hears to use and which to pass on. Two kinds of relationship between networks matter most, and RFC 9234 names them:

  • Transit. A provider AS carries a customer AS’s traffic to and from the rest of the Internet, and announces every route it knows to that customer. Small ISPs reach distant networks this way.
  • Peering. Two peers exchange only their own routes and their customers’ routes, so traffic between their users takes a direct path instead of going through a transit provider.

An Internet exchange point is a physical place where many networks connect to one shared switching infrastructure and peer with each other (Internet Society). Instead of a separate cable to each peer, an ISP connects once to the IXP’s switch; many IXPs also run a route server, so one BGP session can bring routes from many peers (RFC 7947). The Internet Society notes that keeping local traffic on local links instead of expensive international ones can save an ISP 20 % or more in some countries.

Content networks and CDNs go one step further: they place caches inside access ISPs or next to them, at exchange points, so the most popular files never cross the core at all.

Reading a real path with traceroute

traceroute sends probes with a time to live (TTL) of 1, then 2, then 3 and so on. Each router lowers the TTL by one, and the router that lowers it to zero drops the probe and answers with an ICMP “time exceeded” message (RFC 792), so each TTL reveals one more router of the path. Here are two traces from the same home fibre connection in India, recorded on a Mac with its built-in traceroute and ICMP probes. The public addresses of the access ISP are masked as x.x.x.x:

Two traceroutes from one home connection (recorded) Text · traceroutes.txt
$ traceroute -P icmp -n -q 1 -w 1 -m 16 www.python.org
traceroute to dualstack.python.map.fastly.net (167.82.24.223), 16 hops max, 48 byte packets
 1  192.168.1.254  4.641 ms
 2  100.72.160.1  17.722 ms
 3  x.x.x.x  6.754 ms
 4  172.25.185.130  9.752 ms
 5  172.28.177.73  11.912 ms
 6  x.x.x.x  8.562 ms
 7  167.82.24.223  11.063 ms
$ traceroute -P icmp -n -q 1 -w 1 -m 30 www.gnu.org
traceroute to www.gnu.org (209.51.188.116), 30 hops max, 48 byte packets
 1  192.168.1.254  6.324 ms
 2  100.72.160.1  17.515 ms
 3  *
 4  x.x.x.x  10.327 ms
 5  x.x.x.x  140.045 ms
 6  62.115.187.84  135.805 ms
 7  62.115.126.36  169.878 ms
 8  62.115.139.246  227.376 ms
 9  62.115.138.59  236.261 ms
10  62.115.142.70  224.330 ms
11  62.115.51.213  225.116 ms
12  198.160.62.8  228.091 ms
13  198.160.62.205  227.073 ms
14  206.53.143.61  232.000 ms
15  209.51.188.116  243.499 ms

The program below labels each hop by the kind of address that answered:

What kind of address answered at each hop? Python · address_kinds.py
"""Labels every hop of two recorded traceroutes by the kind of address that answered.

Private ranges (RFC 1918) and the shared address space for carrier-grade NAT (RFC 6598) are never routed on the
public Internet, so a hop that answers from one of them is inside your home network or your ISP. Public addresses
of the access ISP were masked as x.x.x.x in the recording.
"""
import ipaddress
import sys

PRIVATE = [ipaddress.ip_network(n) for n in ("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16")]
SHARED = ipaddress.ip_network("100.64.0.0/10")


def kind(address):
    if address == "*":
        return "no answer"
    if address == "x.x.x.x":
        return "public, masked"
    ip = ipaddress.ip_address(address)
    if any(ip in net for net in PRIVATE):
        return "private (RFC 1918)"
    if ip in SHARED:
        return "shared, for carrier-grade NAT (RFC 6598)"
    return "public"


for line in sys.stdin:
    fields = line.split()
    if line.startswith("traceroute to"):
        print(line.split(",")[0])
    elif fields and fields[0].isdigit():
        hop, address = fields[0], fields[1]
        rtt = f"{float(fields[2]):6.1f} ms" if len(fields) > 2 else f"{'-':>9}"
        print(f"  hop {hop:>2}  {rtt}  {address:15}  {kind(address)}")

cgn = ipaddress.ip_address("100.72.160.1")
print(f"\nPython's view of {cgn}: is_private={cgn.is_private}, is_global={cgn.is_global}")

Input (standard input)

$ traceroute -P icmp -n -q 1 -w 1 -m 16 www.python.org
traceroute to dualstack.python.map.fastly.net (167.82.24.223), 16 hops max, 48 byte packets
 1  192.168.1.254  4.641 ms
 2  100.72.160.1  17.722 ms
 3  x.x.x.x  6.754 ms
 4  172.25.185.130  9.752 ms
 5  172.28.177.73  11.912 ms
 6  x.x.x.x  8.562 ms
 7  167.82.24.223  11.063 ms
$ traceroute -P icmp -n -q 1 -w 1 -m 30 www.gnu.org
traceroute to www.gnu.org (209.51.188.116), 30 hops max, 48 byte packets
 1  192.168.1.254  6.324 ms
 2  100.72.160.1  17.515 ms
 3  *
 4  x.x.x.x  10.327 ms
 5  x.x.x.x  140.045 ms
 6  62.115.187.84  135.805 ms
 7  62.115.126.36  169.878 ms
 8  62.115.139.246  227.376 ms
 9  62.115.138.59  236.261 ms
10  62.115.142.70  224.330 ms
11  62.115.51.213  225.116 ms
12  198.160.62.8  228.091 ms
13  198.160.62.205  227.073 ms
14  206.53.143.61  232.000 ms
15  209.51.188.116  243.499 ms

Output

traceroute to dualstack.python.map.fastly.net (167.82.24.223)
  hop  1     4.6 ms  192.168.1.254    private (RFC 1918)
  hop  2    17.7 ms  100.72.160.1     shared, for carrier-grade NAT (RFC 6598)
  hop  3     6.8 ms  x.x.x.x          public, masked
  hop  4     9.8 ms  172.25.185.130   private (RFC 1918)
  hop  5    11.9 ms  172.28.177.73    private (RFC 1918)
  hop  6     8.6 ms  x.x.x.x          public, masked
  hop  7    11.1 ms  167.82.24.223    public
traceroute to www.gnu.org (209.51.188.116)
  hop  1     6.3 ms  192.168.1.254    private (RFC 1918)
  hop  2    17.5 ms  100.72.160.1     shared, for carrier-grade NAT (RFC 6598)
  hop  3          -  *                no answer
  hop  4    10.3 ms  x.x.x.x          public, masked
  hop  5   140.0 ms  x.x.x.x          public, masked
  hop  6   135.8 ms  62.115.187.84    public
  hop  7   169.9 ms  62.115.126.36    public
  hop  8   227.4 ms  62.115.139.246   public
  hop  9   236.3 ms  62.115.138.59    public
  hop 10   224.3 ms  62.115.142.70    public
  hop 11   225.1 ms  62.115.51.213    public
  hop 12   228.1 ms  198.160.62.8     public
  hop 13   227.1 ms  198.160.62.205   public
  hop 14   232.0 ms  206.53.143.61    public
  hop 15   243.5 ms  209.51.188.116   public

Python's view of 100.72.160.1: is_private=False, is_global=False

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 address_kinds.py

Read the first hops of both traces together:

  • Hop 1 is the home router, at a private address (RFC 1918).
  • Hop 2 answers from 100.72.160.1, inside 100.64.0.0/10, the shared address space set aside for ISPs’ carrier-grade NAT (RFC 6598). So this connection is translated twice: once by the home router and once inside the ISP. Python’s ipaddress module counts this range as neither private nor global, as the last line shows, so a script that sorts addresses with is_private alone will misjudge it.
  • Hops 4 and 5 of the first trace answer from private addresses again: the ISP numbers some of its own core routers from private space, which cannot be reached from outside.

Then the two traces part. The trace to www.python.org ends at hop 7 after about 11 ms: the answer came from a CDN cache about as close as the ISP’s own routers, exactly where content networks like to be. The trace to www.gnu.org needs 15 hops, and at hop 5 the round trip jumps from about 10 ms to about 140 ms and never comes back down. Light in fibre covers about 200 km per millisecond, so 130 ms of round trip is what roughly 13,000 km of fibre each way would take. A jump of that size that stays in every later hop is a long-distance link: hop 5 is where the path leaves the region over long-haul cable, before it crosses a transit network to a server on another continent at about 243 ms.

Two warnings for reading traces. A router that answers slowly may only be slow to create ICMP messages, as hop 2 shows (17 ms, while hop 3 answers in 7 ms), so only a delay that persists in all later hops lies on the path. And a * means only that the router did not answer, not that it dropped your traffic.

IP Address Lookup Look up the network and approximate location of any public hop of your own traceroute.

Access networks compared

How you connect to your ISP decides your upload and download capacity, whether you share it with neighbours, and part of your latency:

  • Fibre to the home (FTTH). A passive optical network (PON) splits one fibre among many homes, up to 64 on a typical GPON, which shares 2.4 Gbit/s down and 1.2 Gbit/s up among them; XGS-PON carries 10 Gbit/s both ways. Light in fibre and a few devices add very little delay of their own.
  • DSL. Data travels over the telephone copper pair, which is yours alone, although capacity is shared behind it; VDSL2 reaches up to 200 Mbit/s over short copper. Interleaving against line noise adds delay when it is switched on; without it, VDSL2 adds at most 2 ms one way.
  • Cable (DOCSIS). Coaxial cable, fed by fibre, is shared by every modem on the same segment; DOCSIS 3.1 offers up to 10 Gbit/s down and 1 Gbit/s up, and DOCSIS 4.0 up to 6 Gbit/s up. Queues form when the segment is busy, and Low Latency DOCSIS aims for under 5 ms of round trip at the 99th percentile for traffic that builds no queue.
  • 4G and 5G mobile. Everyone in a cell shares its radio capacity. The 5G requirements (IMT-2020) set a peak of 20 Gbit/s down and 10 Gbit/s up for one user in ideal conditions, and as little as 4 ms one way for the radio part; queues and distance add more in a real network.
  • Fixed wireless access (FWA). A receiver fixed at the home, usually on 4G or 5G, shares a cell just as phones do. Its speed depends on the radio and on the distance to the tower.
  • Satellite. The link goes up to a satellite and down to a ground station, and each satellite’s beam is shared by its users. Distance sets a hard floor: at least 477 ms of round trip through a geostationary satellite.

The capacities come from the standards: GPON’s usual rates and its split of up to 64 (ITU-T G.984.1), XGS-PON’s symmetric 10 gigabits (ITU-T G.9807.1), VDSL2’s 200 Mbit/s and its delay limits, with service from an exchange or from a fibre-fed cabinet near the homes (ITU-T G.993.2), DOCSIS from CableLabs (3.1, 4.0, Low Latency DOCSIS) and the IMT-2020 minimum requirements, which describe ideal conditions for a single user (ITU-R M.2410). Your plan and the number of neighbours online at the same time decide what you actually get.

Satellites show most clearly that distance sets a floor. A geostationary satellite orbits 42,164 km from the Earth’s centre, about 36,000 km above the surface (NASA), and a low Earth orbit is a few hundred kilometres up:

The shortest possible round trip through a satellite Python · satellite_floor.py
"""The shortest possible round trip through a satellite, against the same over fibre on the ground.

A request goes up to the satellite and down to a ground station, and the answer comes back the same way, so
light covers the satellite's altitude four times even when everything sits directly below it. Real paths are
longer: the satellite is rarely overhead, and the ground station still has to reach the server.
"""
import math

C_KM_PER_S = 299_792.458  # speed of light in a vacuum
FIBRE_KM_PER_S = C_KM_PER_S * 2 / 3  # light in optical fibre travels at about two thirds of that
EARTH_RADIUS_KM = 6_378  # at the equator
GEOSTATIONARY_KM = 42_164 - EARTH_RADIUS_KM  # orbit radius minus the Earth's radius: about 35,786 km up


def satellite_rtt_ms(altitude_km):
    return 4 * altitude_km / C_KM_PER_S * 1000


def fibre_rtt_ms(distance_km):
    return 2 * distance_km / FIBRE_KM_PER_S * 1000


geo = satellite_rtt_ms(GEOSTATIONARY_KM)
print(f"Geostationary satellite, {GEOSTATIONARY_KM:,} km up:  at least {geo:6.1f} ms")
print(f"Low Earth orbit satellite, 550 km up:      at least {satellite_rtt_ms(550):6.1f} ms")
print(f"Fibre to a server 1,500 km away:           at least {fibre_rtt_ms(1_500):6.1f} ms")
fibre_km = geo / 1000 * FIBRE_KM_PER_S / 2
print(f"The geostationary floor equals a fibre path of {fibre_km:,.0f} km each way,")
print(f"longer than the equator ({2 * math.pi * EARTH_RADIUS_KM:,.0f} km).")

Output

Geostationary satellite, 35,786 km up:  at least  477.5 ms
Low Earth orbit satellite, 550 km up:      at least    7.3 ms
Fibre to a server 1,500 km away:           at least   15.0 ms
The geostationary floor equals a fibre path of 47,715 km each way,
longer than the equator (40,074 km).

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 satellite_floor.py

A geostationary link can never be as interactive as a link on the ground, whatever its capacity, while a low Earth orbit satellite can come close to fibre, as long as its ground station is near the servers you use.

India's broadband mix

India’s telecom regulator, TRAI, publishes the number of broadband connections every month. In the report used here (TRAI press release), the country had 1,101.21 million broadband connections, counted in three segments:

Shares of India's broadband connections, from TRAI's data Python · trai_shares.py
"""India's broadband connections by kind of access, from one month of TRAI's subscription data.

Millions of connections at the end of the month the report covers, and at the end of the month before.
Fixed wired: DSL, FTTx, Ethernet/LAN, cable modem and leased lines. Fixed wireless: 5G FWA, Wi-Fi, WiMAX, radio and
satellite. Mobile: 3G, 4G and 5G handsets and dongles, and machine-to-machine (M2M) SIMs, as in the report's total.
"""
SEGMENTS = {  # segment: (month before, month of the report)
    "Fixed wired": (48.14, 48.63),
    "Fixed wireless": (18.84, 19.34),
    "Mobile wireless": (1027.50, 1033.24),
}
before = sum(b for b, _ in SEGMENTS.values())
total = sum(now for _, now in SEGMENTS.values())

print(f"{'segment':18} {'millions':>9} {'share':>6} {'growth in a month':>18}")
for name, (b, now) in SEGMENTS.items():
    print(f"{name:18} {now:9,.2f} {now / total:6.1%} {now / b - 1:18.1%}")
print(f"{'All broadband':18} {total:9,.2f} {1:6.1%} {total / before - 1:18.1%}")

fixed = SEGMENTS["Fixed wired"][1] + SEGMENTS["Fixed wireless"][1]
print(f"\nFixed connections of any kind: {fixed:.2f} million, {fixed / total:.1%} of all broadband.")

Output

segment             millions  share  growth in a month
Fixed wired            48.63   4.4%               1.0%
Fixed wireless         19.34   1.8%               2.7%
Mobile wireless     1,033.24  93.8%               0.6%
All broadband       1,101.21 100.0%               0.6%

Fixed connections of any kind: 67.97 million, 6.2% of all broadband.

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 trai_shares.py

About 94 of every 100 broadband connections are mobile, and fixed connections of any kind are about 6 %. The mobile figure includes machine-to-machine SIMs: without them, TRAI counts 1,010.28 million broadband connections. Fixed wireless, which includes 5G FWA, grew fastest that month. IP addresses and AS numbers for networks in India come from IRINN, India’s national Internet registry, which the National Internet Exchange of India (NIXI) operates (IRINN).

Internet Speed Test Measure your own connection's download, upload and latency, at rest and when it is busy.

Interview questions

Fresher · What is the difference between transit and peering between two networks?

With transit, a provider network carries a customer network’s traffic to and from the whole Internet and announces all the routes it knows to that customer; small ISPs reach distant networks this way. With peering, two networks exchange only their own and their customers’ routes, so traffic between their users goes directly from one to the other, often across an Internet exchange point. Peering keeps local traffic local and reduces what an ISP sends over transit, but it does not give either side a path to the rest of the Internet. Both relationships are set up as BGP sessions between autonomous systems, and RFC 9234 names the roles Provider, Customer and Peer.

Key takeaways

  • The Internet is a network of autonomous systems, each with its own routing policy, that exchange reachability with BGP.
  • Networks connect by transit (a provider reaches everyone for its customer) or by peering (two networks exchange their own traffic), often across the shared switch of an Internet exchange point.
  • Traceroute reveals the structure: a private home router, often a carrier-grade NAT hop in 100.64.0.0/10, the ISP’s core, and either a nearby cache or a jump in delay where the path leaves the region.
  • Access technologies differ in shared capacity, upload against download, and base latency; satellites in geostationary orbit can never go below about 477 ms per round trip.
  • Read connection statistics by what each segment counts: in TRAI’s data, the mobile figure includes machine-to-machine SIMs, which move the total by about 91 million connections.

Exercise

Exercise · Medium · Python

Give every hop of a traceroute its place in the Internet

A traceroute lists the routers on a path, one address per hop. Write roles(hops, asn_of, isp_asn, ixp_prefixes) in hops.py, which returns the role of every hop, in order:

  • hops is the list of addresses, hop 1 first, with None for a hop that did not answer;
  • asn_of maps each public address to the number of the autonomous system (AS) that announces it;
  • isp_asn is the AS number of your access ISP;
  • ixp_prefixes lists the address blocks of exchange points' peering networks, such as "198.51.100.0/24".

Give each hop the first role that fits:

  1. "unknown" when the hop did not answer;
  2. "exchange" when its address is inside one of ixp_prefixes;
  3. "destination" when it is the last hop;
  4. "home" when it is hop 1 and its address is private (10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16);
  5. "isp access" when its address is in the shared address space of carrier-grade NAT, 100.64.0.0/10;
  6. "isp core" when its address is private, or public and announced by isp_asn;
  7. "transit" for any other public address.

The sample tests use addresses and AS numbers that are reserved for documentation, so they match no real network.

Starter code · hops.py

import ipaddress

PRIVATE = [ipaddress.ip_network(n) for n in ("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16")]
SHARED = ipaddress.ip_network("100.64.0.0/10")


def roles(hops, asn_of, isp_asn, ixp_prefixes):
    """The role of each hop: "unknown", "exchange", "destination", "home", "isp access", "isp core" or "transit"."""
    # Replace this line with your code.
    return ["unknown" for _ in hops]
The sample tests · test_hops.py
from hops import roles

TRACE = ["192.168.1.1", "100.64.12.1", "10.20.0.1", "203.0.113.5", None, "198.51.100.7", "192.0.2.33", "192.0.2.65", "192.0.2.129"]
ASN_OF = {"203.0.113.5": 64500, "192.0.2.33": 64510, "192.0.2.65": 64510, "192.0.2.129": 64511}
IXP = ["198.51.100.0/24"]


def test_home_and_access():
    """finds the home router and the carrier-grade NAT"""
    assert roles(TRACE, ASN_OF, 64500, IXP)[:2] == ["home", "isp access"]


def test_isp_core():
    """puts private and own-AS addresses in the ISP's core"""
    assert roles(TRACE, ASN_OF, 64500, IXP)[2:4] == ["isp core", "isp core"]


def test_silent_hop_and_exchange():
    """marks a silent hop and an exchange point"""
    assert roles(TRACE, ASN_OF, 64500, IXP)[4:6] == ["unknown", "exchange"]


def test_transit_and_destination():
    """separates other networks from the destination"""
    assert roles(TRACE, ASN_OF, 64500, IXP)[6:] == ["transit", "transit", "destination"]


def test_unfinished_trace():
    """leaves the last hop unknown when it did not answer"""
    assert roles(["192.168.1.1", "203.0.113.5", None], {"203.0.113.5": 64500}, 64500, IXP) == ["home", "isp core", "unknown"]
A hint

ipaddress.ip_address(text) in ipaddress.ip_network("100.64.0.0/10") tells you whether an address is inside a block. Loop with for i, address in enumerate(hops):, so that i == 0 is hop 1 and i == len(hops) - 1 is the last hop, and check the rules in the order given: the first one that matches wins.

The sample tests run on this device, in your browser (Pyodide): nothing is sent to mysmartcopilot.com. The first run downloads Python (about 13.5 MB), which is kept for the next runs. A check in your browser is feedback for you, not proof that the code is right for every input.

Check yourself

5 questions about this lesson. Every answer and why it is right is on the page, behind “Show the answer”. Your score stays in this browser.

  1. Question 1 of 5 Hop 2 of a traceroute from a home answers from 100.72.160.1. What does that address tell you?

    Choose one answer.

    Show the answer to question 1

    Answer: It is in the shared address space for carrier-grade NAT, so your ISP translates addresses a second time

    100.64.0.0/10 is reserved as shared address space for service providers' carrier-grade NAT (RFC 6598). It is not routed on the public Internet, so the router that answers from it sits inside your ISP, between your home router and the ISP's public addresses.

  2. Question 2 of 5 Two ISPs in the same city connect at an exchange point and send each other only the traffic of their own customers. What is this relationship called?

    Choose one answer.

    Show the answer to question 2

    Answer: Peering

    Peers exchange their own and their customers' routes with each other; a transit provider instead carries a customer's traffic to and from every other network. RFC 9234 names these roles Peer, Provider and Customer.

  3. Question 3 of 5 A geostationary satellite orbits about 35,786 km above the equator. Light travels at about 300,000 km/s. What is the shortest possible round trip through it, from a user to a ground station and back, in milliseconds?

    Type a number.

    Show the answer to question 3

    Answer: 477 ms (anything from 472 to 482 counts)

    The request goes up and down once and the answer goes up and down once: four times 35,786 km is 143,144 km, and at 299,792 km/s that takes about 477.5 ms, before any processing or ground network.

  4. Question 4 of 5 In the lesson, the trace to www.python.org ended at hop 7 after about 11 ms, while the trace to www.gnu.org needed 15 hops and about 243 ms. What explains the difference best?

    Choose one answer.

    Show the answer to question 4

    Answer: The first answer came from a CDN cache close to the access ISP; the second server sits on another continent

    The jump from about 10 ms to 140 ms at hop 5 of the second trace is the path leaving the region over long-haul cable. Popular content is copied to caches inside or next to access ISPs, which is why the first trace is short.

  5. Question 5 of 5 Which access technologies share the capacity of one medium among many homes or users?

    Choose every answer that is right.

    Show the answer to question 5

    Answer:

    • Fibre to the home over a passive optical network (PON)
    • 4G and 5G mobile in one cell
    • Cable broadband over DOCSIS

    A PON splits one fibre among many homes (up to 64 in the GPON recommendation), a cable segment is shared by every modem on it, and the users of a cell share its radio capacity. A DSL line is not shared on the copper itself; the shared part starts behind it.

References

Related tools

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.