The Bits Must Flow (net)Working through the abstractions 1 — @CrayZeigh
Slide 2
What happens when you visit a website? 2 — @CrayZeigh
Start with a classic Audience Participation
Slide 3
Why DNS?
3 — @CrayZeigh
Slide 4
167,069GB Internet Traffic Per Second
1
https://interenetlivestats.com/one-second/#traffic-band 4 — @CrayZeigh
1
Slide 5
1,336,544,000,000,000 bits per second
5 — @CrayZeigh
Slide 6
6 — @CrayZeigh
Slide 7
OSI 7-Layer model Application Presentation Session Transport Network Data Link Physical 7 — @CrayZeigh
Slide 8
OSI
TCP/IP
Application
Application
Presentation Session Transport
Transport
Network
Internet
Data Link
Network Access
Physical 8 — @CrayZeigh
Slide 9
Why all these layers anyway?
9 — @CrayZeigh
Slide 10
Network Access: Data Frames help translate digital to physical
10 — @CrayZeigh
Slide 11
MAC Addresses 01:23:45:67:89:ab
11 — @CrayZeigh
but how do you figure out what your destination MAC address is?
Slide 12
MAC Addresses 01:23:45:67:89:ab → Identifies the (network) device
11 — @CrayZeigh
but how do you figure out what your destination MAC address is?
Slide 13
MAC Addresses 01:23:45:67:89:ab → Identifies the (network) device → For same-network devices
11 — @CrayZeigh
but how do you figure out what your destination MAC address is?
Slide 14
ARP
2
2
Address Resolution Protocol 12 — @CrayZeigh
arp -a need a way to separate traffic
Slide 15
ARP
2
→ Mapping IPs and MAC addresses
2
Address Resolution Protocol 12 — @CrayZeigh
arp -a need a way to separate traffic
Slide 16
ARP
2
→ Mapping IPs and MAC addresses → Broadcasts to find neighbors
2
Address Resolution Protocol 12 — @CrayZeigh
arp -a need a way to separate traffic
VLANs → Limiting Broadcast Domains → IEEE 802.1q → up to 4096 VLANs
3
3
VXLAN addresses this but that’s A Whole Other Thing 13 — @CrayZeigh
Broadcast & Switchs v Hubs
Slide 21
VLANs → Limiting Broadcast Domains → IEEE 802.1q → up to 4096 VLANs
3
→ Native or Tagged
3
VXLAN addresses this but that’s A Whole Other Thing 13 — @CrayZeigh
Broadcast & Switchs v Hubs
Slide 22
14 — @CrayZeigh
AWS Connections as Layer 2 Segregating networks building mulitple kinds of VM traffic
Slide 23
IP Packets wrap your digital data and know where to send it
15 — @CrayZeigh
Slide 24
Classes & CIDR
16 — @CrayZeigh
Probably never really dealt with Classed IP addresses though there is some holdover in the reserved private IP space, 10.x, 172.16.x - 172.31.x, 192.168.x ^ Previously given classed space you could have C (256), next up B (65k) and A (16.8m)
Slide 25
Classes & CIDR → Classess Inter Domain Routing
16 — @CrayZeigh
Probably never really dealt with Classed IP addresses though there is some holdover in the reserved private IP space, 10.x, 172.16.x - 172.31.x, 192.168.x ^ Previously given classed space you could have C (256), next up B (65k) and A (16.8m)
Slide 26
Classes & CIDR → Classess Inter Domain Routing → Replaced previous “class a/b/c” IP addressing to help address IP address availability
16 — @CrayZeigh
Probably never really dealt with Classed IP addresses though there is some holdover in the reserved private IP space, 10.x, 172.16.x - 172.31.x, 192.168.x ^ Previously given classed space you could have C (256), next up B (65k) and A (16.8m)
Slide 27
Classes & CIDR → Classess Inter Domain Routing → Replaced previous “class a/b/c” IP addressing to help address IP address availability → Helps determine destination locality i.e. routing
16 — @CrayZeigh
Probably never really dealt with Classed IP addresses though there is some holdover in the reserved private IP space, 10.x, 172.16.x - 172.31.x, 192.168.x ^ Previously given classed space you could have C (256), next up B (65k) and A (16.8m)
Slide 28
CIDR Notation 17 — @CrayZeigh
Slide 29
10.10.10.10/24 18 — @CrayZeigh
Slide 30
IP Address/Network Bits
19 — @CrayZeigh
Slide 31
IP: 10.10.10.10
SM: 255.255.255.0 20 — @CrayZeigh
Slide 32
Converts to Binary: IP: 00001010.00001010.00001010.00001010 SM: 11111111.11111111.11111111.00000000
in Subnet Mask: 1s = Network Space 0s = Host Space
21 — @CrayZeigh
Slide 33
Special IPs
22 — @CrayZeigh
Not aobut private, multicast or research IPs that’s a different thing Think of “network” as “any for routing purposes this cannot be used in any other way
Slide 34
Special IPs → Broadcast (10.10.10.255)
22 — @CrayZeigh
Not aobut private, multicast or research IPs that’s a different thing Think of “network” as “any for routing purposes this cannot be used in any other way
Slide 35
Special IPs → Broadcast (10.10.10.255) → Host bits all 1
22 — @CrayZeigh
Not aobut private, multicast or research IPs that’s a different thing Think of “network” as “any for routing purposes this cannot be used in any other way
Slide 36
Special IPs → Broadcast (10.10.10.255) → Host bits all 1 → Network (10.10.10.0)
22 — @CrayZeigh
Not aobut private, multicast or research IPs that’s a different thing Think of “network” as “any for routing purposes this cannot be used in any other way
Slide 37
Special IPs → Broadcast (10.10.10.255) → Host bits all 1 → Network (10.10.10.0) → Host bits all 0
22 — @CrayZeigh
Not aobut private, multicast or research IPs that’s a different thing Think of “network” as “any for routing purposes this cannot be used in any other way
Slide 38
All together CIDR Notated IP Address of a 10.10.10.10/24 Host Network
10.10.10.0/24
Broadcast IP
10.10.10.255
Available Host IPs
10.10.10.1 - 254 23 — @CrayZeigh
Weird Ones Explained → /30 → Costs 4 IPs, but only grants 2 hosts
26 — @CrayZeigh
Slide 44
Weird Ones Explained → /30 → Costs 4 IPs, but only grants 2 hosts → Broadcast & Network still apply
26 — @CrayZeigh
Slide 45
Weird Ones Explained → /30 → Costs 4 IPs, but only grants 2 hosts → Broadcast & Network still apply → Might use today for compatibility reason or because you like IP addresses
26 — @CrayZeigh
Routing Source: 10.10.10.10/24 Destination: 10.10.10.100 1. Checks network space to see address is local
29 — @CrayZeigh
Slide 56
Routing Source: 10.10.10.10/24 Destination: 10.10.10.100 1. Checks network space to see address is local 2. Sends local ARP broadcast to find MAC of destination
29 — @CrayZeigh
Slide 57
Routing Source: 10.10.10.10/24 Destination: 10.10.10.100 1. Checks network space to see address is local 2. Sends local ARP broadcast to find MAC of destination 3. wraps packet in frame with newly discovered MAC
29 — @CrayZeigh
Slide 58
Routing Source: 10.10.10.10/24 Destination: 10.10.10.100 1. Checks network space to see address is local 2. Sends local ARP broadcast to find MAC of destination 3. wraps packet in frame with newly discovered MAC 4. sends data frame through switch to destination “directly” 29 — @CrayZeigh
Routing Source: 10.10.10.10/24 Destination: 1.1.1.1 1. Checks network space and see’s address is remote
30 — @CrayZeigh
Slide 61
Routing Source: 10.10.10.10/24 Destination: 1.1.1.1 1. Checks network space and see’s address is remote 2. Forwards packet to the local router (usually default gateway) through switch
30 — @CrayZeigh
Slide 62
Routing Source: 10.10.10.10/24 Destination: 1.1.1.1 1. Checks network space and see’s address is remote 2. Forwards packet to the local router (usually default gateway) through switch 3. Wraps packet in frame with router’s mac address and desired destination’s IP
30 — @CrayZeigh
Slide 63
Routing Source: 10.10.10.10/24 Destination: 1.1.1.1 1. Checks network space and see’s address is remote 2. Forwards packet to the local router (usually default gateway) through switch 3. Wraps packet in frame with router’s mac address and desired destination’s IP 4. Switch forwards frame to the router, router re-wraps the paket with a frame pointing to the next router in line
30 — @CrayZeigh
Slide 64
Routing Source: 10.10.10.10/24 Destination: 1.1.1.1 1. Checks network space and see’s address is remote 2. Forwards packet to the local router (usually default gateway) through switch 3. Wraps packet in frame with router’s mac address and desired destination’s IP 4. Switch forwards frame to the router, router re-wraps the paket with a frame pointing to the next router in line 5. Eventually, router for 1.1.1.1 will recieve the packet, and wrap in a frame with the appropriate destination’s MAC 30 — @CrayZeigh
Slide 65
How does the router know where the next stop is? Routing Tables
31 — @CrayZeigh
Slide 66
How does the router know where the next stop is? Routing Tables → (also used locally on your hosts)
31 — @CrayZeigh
Slide 67
How does the router know where the next stop is? Routing Tables → (also used locally on your hosts) → 3 general types of routes
31 — @CrayZeigh
Slide 68
How does the router know where the next stop is? Routing Tables → (also used locally on your hosts) → 3 general types of routes → Connected (networks assigned to router interfaces)
31 — @CrayZeigh
Slide 69
How does the router know where the next stop is? Routing Tables → (also used locally on your hosts) → 3 general types of routes → Connected (networks assigned to router interfaces) → Static (manually set, default gateway usually) 31 — @CrayZeigh
Slide 70
How does the router know where the next stop is? Routing Tables → (also used locally on your hosts) → 3 general types of routes → Connected (networks assigned to router interfaces) → Static (manually set, default gateway usually) → Learned (Shared with peers, BGP) 31 — @CrayZeigh
Slide 71
BGP Border Gateway Protocol
32 — @CrayZeigh
Slide 72
BGP Border Gateway Protocol
→ Advertises routes between (TCP) peered Autonomous Systems
32 — @CrayZeigh
Slide 73
BGP Border Gateway Protocol
→ Advertises routes between (TCP) peered Autonomous Systems → Routes can be aggregate “supernets” to save table space
32 — @CrayZeigh
Slide 74
BGP Border Gateway Protocol
→ Advertises routes between (TCP) peered Autonomous Systems → Routes can be aggregate “supernets” to save table space → Helps determine “best” route to destination since multiple routes may contain the same prefixes 32 — @CrayZeigh
Slide 75
BGP Border Gateway Protocol
→ Advertises routes between (TCP) peered Autonomous Systems → Routes can be aggregate “supernets” to save table space → Helps determine “best” route to destination since multiple routes may contain the same prefixes → Leveragable for anycast/edge performance increases 32 — @CrayZeigh
Slide 76
BGP
33 — @CrayZeigh
Slide 77
BGP
34 — @CrayZeigh
Slide 78
BGP
35 — @CrayZeigh
Slide 79
Anycast
36 — @CrayZeigh
Slide 80
Anycast Benefits
37 — @CrayZeigh
Slide 81
What happens when you visit a website? 38 — @CrayZeigh
Slide 82
Hi!
! I’m Aaron
dev advocate: organizer: sometimes host: Twitter: @CrayZeigh Slides: speaking.crayzeigh.com 39