770 likes | 939 Views
12: IP Multicast, VPN, IPV6, NAT, MobileIP. Last Modified: 9/1/2014 12:28:34 PM Adapted from Gordon Chaffee’s slides http://bmrc.berkeley.edu/people/chaffee/advnet98/. What is multicast?. 1 to N communication
E N D
12: IP Multicast, VPN, IPV6, NAT, MobileIP Last Modified: 9/1/2014 12:28:34 PM Adapted from Gordon Chaffee’s slides http://bmrc.berkeley.edu/people/chaffee/advnet98/ 4: Network Layer
What is multicast? • 1 to N communication • Bandwidth-conserving technology that reduces traffic by simultaneously delivering a single stream of information to multiple recipients • Examples of Multicast • Network hardware efficiently supports multicast transport • Example: Ethernet allows one packet to be received by many hosts • Many different protocols and service models • Examples: IETF IP Multicast, ATM Multipoint 4: Network Layer
Unicast • Problem • Sending same data to many receivers via unicast is inefficient • Example • Popular WWW sites become serious bottlenecks • Especially bad for audio/video streams Sender R 4: Network Layer
Multicast • Efficient one to many data distribution Sender R 4: Network Layer
IP Multicast Introduction • Efficient one to many data distribution • Tree style data distribution • Packets traverse network links only once • Location independent addressing • IP address per multicast group • Receiver oriented service model • Applications can join and leave multicast groups • Senders do not know who is listening • Similar to television model • Contrasts with telephone network, ATM 4: Network Layer
IP Multicast • Service • All senders send at the same time to the same group • Receivers subscribe to any group • Routers find receivers • Unreliable delivery • Reserved IP addresses • 224.0.0.0 to 239.255.255.255 reserved for multicast • Static addresses for popular services (e.g. Session Announcement Protocol) 4: Network Layer
Internet Group Management Protocol (IGMP) • Protocol for managing group membership • IP hosts report multicast group memberships to neighboring routers • Messages in IGMPv2 (RFC 2236) • Membership Query (from routers) • Membership Report (from hosts) • Leave Group (from hosts) • Announce-Listen protocol with Suppression • Hosts respond only if no other hosts has responded • Soft State protocol 4: Network Layer
3 IGMP Example (1) • Host 1 begins sending packets • No IGMP messages sent • Packets remain on Network 1 • Router periodically sends IGMP Membership Query 1 Network 1 Network 2 Router 4 2 4: Network Layer
Leave Group Membership Report 3 3 3 3 IGMP Example (2) 1 • Host 3 joins conference • Sends IGMP Membership Report message • Router begins forwarding packets onto Network 2 • Host 3 leaves conference • Sends IGMP Leave Group message • Only sent if it was the last host to send an IGMP Membership Report message Network 1 Network 2 Router 4 2 4: Network Layer
Source Specific Filtering: IGMPv3 • Adds Source Filtering to group selection • Receive packets only from specific source addresses • Receive packets from all but specific source addresses • Benefits • Helps prevent denial of service attacks • Better use of bandwidth • Status: Internet Draft? 4: Network Layer
Multicast Routing Discussion • What is the problem? • Need to find all receivers in a multicast group • Need to create spanning tree of receivers • Design goals • Minimize unwanted traffic • Minimize router state • Scalability • Reliability 4: Network Layer
Data Flooding • Send data to all nodes in network • Problem • Need to prevent cycles • Need to send only once to all nodes in network • Could keep track of every packet and check if it had previously visited node, but means too much state R2 R1 R3 Sender 4: Network Layer
Reverse Path Forwarding (RPF) • Simple technique for building trees • Send out all interfaces except the one with the shortest path to the sender • In unicast routing, routers send to the destination via the shortest path • In multicast routing, routers send away from the shortest path to the sender 4: Network Layer
1.Router R1 checks: Did the data packet arrive on the interface with the shortest path to the Sender? Yes, so it accepts the packet, duplicates it, and forwards the packet out all other interfaces except the interface that is the shortest path to the sender (i.e the interface the packet arrived on). 2.Router R2 accepts packets sent from Router R1 because that is the shortest path to the Sender. The packet gets sent out all interfaces. Drop 3.Router R2 drops packets that arrive from Router R3 because that is not the shortest path to the sender. Avoids cycles. Drop Reverse Path Forwarding Example Sender R1 R2 R3 R4 R5 R6 R7 4: Network Layer
Distance Vector Multicast Routing (DVMRP) • Steve Deering, 1988 • Source rooted spanning trees • Shortest path tree • Minimal hops (latency) from source to receivers • Extends basic distance vector routing • Flood and prune algorithm • Initial data sent to all nodes in network(!) using Reverse Path Forwarding • Prunes remove unwanted branches • State in routers for all unwanted groups • Periodic flooding since prune state times out (soft state) 4: Network Layer
DVMRP Algorithm • Truncated Reverse Path Multicast • Optimized version of Reverse Path Forwarding • Truncating • No packets sent onto leaf networks with no receivers • Still how “truncated” is this? • Pruning • Prune messages sent if no downstream receivers • State maintained for each unwanted group • Grafting • On join or graft, remove prune state and propagate graft message 4: Network Layer
Protocol Independent Multicast (PIM) • Uses unicast routing table for topology • Dense mode (PIM-DM) • For groups with many receivers in local/global region • Like DVMRP, a flood and prune algorithm • Sparse mode (PIM-SM) • For groups with few widely distributed receivers • Builds shared tree per group, but may construct source rooted tree for efficiency • Explicit join 4: Network Layer
IP Multicast in the Real World 4: Network Layer
Commercial Motivation • Problem • Traffic on Internet is growing about 100% per year • Router technology is getting better at 70% per year • Routers that are fast enough are very expensive • ISPs need to find ways to reduce traffic • Multicast could be used to… • WWW: Distribute data from popular sites to caches throughout Internet • Send video/audio streams multicast • Software distribution 4: Network Layer
ISP Concerns • Multicast causes high network utilization • One source can produce high total network load • Experimental multicast applications are relatively high bandwidth: audio and video • Flow control non-existent in many multicast apps • Multicast breaks telco/ISP pricing model • Currently, both sender and receiver pay for bandwidth • Multicast allows sender to buy less bandwidth while reaching same number of receivers • Load on ISP network not proportional to source data rate 4: Network Layer
Economics of Multicast • One packet sent to multiple receivers • Sender + Benefits by reducing network load compared to unicast + Lower cost of network connectivity • Network service provider - One packet sent can cause load greater than unicast packet load + Reduces overall traffic that flows over network • Receiver = Same number of packets received as unicast 4: Network Layer
Multicast Problems • Multicast is immature • Immature protocols and applications • Tools are poor, difficult to use, debugging is difficult • Routing protocols leave many issues unresolved • Interoperability of flood and prune/explicit join • Routing instability • Multicast development has focused on academic problems, not business concerns • Multicast breaks telco/ISP traffic charging and management models • Routing did not address policy • PIM, DVMRP, CBT do not address ISP policy concerns • BGMP addresses some ISP concerns, but it is still under development 4: Network Layer
Current ISP Multicast Solution • Restrict senders of multicast data • Charge senders to distribute multicast traffic • Static agreements • Do not forward multicast traffic • Some ISP’s offer multicast service to customers (e.g. UUNET UUCast) • ISP beginning to discuss peer agreements 4: Network Layer
Multicast Tunneling • Problem • Not all routers are multicast capable • Want to connect domains with non-multicast routers between them • Solution • Encapsulate multicast packets in unicast packet • Tunnel multicast traffic across non-multicast routers • We will see more examples of tunneling later 4: Network Layer
Multicast Tunneling Example (1) Multicast Router 2 decapsulates IP-in-IP packets. It then forwards them using Reverse Path Multicast. Multicast Router 1 encapsulates multicast packets for groups that have receivers outside of network 1. It encapsulates them as unicast IP-in-IP packets. Encapsulated Data Packet Multicast Router 2 UR1 UR2 Multicast Router 1 Unicast Routers Sender 1 Receiver Network 2 Network 1 4: Network Layer
Multicast Tunneling Example (2) Virtual Network Topology MR1 MR2 Virtual Interfaces 4: Network Layer
MBone • MBONE • Multicast capable virtual network, subset of Internet • Native multicast regions connection with tunnels • In 1992, the MBone was created to further the development of IP multicast • Experimental, global multicast network • Served as a testbed for multicast applications development • vat -- audio tool • vic -- video tool • wb -- shared whiteboard 4: Network Layer
Virtual Private Networks (VPN) 4: Network Layer
Virtual Private Networks • Definition • A VPN is a private network constructed within the public Internet • Goals • Connect private networks using shared public infrastructure • Examples • Connect two sites of a business • Allow people working at home to have full access to company network 4: Network Layer
How accomplished? • IP encapsulation and tunneling • Same as we saw for Multicast • Router at one end of tunnel places private IP packets into the data field of new IP packets (could be encrypted first for security) which are unicast to the other end of the tunnel 4: Network Layer
Motivations • Economic • Using shared infrastructure lowers cost of networking • Less of a need for leased line connections • Communications privacy • Communications can be encrypted if required • Ensure that third parties cannot use virtual network • Virtualized equipment locations • Hosts on same network do not need to be co-located • Make one logical network out of separate physical networks • Support for private network features • Multicast, protocols like IPX or Appletalk, etc 4: Network Layer
Examples • Logical Network Creation • Virtual Dial-Up 4: Network Layer
Logical Network Creation Example Network 1 • Remote networks 1 and 2 create a logical network • Secure communication at lowest level Gateway Tunnel Gateway Internet Network 2 4: Network Layer
Virtual Dial-up Example • Worker dials ISP to get basic IP service • Worker creates tunnel to Home Network Public Switched Telephone Network (PSTN) Internet Service Provider Gateway Gateway Tunnel Internet Home Network Worker Machine 4: Network Layer
IPv6 4: Network Layer
History of IPv6 • IETF began thinking about the problem of running out of IP addresses in 1991 • Requires changing IP packet format - HUGE deal! • While we’re at it, lets change X too • “NGTrans” (IPv6 Transition) Working Group of IETF - June 1996 4: Network Layer
IPv6 Wish List • From “The Case for IPv6” • Scalable Addressing and Routing • Support for Real Time Services • Support of Autoconfiguration (get your own IP address and domain name to minimize administration • Security Support • Enhanced support for routing to mobile hosts 4: Network Layer
0 4 8 16 19 31 TOS Length V ersion HLen Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr Pad Options (variable) (variable) Data IPv4 Datagram 4: Network Layer
0 4 12 16 24 31 V ersion T rafficClass FlowLabel PayloadLen NextHeader HopLimit SourceAddress DestinationAddress Next header/data IPv6 Datagram 4: Network Layer
IPv6 Base Header Format • VERS = IPv6 • TRAFFICE CLASS: specifies the routing priority or QoS requests • FLOW LABEL: to be used by applications requesting performance guarantees • PAYLOAD LENGTH: like IPv4’s datagram length, but doesn’t include the header length like IPv4 • NEXT HEADER: indicates the type of the next object in the datagram either type of extension header or type of data • HOP LIMIT: like IPv4’s TimeToLive field but named correctly • NO CHECKSUM (processing efficiency) 4: Network Layer
Address Space • 32 bits versus 128 bits - implications? • 4 billiion vesus 3.4 X1038 • 1500 addresses per square foot of the earth surface 4: Network Layer
Addresses • Still divide address into prefix that designates network and suffix that designates host • But no set classes, boundary between suffix and prefix can fall anywhere (CIDR only) • Prefix length associated with each address 4: Network Layer
Addresses Types • Unicast: delivered to a single computer • Multicast: delivered to each of a set of computers (can be anywhere) • Conferencing, subscribing to a broadcast • Anycast: delivered to one of a set of computers that share a common prefix • Deliver to one of a set of machines providing a common servicer 4: Network Layer
Address Notation • Dotted sixteen? • 105.67.45.56.23.6.133.211.45.8.0.7.56.45.3.189.56 • Colon hexadecimal notation (8 groups) • 69DC:8768:9A56:FFFF:0:5634:343 • Or even better with zero compression (replace run of all 0s with double ::) • Makes host names look even more attractive huh? 4: Network Layer
Special addresses • Ipv4 addresses all reserved for compatibility • 96 zeros + IPv4 address = valid IPv6 address • Local Use Addresses • Special prefix which means “this needn’t be globally unique” • Allow just to be used locally • Aids in autoconfiguration 4: Network Layer
Datagram Format • Base Header + 0 to N Extension Headers + Data Area 4: Network Layer
Extensible Headers • Why? • Saves Space and Processing Time • Only have to allocate space for and spend time processing headers implementing features you need • Extensibility • When add new feature just add an extension header type - no change to existing headers • For experimental features, only sender and receiver need to understand new header 4: Network Layer
Flow Label • Virtual circuit like behaviour over a datagram network • A sender can request the underlying network to establish a path with certain requirements • Traffic class specifies the general requirements (ex. Delay < 100 msec.) • If the path can be established, the network returns an identifier that the sender places along with the traffic class in the flow label • Routers use this identifier to route the datagram along the prearranged path 4: Network Layer
ICMPv6 • New version of ICMP • Additional message types, like “Packet Too Big” • Multicast group management functions 4: Network Layer
Summary like IPv6 • Connectionless (each datagram contains destination address and is routed seperately) • Best Effort (possibility for virtual circuit behaviour) • Maximum hops field so can avoid datagrams circulating indefinitely 4: Network Layer