UNDERLAYS and MIDDLEBOXES READING: SECTION 8. COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Mike Freedman

Slides:



Advertisements
Similar presentations
Virtual Links: VLANs and Tunneling
Advertisements

Fred P. Baker CCIE, CCIP(security), CCSA, MCSE+I, MCSE(2000)
Internetworking II: MPLS, Security, and Traffic Engineering
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Firewalls and Intrusion Detection Systems
IP Address 1. 2 Network layer r Network layer protocols in every host, router r Router examines IP address field in all IP datagrams passing through it.
CS Summer 2003 Lecture 14. CS Summer 2003 MPLS VPN Architecture MPLS VPN is a collection of sites interconnected over MPLS core network. MPLS.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
Middleboxes and Tunneling Reading: Sect 8.5, 9.4.1, 4.5 COS 461: Computer Networks Spring 2011 Mike Freedman
What we will cover… Home Networking: Network Address Translation (NAT) Mobile Routing.
Chapter 5 The Network Layer.
NAT: Network Address Translation local network (e.g., home network) /24 rest of Internet Datagrams.
COS 420 Day 20. Agenda Group Project Discussion Protocol Definition Due April 12 Paperwork Due April 29 Assignment 3 Due Assignment 4 is posted Last Assignment.
IP Address 1. 2 Network layer r Network layer protocols in every host, router r Router examines IP address field in all IP datagrams passing through it.
Middleboxes Reading: Section 8.4 COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Michael Freedman Teaching Assistants: Wyatt Lloyd and.
Overlay Networks and Tunneling Reading: 4.5, 9.4 COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Mike Freedman Teaching Assistants: Wyatt.
MPLS L3 and L2 VPNs Virtual Private Network –Connect sites of a customer over a public infrastructure Requires: –Isolation of traffic Terminology –PE,
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
12 – NAT, ICMP, IPv6 Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
COS 420 Day 16. Agenda Assignment 3 Corrected Poor results 1 C and 2 Ds Spring Break?? Assignment 4 Posted Chap Due April 6 Individual Project Presentations.
SMUCSE 8344 MPLS Virtual Private Networks (VPNs).
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Middleboxes & Network Appliances EE122 TAs Past and Present.
Support Protocols and Technologies. Topics Filling in the gaps we need to make for IP forwarding work in practice – Getting IP addresses (DHCP) – Mapping.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
Mobile IP Traversal Of NAT Devices By, Vivek Nemarugommula.
8: Network Security8-1 Security in the layers. 8: Network Security8-2 Secure sockets layer (SSL) r Transport layer security to any TCP- based app using.
FIREWALL Mạng máy tính nâng cao-V1.
CS 5565 Network Architecture and Protocols
Middleboxes and Tunneling Mike Freedman COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
CS 3214 Computer Systems Godmar Back Lecture 24 Supplementary Material.
1 IP: putting it all together Part 2 G53ACC Chris Greenhalgh.
© MMII JW RyderCS 428 Computer Networking1 Private Network Interconnection  VPN - Virtual Private Networks  NAT - Network Address Translation  Describe.
1 NAT Network Address Translation Motivation for NAT To solve the insufficient problem of IP addresses IPv6 –All software and hardware need to be updated.
Firewall and Internet Access Mechanism that control (1)Internet access, (2)Handle the problem of screening a particular network or an organization from.
CS 540 Computer Networks II Sandy Wang
Network Layer4-1 DHCP: Dynamic Host Configuration Protocol Goal: allow host to dynamically obtain its IP address from network server when it joins network.
Transport Layer 3-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012  CPSC.
CIS 3360: Internet: Network Layer Introduction Cliff Zou Spring 2012.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Chapter 8 Network Security Thanks and enjoy! JFK/KWR All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking:
Middleboxes Reading: Section 8.4 COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak.
CS 5565 Network Architecture and Protocols Godmar Back Lecture 14.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Tunneling Continued/ End-to-End Principle CS 4251: Computer Networking II Nick Feamster Spring 2008.
K. Salah1 Security Protocols in the Internet IPSec.
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
Firewalls. Overview of Firewalls As the name implies, a firewall acts to provide secured access between two networks A firewall may be implemented as.
Defining Network Infrastructure and Network Security Lesson 8.
MPLS Virtual Private Networks (VPNs)
Supplementary Material
Network Address Translation
Supplementary Material
Middleboxes Jennifer Rexford COS 461: Computer Networks
Introduction to Networking
NET323 D: Network Protocols
* Essential Network Security Book Slides.
NET323 D: Network Protocols
دیواره ی آتش.
DHCP and NAT.
CS4470 Computer Networking Protocols
DHCP: Dynamic Host Configuration Protocol
Session 20 INST 346 Technologies, Infrastructure and Architecture
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

