CS Networks and Distributed Systems. Lecture 11: DNS + NAT. Revised 3/10/14

Similar documents
CS 3640: Introduction to Networks and Their Applications

Lecture 11: Middleboxes and NAT (Duct tape for IPv4)

CS 3640: Introduction to Networks and Their Applications

CS4700/5700: Network fundamentals

EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses

IP ADDRESSES, NAMING, AND DNS

Domain Name System.

0 0& Basic Background. Now let s get into how things really work!

DNS. A Massively Distributed Database. Justin Scott December 12, 2018

CS519: Computer Networks. Lecture 6: Apr 5, 2004 Naming and DNS

CSCE 463/612 Networks and Distributed Processing Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018

Advanced Networking. Domain Name System

Advanced Networking. Domain Name System. Purpose of DNS servers. Purpose of DNS servers. Purpose of DNS servers

Introduction to Network. Topics

Domain Name System (DNS)

DNS and BGP. CS642: Computer Security. Professor Ristenpart h9p:// rist at cs dot wisc dot edu. University of Wisconsin CS 642

CS 43: Computer Networks. 10: Naming and DNS September 24, 2018

DNS & Iodine. Christian Grothoff.

Computer Networks. Domain Name System. Jianping Pan Spring /25/17 CSC361 1

Overview General network terminology. Chapter 9.1: DNS

DNS Review Quiz. Match the term to the description: A. Transfer of authority for/to a subdomain. Domain name DNS zone Delegation C B A

Computer Security CS 426

Chapter 2 Application Layer. Lecture 5 DNS. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

CSE 565 Computer Security Fall 2018

Overview. Last Lecture. This Lecture. Next Lecture. Scheduled tasks and log management. DNS and BIND Reference: DNS and BIND, 4 th Edition, O Reilly

This time. Digging into. Networking. Protocols. Naming DNS & DHCP

DNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31

Lecture 7: Application Layer Domain Name System

CS155b: E-Commerce. Lecture 3: Jan 16, How Does the Internet Work? Acknowledgements: S. Bradner and R. Wang

CSc 450/550 Computer Networks Domain Name System

Internet Load Balancing Guide. Peplink Balance Series. Peplink Balance. Internet Load Balancing Solution Guide

S Computer Networks - Spring What and why? Structure of DNS Management of Domain Names Name Service in Practice

The Application Layer: Sockets, DNS

Application Layer Protocols

The Domain Name System

DNS and BGP. CS642: Computer Security. Professor Ristenpart h9p:// rist at cs dot wisc dot edu. University of Wisconsin CS 642

More on DNS and DNSSEC

CS 356 Using Cryptographic Tools to Secure the Domain Name System (DNS) Spring 2017

More Internet Support Protocols

CSC 574 Computer and Network Security. DNS Security

Protocol Classification

ECE 435 Network Engineering Lecture 7

Domain Name System (DNS)

The State and Challenges of the DNSSEC Deployment. Eric Osterweil Michael Ryan Dan Massey Lixia Zhang

Root Servers. Root hints file come in many names (db.cache, named.root, named.cache, named.ca) See root-servers.org for more detail

Unit 4: Firewalls (I)

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Domain Name Service. DNS Overview. October 2009 Computer Networking 1

Domain Name System (DNS) Session-1: Fundamentals. Joe Abley AfNOG Workshop, AIS 2017, Nairobi

DNS/DNSSEC Workshop. In Collaboration with APNIC and HKIRC Hong Kong. Champika Wijayatunga Regional Security Engagement Manager Asia Pacific

Network layer: Overview. Network Layer Functions

Outline Applications. Central Server Hierarchical Peer-to-peer. 31-Jan-02 Ubiquitous Computing 1

DNS and HTTP. A High-Level Overview of how the Internet works

APNIC elearning: DNS Concepts

DNSSEC DNS SECURITY EXTENSIONS INTRODUCTION TO DNSSEC FOR SECURING DNS QUERIES AND INFORMATION

Distributed Systems. Distributed Systems Within the Internet Nov. 9, 2011

DNS Basics BUPT/QMUL

Understanding and Characterizing Hidden Interception of the DNS Resolution Path

ECE 4450:427/527 - Computer Networks Spring 2017

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

ROOT SERVERS MANAGEMENT AND SECURITY

DNSSEC. CS 161: Computer Security Prof. David Wagner. April 11, 2016

CSCE 463/612 Networks and Distributed Processing Spring 2018

THE AUTHORITATIVE GUIDE TO DNS TERMINOLOGY

CIS 551 / TCOM 401 Computer and Network Security

DNS Concepts. Acknowledgements July 2005, Thimphu, Bhutan. In conjunction with SANOG VI. Bill Manning Ed Lewis Joe Abley Olaf M.

Outline NET 412 NETWORK SECURITY PROTOCOLS. Reference: Lecture 7: DNS Security 3/28/2016

DNS. David Malone. 19th October 2004

Naming Computer Networking. Overview. DNS: Domain Name System. Obvious Solutions (1) Obvious Solutions (2)

DNS. Introduction To. everything you never wanted to know about IP directory services

Domain Name System (DNS)

Hoda Rohani Anastasios Poulidis Supervisor: Jeroen Scheerder. System and Network Engineering July 2014

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS

CSE 123b Communications Software

Quick announcements. CSE 123b Communications Software. Today s issues. Last class. The Mobility Problem. Problems. Spring 2004

CSE 123A Computer Netwrking

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

Name Services and DNS

Firewalls and NAT. Firewalls. firewall isolates organization s internal net from larger Internet, allowing some packets to pass, blocking others.

CSE 124 January 18, Winter 2017, UCSD Prof. George Porter

