Professional Documents
Culture Documents
Networking Background
Spring 2024
Mobin Javed
192.168.1.14
3. Find the address of google.com
192.168.1.14
3. Find the address of google.com
gateway
192.168.1.14
3. Find the address of google.com
gateway
192.168.1.14
resolver
router The Rest of
the Internet
172.217.6.78
3. Find the address of google.com
google.com?
gateway
192.168.1.14
resolver
router The Rest of
the Internet
172.217.6.78
3. Find the address of google.com
gateway
192.168.1.14
The Rest of
google.com?
router
resolver
with google.com.)
3. Find the address of google.com
gateway
192.168.1.14
resolver
router The Rest of
the Internet
google.com’s
address is
172.217.6.78
172.217.6.78
4. Connect to google.com server
gateway
192.168.1.14
resolver
router The Rest of
the Internet
172.217.6.78
4. Connect to google.com server
The R
gateway
192.168.1.14
router
the In
resolver
TCP SYN
The R
gateway
192.168.1.14
router
the In
resolver
The R
gateway
192.168.1.14
router
the In
resolver
TCP ACK
The R
gateway
192.168.1.14
router
the In
resolver
The R
gateway
192.168.1.14
router
the In
resolver
be (reliably) exchanged.
I want a confidential
connection with integrity
& authentication
The R
gateway
192.168.1.14
router
the In
resolver
5. Establish a
secure connection 172.217.6.78
using TLS (https)
The R
gateway
192.168.1.14
the In
Here’s a certificate that
vouches for my public
router
resolver
key, google.com
5. Establish a
secure connection 172.217.6.78
using TLS (https)
Well if you really possess the
corresponding private key, prove it
by decrypting this blob which we’ll
use to establish shared secret
keys
The R
gateway
192.168.1.14
router
the In
resolver
5. Establish a
secure connection 172.217.6.78
using TLS (https)
The R
gateway
192.168.1.14
5. Establish a
secure connection 172.217.6.78
using TLS (https)
GET /search?query=
great+Spring+Break+beaches …
The R
gateway
192.168.1.14
router
the In
resolver
}
layer relies on / provides System Calls
Device Drivers Fully
isolated
Voltage Levels / from user
Magnetic Domains programs
Internet Layering (“Protocol Stack”)
1 Physical
Horizontal View of a Single Packet
(Inter)Network Transport
Link Layer Application Data: structure
Layer Header Layer
Header depends on the application …
(IP) Header
Vertical View of a Single Packet
Link Layer Header
First bit transmitted
(Inter)Network Layer
Header (IP)
Application Data:
structure depends on the
application
.
.
.
.
.
.
.
Internet Layering (“Protocol Stack”)
7 Application
4 Transport
3 (Inter)Network
2 Link
1 Physical
Layer 1: Physical Layer
7 Application
4 Transport Encoding bits to send them
3 (Inter)Network over a single physical link
e.g. patterns of
2 Link
voltage levels /
1 Physical photon intensities /
RF modulation
Layer 2: Link Layer
Framing and transmission of a
collection of bits into individual
messages sent across a single
7 Application “subnetwork” (one physical
4 Transport technology)
3 (Inter)Network Might involve multiple physical
2 Link links (e.g., modern Ethernet)
4 Transport
Works across different link
}
3 (Inter)Network technologies
2 Link
Different for each
Internet “hop”
1 Physical
Layer 4: Transport Layer
End-to-end communication
between processes
1 Physical
Layer 7: Application Layer
Communication of whatever
you wish
7
4
Application
Transport
} Implemented only at hosts,
not at interior routers
(“dumb network”)
3 (Inter)Network
2 Link
1 Physical
Internet Layering (“Protocol Stack”)
7 Application
}
4 Transport
3 (Inter)Network
2 Link Implemented everywhere
1 Physical
Internet Layering (“Protocol Stack”)
7 Application
4 Transport
}
}
3 (Inter)Network ~ Same for each Internet “hop”
2 Link
Different for each
Internet “hop”
1 Physical
Hop-By-Hop vs. End-to-End Layers
Host A communicates with Host D
Host C
Host A Host D
Router 1 Router 2
Router 3
Router 5
Host B
Router 7 Host E
Router 6
Router 4
Hop-By-Hop vs. End-to-End Layers
Host A communicates with Host D
Host C
Host A Host D
E.g., Wi-Fi
Router 5
Host B
Router 7 Host E
Router 6
Router 4
Host A Host D
Router 1 Router 2
Router 3
Router 5
4 Transport
Works across different link
3 (Inter)Network technologies
2 Link
1 Physical
IP Packet Structure
3-bit
16-bit Identification Flags 13-bit Fragment Offset
8-bit Time to
Live (TTL) 8-bit Protocol 16-bit Header Checksum
Payload
IP Packet Structure
3-bit
16-bit Identification Flags 13-bit Fragment Offset
Specifies the length of the entire
8-bit Time to
Live (TTL) 8-bit Protocol IP packet:
16-bit bytes in this header
Header Checksum
plus bytes in the Payload
32-bit Source IP Address
Payload
IP Packet Structure
3-bit
16-bit Identification Flags 13-bit Fragment Offset
Specifies how to interpret the start
8-bit Time to of the Payload, which is the header
8-bit Protocol 16-bit
Live (TTL) of aHeader Checksum
Transport Protocol such as
TCP (6) or UDP (17)
32-bit Source IP Address
Payload
IP Packet Structure
3-bit
16-bit Identification Flags 13-bit Fragment Offset
Specifies how to interpret the start
8-bit Time to of the Payload, which is the header
6 16-bit
Live (TTL) of aHeader Checksum
Transport Protocol such as
TCP (6) or UDP (17)
32-bit Source IP Address
3-bit
16-bit Identification Flags 13-bit Fragment Offset
8-bit Time to
Live (TTL) 8-bit Protocol 16-bit Header Checksum
Payload
IP Packet Header (Continued)
• Two IP addresses
– Source IP address (32 bits in main IP version)
– Destination IP address (32 bits, likewise)
• Destination address
– Unique identifier/locator for the receiving host
– Allows each node to make forwarding decisions
• Source address
– Unique identifier/locator for the sending host
– Recipient can decide whether to accept packet
– Enables recipient to send reply back to source
IP Packet Header (Continued)
• Two IP addresses
– Source IP address (32 bits in main IP version)
– Destination IP address (32 bits, likewise)
• Destination address
– Unique identifier/locator for the receiving host
– Allows each node to make forwarding decisions
• Source address
– Unique identifier/locator for the sending host
– Recipient can decide whether to accept packet
– Enables recipient to send reply back to source
Postal Envelopes:
IP source
address
IP destination
address
source destination
IP network