UNDERLAYS and MIDDLEBOXES READING: SECTION 8. COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Mike Freedman 1

Outline today Network-layer principles – Globally unique identifiers and simple packet forwarding – Middleboxes and tunneling to violate these principles… Underlay tunnels – Across routers within AS, build networks “below” IP route – Provide better control, flexibility, QoS, isolation, … Network Address Translation (NAT) – Multiple machines w/ private addrs behind a single public addr Firewalls – Discarding unwanted packets LAN appliances – Improving performance and security – Using a middlebox at sending and receiving sites 2

We saw tunneling “on top of” IP. What about tunneling “below” IP? Introducing Multi-Protocol Label Switching (MPLS) 3

MPLS Overview Main idea: Virtual circuit – Packets forwarded based only on circuit identifier Destination Source 1 Source 2 4 Router can forward traffic to the same destination on different interfaces/paths.

MPLS Overview Main idea: Virtual circuit – Packets forwarded based only on circuit identifier Destination Source 1 Source 2 Router can forward traffic to the same destination on different interfaces/paths. 5

Circuit Abstraction: Label Swapping Label-switched paths (LSPs): Paths are “named” by the label at the path’s entry point At each hop, MPLS routers: – Use label to determine outgoing interface, new label – Thus, push/pop/swap MPLS headers that encapsulate IP Label distribution protocol: responsible for disseminating signalling information A A 2D Tag Out New D 6

Reconsider security problem 7

Layer 3 Virtual Private Networks Private communications over a public network A set of sites that are allowed to communicate with each other Defined by a set of administrative policies – Determine both connectivity and QoS among sites – Established by VPN customers – One way to implement: BGP/MPLS VPN (RFC 2547)

Layer 3 BGP/MPLS VPNs Isolation: Multiple logical networks over a single, shared physical infrastructure Tunneling: Keeping routes out of the core VPN A/Site 1 VPN A/Site 2 VPN A/Site 3 VPN B/Site 2 VPN B/Site 1 VPN B/Site 3 CE A1 CE B3 CE A3 CE B2 CE A2 CE 1 B1 CE 2 B1 PE 1 PE 2 PE 3 P1P1 P2P2 P3P3 10.1/ / / / / /16 BGP to exchange routes MPLS to forward traffic 9

High-Level Overview of Operation IP packets arrive at provider edge router (PE) Destination IP looked up in forwarding table – Multiple “virtual” forwarding tables Datagram sent to customer’s network using tunneling (i.e., an MPLS label-switched path) 10 PE 1 PE 2 PE 3

Virtual Routing and Forwarding Separate tables per customer at each router – RFC 2547: Route Distinguishers /24 RD: Purple /24 RD: Blue /24 Customer 1 Customer 2 Customer 1 11

Forwarding in BGP/MPLS VPNs Step 1: Packet arrives at incoming interface – Site VRF determines BGP next-hop and Label #2 IP Datagram Label 2 Step 2: BGP next-hop lookup, add corresponding LSP (also at site VRF) IP Datagram Label 2 Label 1 12

Forwarding PE and P routers have BGP next-hop reachability through the backbone IGP Labels are distributed through LDP (hop-by-hop) corresponding to BGP Next-Hops Two-Label Stack is used for packet forwarding Top label indicates Next-Hop (interior label) Second label indicates outgoing interface / VRF (exterior label) IP Datagram Label 2 Label 1 Layer 2 Header Corresponds to LSP of BGP next-hop (PE) Corresponds to VRF/interface at exit 13

Forwarding VPN A/Site 1 VPN A/Site 2 VPN A/Site 3 VPN B/Site 2 VPN B/Site 1 VPN B/Site 3 CE A1 CE B3 CE A3 CE B2 CE A2 CE 1 B1 CE 2 B1 PE 1 PE 2 PE 3 P1P1 P2P2 P3P3 10.1/ / / / / /16 14 IP Datagram Label 2 Label 1 Layer 2 Header

Middleboxes 15

Network-Layer Principles Globally unique identifiers – Each node has a unique, fixed IP address – … reachable from everyone and everywhere Simple packet forwarding – Network nodes simply forward packets – … rather than modifying or filtering them 16 source destination IP network