Page 1. CS162 Operating Systems and Systems Programming Lecture 22. Networking III. Automatic Repeat Request

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Domain Name System (DNS) DNS Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale. The old solution: HOSTS.

Communications Software. CSE 123b. CSE 123b. Spring Lecture 11: Domain Name System (DNS) Stefan Savage. Some pictures courtesy David Wetherall

CSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose

CSE 123b Communications Software. Overview for today. Names and Addresses. Goals for a naming system. Internet Hostnames

Layer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers

Subnets. IP datagram format. The Internet Network layer. IP Fragmentation and Reassembly. IP Fragmentation & Reassembly. IP Addressing: introduction

Networking Applications

Ordinary DNS: A? k.root-servers.net. com. NS a.gtld-servers.net a.gtld-servers.net A Client's Resolver

DOMAIN NAME SECURITY EXTENSIONS

DNS Fundamentals. Steve Conte ICANN60 October 2017

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

CSEN 503 Introduction to Communication Networks

Domain Name System (DNS) Session-1: Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale

Lecture 4: Basic Internet Operations

Chapter 8 roadmap. Network Security

DNS Security. Ch 1: The Importance of DNS Security. Updated

Transcription:

CS 3700 Networks and Distributed Systems Lecture 11: DNS + NAT Revised 3/10/14

2 Outline DNS NAT Other middleboxes

Layer 8 (The Carbon-based nodes) 3 If you want to! Call someone, you need to ask for their phone number You can t just dial P R O F M I S L O V E! Mail someone, you need to get their address first

Layer 8 (The Carbon-based nodes) 3 If you want to! Call someone, you need to ask for their phone number You can t just dial P R O F M I S L O V E! Mail someone, you need to get their address first What about the Internet?! If you need to reach Google, you need their IP! Does anyone know Google s IP?

Layer 8 (The Carbon-based nodes) 3 If you want to! Call someone, you need to ask for their phone number You can t just dial P R O F M I S L O V E! Mail someone, you need to get their address first What about the Internet?! If you need to reach Google, you need their IP! Does anyone know Google s IP? Problem:! People can t remember IP addresses! Need human readable names that map to IPs

Internet Names and Addresses 4 Addresses, e.g. 129.10.117.100! Computer usable labels for machines! Conform to structure of the network

Internet Names and Addresses 4 Addresses, e.g. 129.10.117.100! Computer usable labels for machines! Conform to structure of the network Names, e.g. www.northeastern.edu! Human usable labels for machines! Conform to organizational structure

Internet Names and Addresses 4 Addresses, e.g. 129.10.117.100! Computer usable labels for machines! Conform to structure of the network Names, e.g. www.northeastern.edu! Human usable labels for machines! Conform to organizational structure How do you map from one to the other?! Domain Name System (DNS)

History 5 Before DNS, all mappings were in hosts.txt! /etc/hosts on Linux! C:\Windows\System32\drivers\etc\hosts on Windows

History 5 Before DNS, all mappings were in hosts.txt! /etc/hosts on Linux! C:\Windows\System32\drivers\etc\hosts on Windows Centralized, manual system! Changes were submitted to SRI via email! Machines periodically FTP new copies of hosts.txt! Administrators could pick names at their discretion! Any name was allowed alans_server_at_neu_pwns_joo_lol_kthxbye

Towards DNS 6 Eventually, the hosts.txt system fell apart

Towards DNS 6 Eventually, the hosts.txt system fell apart! Not scalable, SRI couldn t handle the load! Hard to enforce uniqueness of names e.g MIT Massachusetts Institute of Technology? Melbourne Institute of Technology?! Many machines had inaccurate copies of hosts.txt

Towards DNS 6 Eventually, the hosts.txt system fell apart! Not scalable, SRI couldn t handle the load! Hard to enforce uniqueness of names e.g MIT Massachusetts Institute of Technology? Melbourne Institute of Technology?! Many machines had inaccurate copies of hosts.txt Thus, DNS was born

7 Outline DNS Basics DNS Security

DNS at a High-Level 8 Domain Name System Distributed database! No centralization Simple client/server architecture! UDP port 53, some implementations also use TCP! Why? Hierarchical namespace! As opposed to original, flat namespace! e.g..com! google.com! mail.google.com

Naming Hierarchy 9 Root net edu com gov mil org uk fr etc. neu mit ccs ece husky www login mail Top Level Domains (TLDs) are at the top Maximum tree depth: 128 Each Domain Name is a subtree!.edu! neu.edu! ccs.neu.edu! www.ccs.neu.edu Name collisions are avoided! neu.com vs. neu.edu

Naming Hierarchy 9 Root net edu com gov mil org uk fr etc. neu mit ccs ece husky www login mail Top Level Domains (TLDs) are at the top Maximum tree depth: 128 Each Domain Name is a subtree!.edu! neu.edu! ccs.neu.edu! www.ccs.neu.edu Name collisions are avoided! neu.com vs. neu.edu

Naming Hierarchy 9 Root net edu com gov mil org uk fr etc. neu mit ccs ece husky www login mail Top Level Domains (TLDs) are at the top Maximum tree depth: 128 Each Domain Name is a subtree!.edu! neu.edu! ccs.neu.edu! www.ccs.neu.edu Name collisions are avoided! neu.com vs. neu.edu

Naming Hierarchy 9 Root net edu com gov mil org uk fr etc. neu mit ccs ece husky www login mail Top Level Domains (TLDs) are at the top Maximum tree depth: 128 Each Domain Name is a subtree!.edu! neu.edu! ccs.neu.edu! www.ccs.neu.edu Name collisions are avoided! neu.com vs. neu.edu

Naming Hierarchy 9 Root net edu com gov mil org uk fr etc. neu mit ccs ece husky www login mail Top Level Domains (TLDs) are at the top Maximum tree depth: 128 Each Domain Name is a subtree!.edu! neu.edu! ccs.neu.edu! www.ccs.neu.edu Name collisions are avoided! neu.com vs. neu.edu

