Design of the
Internet
EECS 3214 – Unit 1
2022 FALL
EECS 3214 A Fall © 2022 Jonatan Schroeder
An Analogy: Mail Delivery
What makes up a postal address?
• What needs to be listed in the envelope?
Jonatan Schroeder
1012M Lassonde Building
York University
4700 Keele Street Postal
MailboxM3J 1P3 Toronto, ON Destination
Canada System
EECS 3214 A Fall © 2022 Jonatan Schroeder
3
Another Analogy: Phone Numbers
What makes up a phone number?
+1-905-822-
1234 Phone
Caller Callee
System
EECS 3214 A Fall © 2022 Jonatan Schroeder
4
How does this Translate to the Internet?
What makes up an IP?
198.210.62.3
“The
172.16.2.37 198.210.62.3
Internet”
EECS 3214 A Fall © 2022 Jonatan Schroeder
5
Internet Goals
Main goal: integrating several separately administrated entities into a
common entity
Secondary goals:
• Must continue despite loss of the network or gateway
• Must support multiple types of services (applications)
• Must support multiple types of networks
• Distributed management of resources
• Cost effective (scalable)
• Easy host attachment
• Resources must be accountable
EECS 3214 A Fall © 2022 Jonatan Schroeder
6
How is Data Sent?
Circuit switching
• Dedicated route between source and destination
• Single stream of bytes per route
• TDM/FDM/CDM multiplexing (or similar)
Packet switching
• Data is divided in packets that are sent individually
• Medium is occupied only during the transmission of the packet
• Statistical multiplexing
EECS 3214 A Fall © 2022 Jonatan Schroeder
7
Circuit
Switching
By The U.S. National
Archives - Photograph of
Women Working at a Bell
System Telephone
Switchboard This media is
available in the holdings of
the National Archives and
Records Administration,
cataloged under the ARC
Identifier (National Archives
Identifier)
8 EECS 3214 A Fall © 2022 Jonatan Schroeder
Packet Switching
Packet: unit of data moved through the Internet
Each packet is self-contained
• Contains source and destination address
• Independently routed from source to destination
How can failure be handled?
• “Best effort” approach
EECS 3214 A Fall © 2022 Jonatan Schroeder
9
The Connection Medium is Shared
https://www.sciencedirect.com/topics/computer-science/statistical-
10 multiplexing
EECS 3214 A Fall © 2022 Jonatan Schroeder
Multiplexing
Data flows need to be “multiplexed”
• Multiple input streams must share the medium
• It must be possible to “demultiplex” at the destination
Multiple methods
• Time division multiplexing (time quotas)
• Frequency division multiplexing (different frequencies)
• Code division multiplexing (different representations of data)
• Orthogonal multiplexing (combination of techniques)
Problems:
• Not efficient for dynamic flows
• Complex interaction of new data sources
EECS 3214 A Fall © 2022 Jonatan Schroeder
11
Statistical Multiplexing
https://www.sciencedirect.com/topics/computer-science/statistical-
12 multiplexing
EECS 3214 A Fall © 2022 Jonatan Schroeder
IP Address
Every machine reachable on the Internet has at least one IP address
• Technically, each interface has at least one
Internally, each IP address is a sequence of 32 bits (IPv4)
For easier human recognition, represented as 4 8-bit unsigned
integers: a.b.c.d
• Each of a, b, c, d is a number 0-255
Some addresses are reserved (more on that later)
EECS 3214 A Fall © 2022 Jonatan Schroeder
14
Packet Switching and Routers
To get a packet to its recipient, each machine sends it to the router
that is believed to be closest to the destination
• Similar to a road intersection
Router looks up destination IP address in a forwarding table to
determine next hop
There may be several possible paths to take
What information needs to be sent for a successful transmission?
EECS 3214 A Fall © 2022 Jonatan Schroeder
15
Protocols
From textbook: A protocol defines:
• Roles of communicating entities
• Format of messages
• Order of messages
• Actions taken on the transmission, receipt of a message, or other event
A fully-defined protocol must provide a proper action for any event in
any state
EECS 3214 A Fall © 2022 Jonatan Schroeder
16
Request-Response Protocols
Many protocols on the Internet are request-response protocols
• Requestor (usually client) sends a request
• Receiver (usually server) sends a response
• Well-defined rules for whose turn it is
Some rules can be complicated
• Server is slow to respond
• Size of request or response can vary
Request
Client Server
Response
EECS 3214 A Fall © 2022 Jonatan Schroeder
17
Protocol Stack
HTTP (Web), Email,
File Transfer,
Multimedia, etc.
Application
Transport TCP, UDP
Operating System
Network IP
Link Ethernet
Hardware
Physical 802.11b/g/n
1000BASE-T
EECS 3214 A Fall © 2022 Jonatan Schroeder
18
Sending Data through the Stack
Client Router Server
Application Application
Transport Transport
Network Network Network
Link Link Link Link
Physical medium Physical medium
19 EECS 3214 A Fall © 2022 Jonatan Schroeder
Protocol Stack: Responsibilities
Transport layer:
• Identifies process on machine
Maybe resource within process (e.g., browser tab)
• Ensures data arrives in order (if required)
• Recovers lost data (if required)
Network layer:
• Routes packet through routers to destination machine
Link layer:
• Routes frames to adjacent machines (“direct” connection)
Physical layer:
• Encodes data appropriately for the physical medium
EECS 3214 A Fall © 2022 Jonatan Schroeder
20
Summary so far
How is data sent?
• Data is chopped into packets
• Each packet has its destination address and is self-contained
Protocol stack
• Each layer is responsible for a function
• A protocol layer, in an abstract way, “talks” to other layers in the same level
• Each layer requests services from the layer below it
IP address organization
EECS 3214 A Fall © 2022 Jonatan Schroeder
21
Traceroute
Traceroute (or tracert) is a tool used to determine a path taken to a
destination
• Sends a packet it hopes no one will use
• Interested in the errors, not the packet itself
Returning errors can tell:
• Which router returned it
• How long it took to return it
Doesn’t always work: relies on routers that may decide not to send
answers
May find multiple routes to same host
EECS 3214 A Fall © 2022 Jonatan Schroeder
22
Reverse Routes
Usually we will assume returning route is the same unless told
otherwise
IP addresses of the routers may be different on the two paths
• Recall IP addresses are associated to interfaces
• Routers have several interfaces, so several IPs
EECS 3214 A Fall © 2022 Jonatan Schroeder
23