Internet Reality Host mobility – Changes in IP addresses as hosts move IP address depletion – Dynamic assignment of IP addresses – Private addresses ( /8, /16, …) Security concerns – Discarding suspicious or unwanted packets – Detecting suspicious traffic Performance concerns – Controlling how link bandwidth is allocated – Storing popular content near the clients 17

Middleboxes Middleboxes are intermediaries – Interposed in-between the communicating hosts – Often without knowledge of one or both parties Examples – Network address translators – Firewalls – Traffic shapers – Intrusion detection systems – Transparent Web proxy caches – Application accelerators – Tunnel endpoints 18

Two Views of Middleboxes An abomination – Violation of layering – Cause confusion in reasoning about the network – Responsible for many subtle bugs A practical necessity – Solving real and pressing problems – Needs that are not likely to go away Would they arise in any edge-empowered network, even if redesigned from scratch? 19

Network Address Translation 20

History of NATs IP address space depletion – Clear in early 90s that 2 32 addresses not enough – Work began on a successor to IPv4 In the meantime… – Share addresses among numerous devices – … without requiring changes to existing hosts Meant to provide temporary relief – Intended as a short-term remedy – Now, NAT are very widely deployed – … much moreso than IPv6 21

Active Component in the Data Path 22 NAT inside outside Problem: Local address not globally addressable NAT rewrites the IP addresses Make “inside” look like single IP addr Change hdr checksums accordingly NAT rewrites the IP addresses Make “inside” look like single IP addr Change hdr checksums accordingly Outbound: Rewrite the src IP addr Inbound: Rewrite the dest IP addr

What if Both Hosts Contact Same Site? Suppose hosts contact the same destination – E.g., both hosts open a socket with local port 3345 to destination on port 80 NAT gives packets same source address – All packets have source address Problems – Can destination differentiate between senders? – Can return traffic get back to the correct hosts? 23