Hierarchical Administration 10 Root net edu com gov mil org uk fr etc. neu mit ccs www login mail Tree is divided into zones! Each zone has an administrator! Responsible for the part of the heirarchy Example:! CCIS controls *.ccs.neu.edu! NEU controls *.neu.edu

Hierarchical Administration 10 Root ICANN net edu com gov mil org uk fr etc. neu mit ccs www login mail Tree is divided into zones! Each zone has an administrator! Responsible for the part of the heirarchy Example:! CCIS controls *.ccs.neu.edu! NEU controls *.neu.edu

Hierarchical Administration 10 Verisign Root ICANN net edu com gov mil org uk fr etc. neu mit ccs www login mail Tree is divided into zones! Each zone has an administrator! Responsible for the part of the heirarchy Example:! CCIS controls *.ccs.neu.edu! NEU controls *.neu.edu

Server Hierarchy 11 Functions of each DNS server:! Authority over a portion of the hierarchy No need to store all DNS names! Store all the records for hosts/domains in its zone May be replicated for robustness! Know the addresses of the root servers Resolve queries for unknown names

Server Hierarchy 11 Functions of each DNS server:! Authority over a portion of the hierarchy No need to store all DNS names! Store all the records for hosts/domains in its zone May be replicated for robustness! Know the addresses of the root servers Resolve queries for unknown names Root servers know about all TLDs! The buck stops at the root servers

Root Name Servers 12 Responsible for the Root Zone File! Lists the TLDs and who controls them! ~272KB in size com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. Administered by ICANN! 13 root servers, labeled A!M! 6 are anycasted, i.e. they are globally replicated Contacted when names cannot be resolved! In practice, most systems cache this information

Map of the Roots 13

Local Name Servers 14 Northeastern Each ISP/company has a local, default name server Often configured via DHCP Hosts begin DNS queries by contacting the local name server Frequently cache query results

Local Name Servers 14 Where is google.com? Northeastern Each ISP/company has a local, default name server Often configured via DHCP Hosts begin DNS queries by contacting the local name server Frequently cache query results

Local Name Servers 14 Where is google.com? Northeastern Each ISP/company has a local, default name server Often configured via DHCP Hosts begin DNS queries by contacting the local name server Frequently cache query results

Authoritative Name Servers 15 www.neu.edu Root edu neu Northeastern Stores the name!ip mapping for a given host

Authoritative Name Servers 15 www.neu.edu Root edu neu Northeastern Authority for edu Authority for neu.edu Stores the name!ip mapping for a given host

Authoritative Name Servers 15 Where is www.neu.edu? www.neu.edu Root edu neu Northeastern Authority for edu Authority for neu.edu Stores the name!ip mapping for a given host

Authoritative Name Servers 15 Where is www.neu.edu? www.neu.edu Root edu neu Northeastern Authority for edu Authority for neu.edu Stores the name!ip mapping for a given host

Authoritative Name Servers 15 Where is www.neu.edu? www.neu.edu = 155.33.17.68 www.neu.edu Root edu neu Northeastern Authority for edu Authority for neu.edu Stores the name!ip mapping for a given host

Basic Domain Name Resolution 16 Every host knows a local DNS server! Sends all queries to the local DNS server

Basic Domain Name Resolution 16 Every host knows a local DNS server! Sends all queries to the local DNS server If the local DNS can answer the query, then you re done 1. Local server is also the authoritative server for that name 2. Local server has cached the record for that name

Basic Domain Name Resolution 16 Every host knows a local DNS server! Sends all queries to the local DNS server If the local DNS can answer the query, then you re done 1. Local server is also the authoritative server for that name 2. Local server has cached the record for that name Otherwise, go down the hierarchy and search for the authoritative name server! Every local DNS server knows the root servers! Use cache to skip steps if possible e.g. skip the root and go directly to.edu if the root file is cached

Recursive DNS Query 17 www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com Puts the burden of resolution on the contacted name server asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com Puts the burden of resolution on the contacted name server How does asgard know who to forward responses too?! Random IDs embedded in DNS queries asgard.ccs.neu.edu ns1.google.com com Root

Recursive DNS Query 17 Where is www.google.com? www.google.com Puts the burden of resolution on the contacted name server How does asgard know who to forward responses too?! Random IDs embedded in DNS queries asgard.ccs.neu.edu ns1.google.com What have we said about keeping state in the network? com Root

Iterated DNS query 18 www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com Contact server replies with the name of the next authority in the hierarchy asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com Contact server replies with the name of the next authority in the hierarchy asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com Contact server replies with the name of the next authority in the hierarchy asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com Contact server replies with the name of the next authority in the hierarchy asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com Contact server replies with the name of the next authority in the hierarchy asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com Contact server replies with the name of the next authority in the hierarchy asgard.ccs.neu.edu ns1.google.com com Root

Iterated DNS query 18 Where is www.google.com? www.google.com Contact server replies with the name of the next authority in the hierarchy I don t know this name, but this other server might This is how DNS works today asgard.ccs.neu.edu ns1.google.com com Root

DNS Propagation 19 How many of you have purchased a domain name?! Did you notice that it took ~72 hours for your name to become accessible?! This delay is called DNS Propagation Root com asgard.ccs.neu.edu ns.godaddy.com

DNS Propagation 19 How many of you have purchased a domain name?! Did you notice that it took ~72 hours for your name to become accessible?! This delay is called DNS Propagation www.my-new-site.com Root com asgard.ccs.neu.edu ns.godaddy.com

DNS Propagation 19 How many of you have purchased a domain name?! Did you notice that it took ~72 hours for your name to become accessible?! This delay is called DNS Propagation www.my-new-site.com Root com asgard.ccs.neu.edu ns.godaddy.com

