Upload
others
View
9
Download
1
Embed Size (px)
Citation preview
Ming Liu [email protected]
Introduction to Computer Networks
CS640 https://pages.cs.wisc.edu/~mgliu/CS640/F21/
Multicast, IPv6, and SDN
1
Today
Last lecture • Inter-domain routing
2
Today • Multicast • IPv6
• SDN
Announcements • HW2 due today at 11:59PM
Application level one to many communication • Multiple unicasts
One to Many Communication
IP multicast
3
Why Multicast
When sending same data to multiple receivers • Better bandwidth utilization
• Less host/router processing
• Quicker participation
Applications • Video/Audio broadcast (One sender) • Video conferencing (Many senders) • Real-time news distribution
• Interactive gaming
4
IP Multicast Service Model
Invented by Steve Deering (Ph.D. 1991) • It’s a different way of routing datagrams
RFC 1112: Host Extensions for IP Multicasting — 1989
Senders transmit IP datagrams to a “host group”
“Host group” identified by a class D IP address
Members of host group could be present anywhere in the Internet
5
IP Multicast Service Model (cont’d)
Members join and leave the group, and indicate this to the routers
Senders and receivers are distinct: i.e., a sender need not be a member
Routers listen to all multicast addresses and use multicast routing protocols to manage groups
6
IP Multicast Group Address
Class D address space • High-order three bits are set • 224.0.0.0 ~ 239.255.255.255
Things are a little tricky in multicast since receivers can be anywhere
Allocation is essential random — any class D can be used • Nothing prevents an app. from sending to any multicast address • Customers end hosts and ISPs are the ones who suffer
7
IP Multicast Group Address (cont’d)
Some well-known address have been designated • RFC 1700
• 224.0.0.0 ~ 234.0.0.25
Standard are evolving
8
Getting Packets to End Hosts
Packets from remote sources will only be forwarded by IP routers onto a local network only if they know there is at least one recipient for that group on that network
Internet Group Management Protocol (IGMP, RFC 2236) • Used by end hosts to signal that they want to join a specific multicast group
• Used by routers to discover what groups have interested member hosts on each
network to which they are attached
• Implemented directly over IP
9
IGMP — Joining a Group
Example: R joins to Group 224.2.0.1
#1: R sends IGMP Membership-Report to 224.2.0.1
#2: DR receives it. DR will start forwarding packets for 224.2.0.1 to Network A
#3: DR periodically sends IGMP Membership-Query to
224.0.0.1 (All-SYSTEM.MCAST.NET)
#4: R answers IGMP Membership-Report to 224.2.0.1
10
Designated router
IGMP — Leaving a Group
Example: R leaves from a Group 224.2.0.1
#1: R sends IGMP Leave-Group to 224.0.0.2 (ALL-
ROUTES.MCAST.NET)
#2: DR receives it
#3: DR stops forwarding packets for 224.2.0.1 to
Network if no more 224.2.0.1 group members on Network A
11
Designated router
Challenges in the Multicast Model
How can a sender restrict who can receive? • Need authentication and authorization
• Encryption of data
• Key distribution
• Still an active area of research
12
IP Multicast Routing
Purpose: share the group information among routers to implement better routing for data distribution
Distribution tree structure • Source tree v.s. Shared tree
Data distribution policy • Opt in (ACK) type v.s. Opt out (NACK) type
Routing protocols are used in conjunction with IGMP
13
How Many Addresses in IPv4?
There are 2^32 (4.2 billion) unique IPv4 addresses
Some of these have special purposes • Localhost: 127.0.0.0/8
• Local network: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
CIDR allows for allocating address efficiently
Issue of not enough addresses
14
IPv6 Background
IETF started effort to specific new version of IP in 1991 • New version would require change of header • Include all modifications in one new protocol
Solicitation of suggestions from community • Result was IPng which became IPv6
• First version completed in 1994
Same architectural principles as IPv4 — only more addresses
15
IPv6 Planned Features
128-bit address space
Real-time / Quality of Service (QoS)
Security and authentication
Auto-configuration • Hosts auto-config with IP address an domain name
• Try to make systems more plug-n-play
16
IPv6 Planned Features (cont’d)
Enhanced routing functionality (e.g., Mobile hosts)
Multicast
Protocol extensions
Smooth transition path from IPv4
17
Address Space
Prefixes specify use (unicast, multicast, any cast) • Unicast: send packets to single host • Multicast: send packets to all members of group
• Anycast: send packets to nearest member of a group
Allocation is classless
Prefixes can be used to map v4 to v6 space and visa-versa
Lots of addresses with 128 bits! • ~1500 address per square foot of the earth’s surface
18
Address Notation
Set of eight 16-bit values separated by colons • E.g., 47CD:1234:3200:0000:0000:4325:B792:0428
Large number of zeros omitted with series of colons • E.g., 47CD:1234:3200::4325:B792:0428
Address prefixes (slash notation) are the same as IPv4 • E.g., FEDC:BA98:7600::/40 describes a 40 bit prefix
19
Address Prefix Assignments0000 0000 Reserved0000 0001 Unassigned0000 001 Reserved for NSAP (non-IP addresses used by ISO)0000 010 Reserved for IPX (non-IP addresses used by IPX)0000 011 Unassigned0000 1 Unassigned1 Unassigned1 Unicast Address Space10 Unassigned11 Unassigned100 Unassigned101 Unassigned110 Unassigned1110 Unassigned1111 0 Unassigned1111 10 Unassigned1111 110 Unassigned1111 1110 0 Unassigned1111 1110 10 Link Local Use addresses1111 1110 11 Site Local Use addresses1111 1111 Multicast addresses 20
Unicast Assignment
Unicast address assignment is similar to CIDR • Unicast addresses start with 001
• Host interfaces belong to subnets • Addresses composed of a subnet prefix and a host identifier • Subnet prefix provides for aggregation into larger networks
21
Unicast Assignment (cont’d)
Provider-based plan • Internet is global hierarchy of networks • 3 levels — region, provider, subscriber • Goal is provide route aggregation to reduce BGP overhead
• Provider can advertise a single prefix for all of its subscribers • Region = 13 bits, Provider = 24 bits, Subscriber = 16 bits, Host = 80 bits • E.g., 001, region ID, provider ID, subscriber ID, subnet ID, interface ID
22
Recall IPv4 Packet Format Details
23
IPv6 Packet Format
24
Packet Format Details
Simpler format than IPv4
Version = 6
Traffic class = IPv4 ToS
Treat all packets with the same Flow Label equally • Support QoS and fair bandwidth allocation
25
Packet Format Details (cont’d)
Payload length does not include header — limits packets to 64KB • There is a “jumbo gram option”
Next header combines options and protocol • If there are no options, then NextHeader is the protocol field
Hop limit = IPv4 TTL field
Options are “extension header” that follows IP header • E.g., routing, fragmentation, authentication, encryption, …
26
Key differences in header
No checksum • Bit level errors are checked for all over the place
No length variability in header • Fixed format speeds processing
No more fragmentation and reassembly in header • Incorrectly sized packets are dropped and message is sent to sender to reduce packet size
• Hosts should do path MTU discovery
27
Transition from v4 to v6
Dual stack operation — IPv6 nodes run in both v4 and v6 modes and use version field to decide which stack to use • Nodes can be assigned a v4 compatible v6 address • Allows a host which support v6 to talk v6 even if local routers only speak v4
• Signals the need for tunneling
• Add 96 0’s (zero-extending) to a 32-bit v4 address — e.g., ::10.0.0.1
• Nodes can be assigned a v4 mapped v6 address • Allows a host which supports both v6 and v4 to communication with a v4 host • Add 2 bytes of 1’s to v4 address than zero-extend the rest — e.g., ::ffff:10.0.0.1
Flag day is not feasible
28
Transition from v4 to v6 (cont’d)
Tunneling is used to deal with networks where v4 router(s) sit between two v6 routers • Encapsulate v6 packets and all of their information in v4 packets until you hit the next v6
router
29
IPv6 Issues
Is security necessary in IP? • How is it best implemented?
Address length: usable addresses v.s. overhead
Max. Pkt. Size: Large BW calls for larger packets
Is the checksum necessary?
How do servers handle both types of packets
30
Traditional Computer Networks
Data plane: • Packet streaming
Forward, filter, buffer, mark, rate-limit, and
measure packets
31
Traditional Computer NetworksTrack topology changes, compute routes, install forwarding/filtering rules
Control plane: • Distributed algorithms
32
Traditional Computer Networks
Management plane: •Human time scale
Collect measurements and configure the
equipment
33
Shortest-Path Routing
Management: set the link weights Control: compute shortest paths Data: forward packets to next hop
1
1
1
1
3
34
Inverting the Control Plane
Traffic engineering • Change link weights • … to induce the paths • … that alleviate congestion
1
1
1
1 —> 5
3
35
Transient Anomalies
Distributed protocol • Temporary disagreement among the nodes • … leaves packets stuck in loops • Even though the changes was planned!
1
1
1
1 —> 5
3
36
A Lot Messier
37
A Lot Messier
37
What Ails the Network?
Closed equipment • Software bundled with hardware
• Vector-specific interfaces
Distributed nature of control plane
Ad hoc management approaches
Slow protocol standardization
38
What Ails the Network?
Closed equipment • Software bundled with hardware
• Vector-specific interfaces
Distributed nature of control plane
Ad hoc management approaches
Slow protocol standardization
Impacts performance, security, reliability, cost, .. Innovation is hard
38
Software Defined Networking
39
Controller Architecture
Events from switches Topology changes, Traffic statistics, Arriving packets
Commands to switches (un)install rules, Query statistics, Send packets
40
Data-Plane: Simple Packet Handling
Simple packet-handling rules • Pattern: match packet header bits • Actions: drop, forward, modify, send to controller • Priority: disambiguate overlapping patterns • Counters: #bytes and #packets
41
Example SDN Applications
Public Demos • Dynamic access control • VM mobility/migration
• Network virtualization
• Power management • Load balancing
• Traffic Engineering
Commercial products • Network virtualization: Nicira/VMWare, Azure, Google, CloudNaaS
• Traffic Engineering: Google’s B4, Microsoft’s SWAN42
Dynamic Access Control
• Inspect first packet of each connection
• Consult the access control policy
• Install rules to block or route traffic
43
Seamless Mobility/Migration
• See host sending traffic at new location
• Modify rules to reroute the traffic
44
SDN/OpenFlow in the Wild
Open Networking Foundation • Creating Software Defined Networking Standards • Google, Facebook, Microsoft, Yahoo, Verizon, Deutsche, Telekom, …
Commercial OpenFlow Switches • Cisco, HP, NEC, Quanta, Dell, IBM, Juniper, …
Controllers/Languages • NOX, Beacon, Floodlight, Nettle, ONIX, POX
• Frenetic, MAPLE, Aspera, Pyretic
Network deployments • Many campuses (including us), two research backbone networks • Commercial deployments 45
Software Defined Networking
Simpler management and network control • No need to “invent” control-plane operations
Faster pace of innovation • Less dependence on vendors and standards • Mechanism reuse
Easier interoperability • Compatibility online in “wire” protocols
Simpler, cheaper equipment • Minimal software
46
Summary
Today • Multicast • IPv6
• SDN
Next lecture • Midterm1 review
47