Port-Translating NAT Map outgoing packets – Replace source address with NAT address – Replace source port number with a new port number – Remote hosts respond using (NAT address, new port #) Maintain a translation table – Store map of (src addr, port #) to (NAT addr, new port #) Map incoming packets – Consult the translation table – Map the destination address and port number – Local host receives the incoming packet 24

Network Address Translation Example S: , 3345 D: , : host sends datagram to , 80 NAT translation table WAN side addr LAN side addr , , 3345 …… S: , 80 D: , S: , 5001 D: , : NAT router changes datagram source addr from , 3345 to , 5001, updates table S: , 80 D: , : Reply arrives dest. address: , : NAT router changes datagram dest addr from , 5001 to , 3345

Maintaining the Mapping Table Create an entry upon seeing a packet – Packet with new (source addr, source port) pair Eventually, need to delete the map entry – But when to remove the binding? If no packets arrive within a time window – … then delete the mapping to free up the port #s – At risk of disrupting a temporarily idle connection Yet another example of “soft state” – I.e., removing state if not refreshed for a while 26

Where is NAT Implemented? Home router (e.g., Linksys box) – Integrates router, DHCP server, NAT, etc. – Use single IP address from the service provider – … and have a bunch of hosts hiding behind it Campus or corporate network – NAT at the connection to the Internet – Share a collection of public IP addresses – Avoid complexity of renumbering end hosts and local routers when changing service providers 27

Practical Objections Against NAT Port #s are meant to identify sockets – Yet, NAT uses them to identify end hosts – Makes it hard to run a server behind a NAT 28 NAT Requests to on port 80 Which host should get the request???

Running Servers Behind NATs Running servers is still possible – Admittedly with a bit more difficulty By explicit configuration of the NAT box – E.g., internal service at – … mapped to More challenging for P2P applications – Especially if both peers are behind NAT boxes Solutions possible here as well – Existing work-arounds (e.g., in Skype) – Ongoing work on “NAT traversal” techniques 29

Principled Objections Against NAT Routers are not supposed to look at port #s – Network layer should care only about IP header – … and not be looking at the port numbers at all NAT violates the end-to-end argument – Network nodes should not modify the packets IPv6 is a cleaner solution – Better to migrate than to limp along with a hack 30 That’s what you get when you design a network that puts power in the hands of end users!

Firewalls 31

Firewalls 32 Isolates organization’s internal net from larger Internet, allowing some packets to pass, blocking others. administered network public Internet firewall

Internet Attacks: Denial of Service Denial-of-service attacks – Outsider overwhelms the host with unsolicited traffic – … with the goal of preventing any useful work Example: attacks by botnets – Bad guys take over a large collection of hosts – … and program these hosts to send traffic to your host – Leading to excessive traffic Motivations for denial-of-service attacks – Malice (e.g., just to be mean) – Revenge (e.g., for some past perceived injustice) – Greed (e.g., blackmailing) 33

Internet Attacks: Break-Ins Breaking in to a host – Outsider exploits a vulnerability in the end host – … with the goal of changing the behavior of the host Example – Bad guys know a Web server has a buffer-overflow bug – … and, say, send an HTTP request with a long URL – Allowing them to run their own code Motivations for break-ins – Take over the machine to launch other attacks – Steal information stored on the machine – Modify/replace the content the site normally returns 34

Packet Filtering Internal network connected to Internet via firewall Firewall filters packet-by-packet, based on: – Source IP address, destination IP address – TCP/UDP source and destination port numbers – ICMP message type – TCP SYN and ACK bits – Deep packet inspection on packet contents (DPI) 35 Should arriving packet be allowed in? Departing packet let out?

Packet Filtering Examples Block all packets with IP protocol field = 17 and with either source or dest port = 23. – All incoming and outgoing UDP flows blocked – All Telnet connections are blocked Block inbound TCP packets with SYN but no ACK – Prevents external clients from making TCP connections with internal clients – But allows internal clients to connect to outside Block all packets with TCP port of Quake 36

Firewall Configuration Firewall applies a set of rules to each packet – To decide whether to permit or deny the packet Each rule is a test on the packet – Comparing IP and TCP/UDP header fields – … and deciding whether to permit or deny Order matters – Once packet matches a rule, the decision is done 37

Firewall Configuration Example Alice runs a network in /16 – Wants to let Bob’s school access certain hosts Bob is on /16 Alice’s special hosts on /24 – Alice doesn’t trust Trudy, inside Bob’s network Trudy is on /24 – Alice doesn’t want any other traffic from Internet Rules – #1: Don’t let Trudy’s machines in Deny (src = /24, dst = /16) – #2: Let rest of Bob’s network in to special dsts Permit (src= /16, dst = /24) – #3: Block the rest of the world Deny (src = /0, dst = /0) 38

A Variation: Traffic Management Permit vs. deny is too binary a decision – Maybe better to classify the traffic based on rules – … and then handle the classes of traffic differently Traffic shaping (rate limiting) – Limit the amount of bandwidth for certain traffic – E.g., rate limit on Web or P2P traffic Separate queues – Use rules to group related packets – And then do round-robin scheduling across groups – E.g., separate queue for each internal IP address 39

Firewall Implementation Challenges Per-packet handling – Must inspect every packet – Challenging on very high-speed links Complex filtering rules – May have large # of rules – May have very complicated rules Location of firewalls – Complex firewalls near the edge, at low speed – Simpler firewalls in the core, at higher speed 40

Clever Users Subvert Firewalls Example: filtering dorm access to a server – Firewall rule based on IP addresses of dorms – … and the server IP address and port number – Problem: users may log in to another machine E.g., connect from the dorms to another host … and then onward to the blocked server Example: filtering P2P based on port #s – Firewall rule based on TCP/UDP port numbers E.g., allow only port 80 (e.g., Web) traffic – Problem: software using non-traditional ports E.g., write P2P client to use port 80 instead 41

LAN Appliances aka WAN Accelerators aka Application Accelerators (Following examples are “tunnels” between on-path middleboxes) 42

At Connection Point to the Internet Improve performance between edge networks – E.g., multiple sites of the same company – Through buffering, compression, caching, … Incrementally deployable – No changes to the end hosts or the rest of the Internet – Inspects the packets as they go by, and takes action 43 Appliance Internet

Example: Improve TCP Throughput Appliance with a lot of local memory Sends ACK packets quickly to the sender Overwrites receive window with a large value Or, even run a new and improved version of TCP 44 Appliance Internet ACK

Example: Compression Compress the packet Send the compressed packet Uncompress at the other end Maybe compress across successive packets 45 Appliance Internet

Example: Caching Cache copies of the outgoing packets Check for sequences of bytes that match past data Just send a pointer to the past data And have the receiving appliance reconstruct 46 Appliance Internet

Example: Encryption Two sites share keys for encrypting traffic Sending appliance encrypts the data Receiving appliance decrypts the data Protects the sites from snoopers on the Internet 47 Appliance Internet

Conclusions Middleboxes address important problems – Getting by with fewer IP addresses – Blocking unwanted traffic – Making fair use of network resources – Improving end-to-end performance Middleboxes cause problems of their own – No longer globally unique IP addresses – No longer can assume network simply delivers packets 48