DNS Propagation 19 How many of you have purchased a domain name?! Did you notice that it took ~72 hours for your name to become accessible?! This delay is called DNS Propagation www.my-new-site.com Root com asgard.ccs.neu.edu ns.godaddy.com

DNS Propagation 19 How many of you have purchased a domain name?! Did you notice that it took ~72 hours for your name to become accessible?! This delay is called DNS Propagation www.my-new-site.com Root com asgard.ccs.neu.edu ns.godaddy.com Why would this process fail for a new DNS name?

Caching vs. Freshness 20 DNS Propagation delay is caused by caching Cached Root Zone File Cached.com Zone File Cached.net Zone File Etc. asgard.ccs.neu.edu Root com www.my-new-site.com ns.godaddy.com

Caching vs. Freshness 20 DNS Propagation delay is caused by caching Where is www.my-new-site.com? Cached Root Zone File Cached.com Zone File Cached.net Zone File Etc. asgard.ccs.neu.edu Root com www.my-new-site.com ns.godaddy.com

Caching vs. Freshness 20 DNS Propagation delay is caused by caching That name does not exist. Cached Root Zone File Cached.com Zone File Cached.net Zone File Etc. asgard.ccs.neu.edu Root com www.my-new-site.com ns.godaddy.com

Caching vs. Freshness 20 DNS Propagation delay is caused by caching That name does not exist. Cached Root Zone File Cached.com Zone File Cached.net Zone File Etc. asgard.ccs.neu.edu Zone files may be cached for 1-72 hours Root com www.my-new-site.com ns.godaddy.com

DNS Resource Records 21 DNS queries have two fields: name and type Resource record is the response to a query! Four fields: (name, value, type, TTL)! There may be multiple records returned for one query

DNS Resource Records 21 DNS queries have two fields: name and type Resource record is the response to a query! Four fields: (name, value, type, TTL)! There may be multiple records returned for one query What are do the name and value mean?! Depends on the type of query and response

DNS Types 22 Type = A / AAAA! Name = domain name! Value = IP address! A is IPv4, AAAA is IPv6

DNS Types 22 Type = A / AAAA! Name = domain name! Value = IP address! A is IPv4, AAAA is IPv6 Query Name: www.ccs.neu.edu Type: A

DNS Types 22 Type = A / AAAA! Name = domain name! Value = IP address! A is IPv4, AAAA is IPv6 Query Resp. Name: www.ccs.neu.edu Type: A Name: www.ccs.neu.edu Value: 129.10.116.81

DNS Types 22 Type = A / AAAA! Name = domain name! Value = IP address! A is IPv4, AAAA is IPv6 Query Resp. Name: www.ccs.neu.edu Type: A Name: www.ccs.neu.edu Value: 129.10.116.81 Type = NS! Name = partial domain! Value = name of DNS server for this domain! Go send your query to this other server

DNS Types 22 Type = A / AAAA! Name = domain name! Value = IP address! A is IPv4, AAAA is IPv6 Query Resp. Name: www.ccs.neu.edu Type: A Name: www.ccs.neu.edu Value: 129.10.116.81 Type = NS! Name = partial domain! Value = name of DNS server for this domain! Go send your query to this other server Query Name: ccs.neu.edu Type: NS

DNS Types 22 Type = A / AAAA! Name = domain name! Value = IP address! A is IPv4, AAAA is IPv6 Query Resp. Name: www.ccs.neu.edu Type: A Name: www.ccs.neu.edu Value: 129.10.116.81 Type = NS! Name = partial domain! Value = name of DNS server for this domain! Go send your query to this other server Query Resp. Name: ccs.neu.edu Type: NS Name: ccs.neu.edu Value: 129.10.116.51

DNS Types, Continued 23 Type = CNAME! Name = hostname! Value = canonical hostname! Useful for aliasing! CDNs use this

DNS Types, Continued 23 Type = CNAME! Name = hostname! Value = canonical hostname! Useful for aliasing! CDNs use this Query Name: foo.mysite.com Type: CNAME

DNS Types, Continued 23 Type = CNAME! Name = hostname! Value = canonical hostname! Useful for aliasing! CDNs use this Query Resp. Name: foo.mysite.com Type: CNAME Name: foo.mysite.com Value: bar.mysite.com

DNS Types, Continued 23 Type = CNAME! Name = hostname! Value = canonical hostname! Useful for aliasing! CDNs use this Query Resp. Name: foo.mysite.com Type: CNAME Name: foo.mysite.com Value: bar.mysite.com Type = MX! Name = domain in email address! Value = canonical name of mail server

DNS Types, Continued 23 Type = CNAME! Name = hostname! Value = canonical hostname! Useful for aliasing! CDNs use this Query Resp. Name: foo.mysite.com Type: CNAME Name: foo.mysite.com Value: bar.mysite.com Type = MX! Name = domain in email address! Value = canonical name of mail server Query Name: ccs.neu.edu Type: MX

DNS Types, Continued 23 Type = CNAME! Name = hostname! Value = canonical hostname! Useful for aliasing! CDNs use this Query Resp. Name: foo.mysite.com Type: CNAME Name: foo.mysite.com Value: bar.mysite.com Type = MX! Name = domain in email address! Value = canonical name of mail server Query Resp. Name: ccs.neu.edu Type: MX Name: ccs.neu.edu Value: amber.ccs.neu.edu

Reverse Lookups 24 What about the IP!name mapping? Separate server hierarchy stores reverse mappings! Rooted at in-addr.arpa and ip6.arpa Additional DNS record type: PTR! Name = IP address! Value = domain name Not guaranteed to exist for all IPs

Reverse Lookups 24 What about the IP!name mapping? Separate server hierarchy stores reverse mappings! Rooted at in-addr.arpa and ip6.arpa Additional DNS record type: PTR! Name = IP address! Value = domain name Not guaranteed to exist for all IPs Query Name: 129.10.116.51 Type: PTR

Reverse Lookups 24 What about the IP!name mapping? Separate server hierarchy stores reverse mappings! Rooted at in-addr.arpa and ip6.arpa Additional DNS record type: PTR! Name = IP address! Value = domain name Not guaranteed to exist for all IPs Query Name: 129.10.116.51 Type: PTR Resp. Name: 129.10.116.51 Value: ccs.neu.edu

DNS as Indirection Service 25 DNS gives us very powerful capabilities! Not only easier for humans to reference machines!

DNS as Indirection Service 25 DNS gives us very powerful capabilities! Not only easier for humans to reference machines! Changing the IPs of machines becomes trivial! e.g. you want to move your web server to a new host! Just change the DNS record!

Aliasing and Load Balancing 26 One machine can have many aliases www.reddit.com www.foursquare.com www.huffingtonpost.com

Aliasing and Load Balancing 26 One machine can have many aliases www.reddit.com www.foursquare.com www.huffingtonpost.com david.choffnes.com alan.mislo.ve *.blogspot.com

Aliasing and Load Balancing 26 One machine can have many aliases www.reddit.com www.foursquare.com www.huffingtonpost.com david.choffnes.com alan.mislo.ve *.blogspot.com One domain can map to multiple machines www.google.com

Content Delivery Networks 27

Content Delivery Networks 27

Content Delivery Networks 27

Content Delivery Networks 27

Content Delivery Networks 27

Content Delivery Networks 27 DNS responses may vary based on geography, ISP, etc

28 Outline DNS Basics DNS Security

The Importance of DNS 29 Without DNS! How could you get to any websites?

The Importance of DNS 29 Without DNS! How could you get to any websites? You are your mailserver! When you sign up for websites, you use your email address! What if someone hijacks the DNS for your mail server?

The Importance of DNS 29 Without DNS! How could you get to any websites? You are your mailserver! When you sign up for websites, you use your email address! What if someone hijacks the DNS for your mail server? DNS is the root of trust for the web! When a user types www.bankofamerica.com, they expect to be taken to their bank s website! What if the DNS record is compromised?

Denial Of Service 30 Flood DNS servers with requests until they fail October 2002: massive DDoS against the root name servers! What was the effect?

Denial Of Service 30 Flood DNS servers with requests until they fail October 2002: massive DDoS against the root name servers! What was the effect?! users didn t even notice! Root zone file is cached almost everywhere

Denial Of Service 30 Flood DNS servers with requests until they fail October 2002: massive DDoS against the root name servers! What was the effect?! users didn t even notice! Root zone file is cached almost everywhere More targeted attacks can be effective! Local DNS server! cannot access DNS! Authoritative server! cannot access domain

DNS Hijacking 31 Infect their OS or browser with a virus/trojan! e.g. Many trojans change entries in /etc/hosts! *.bankofamerica.com! evilbank.com Man-in-the-middle Response Spoofing! Eavesdrop on requests! Outrace the servers response

DNS Hijacking 31 Infect their OS or browser with a virus/trojan! e.g. Many trojans change entries in /etc/hosts! *.bankofamerica.com! evilbank.com Man-in-the-middle Response Spoofing! Eavesdrop on requests! Outrace the servers response

DNS Hijacking 31 Infect their OS or browser with a virus/trojan! e.g. Many trojans change entries in /etc/hosts! *.bankofamerica.com! evilbank.com Man-in-the-middle Response Spoofing! Eavesdrop on requests! Outrace the servers response

DNS Spoofing 32 dns.bofa.com 123.45.67.89

DNS Spoofing 32 Where is bankofamerica.com? 123.45.67.89 dns.bofa.com 123.45.67.89

DNS Spoofing 32 Where is bankofamerica.com? 123.45.67.89 dns.bofa.com 123.45.67.89

DNS Spoofing 32 dns.bofa.com 123.45.67.89 dns.evil.com 66.66.66.93

DNS Spoofing 32 Where is bankofamerica.com? dns.bofa.com 66.66.66.93 123.45.67.89 dns.evil.com 66.66.66.93

DNS Spoofing 32 Where is bankofamerica.com? dns.bofa.com 66.66.66.93 123.45.67.89 dns.evil.com 66.66.66.93

DNS Spoofing 32 How do you know that a given name!ip mapping is correct? Where is bankofamerica.com? dns.bofa.com 66.66.66.93 123.45.67.89 dns.evil.com 66.66.66.93

DNS Cache Poisoning 33 dns.neu.edu ns1.google.com

DNS Cache Poisoning 33 Where is www.google.com? dns.neu.edu ns1.google.com

DNS Cache Poisoning 33 www.google.com = 74.125.131.26 dns.neu.edu ns1.google.com

DNS Cache Poisoning 33 www.google.com = 74.125.131.26 dns.neu.edu ns1.google.com bankofamerica.com = 66.66.66.92

DNS Cache Poisoning 33 dns.neu.edu ns1.google.com

DNS Cache Poisoning 33 Where is bankofamerica.com? dns.neu.edu ns1.google.com

DNS Cache Poisoning 33 dns.neu.edu ns1.google.com Until the TTL expires, all queries for BofA to dns.neu.edu will return poisoned result Much worse than spoofing/man-in-the-middle! Whole ISPs can be impacted!

Solution: DNSSEC 34 Cryptographically sign critical resource records! Resolver can verify the cryptographic signature Two new resource types! Type = DNSKEY Name = Zone domain name Value = Public key for the zone! Type = RRSIG Name = (type, name) tuple, i.e. the query itself Value = Cryptographic signature of the query results

Solution: DNSSEC 34 Cryptographically sign critical resource records! Resolver can verify the cryptographic signature Two new resource types Creates a hierarchy of! Type = DNSKEY Name = Zone domain name trust within each zone Value = Public key for the zone! Type = RRSIG Name = (type, name) tuple, i.e. the query itself Value = Cryptographic signature of the query results

Solution: DNSSEC 34 Cryptographically sign critical resource records! Resolver can verify the cryptographic signature Two new resource types! Type = DNSKEY Name = Zone domain name Prevents hijacking and Value = Public key for the zone spoofing! Type = RRSIG Name = (type, name) tuple, i.e. the query itself Value = Cryptographic signature of the query results

Solution: DNSSEC 34 Cryptographically sign critical resource records! Resolver can verify the cryptographic signature Two new resource types! Type = DNSKEY Name = Zone domain name Value = Public key for the zone! Type = RRSIG Name = (type, name) tuple, i.e. the query itself Value = Cryptographic signature of the query results Deployment! On the roots since July 2010! Verisign enabled it on.com and.net in January 2011! Comcast is the first major ISP to support it (January 2012)

DNSSEC Hierarchy of Trust 35 Root Zone (ICANN).com (Verisign) dns.bofa.com

DNSSEC Hierarchy of Trust 35 Root Zone (ICANN).com (Verisign) Where is bankofamerica.com? dns.bofa.com IP: 123.45.67.89 Key: < > SIG: x9fnskflkalk

DNSSEC Hierarchy of Trust 35 Root Zone (ICANN).com (Verisign) Where is bankofamerica.com? dns.bofa.com IP: 123.45.67.89 Key: < > SIG: x9fnskflkalk

DNSSEC Hierarchy of Trust 35 Root Zone (ICANN).com (Verisign) Where is bankofamerica.com? dns.bofa.com IP: 123.45.67.89 Key: < > SIG: x9fnskflkalk

DNSSEC Hierarchy of Trust 35 Root Zone (ICANN).com (Verisign) Where is bankofamerica.com? dns.evil.com IP: 66.66.66.93 Key: < > SIG: 9na8x7040a3

DNSSEC Hierarchy of Trust 35 Root Zone (ICANN).com (Verisign) Where is bankofamerica.com? dns.evil.com IP: 66.66.66.93 Key: < > SIG: 9na8x7040a3

Site Finder 36 September 2003: Verisign created DNS wildcards for *.com and *.net! Essentially, catch-all records for unknown domains! Pointed to a search website run by Verisign! Search website was full of advertisements

Site Finder 36 September 2003: Verisign created DNS wildcards for *.com and *.net! Essentially, catch-all records for unknown domains! Pointed to a search website run by Verisign! Search website was full of advertisements

Site Finder 36 September 2003: Verisign created DNS wildcards for *.com and *.net! Essentially, catch-all records for unknown domains! Pointed to a search website run by Verisign! Search website was full of advertisements

Site Finder 36 September 2003: Verisign created DNS wildcards for *.com and *.net! Essentially, catch-all records for unknown domains! Pointed to a search website run by Verisign! Search website was full of advertisements Extremely controversial move! Is this DNS hijacking?! Definitely abuse of trust by Verisign! Site Finder was quickly shut down, lawsuits ensued

Much More to DNS 37 Caching: when, where, how much, etc.

Much More to DNS 37 Caching: when, where, how much, etc. Other uses for DNS (i.e. DNS hacks)! Content Delivery Networks (CDNs)! Different types of DNS load balancing! Dynamic DNS (e.g. for mobile hosts)

Much More to DNS 37 Caching: when, where, how much, etc. Other uses for DNS (i.e. DNS hacks)! Content Delivery Networks (CDNs)! Different types of DNS load balancing! Dynamic DNS (e.g. for mobile hosts) DNS and botnets

Much More to DNS 37 Caching: when, where, how much, etc. Other uses for DNS (i.e. DNS hacks)! Content Delivery Networks (CDNs)! Different types of DNS load balancing! Dynamic DNS (e.g. for mobile hosts) DNS and botnets Politics and growth of the DNS system! Governance! New TLDs (.xxx,.biz), eliminating TLDs altogether! Copyright, arbitration, squatting, typo-squatting

38 Outline DNS NAT Other middleboxes

The IPv4 Shortage 39 Problem: consumer ISPs typically only give one IP address per-household! Additional IPs cost extra! More IPs may not be available

The IPv4 Shortage 39 Problem: consumer ISPs typically only give one IP address per-household! Additional IPs cost extra! More IPs may not be available Today s households have more networked devices than ever! Laptops and desktops! TV, bluray players, game consoles! Tablets, smartphones, ereaders

The IPv4 Shortage 39 Problem: consumer ISPs typically only give one IP address per-household! Additional IPs cost extra! More IPs may not be available Today s households have more networked devices than ever! Laptops and desktops! TV, bluray players, game consoles! Tablets, smartphones, ereaders How to get all these devices online?

Private IP Networks 40 Idea: create a range of private IPs that are separate from the rest of the network! Use the private IPs for internal routing! Use a special router to bridge the LAN and the WAN Properties of private IPs! Not globally unique! Usually taken from non-routable IP ranges (why?) Typical private IP ranges! 10.0.0.0 10.255.255.255! 172.16.0.0 172.31.255.255! 192.168.0.0 192.168.255.255

Private Networks 41 Private Network 192.168.0.1 192.168.0.2 Internet 192.168.0.0 66.31.210.69

Private Networks 41 192.168.0.1 192.168.0.1 Private Network 192.168.0.2 192.168.0.2 Private Network Internet 192.168.0.0 66.31.210.69 192.168.0.0

Private Networks 41 192.168.0.1 192.168.0.1 Private Network 192.168.0.2 192.168.0.2 Private Network NAT Internet 192.168.0.0 66.31.210.69 192.168.0.0

Network Address Translation (NAT) 42 NAT allows hosts on a private network to communicate with the Internet! Warning: connectivity is not seamless Special router at the boundary of a private network! Replaces internal IPs with external IP This is Network Address Translation! May also replace TCP/UDP port numbers Maintains a table of active flows! Outgoing packets initialize a table entry! Incoming packets are rewritten based on the table

Basic NAT Operation 43 Private Network Internet 192.168.0.1 66.31.210.69 74.125.228.67

Basic NAT Operation 43 Source: 192.168.0.1 Dest: 74.125.228.67 Private Network Internet 192.168.0.1 66.31.210.69 74.125.228.67

Basic NAT Operation 43 Source: 192.168.0.1 Dest: 74.125.228.67 Private Network Internet Private Address Public Address 192.168.0.1:2345 74.125.228.67:80 192.168.0.1 66.31.210.69 74.125.228.67

Basic NAT Operation 43 Source: 192.168.0.1 Dest: 74.125.228.67 Private Network Internet Source: 66.31.210.69 Dest: 74.125.228.67 Private Address Public Address 192.168.0.1:2345 74.125.228.67:80 192.168.0.1 66.31.210.69 74.125.228.67

Basic NAT Operation 43 Source: 192.168.0.1 Dest: 74.125.228.67 Private Network Internet Source: 66.31.210.69 Dest: 74.125.228.67 Private Address Public Address 192.168.0.1:2345 74.125.228.67:80 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67 Dest: 66.31.210.69

Basic NAT Operation 43 Source: 192.168.0.1 Dest: 74.125.228.67 Private Network Internet Source: 66.31.210.69 Dest: 74.125.228.67 Private Address Public Address 192.168.0.1:2345 74.125.228.67:80 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67 Dest: 192.168.0.1 Source: 74.125.228.67 Dest: 66.31.210.69

Advantages of NATs 44 Allow multiple hosts to share a single public IP

Advantages of NATs 44 Allow multiple hosts to share a single public IP Allow migration between ISPs! Even if the public IP address changes, you don t need to reconfigure the machines on the LAN

Advantages of NATs 44 Allow multiple hosts to share a single public IP Allow migration between ISPs! Even if the public IP address changes, you don t need to reconfigure the machines on the LAN Load balancing! Forward traffic from a single public IP to multiple private hosts

Natural Firewall 45 Private Address Private Network Internet Public Address 192.168.0.1 66.31.210.69 74.125.228.67

Natural Firewall 45 Private Address Private Network Internet Public Address 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67 Dest: 192.168.0.1

Natural Firewall 45 Private Address Private Network Internet Public Address 192.168.0.1 66.31.210.69 74.125.228.67

Natural Firewall 45 Private Address Private Network Internet Public Address 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67 Dest: 66.31.210.69

Natural Firewall 45 Private Address Private Network Internet Public Address 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67 Dest: 66.31.210.69

Natural Firewall 45 Private Address Private Network Internet Public Address 192.168.0.1 66.31.210.69 74.125.228.67

Concerns About NAT 46 Performance/scalability issues! Per flow state!! Modifying IP and Port numbers means NAT must recompute IP and TCP checksums

Concerns About NAT 46 Performance/scalability issues! Per flow state!! Modifying IP and Port numbers means NAT must recompute IP and TCP checksums Breaks the layered network abstraction

Concerns About NAT 46 Performance/scalability issues! Per flow state!! Modifying IP and Port numbers means NAT must recompute IP and TCP checksums Breaks the layered network abstraction Breaks end-to-end Internet connectivity! 192.168.*.* addresses are private! Cannot be routed to on the Internet! Problem is worse when both hosts are behind NATs

Concerns About NAT 46 Performance/scalability issues! Per flow state!! Modifying IP and Port numbers means NAT must recompute IP and TCP checksums Breaks the layered network abstraction Breaks end-to-end Internet connectivity! 192.168.*.* addresses are private! Cannot be routed to on the Internet! Problem is worse when both hosts are behind NATs What about IPs embedded in data payloads?

Port Forwarding 47 Private Network Internet Private Address 192.168.0.1:7000 *.*.*.*:* Public Address 192.168.0.1 66.31.210.69 74.125.228.67

Port Forwarding 47 Private Network Internet Private Address 192.168.0.1:7000 *.*.*.*:* Public Address 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67:8679 Dest: 66.31.210.69:7000

Port Forwarding 47 Private Network Internet Private Address 192.168.0.1:7000 *.*.*.*:* Public Address 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67:8679 Dest: 66.31.210.69:7000

Port Forwarding 47 Private Network Internet Private Address 192.168.0.1:7000 *.*.*.*:* Public Address 192.168.0.1 66.31.210.69 74.125.228.67 Source: 74.125.228.67:8679 Dest: 192.168.0.1:7000 Source: 74.125.228.67:8679 Dest: 66.31.210.69:7000

Hole Punching 48 Problem: How to enable connectivity through NATs? NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13

Hole Punching 48 Problem: How to enable connectivity through NATs? NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13

Hole Punching 48 Problem: How to enable connectivity through NATs? NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13

Hole Punching 48 Problem: How to enable connectivity through NATs? NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13 Two application-level protocols for hole punching! STUN! TURN

STUN 49 Session Traversal Utilities for NAT! Use a third-party to echo your global IP address! Also used to probe for symmetric NATs/firewalls i.e. are external ports open or closed? 192.168.0.1 66.31.210.69 STUN Server

STUN 49 Session Traversal Utilities for NAT! Use a third-party to echo your global IP address! Also used to probe for symmetric NATs/firewalls i.e. are external ports open or closed? What is my global IP address? 192.168.0.1 66.31.210.69 STUN Server

STUN 49 Session Traversal Utilities for NAT! Use a third-party to echo your global IP address! Also used to probe for symmetric NATs/firewalls i.e. are external ports open or closed? What is my global IP address? 192.168.0.1 66.31.210.69 STUN Server

STUN 49 Session Traversal Utilities for NAT! Use a third-party to echo your global IP address! Also used to probe for symmetric NATs/firewalls i.e. are external ports open or closed? What is my global IP address? Please echo my IP address 192.168.0.1 66.31.210.69 STUN Server

STUN 49 Session Traversal Utilities for NAT! Use a third-party to echo your global IP address! Also used to probe for symmetric NATs/firewalls i.e. are external ports open or closed? What is my global IP address? Please echo my IP address 192.168.0.1 66.31.210.69 STUN Server

STUN 49 Session Traversal Utilities for NAT! Use a third-party to echo your global IP address! Also used to probe for symmetric NATs/firewalls i.e. are external ports open or closed? What is my global IP address? 192.168.0.1 66.31.210.69 Your IP is 66.31.210.69 STUN Server

STUN 49 Session Traversal Utilities for NAT! Use a third-party to echo your global IP address! Also used to probe for symmetric NATs/firewalls i.e. are external ports open or closed? What is my global IP address? 192.168.0.1 Your IP is 66.31.210.69 66.31.210.69 STUN Server

Problems With STUN 50 Only useful in certain situations! One peer is behind a symmetric NAT! Both peers are behind partial NATs Not useful when both peers are fully behind full NATs NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.2 66.31.210.69 59.1.72.13 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.1:7000 66.31.210.69 59.1.72.13 192.168.0.2 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.1:7000 66.31.210.69 59.1.72.13 192.168.0.2 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 Please connect to me on 66.31.210.69:7000 192.168.0.1:7000 66.31.210.69 59.1.72.13 192.168.0.2 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.1:7000 66.31.210.69 192.168.0.2 Please connect to me on 66.31.210.69:7000 59.1.72.13 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.2 192.168.0.1:7000 192.168.0.2:7000 66.31.210.69 59.1.72.13 TURN Server

TURN 51 Traversal Using Relays around NAT NAT 1 NAT 2 192.168.0.1 192.168.0.2 192.168.0.1:7000 192.168.0.2:7000 66.31.210.69 59.1.72.13 TURN Server

52 Outline DNS NAT Other middleboxes

Firewall 53 A device that blocks traffic according to a set of rules! Why?! Services with vulnerabilities turned on by default! ISP policy forbidding certain traffic due to ToS Typically specified using a 5-tuple! E.g., block outbound SMTP; block inbound SQL server reqs GFC (Great Firewall of China)! Known to block based on IP, filter DNS requests, etc

Web caching 54 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network Limitations! Much of today s content is not static (why does this matter?)! Content ownership! Potential privacy issues! Long tail of content popularity

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network Internet foo.htm

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network Internet foo.htm

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network Not cached Internet foo.htm

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network Not cached Internet foo.htm

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network Not cached foo.htm Internet

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network foo.htm Not cached foo.htm Internet

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network foo.htm Not cached foo.htm Internet

Web caching 55 ISP installs cache near network edge that caches copies of Web pages! Why?! Performance: Content is closer to clients, TCP will perform better with lower RTTs! Cost: free for the ISP to serve from inside the network Not cached foo.htm Internet

Proxying 56 Non-split connections! Like NAT, but IP address is no longer the one assigned to you Split connections! Middlebox maintains two flows: C-M and M-S! Can be done transparently How? C M S Syn Syn Ack SynAck Ack SynAck

Proxying 56 Non-split connections! Like NAT, but IP address is no longer the one assigned to you Split connections! Middlebox maintains two flows: C-M and M-S! Can be done transparently How? C M S Syn Syn Ack SynAck Ack SynAck

Proxying 57 Advantages! RTT is lower on each end! Can use different MTUs! Particularly useful in cell ntwks Disadvantages! Extra delay can be bad for small flows! Buffering/state makes it potentially costly C M S Syn Syn Ack SynAck Ack SynAck

Shaping 58 ISPs are often charged according to 95% model! Internet usage is very peaky, e.g., at 5pm, or when House of Cards season 2 is released To control costs, ISPs such as Rogers shape client traffic! Time-of day! Traffic type Common implementations! Token Bucket (see next deck)! RSTs 95% Throughput samples

Shaping 58 ISPs are often charged according to 95% model! Internet usage is very peaky, e.g., at 5pm, or when House of Cards season 2 is released To control costs, ISPs such as Rogers shape client traffic! Time-of day! Traffic type Common implementations! Token Bucket (see next deck)! RSTs 95% Throughput samples

Shaping 58 ISPs are often charged according to 95% model! Internet usage is very peaky, e.g., at 5pm, or when House of Cards season 2 is released To control costs, ISPs such as Rogers shape client traffic! Time-of day! Traffic type Common implementations! Token Bucket (see next deck)! RSTs 95% Throughput samples

Shaping 58 ISPs are often charged according to 95% model! Internet usage is very peaky, e.g., at 5pm, or when House of Cards season 2 is released To control costs, ISPs such as Rogers shape client traffic! Time-of day! Traffic type Common implementations! Token Bucket (see next deck)! RSTs 95% Throughput samples

Shaping 58 ISPs are often charged according to 95% model! Internet usage is very peaky, e.g., at 5pm, or when House of Cards season 2 is released To control costs, ISPs such as Rogers shape client traffic! Time-of day! Traffic type Common implementations! Token Bucket (see next deck)! RSTs 95% Savings over peak Throughput samples